mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-07-12 21:02:17 +02:00
Third application of the reference mechanism: session turns whose
system prompt + tools are byte-identical to the context predecessor's
materialized snapshot persist { agentId, model, inheritedFrom } instead
of ~70KB per turn (measured: turn 2 of a session is now ~1.1KB total).
Inheritance is decided at createTurn by equality against the
materialized predecessor; the model stays concrete, and on
materialization the inherited record's own agentId/model win — a rule
the new test matrix caught as a real bug (the chain base's model was
overriding a mid-session model switch). Reducer invariants: inherited
snapshots must reference the context predecessor; tool identity arrives
via invocation events.
Test matrix per review: prompt-diff -> full snapshot, tools-diff ->
full snapshot, model-switch -> inherits with concrete model, multi-hop
chains materialize, standalone turns never inherit, unreadable
predecessor falls back to full, cyclic inheritance is corruption,
sessions denormalize the model from inherited snapshots.
The inspector now handles sessions too (auto-detected): overview with
per-turn status/size/input preview, --turns to cascade full turn
inspection. Documented in a new repo-root AGENTS.md (storage layout,
reference model, inspector usage, invariants) with a CLAUDE.md pointer.
Breaking for dev turn files: wipe ~/.rowboat/storage.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
61 lines
1.8 KiB
JSON
61 lines
1.8 KiB
JSON
{
|
|
"name": "@x/core",
|
|
"private": true,
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"scripts": {
|
|
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
"dev": "tsc -w -p tsconfig.build.json",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"inspect-turn": "node dist/turns/inspect-cli.js",
|
|
"inspect": "node dist/turns/inspect-cli.js"
|
|
},
|
|
"dependencies": {
|
|
"@agentclientprotocol/claude-agent-acp": "^0.39.0",
|
|
"@agentclientprotocol/codex-acp": "^0.0.44",
|
|
"@agentclientprotocol/sdk": "^0.22.1",
|
|
"@ai-sdk/anthropic": "^2.0.63",
|
|
"@ai-sdk/google": "^2.0.53",
|
|
"@ai-sdk/openai": "^2.0.91",
|
|
"@ai-sdk/openai-compatible": "^1.0.33",
|
|
"@ai-sdk/provider": "^2.0.1",
|
|
"@composio/core": "^0.6.0",
|
|
"@google-cloud/local-auth": "^3.0.1",
|
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
"@openrouter/ai-sdk-provider": "^1.2.6",
|
|
"@react-pdf/renderer": "^4.3.2",
|
|
"@types/react": "^19.2.7",
|
|
"@x/shared": "workspace:*",
|
|
"ai": "^5.0.133",
|
|
"awilix": "^12.0.5",
|
|
"chokidar": "^4.0.3",
|
|
"cors": "^2.8.6",
|
|
"cron-parser": "^5.5.0",
|
|
"express": "^5.2.1",
|
|
"glob": "^13.0.0",
|
|
"google-auth-library": "^10.5.0",
|
|
"googleapis": "^169.0.0",
|
|
"isomorphic-git": "^1.29.0",
|
|
"mammoth": "^1.11.0",
|
|
"node-html-markdown": "^2.0.0",
|
|
"ollama-ai-provider-v2": "^1.5.4",
|
|
"openid-client": "^6.8.1",
|
|
"papaparse": "^5.5.3",
|
|
"pdf-parse": "^2.4.5",
|
|
"posthog-node": "^4.18.0",
|
|
"react": "^19.2.3",
|
|
"xlsx": "^0.18.5",
|
|
"yaml": "^2.8.2",
|
|
"zod": "^4.2.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/cors": "^2.8.19",
|
|
"@types/express": "^5.0.6",
|
|
"@types/node": "^25.0.3",
|
|
"@types/papaparse": "^5.5.2",
|
|
"@types/pdf-parse": "^1.1.5",
|
|
"vitest": "catalog:"
|
|
}
|
|
}
|