@code-yeongyu/senpi-agent-core 2026.9.9 → 2026.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-loop.d.ts.map +1 -1
- package/dist/agent-loop.js +1 -1
- package/dist/agent-loop.js.map +1 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js.map +1 -1
- package/dist/assistant-terminal-state.d.ts.map +1 -1
- package/dist/harness/agent-harness.d.ts.map +1 -1
- package/dist/harness/compaction/branch-summarization.js.map +1 -1
- package/dist/harness/compaction/compaction.js.map +1 -1
- package/dist/harness/env/nodejs.d.ts.map +1 -1
- package/dist/harness/env/nodejs.js.map +1 -1
- package/dist/harness/events.d.ts.map +1 -1
- package/dist/harness/messages.js.map +1 -1
- package/dist/harness/prompt-templates.js.map +1 -1
- package/dist/harness/reducer.d.ts.map +1 -1
- package/dist/harness/reducer.js.map +1 -1
- package/dist/harness/result.d.ts.map +1 -1
- package/dist/harness/session/context.js.map +1 -1
- package/dist/harness/session/jsonl/errors.d.ts.map +1 -1
- package/dist/harness/session/jsonl/repo.d.ts.map +1 -1
- package/dist/harness/session/jsonl/repo.js.map +1 -1
- package/dist/harness/session/jsonl/storage.d.ts.map +1 -1
- package/dist/harness/session/jsonl/storage.js.map +1 -1
- package/dist/harness/session/memory.d.ts.map +1 -1
- package/dist/harness/session/memory.js.map +1 -1
- package/dist/harness/session/session.d.ts.map +1 -1
- package/dist/harness/session/session.js.map +1 -1
- package/dist/harness/session/state.d.ts.map +1 -1
- package/dist/harness/session/state.js.map +1 -1
- package/dist/harness/session/testing/conformance.js.map +1 -1
- package/dist/harness/session/types.d.ts.map +1 -1
- package/dist/harness/telemetry.d.ts +36 -36
- package/dist/harness/telemetry.d.ts.map +1 -1
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/utils/truncate.js.map +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js.map +1 -1
- package/dist/search/scanning.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../../../src/harness/session/testing/conformance.ts"],"names":[],"mappings":"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","sourcesContent":["import { deepStrictEqual, ok, rejects, strictEqual } from \"node:assert/strict\";\nimport type { AgentMessage } from \"../../../types.ts\";\nimport type {\n\tCustomEntry,\n\tEntry,\n\tMessageEntry,\n\tNewRecord,\n\tOperationStartedRecord,\n\tSessionErrorCode,\n\tSessionRepo,\n} from \"../types.ts\";\nimport type { SessionBackendConformanceCase, SessionBackendFixtureFactory } from \"./types.ts\";\n\nfunction createUserMessage(text: string): AgentMessage {\n\treturn {\n\t\trole: \"user\",\n\t\tcontent: [{ type: \"text\", text }],\n\t\ttimestamp: 1,\n\t};\n}\n\nfunction createAssistantMessage(text: string): AgentMessage {\n\treturn {\n\t\trole: \"assistant\",\n\t\tcontent: [{ type: \"text\", text }],\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"anthropic\",\n\t\tmodel: \"claude-sonnet-4-5\",\n\t\tusage: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t\ttotalTokens: 0,\n\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t},\n\t\tstopReason: \"stop\",\n\t\ttimestamp: 1,\n\t};\n}\n\nfunction operationStarted(\n\tid: string,\n\t{ lane, kind }: { lane: string; kind: OperationStartedRecord[\"intent\"][\"kind\"] },\n): NewRecord<OperationStartedRecord> {\n\tlet intent: OperationStartedRecord[\"intent\"];\n\tswitch (kind) {\n\t\tcase \"run\":\n\t\t\tintent = { kind, originalPrompt: [], initialMessages: [] };\n\t\t\tbreak;\n\t\tcase \"compaction\":\n\t\t\tintent = { kind, resultEntryId: `${id}-result` };\n\t\t\tbreak;\n\t\tcase \"navigation\":\n\t\t\tintent = { kind, targetId: null, summarize: false };\n\t\t\tbreak;\n\t}\n\treturn { type: \"operation_started\", id, lane, sourceLeafId: null, intent };\n}\n\nasync function entryIds(entries: Promise<Entry[]>): Promise<string[]> {\n\treturn (await entries).map((entry) => entry.id);\n}\n\nasync function rejectsWithCode(operation: Promise<unknown>, code: SessionErrorCode): Promise<void> {\n\tawait rejects(\n\t\toperation,\n\t\t(error: unknown) => typeof error === \"object\" && error !== null && \"code\" in error && error.code === code,\n\t\t`Expected SessionError with code ${code}`,\n\t);\n}\n\ntype ConformanceTest = (repository: SessionRepo) => Promise<void>;\n\nfunction createCase(\n\tfactory: SessionBackendFixtureFactory,\n\tgroup: string,\n\tname: string,\n\ttest: ConformanceTest,\n): SessionBackendConformanceCase {\n\treturn {\n\t\tgroup,\n\t\tname,\n\t\tasync run() {\n\t\t\tawait using fixture = await factory();\n\t\t\tawait test(fixture.repository);\n\t\t},\n\t};\n}\n\n/** Creates the session backend conformance cases. Each case creates and disposes its own fixture. */\nexport function createSessionBackendConformance(\n\tfactory: SessionBackendFixtureFactory,\n): readonly SessionBackendConformanceCase[] {\n\treturn [\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"entries and lanes\",\n\t\t\t\"assigns parents and one sequence across every mutation\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst root = await session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.createLane(\"thread\", root.id);\n\t\t\t\tconst child = await session.appendEntry<CustomEntry>(\n\t\t\t\t\t{ type: \"custom\", id: \"child\", customType: \"note\", data: { value: 1 } },\n\t\t\t\t\t\"thread\",\n\t\t\t\t);\n\t\t\t\tconst record = await session.appendRecord(operationStarted(\"run\", { lane: \"thread\", kind: \"run\" }));\n\t\t\t\tawait session.setName(\"Example\");\n\t\t\t\tawait session.setLabel(root.id, \"checkpoint\");\n\t\t\t\tawait session.moveLane(\"main\", child.id);\n\n\t\t\t\tdeepStrictEqual({ parentId: root.parentId, seq: root.seq }, { parentId: null, seq: 1 });\n\t\t\t\tdeepStrictEqual({ parentId: child.parentId, seq: child.seq }, { parentId: \"root\", seq: 3 });\n\t\t\t\tstrictEqual(record.seq, 4);\n\t\t\t\tfor (const timestamp of [root.timestamp, child.timestamp, record.timestamp]) {\n\t\t\t\t\tok(\n\t\t\t\t\t\tNumber.isSafeInteger(timestamp) && timestamp >= 0,\n\t\t\t\t\t\t\"storage-assigned timestamps must be Unix milliseconds\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.getLog()).map((item) => [item.kind, item.seq]),\n\t\t\t\t\t[\n\t\t\t\t\t\t[\"entry\", 1],\n\t\t\t\t\t\t[\"lane\", 2],\n\t\t\t\t\t\t[\"entry\", 3],\n\t\t\t\t\t\t[\"record\", 4],\n\t\t\t\t\t\t[\"fact\", 5],\n\t\t\t\t\t\t[\"fact\", 6],\n\t\t\t\t\t\t[\"lane\", 7],\n\t\t\t\t\t],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(await session.getLanes(), [\n\t\t\t\t\t{ lane: \"main\", leafId: \"child\" },\n\t\t\t\t\t{ lane: \"thread\", leafId: \"child\" },\n\t\t\t\t]);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"commits records and lane moves as separate mutations\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst root = await session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tconst finished = await session.appendRecord({\n\t\t\t\t\ttype: \"operation_finished\",\n\t\t\t\t\tid: \"finish\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\trunId: \"run\",\n\t\t\t\t\toutcome: \"completed\",\n\t\t\t\t});\n\n\t\t\t\tstrictEqual(finished.seq, 2);\n\t\t\t\tdeepStrictEqual(await session.getLanes(), [{ lane: \"main\", leafId: \"root\" }]);\n\t\t\t\tawait session.moveLane(\"main\", null);\n\t\t\t\tdeepStrictEqual(await session.getLanes(), [{ lane: \"main\", leafId: null }]);\n\t\t\t\tdeepStrictEqual(await session.getLog(), [\n\t\t\t\t\t{ kind: \"entry\", seq: 1, entry: root },\n\t\t\t\t\t{ kind: \"record\", seq: 2, record: finished },\n\t\t\t\t\t{ kind: \"lane\", seq: 3, lane: \"main\", leafId: null },\n\t\t\t\t]);\n\n\t\t\t\tawait rejectsWithCode(session.moveLane(\"main\", \"missing\"), \"not_found\");\n\t\t\t\tstrictEqual((await session.findRecords()).length, 1);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.getLog()).map((item) => item.seq),\n\t\t\t\t\t[1, 2, 3],\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"rejects duplicate ids without changing state\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"shared\", message: createUserMessage(\"root\") },\n\t\t\t\t\"main\",\n\t\t\t);\n\t\t\tawait rejectsWithCode(\n\t\t\t\tsession.appendRecord(operationStarted(\"shared\", { lane: \"main\", kind: \"run\" })),\n\t\t\t\t\"already_exists\",\n\t\t\t);\n\t\t\tawait session.appendRecord(operationStarted(\"run\", { lane: \"main\", kind: \"run\" }));\n\t\t\tawait rejectsWithCode(\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"run\", customType: \"note\" }, \"main\"),\n\t\t\t\t\"already_exists\",\n\t\t\t);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(await session.getLog()).map((item) => item.seq),\n\t\t\t\t[1, 2],\n\t\t\t);\n\t\t}),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"isolates lanes while sharing the tree\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\"main\",\n\t\t\t);\n\t\t\tawait session.createLane(\"thread\", \"root\");\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"main-child\", message: createUserMessage(\"main\") },\n\t\t\t\t\"main\",\n\t\t\t);\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"thread-child\", message: createUserMessage(\"thread\") },\n\t\t\t\t\"thread\",\n\t\t\t);\n\n\t\t\tdeepStrictEqual(await session.getLanes(), [\n\t\t\t\t{ lane: \"main\", leafId: \"main-child\" },\n\t\t\t\t{ lane: \"thread\", leafId: \"thread-child\" },\n\t\t\t]);\n\t\t\tdeepStrictEqual(await entryIds(session.findEntriesOnBranch({ start: \"main-child\", order: \"oldestFirst\" })), [\n\t\t\t\t\"root\",\n\t\t\t\t\"main-child\",\n\t\t\t]);\n\t\t\tdeepStrictEqual(await entryIds(session.findEntriesOnBranch({ start: \"thread-child\", order: \"oldestFirst\" })), [\n\t\t\t\t\"root\",\n\t\t\t\t\"thread-child\",\n\t\t\t]);\n\t\t}),\n\n\t\tcreateCase(factory, \"queries and facts\", \"rejects invalid queries before empty reads\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"invalid-queries\" });\n\t\t\tawait session.createLane(\"thread\", null);\n\t\t\tconst thread = session.view(\"thread\");\n\n\t\t\tawait rejectsWithCode(session.findEntries({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findEntry({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findEntriesOnBranch({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(thread.findEntriesOnBranch({ cursor: { afterSeq: -1 } }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(thread.findEntryOnBranch({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findRecords({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findRecords({ operationKind: \"run\" }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findRecords({ type: \"step_attempt\", operationKind: \"run\" }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findOpenOperations(\"main\", { limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findOpenOperations(\"main\", { limit: -1 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.getLog({ afterSeq: -1 }), \"invalid_query\");\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"queries and facts\",\n\t\t\t\"supports bounded filtered and cursor-based queries\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry<CustomEntry>(\n\t\t\t\t\t{ type: \"custom\", id: \"old-note\", customType: \"note\", data: 1 },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry(\n\t\t\t\t\t{ type: \"compaction\", id: \"compact\", summary: \"summary\", retainedTail: [], tokensBefore: 10 },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry<CustomEntry>(\n\t\t\t\t\t{ type: \"custom\", id: \"new-note\", customType: \"note\", data: 2 },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"tail\", message: createAssistantMessage(\"tail\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\n\t\t\t\tdeepStrictEqual(await entryIds(session.findEntries()), [\"tail\", \"new-note\", \"compact\", \"old-note\", \"root\"]);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(session.findEntries({ order: \"oldestFirst\", cursor: { afterSeq: 2 }, limit: 2 })),\n\t\t\t\t\t[\"compact\", \"new-note\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(await entryIds(session.findEntries({ customType: \"note\" })), [\"new-note\", \"old-note\"]);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(session.findEntriesOnBranch({ start: \"tail\", customType: \"note\", limit: 1 })),\n\t\t\t\t\t[\"new-note\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(\n\t\t\t\t\t\tsession.findEntriesOnBranch({ start: \"tail\", stopAtType: \"compaction\", type: \"message\" }),\n\t\t\t\t\t),\n\t\t\t\t\t[\"tail\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(session.findEntriesOnBranch({ start: \"tail\", stopAtId: \"tail\", type: \"custom\" })),\n\t\t\t\t\t[],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(\n\t\t\t\t\t\tsession.findEntriesOnBranch({ start: \"tail\", stopAtType: \"custom\", order: \"oldestFirst\" }),\n\t\t\t\t\t),\n\t\t\t\t\t[\"root\", \"old-note\"],\n\t\t\t\t);\n\t\t\t\tawait rejectsWithCode(session.findEntries({ limit: 0 }), \"invalid_query\");\n\t\t\t\tawait rejectsWithCode(session.findEntriesOnBranch({ start: \"missing\" }), \"not_found\");\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"keeps lane names permanent with their recovery records\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tawait session.createLane(\"thread\", null);\n\t\t\t\tawait session.appendRecord(operationStarted(\"old-run\", { lane: \"thread\", kind: \"run\" }));\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"queue_enqueued\",\n\t\t\t\t\tid: \"old-next-run\",\n\t\t\t\t\tlane: \"thread\",\n\t\t\t\t\tqueue: \"nextRun\",\n\t\t\t\t\ttarget: { type: \"message\", id: \"queued-message\", message: createUserMessage(\"queued\") },\n\t\t\t\t});\n\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ lane: \"thread\" })).map((record) => record.id),\n\t\t\t\t\t[\"old-next-run\", \"old-run\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.getLog()).flatMap((item) => (item.kind === \"record\" ? [item.record.id] : [])),\n\t\t\t\t\t[\"old-run\", \"old-next-run\"],\n\t\t\t\t);\n\t\t\t\tawait rejectsWithCode(session.createLane(\"thread\", null), \"already_exists\");\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"persists queue cancellation without consuming its target\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst enqueued = await session.appendRecord({\n\t\t\t\t\ttype: \"queue_enqueued\",\n\t\t\t\t\tid: \"enqueue\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tqueue: \"nextRun\",\n\t\t\t\t\ttarget: { type: \"message\", id: \"queued-message\", message: createUserMessage(\"queued\") },\n\t\t\t\t});\n\t\t\t\tconst cancelled = await session.appendRecord({\n\t\t\t\t\ttype: \"queue_cancelled\",\n\t\t\t\t\tid: \"cancel\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tentryId: \"queued-message\",\n\t\t\t\t});\n\t\t\t\tdeepStrictEqual({ seq: cancelled.seq, entryId: cancelled.entryId }, { seq: 2, entryId: \"queued-message\" });\n\t\t\t\tstrictEqual(\"runId\" in cancelled, false);\n\t\t\t\tstrictEqual(await session.getEntry(\"queued-message\"), undefined);\n\t\t\t\tconst cancellations = await session.findRecords({ type: \"queue_cancelled\" });\n\t\t\t\tstrictEqual(cancellations[0]?.entryId, \"queued-message\");\n\t\t\t\tdeepStrictEqual(cancellations, [cancelled]);\n\t\t\t\tdeepStrictEqual(await session.getLog(), [\n\t\t\t\t\t{ kind: \"record\", seq: enqueued.seq, record: enqueued },\n\t\t\t\t\t{ kind: \"record\", seq: cancelled.seq, record: cancelled },\n\t\t\t\t]);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"filters records by lane type run sequence and order\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tawait session.appendRecord(operationStarted(\"run-1\", { lane: \"main\", kind: \"run\" }));\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"step_attempt\",\n\t\t\t\t\tid: \"attempt-1\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\trunId: \"run-1\",\n\t\t\t\t\tstep: \"assistant\",\n\t\t\t\t\tattempt: 1,\n\t\t\t\t\tresultEntryId: \"assistant-1\",\n\t\t\t\t});\n\t\t\t\tawait session.createLane(\"thread\", null);\n\t\t\t\tawait session.appendRecord(operationStarted(\"run-2\", { lane: \"thread\", kind: \"run\" }));\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"step_attempt\",\n\t\t\t\t\tid: \"attempt-2\",\n\t\t\t\t\tlane: \"thread\",\n\t\t\t\t\trunId: \"run-2\",\n\t\t\t\t\tstep: \"assistant\",\n\t\t\t\t\tattempt: 1,\n\t\t\t\t\tresultEntryId: \"assistant-2\",\n\t\t\t\t});\n\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ lane: \"thread\" })).map((record) => record.id),\n\t\t\t\t\t[\"attempt-2\", \"run-2\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ type: \"step_attempt\", order: \"oldestFirst\" })).map((record) => record.id),\n\t\t\t\t\t[\"attempt-1\", \"attempt-2\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ runId: \"run-1\", afterSeq: 1 })).map((record) => record.id),\n\t\t\t\t\t[\"attempt-1\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ limit: 1 })).map((record) => record.id),\n\t\t\t\t\t[\"attempt-2\"],\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"records and log\", \"filters operation starts by operation kind\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.appendRecord(operationStarted(\"run-old\", { lane: \"main\", kind: \"run\" }));\n\t\t\tawait session.appendRecord({\n\t\t\t\ttype: \"operation_finished\",\n\t\t\t\tid: \"run-old-finished\",\n\t\t\t\tlane: \"main\",\n\t\t\t\trunId: \"run-old\",\n\t\t\t\toutcome: \"completed\",\n\t\t\t});\n\t\t\tawait session.appendRecord(operationStarted(\"compaction\", { lane: \"main\", kind: \"compaction\" }));\n\t\t\tawait session.appendRecord({\n\t\t\t\ttype: \"operation_finished\",\n\t\t\t\tid: \"compaction-finished\",\n\t\t\t\tlane: \"main\",\n\t\t\t\trunId: \"compaction\",\n\t\t\t\toutcome: \"completed\",\n\t\t\t});\n\t\t\tawait session.appendRecord(operationStarted(\"navigation\", { lane: \"main\", kind: \"navigation\" }));\n\t\t\tawait session.appendRecord({\n\t\t\t\ttype: \"operation_finished\",\n\t\t\t\tid: \"navigation-finished\",\n\t\t\t\tlane: \"main\",\n\t\t\t\trunId: \"navigation\",\n\t\t\t\toutcome: \"completed\",\n\t\t\t});\n\t\t\tawait session.appendRecord(operationStarted(\"run-new\", { lane: \"main\", kind: \"run\" }));\n\n\t\t\tdeepStrictEqual(\n\t\t\t\t(\n\t\t\t\t\tawait session.findRecords({\n\t\t\t\t\t\ttype: \"operation_started\",\n\t\t\t\t\t\toperationKind: \"run\",\n\t\t\t\t\t\torder: \"oldestFirst\",\n\t\t\t\t\t})\n\t\t\t\t).map((record) => record.id),\n\t\t\t\t[\"run-old\", \"run-new\"],\n\t\t\t);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(\n\t\t\t\t\tawait session.findRecords({\n\t\t\t\t\t\ttype: \"operation_started\",\n\t\t\t\t\t\toperationKind: \"compaction\",\n\t\t\t\t\t})\n\t\t\t\t).map((record) => record.id),\n\t\t\t\t[\"compaction\"],\n\t\t\t);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(\n\t\t\t\t\tawait session.findRecords({\n\t\t\t\t\t\ttype: \"operation_started\",\n\t\t\t\t\t\toperationKind: \"navigation\",\n\t\t\t\t\t})\n\t\t\t\t).map((record) => record.id),\n\t\t\t\t[\"navigation\"],\n\t\t\t);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(\n\t\t\t\t\tawait session.findRecords({\n\t\t\t\t\t\ttype: \"operation_started\",\n\t\t\t\t\t\toperationKind: \"run\",\n\t\t\t\t\t\tlimit: 1,\n\t\t\t\t\t})\n\t\t\t\t).map((record) => record.id),\n\t\t\t\t[\"run-new\"],\n\t\t\t);\n\t\t}),\n\n\t\tcreateCase(factory, \"records and log\", \"tracks and enforces one open operation per lane\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), []);\n\n\t\t\tconst first = await session.appendRecord(operationStarted(\"first\", { lane: \"main\", kind: \"run\" }));\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), [first]);\n\t\t\tawait rejectsWithCode(\n\t\t\t\tsession.appendRecord(operationStarted(\"second\", { lane: \"main\", kind: \"run\" })),\n\t\t\t\t\"storage\",\n\t\t\t);\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), [first]);\n\n\t\t\tawait session.appendRecord({\n\t\t\t\ttype: \"operation_finished\",\n\t\t\t\tid: \"finish-first\",\n\t\t\t\tlane: \"main\",\n\t\t\t\trunId: first.id,\n\t\t\t\toutcome: \"completed\",\n\t\t\t});\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), []);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"does not let an earlier finish close a later start\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"operation_finished\",\n\t\t\t\t\tid: \"finish-before-start\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\trunId: \"run\",\n\t\t\t\t\toutcome: \"completed\",\n\t\t\t\t});\n\t\t\t\tconst started = await session.appendRecord(operationStarted(\"run\", { lane: \"main\", kind: \"run\" }));\n\t\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), [started]);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"records and log\", \"scopes open operations by lane and limit\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.createLane(\"thread\", null);\n\t\t\tconst mainRun = await session.appendRecord(operationStarted(\"main-run\", { lane: \"main\", kind: \"run\" }));\n\t\t\tconst threadNavigation = await session.appendRecord(\n\t\t\t\toperationStarted(\"thread-navigation\", { lane: \"thread\", kind: \"navigation\" }),\n\t\t\t);\n\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\"), [mainRun]);\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 1 }), [mainRun]);\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"thread\", { limit: 2 }), [threadNavigation]);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"validation and immutability\",\n\t\t\t\"returns immutable open-operation records\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst committed = await session.appendRecord(operationStarted(\"run\", { lane: \"main\", kind: \"run\" }));\n\t\t\t\tconst [read] = await session.findOpenOperations(\"main\");\n\t\t\t\tif (read?.intent.kind !== \"run\") throw new Error(\"Expected an open run operation\");\n\t\t\t\tread.intent.originalPrompt.push(createUserMessage(\"mutated\"));\n\n\t\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\"), [committed]);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"queries and facts\",\n\t\t\t\"keeps latest-value facts and computes ledger statistics across lanes\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst assistant = createAssistantMessage(\"answer\");\n\t\t\t\tif (assistant.role !== \"assistant\") throw new Error(\"Expected assistant message\");\n\t\t\t\tassistant.usage = {\n\t\t\t\t\tinput: 10,\n\t\t\t\t\toutput: 5,\n\t\t\t\t\tcacheRead: 3,\n\t\t\t\t\tcacheWrite: 2,\n\t\t\t\t\ttotalTokens: 20,\n\t\t\t\t\tcost: { input: 1, output: 2, cacheRead: 3, cacheWrite: 4, total: 10 },\n\t\t\t\t};\n\t\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"user\", message: createUserMessage(\"question\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry<MessageEntry>({ type: \"message\", id: \"assistant\", message: assistant }, \"main\");\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"usage\",\n\t\t\t\t\tid: \"assistant-usage\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tcause: \"assistant\",\n\t\t\t\t\trunId: \"run\",\n\t\t\t\t\tentryId: \"assistant\",\n\t\t\t\t\tattempt: 1,\n\t\t\t\t\tstopReason: \"stop\",\n\t\t\t\t\tusage: assistant.usage,\n\t\t\t\t});\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"usage\",\n\t\t\t\t\tid: \"deferred-usage\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tcause: \"deferred_fetch\",\n\t\t\t\t\trunId: \"run\",\n\t\t\t\t\tentryId: \"deferred-result\",\n\t\t\t\t\tattempt: 1,\n\t\t\t\t\tstopReason: \"deferred\",\n\t\t\t\t\tusage: {\n\t\t\t\t\t\tinput: 0,\n\t\t\t\t\t\toutput: 0,\n\t\t\t\t\t\tcacheRead: 0,\n\t\t\t\t\t\tcacheWrite: 0,\n\t\t\t\t\t\ttotalTokens: 0,\n\t\t\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tawait session.createLane(\"thread\", \"assistant\");\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"usage\",\n\t\t\t\t\tid: \"correction\",\n\t\t\t\t\tlane: \"thread\",\n\t\t\t\t\tcause: \"adjustment\",\n\t\t\t\t\tdetails: { reason: \"provider correction\" },\n\t\t\t\t\tusage: {\n\t\t\t\t\t\tinput: -2,\n\t\t\t\t\t\toutput: 0,\n\t\t\t\t\t\tcacheRead: 0,\n\t\t\t\t\t\tcacheWrite: 0,\n\t\t\t\t\t\ttotalTokens: -2,\n\t\t\t\t\t\tcost: { input: -0.5, output: 0, cacheRead: 0, cacheWrite: 0, total: -0.5 },\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tawait session.setName(\"First\");\n\t\t\t\tawait session.setName(\"Second\");\n\t\t\t\tawait session.setLabel(\"user\", \"keep\");\n\t\t\t\tawait session.setLabel(\"user\", undefined);\n\t\t\t\tawait rejectsWithCode(session.setLabel(\"missing\", \"checkpoint\"), \"not_found\");\n\n\t\t\t\tstrictEqual(await session.getName(), \"Second\");\n\t\t\t\tstrictEqual(await session.getLabel(\"user\"), undefined);\n\t\t\t\tconst usageRecords = await session.findRecords({ type: \"usage\", order: \"oldestFirst\" });\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tusageRecords.map((record) => record.cause),\n\t\t\t\t\t[\"assistant\", \"deferred_fetch\", \"adjustment\"],\n\t\t\t\t);\n\t\t\t\tconst deferredUsage = usageRecords.find((record) => record.cause === \"deferred_fetch\");\n\t\t\t\tif (deferredUsage?.cause !== \"deferred_fetch\") throw new Error(\"Expected deferred usage record\");\n\t\t\t\tstrictEqual(deferredUsage.stopReason, \"deferred\");\n\t\t\t\tdeepStrictEqual(await session.getStats(), {\n\t\t\t\t\tmessageCount: 2,\n\t\t\t\t\tcachedTokens: 3,\n\t\t\t\t\tuncachedTokens: 10,\n\t\t\t\t\ttotalTokens: 18,\n\t\t\t\t\tcostTotal: 9.5,\n\t\t\t\t});\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"queries and facts\", \"clears session names durably\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.setName(\"Temporary\");\n\t\t\tawait session.setName(undefined);\n\n\t\t\tstrictEqual(await session.getName(), undefined);\n\t\t\tdeepStrictEqual(await session.getLog(), [\n\t\t\t\t{ kind: \"fact\", seq: 1, fact: \"name\", name: \"Temporary\" },\n\t\t\t\t{ kind: \"fact\", seq: 2, fact: \"name\", name: undefined },\n\t\t\t]);\n\n\t\t\tconst metadata = await session.getMetadata();\n\t\t\tconst reopened = await repository.open(metadata);\n\t\t\tstrictEqual(await reopened.getName(), undefined);\n\t\t\tdeepStrictEqual(await reopened.getLog(), [\n\t\t\t\t{ kind: \"fact\", seq: 1, fact: \"name\", name: \"Temporary\" },\n\t\t\t\t{ kind: \"fact\", seq: 2, fact: \"name\", name: undefined },\n\t\t\t]);\n\n\t\t\tconst fork = await repository.fork(metadata, { id: \"fork\" });\n\t\t\tstrictEqual(await fork.getName(), undefined);\n\t\t}),\n\n\t\tcreateCase(factory, \"validation and immutability\", \"returns immutable copies from reads\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"immutable\" });\n\t\t\tconst metadata = await session.getMetadata();\n\t\t\tconst data = { nested: { value: 1 } };\n\t\t\tawait session.appendEntry<CustomEntry>({ type: \"custom\", id: \"custom\", customType: \"note\", data }, \"main\");\n\t\t\tdata.nested.value = 50;\n\t\t\tconst read = await session.getEntry(\"custom\");\n\t\t\tif (read?.type !== \"custom\") throw new Error(\"Expected custom entry\");\n\t\t\t(read.data as { nested: { value: number } }).nested.value = 99;\n\t\t\tconst readMetadata = await session.getMetadata();\n\t\t\treadMetadata.id = \"changed\";\n\t\t\tconst log = await session.getLog();\n\t\t\tif (log[0]?.kind !== \"entry\" || log[0].entry.type !== \"custom\") throw new Error(\"Expected entry log\");\n\t\t\t(log[0].entry.data as { nested: { value: number } }).nested.value = 100;\n\n\t\t\tdeepStrictEqual(await session.getMetadata(), metadata);\n\t\t\tdeepStrictEqual(await session.getEntry(\"custom\"), {\n\t\t\t\ttype: \"custom\",\n\t\t\t\tid: \"custom\",\n\t\t\t\tcustomType: \"note\",\n\t\t\t\tdata: { nested: { value: 1 } },\n\t\t\t\tparentId: null,\n\t\t\t\tseq: 1,\n\t\t\t\ttimestamp: read.timestamp,\n\t\t\t});\n\t\t}),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"validates lane lifecycle and targets\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait rejectsWithCode(session.createLane(\"main\", null), \"already_exists\");\n\t\t\tawait rejectsWithCode(session.createLane(\"thread\", \"missing\"), \"not_found\");\n\t\t\tawait rejectsWithCode(session.moveLane(\"missing\", null), \"invalid_lane\");\n\t\t}),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"binds lane views without caching leaves\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tconst root = await session.appendMessage(createUserMessage(\"root\"));\n\t\t\tawait session.createLane(\"thread\", root);\n\t\t\tconst thread = session.view(\"thread\");\n\t\t\tconst [mainChild, threadChild] = await Promise.all([\n\t\t\t\tsession.appendMessage(createUserMessage(\"main\")),\n\t\t\t\tthread.appendMessage(createUserMessage(\"thread\")),\n\t\t\t]);\n\n\t\t\tstrictEqual(await session.getLeafId(), mainChild);\n\t\t\tstrictEqual(await thread.getLeafId(), threadChild);\n\t\t\tdeepStrictEqual(await entryIds(session.findEntriesOnBranch({ order: \"oldestFirst\" })), [root, mainChild]);\n\t\t\tdeepStrictEqual(await entryIds(thread.findEntriesOnBranch({ order: \"oldestFirst\" })), [root, threadChild]);\n\t\t\tconst empty = await repository.create({ id: \"empty\" });\n\t\t\tdeepStrictEqual(await empty.findEntriesOnBranch(), []);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"entries and lanes\",\n\t\t\t\"appends provisioned entries with their existing ids\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst entry = await session.appendEntry<CustomEntry>(\n\t\t\t\t\t{ type: \"custom\", id: \"provisioned\", customType: \"note\", data: { value: 1 } },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\n\t\t\t\tstrictEqual(entry.customType, \"note\");\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t{ id: entry.id, parentId: entry.parentId, seq: entry.seq },\n\t\t\t\t\t{ id: \"provisioned\", parentId: null, seq: 1 },\n\t\t\t\t);\n\t\t\t\tstrictEqual(await session.getLeafId(), \"provisioned\");\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"persists tool-result termination decisions\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tconst entry = await session.appendEntry<MessageEntry>(\n\t\t\t\t{\n\t\t\t\t\ttype: \"message\",\n\t\t\t\t\tid: \"tool-result\",\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\trole: \"toolResult\",\n\t\t\t\t\t\ttoolCallId: \"call-1\",\n\t\t\t\t\t\ttoolName: \"example\",\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: \"done\" }],\n\t\t\t\t\t\tisError: false,\n\t\t\t\t\t\ttimestamp: 1,\n\t\t\t\t\t},\n\t\t\t\t\tterminate: true,\n\t\t\t\t},\n\t\t\t\t\"main\",\n\t\t\t);\n\n\t\t\tstrictEqual(entry.terminate, true);\n\t\t\tconst stored = await session.getEntry(entry.id);\n\t\t\tif (stored?.type !== \"message\") throw new Error(\"Expected message entry\");\n\t\t\tstrictEqual(stored.terminate, true);\n\t\t\tdeepStrictEqual(await session.findEntries(), [entry]);\n\t\t\tdeepStrictEqual(await session.getLog(), [{ kind: \"entry\", seq: entry.seq, entry }]);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"validation and immutability\",\n\t\t\t\"rejects non-JSON entries before storage mutation\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst cyclic: { self?: unknown } = {};\n\t\t\t\tcyclic.self = cyclic;\n\n\t\t\t\tfor (const data of [\n\t\t\t\t\t{ value: undefined },\n\t\t\t\t\t[undefined],\n\t\t\t\t\t{ value: 1n },\n\t\t\t\t\t{ value: Number.NaN },\n\t\t\t\t\t{ value: new Map() },\n\t\t\t\t\tcyclic,\n\t\t\t\t]) {\n\t\t\t\t\tawait rejectsWithCode(session.appendCustomEntry(\"invalid\", data), \"invalid_payload\");\n\t\t\t\t}\n\n\t\t\t\tstrictEqual(await session.getLeafId(), null);\n\t\t\t\tdeepStrictEqual(await session.findEntries(), []);\n\t\t\t\tdeepStrictEqual(await session.getLog(), []);\n\t\t\t\tconst validId = await session.appendCustomEntry(\"valid\", { value: 1 });\n\t\t\t\tstrictEqual((await session.getEntry(validId))?.seq, 1);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"validation and immutability\",\n\t\t\t\"rejects non-JSON records before storage mutation\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tfor (const [id, value] of [\n\t\t\t\t\t[\"undefined-record\", undefined],\n\t\t\t\t\t[\"bigint-record\", 1n],\n\t\t\t\t] as const) {\n\t\t\t\t\tawait rejectsWithCode(\n\t\t\t\t\t\tsession.appendRecord({\n\t\t\t\t\t\t\ttype: \"tool_started\",\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tlane: \"main\",\n\t\t\t\t\t\t\trunId: \"run\",\n\t\t\t\t\t\t\tassistantEntryId: \"assistant\",\n\t\t\t\t\t\t\ttoolIndex: 0,\n\t\t\t\t\t\t\ttoolCallId: \"call\",\n\t\t\t\t\t\t\ttoolName: \"example\",\n\t\t\t\t\t\t\teffectiveArgs: { value },\n\t\t\t\t\t\t\tresultEntryId: \"result\",\n\t\t\t\t\t\t\treplay: \"never\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\"invalid_payload\",\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tdeepStrictEqual(await session.findRecords(), []);\n\t\t\t\tdeepStrictEqual(await session.getLog(), []);\n\t\t\t\tstrictEqual(\n\t\t\t\t\t(await session.appendRecord(operationStarted(\"valid-record\", { lane: \"main\", kind: \"run\" }))).seq,\n\t\t\t\t\t1,\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"linearizes concurrent writes across two lanes\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\"main\",\n\t\t\t);\n\t\t\tawait session.createLane(\"thread\", \"root\");\n\t\t\tconst completionOrder: string[] = [];\n\t\t\tconst writes = [\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"main-1\", customType: \"note\" }, \"main\"),\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"thread-1\", customType: \"note\" }, \"thread\"),\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"main-2\", customType: \"note\" }, \"main\"),\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"thread-2\", customType: \"note\" }, \"thread\"),\n\t\t\t].map((write) =>\n\t\t\t\twrite.then((entry) => {\n\t\t\t\t\tcompletionOrder.push(entry.id);\n\t\t\t\t\treturn entry;\n\t\t\t\t}),\n\t\t\t);\n\t\t\tconst entries = await Promise.all(writes);\n\t\t\tconst commitOrder = [...entries].sort((left, right) => left.seq - right.seq).map((entry) => entry.id);\n\n\t\t\tstrictEqual(new Set(entries.map((entry) => entry.seq)).size, entries.length);\n\t\t\tdeepStrictEqual(completionOrder, commitOrder);\n\t\t\tconst concurrentIds = new Set(entries.map((entry) => entry.id));\n\t\t\tdeepStrictEqual(\n\t\t\t\t(await session.getLog()).flatMap((item) =>\n\t\t\t\t\titem.kind === \"entry\" && concurrentIds.has(item.entry.id) ? [item.entry.id] : [],\n\t\t\t\t),\n\t\t\t\tcommitOrder,\n\t\t\t);\n\t\t\tconst sequences = (await session.getLog()).map((item) => item.seq);\n\t\t\tdeepStrictEqual(\n\t\t\t\tsequences,\n\t\t\t\t[...sequences].sort((left, right) => left - right),\n\t\t\t);\n\t\t}),\n\n\t\tcreateCase(factory, \"repository and forks\", \"creates lists and opens sessions\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"one\" });\n\t\t\tconst entryId = await session.appendMessage(createUserMessage(\"persisted\"));\n\t\t\tconst metadata = await session.getMetadata();\n\n\t\t\tconst listed = await repository.list();\n\t\t\tstrictEqual(listed.length, 1);\n\t\t\tstrictEqual(listed[0]?.id, metadata.id);\n\t\t\tstrictEqual(listed[0]?.createdAt, metadata.createdAt);\n\t\t\tstrictEqual(listed[0]?.parentSessionId, metadata.parentSessionId);\n\t\t\tdeepStrictEqual(await entryIds((await repository.open(metadata)).findEntries()), [entryId]);\n\t\t\tawait rejectsWithCode(repository.create({ id: \"one\" }), \"already_exists\");\n\t\t}),\n\n\t\tcreateCase(factory, \"repository and forks\", \"deletes sessions idempotently\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"one\" });\n\t\t\tconst metadata = await session.getMetadata();\n\n\t\t\tawait repository.delete(metadata);\n\t\t\tawait rejectsWithCode(repository.open(metadata), \"not_found\");\n\t\t\tawait repository.delete(metadata);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"repository and forks\",\n\t\t\t\"forks one branch with selected facts and no records\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst source = await repository.create({ id: \"source\" });\n\t\t\t\tconst root = await source.appendMessage(createUserMessage(\"root\"));\n\t\t\t\tconst shared = await source.appendMessage(createAssistantMessage(\"shared\"));\n\t\t\t\tawait source.createLane(\"thread\", shared);\n\t\t\t\tconst threadChild = await source.view(\"thread\").appendMessage(createUserMessage(\"thread\"));\n\t\t\t\tconst mainChild = await source.appendMessage(createUserMessage(\"main\"));\n\t\t\t\tawait source.setName(\"Source\");\n\t\t\t\tawait source.setLabel(shared, \"copied\");\n\t\t\t\tawait source.setLabel(threadChild, \"excluded\");\n\t\t\t\tawait source.appendRecord(operationStarted(\"run\", { lane: \"main\", kind: \"run\" }));\n\t\t\t\tawait source.appendRecord({\n\t\t\t\t\ttype: \"usage\",\n\t\t\t\t\tid: \"source-usage\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tcause: \"adjustment\",\n\t\t\t\t\tusage: {\n\t\t\t\t\t\tinput: 10,\n\t\t\t\t\t\toutput: 5,\n\t\t\t\t\t\tcacheRead: 3,\n\t\t\t\t\t\tcacheWrite: 2,\n\t\t\t\t\t\ttotalTokens: 20,\n\t\t\t\t\t\tcost: { input: 1, output: 2, cacheRead: 3, cacheWrite: 4, total: 10 },\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tconst fork = await repository.fork(await source.getMetadata(), {\n\t\t\t\t\tscope: \"branch\",\n\t\t\t\t\tentryId: mainChild,\n\t\t\t\t\tposition: \"at\",\n\t\t\t\t\tid: \"branch-fork\",\n\t\t\t\t});\n\n\t\t\t\tdeepStrictEqual(await entryIds(fork.findEntries({ order: \"oldestFirst\" })), [root, shared, mainChild]);\n\t\t\t\tdeepStrictEqual(await fork.getLanes(), [{ lane: \"main\", leafId: mainChild }]);\n\t\t\t\tstrictEqual(await fork.getName(), \"Source\");\n\t\t\t\tstrictEqual(await fork.getLabel(shared), \"copied\");\n\t\t\t\tstrictEqual(await fork.getLabel(threadChild), undefined);\n\t\t\t\tdeepStrictEqual(await fork.findRecords(), []);\n\t\t\t\tdeepStrictEqual(await fork.getStats(), {\n\t\t\t\t\tmessageCount: 3,\n\t\t\t\t\tcachedTokens: 0,\n\t\t\t\t\tuncachedTokens: 0,\n\t\t\t\t\ttotalTokens: 0,\n\t\t\t\t\tcostTotal: 0,\n\t\t\t\t});\n\t\t\t\tawait fork.appendMessage(createUserMessage(\"after fork\"));\n\t\t\t\tstrictEqual((await fork.getStats()).messageCount, 4);\n\t\t\t\tconst metadata = await fork.getMetadata();\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t{ id: metadata.id, parentSessionId: metadata.parentSessionId },\n\t\t\t\t\t{ id: \"branch-fork\", parentSessionId: \"source\" },\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"repository and forks\", \"forks a complete tree with lanes and facts\", async (repository) => {\n\t\t\tconst source = await repository.create({ id: \"source\" });\n\t\t\tconst root = await source.appendMessage(createUserMessage(\"root\"));\n\t\t\tawait source.createLane(\"thread\", root);\n\t\t\tconst mainChild = await source.appendMessage(createUserMessage(\"main\"));\n\t\t\tconst threadChild = await source.view(\"thread\").appendMessage(createUserMessage(\"thread\"));\n\t\t\tawait source.setLabel(threadChild, \"thread-tip\");\n\n\t\t\tconst fork = await repository.fork(await source.getMetadata(), { scope: \"tree\", id: \"tree-fork\" });\n\t\t\tdeepStrictEqual(await entryIds(fork.findEntries({ order: \"oldestFirst\" })), [root, mainChild, threadChild]);\n\t\t\tdeepStrictEqual(await fork.getLanes(), [\n\t\t\t\t{ lane: \"main\", leafId: mainChild },\n\t\t\t\t{ lane: \"thread\", leafId: threadChild },\n\t\t\t]);\n\t\t\tstrictEqual(await fork.getLabel(threadChild), \"thread-tip\");\n\t\t\tstrictEqual((await fork.getStats()).messageCount, 3);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(await fork.getLog()).filter((item) => item.kind === \"lane\"),\n\t\t\t\t[\n\t\t\t\t\t{ kind: \"lane\", seq: 4, lane: \"main\", leafId: mainChild },\n\t\t\t\t\t{ kind: \"lane\", seq: 5, lane: \"thread\", leafId: threadChild },\n\t\t\t\t],\n\t\t\t);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"repository and forks\",\n\t\t\t\"forks before an entry without modifying the source\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst source = await repository.create({ id: \"source\" });\n\t\t\t\tconst root = await source.appendMessage(createUserMessage(\"root\"));\n\t\t\t\tconst tail = await source.appendMessage(createUserMessage(\"tail\"));\n\t\t\t\tconst fork = await repository.fork(await source.getMetadata(), { entryId: tail, id: \"fork\" });\n\n\t\t\t\tdeepStrictEqual(await entryIds(fork.findEntries({ order: \"oldestFirst\" })), [root]);\n\t\t\t\tstrictEqual(await fork.getLeafId(), root);\n\t\t\t\tstrictEqual(await source.getLeafId(), tail);\n\t\t\t\tconst beforeDefaultTarget = await repository.fork(await source.getMetadata(), {\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t\tid: \"before-default-target\",\n\t\t\t\t});\n\t\t\t\tdeepStrictEqual(await entryIds(beforeDefaultTarget.findEntries({ order: \"oldestFirst\" })), [root]);\n\t\t\t\tstrictEqual(await beforeDefaultTarget.getLeafId(), root);\n\n\t\t\t\tconst atDefaultTarget = await repository.fork(await source.getMetadata(), {\n\t\t\t\t\tposition: \"at\",\n\t\t\t\t\tid: \"at-default-target\",\n\t\t\t\t});\n\t\t\t\tdeepStrictEqual(await entryIds(atDefaultTarget.findEntries({ order: \"oldestFirst\" })), [root, tail]);\n\t\t\t\tstrictEqual(await atDefaultTarget.getLeafId(), tail);\n\t\t\t\tawait rejectsWithCode(\n\t\t\t\t\trepository.fork(await source.getMetadata(), { entryId: \"missing\" }),\n\t\t\t\t\t\"invalid_fork_target\",\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"repository and forks\", \"validates the default fork target\", async (repository) => {\n\t\t\tconst source = await repository.create({ id: \"source-with-custom-leaf\" });\n\t\t\tawait source.appendCustomEntry(\"not-a-message\");\n\n\t\t\tawait rejectsWithCode(repository.fork(await source.getMetadata(), { id: \"fork\" }), \"invalid_fork_target\");\n\t\t}),\n\t];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../../../src/harness/session/testing/conformance.ts"],"names":[],"mappings":"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","sourcesContent":["import { deepStrictEqual, ok, rejects, strictEqual } from \"node:assert/strict\";\nimport type { AgentMessage } from \"../../../types.ts\";\nimport type {\n\tCustomEntry,\n\tEntry,\n\tMessageEntry,\n\tNewRecord,\n\tOperationStartedRecord,\n\tSessionErrorCode,\n\tSessionRepo,\n} from \"../types.ts\";\nimport type { SessionBackendConformanceCase, SessionBackendFixtureFactory } from \"./types.ts\";\n\nfunction createUserMessage(text: string): AgentMessage {\n\treturn {\n\t\trole: \"user\",\n\t\tcontent: [{ type: \"text\", text }],\n\t\ttimestamp: 1,\n\t};\n}\n\nfunction createAssistantMessage(text: string): AgentMessage {\n\treturn {\n\t\trole: \"assistant\",\n\t\tcontent: [{ type: \"text\", text }],\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"anthropic\",\n\t\tmodel: \"claude-sonnet-4-5\",\n\t\tusage: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t\ttotalTokens: 0,\n\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t},\n\t\tstopReason: \"stop\",\n\t\ttimestamp: 1,\n\t};\n}\n\nfunction operationStarted(\n\tid: string,\n\t{ lane, kind }: { lane: string; kind: OperationStartedRecord[\"intent\"][\"kind\"] },\n): NewRecord<OperationStartedRecord> {\n\tlet intent: OperationStartedRecord[\"intent\"];\n\tswitch (kind) {\n\t\tcase \"run\":\n\t\t\tintent = { kind, originalPrompt: [], initialMessages: [] };\n\t\t\tbreak;\n\t\tcase \"compaction\":\n\t\t\tintent = { kind, resultEntryId: `${id}-result` };\n\t\t\tbreak;\n\t\tcase \"navigation\":\n\t\t\tintent = { kind, targetId: null, summarize: false };\n\t\t\tbreak;\n\t}\n\treturn { type: \"operation_started\", id, lane, sourceLeafId: null, intent };\n}\n\nasync function entryIds(entries: Promise<Entry[]>): Promise<string[]> {\n\treturn (await entries).map((entry) => entry.id);\n}\n\nasync function rejectsWithCode(operation: Promise<unknown>, code: SessionErrorCode): Promise<void> {\n\tawait rejects(\n\t\toperation,\n\t\t(error: unknown) => typeof error === \"object\" && error !== null && \"code\" in error && error.code === code,\n\t\t`Expected SessionError with code ${code}`,\n\t);\n}\n\ntype ConformanceTest = (repository: SessionRepo) => Promise<void>;\n\nfunction createCase(\n\tfactory: SessionBackendFixtureFactory,\n\tgroup: string,\n\tname: string,\n\ttest: ConformanceTest,\n): SessionBackendConformanceCase {\n\treturn {\n\t\tgroup,\n\t\tname,\n\t\tasync run() {\n\t\t\tawait using fixture = await factory();\n\t\t\tawait test(fixture.repository);\n\t\t},\n\t};\n}\n\n/** Creates the session backend conformance cases. Each case creates and disposes its own fixture. */\nexport function createSessionBackendConformance(\n\tfactory: SessionBackendFixtureFactory,\n): readonly SessionBackendConformanceCase[] {\n\treturn [\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"entries and lanes\",\n\t\t\t\"assigns parents and one sequence across every mutation\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst root = await session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.createLane(\"thread\", root.id);\n\t\t\t\tconst child = await session.appendEntry<CustomEntry>(\n\t\t\t\t\t{ type: \"custom\", id: \"child\", customType: \"note\", data: { value: 1 } },\n\t\t\t\t\t\"thread\",\n\t\t\t\t);\n\t\t\t\tconst record = await session.appendRecord(operationStarted(\"run\", { lane: \"thread\", kind: \"run\" }));\n\t\t\t\tawait session.setName(\"Example\");\n\t\t\t\tawait session.setLabel(root.id, \"checkpoint\");\n\t\t\t\tawait session.moveLane(\"main\", child.id);\n\n\t\t\t\tdeepStrictEqual({ parentId: root.parentId, seq: root.seq }, { parentId: null, seq: 1 });\n\t\t\t\tdeepStrictEqual({ parentId: child.parentId, seq: child.seq }, { parentId: \"root\", seq: 3 });\n\t\t\t\tstrictEqual(record.seq, 4);\n\t\t\t\tfor (const timestamp of [root.timestamp, child.timestamp, record.timestamp]) {\n\t\t\t\t\tok(\n\t\t\t\t\t\tNumber.isSafeInteger(timestamp) && timestamp >= 0,\n\t\t\t\t\t\t\"storage-assigned timestamps must be Unix milliseconds\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.getLog()).map((item) => [item.kind, item.seq]),\n\t\t\t\t\t[\n\t\t\t\t\t\t[\"entry\", 1],\n\t\t\t\t\t\t[\"lane\", 2],\n\t\t\t\t\t\t[\"entry\", 3],\n\t\t\t\t\t\t[\"record\", 4],\n\t\t\t\t\t\t[\"fact\", 5],\n\t\t\t\t\t\t[\"fact\", 6],\n\t\t\t\t\t\t[\"lane\", 7],\n\t\t\t\t\t],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(await session.getLanes(), [\n\t\t\t\t\t{ lane: \"main\", leafId: \"child\" },\n\t\t\t\t\t{ lane: \"thread\", leafId: \"child\" },\n\t\t\t\t]);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"commits records and lane moves as separate mutations\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst root = await session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tconst finished = await session.appendRecord({\n\t\t\t\t\ttype: \"operation_finished\",\n\t\t\t\t\tid: \"finish\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\trunId: \"run\",\n\t\t\t\t\toutcome: \"completed\",\n\t\t\t\t});\n\n\t\t\t\tstrictEqual(finished.seq, 2);\n\t\t\t\tdeepStrictEqual(await session.getLanes(), [{ lane: \"main\", leafId: \"root\" }]);\n\t\t\t\tawait session.moveLane(\"main\", null);\n\t\t\t\tdeepStrictEqual(await session.getLanes(), [{ lane: \"main\", leafId: null }]);\n\t\t\t\tdeepStrictEqual(await session.getLog(), [\n\t\t\t\t\t{ kind: \"entry\", seq: 1, entry: root },\n\t\t\t\t\t{ kind: \"record\", seq: 2, record: finished },\n\t\t\t\t\t{ kind: \"lane\", seq: 3, lane: \"main\", leafId: null },\n\t\t\t\t]);\n\n\t\t\t\tawait rejectsWithCode(session.moveLane(\"main\", \"missing\"), \"not_found\");\n\t\t\t\tstrictEqual((await session.findRecords()).length, 1);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.getLog()).map((item) => item.seq),\n\t\t\t\t\t[1, 2, 3],\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"rejects duplicate ids without changing state\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"shared\", message: createUserMessage(\"root\") },\n\t\t\t\t\"main\",\n\t\t\t);\n\t\t\tawait rejectsWithCode(\n\t\t\t\tsession.appendRecord(operationStarted(\"shared\", { lane: \"main\", kind: \"run\" })),\n\t\t\t\t\"already_exists\",\n\t\t\t);\n\t\t\tawait session.appendRecord(operationStarted(\"run\", { lane: \"main\", kind: \"run\" }));\n\t\t\tawait rejectsWithCode(\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"run\", customType: \"note\" }, \"main\"),\n\t\t\t\t\"already_exists\",\n\t\t\t);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(await session.getLog()).map((item) => item.seq),\n\t\t\t\t[1, 2],\n\t\t\t);\n\t\t}),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"isolates lanes while sharing the tree\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\"main\",\n\t\t\t);\n\t\t\tawait session.createLane(\"thread\", \"root\");\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"main-child\", message: createUserMessage(\"main\") },\n\t\t\t\t\"main\",\n\t\t\t);\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"thread-child\", message: createUserMessage(\"thread\") },\n\t\t\t\t\"thread\",\n\t\t\t);\n\n\t\t\tdeepStrictEqual(await session.getLanes(), [\n\t\t\t\t{ lane: \"main\", leafId: \"main-child\" },\n\t\t\t\t{ lane: \"thread\", leafId: \"thread-child\" },\n\t\t\t]);\n\t\t\tdeepStrictEqual(await entryIds(session.findEntriesOnBranch({ start: \"main-child\", order: \"oldestFirst\" })), [\n\t\t\t\t\"root\",\n\t\t\t\t\"main-child\",\n\t\t\t]);\n\t\t\tdeepStrictEqual(await entryIds(session.findEntriesOnBranch({ start: \"thread-child\", order: \"oldestFirst\" })), [\n\t\t\t\t\"root\",\n\t\t\t\t\"thread-child\",\n\t\t\t]);\n\t\t}),\n\n\t\tcreateCase(factory, \"queries and facts\", \"rejects invalid queries before empty reads\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"invalid-queries\" });\n\t\t\tawait session.createLane(\"thread\", null);\n\t\t\tconst thread = session.view(\"thread\");\n\n\t\t\tawait rejectsWithCode(session.findEntries({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findEntry({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findEntriesOnBranch({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(thread.findEntriesOnBranch({ cursor: { afterSeq: -1 } }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(thread.findEntryOnBranch({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findRecords({ limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findRecords({ operationKind: \"run\" }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findRecords({ type: \"step_attempt\", operationKind: \"run\" }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findOpenOperations(\"main\", { limit: 0 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.findOpenOperations(\"main\", { limit: -1 }), \"invalid_query\");\n\t\t\tawait rejectsWithCode(session.getLog({ afterSeq: -1 }), \"invalid_query\");\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"queries and facts\",\n\t\t\t\"supports bounded filtered and cursor-based queries\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry<CustomEntry>(\n\t\t\t\t\t{ type: \"custom\", id: \"old-note\", customType: \"note\", data: 1 },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry(\n\t\t\t\t\t{ type: \"compaction\", id: \"compact\", summary: \"summary\", retainedTail: [], tokensBefore: 10 },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry<CustomEntry>(\n\t\t\t\t\t{ type: \"custom\", id: \"new-note\", customType: \"note\", data: 2 },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"tail\", message: createAssistantMessage(\"tail\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\n\t\t\t\tdeepStrictEqual(await entryIds(session.findEntries()), [\"tail\", \"new-note\", \"compact\", \"old-note\", \"root\"]);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(session.findEntries({ order: \"oldestFirst\", cursor: { afterSeq: 2 }, limit: 2 })),\n\t\t\t\t\t[\"compact\", \"new-note\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(await entryIds(session.findEntries({ customType: \"note\" })), [\"new-note\", \"old-note\"]);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(session.findEntriesOnBranch({ start: \"tail\", customType: \"note\", limit: 1 })),\n\t\t\t\t\t[\"new-note\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(\n\t\t\t\t\t\tsession.findEntriesOnBranch({ start: \"tail\", stopAtType: \"compaction\", type: \"message\" }),\n\t\t\t\t\t),\n\t\t\t\t\t[\"tail\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(session.findEntriesOnBranch({ start: \"tail\", stopAtId: \"tail\", type: \"custom\" })),\n\t\t\t\t\t[],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tawait entryIds(\n\t\t\t\t\t\tsession.findEntriesOnBranch({ start: \"tail\", stopAtType: \"custom\", order: \"oldestFirst\" }),\n\t\t\t\t\t),\n\t\t\t\t\t[\"root\", \"old-note\"],\n\t\t\t\t);\n\t\t\t\tawait rejectsWithCode(session.findEntries({ limit: 0 }), \"invalid_query\");\n\t\t\t\tawait rejectsWithCode(session.findEntriesOnBranch({ start: \"missing\" }), \"not_found\");\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"keeps lane names permanent with their recovery records\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tawait session.createLane(\"thread\", null);\n\t\t\t\tawait session.appendRecord(operationStarted(\"old-run\", { lane: \"thread\", kind: \"run\" }));\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"queue_enqueued\",\n\t\t\t\t\tid: \"old-next-run\",\n\t\t\t\t\tlane: \"thread\",\n\t\t\t\t\tqueue: \"nextRun\",\n\t\t\t\t\ttarget: { type: \"message\", id: \"queued-message\", message: createUserMessage(\"queued\") },\n\t\t\t\t});\n\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ lane: \"thread\" })).map((record) => record.id),\n\t\t\t\t\t[\"old-next-run\", \"old-run\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.getLog()).flatMap((item) => (item.kind === \"record\" ? [item.record.id] : [])),\n\t\t\t\t\t[\"old-run\", \"old-next-run\"],\n\t\t\t\t);\n\t\t\t\tawait rejectsWithCode(session.createLane(\"thread\", null), \"already_exists\");\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"persists queue cancellation without consuming its target\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst enqueued = await session.appendRecord({\n\t\t\t\t\ttype: \"queue_enqueued\",\n\t\t\t\t\tid: \"enqueue\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tqueue: \"nextRun\",\n\t\t\t\t\ttarget: { type: \"message\", id: \"queued-message\", message: createUserMessage(\"queued\") },\n\t\t\t\t});\n\t\t\t\tconst cancelled = await session.appendRecord({\n\t\t\t\t\ttype: \"queue_cancelled\",\n\t\t\t\t\tid: \"cancel\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tentryId: \"queued-message\",\n\t\t\t\t});\n\t\t\t\tdeepStrictEqual({ seq: cancelled.seq, entryId: cancelled.entryId }, { seq: 2, entryId: \"queued-message\" });\n\t\t\t\tstrictEqual(\"runId\" in cancelled, false);\n\t\t\t\tstrictEqual(await session.getEntry(\"queued-message\"), undefined);\n\t\t\t\tconst cancellations = await session.findRecords({ type: \"queue_cancelled\" });\n\t\t\t\tstrictEqual(cancellations[0]?.entryId, \"queued-message\");\n\t\t\t\tdeepStrictEqual(cancellations, [cancelled]);\n\t\t\t\tdeepStrictEqual(await session.getLog(), [\n\t\t\t\t\t{ kind: \"record\", seq: enqueued.seq, record: enqueued },\n\t\t\t\t\t{ kind: \"record\", seq: cancelled.seq, record: cancelled },\n\t\t\t\t]);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"filters records by lane type run sequence and order\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tawait session.appendRecord(operationStarted(\"run-1\", { lane: \"main\", kind: \"run\" }));\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"step_attempt\",\n\t\t\t\t\tid: \"attempt-1\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\trunId: \"run-1\",\n\t\t\t\t\tstep: \"assistant\",\n\t\t\t\t\tattempt: 1,\n\t\t\t\t\tresultEntryId: \"assistant-1\",\n\t\t\t\t});\n\t\t\t\tawait session.createLane(\"thread\", null);\n\t\t\t\tawait session.appendRecord(operationStarted(\"run-2\", { lane: \"thread\", kind: \"run\" }));\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"step_attempt\",\n\t\t\t\t\tid: \"attempt-2\",\n\t\t\t\t\tlane: \"thread\",\n\t\t\t\t\trunId: \"run-2\",\n\t\t\t\t\tstep: \"assistant\",\n\t\t\t\t\tattempt: 1,\n\t\t\t\t\tresultEntryId: \"assistant-2\",\n\t\t\t\t});\n\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ lane: \"thread\" })).map((record) => record.id),\n\t\t\t\t\t[\"attempt-2\", \"run-2\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ type: \"step_attempt\", order: \"oldestFirst\" })).map((record) => record.id),\n\t\t\t\t\t[\"attempt-1\", \"attempt-2\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ runId: \"run-1\", afterSeq: 1 })).map((record) => record.id),\n\t\t\t\t\t[\"attempt-1\"],\n\t\t\t\t);\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t(await session.findRecords({ limit: 1 })).map((record) => record.id),\n\t\t\t\t\t[\"attempt-2\"],\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"records and log\", \"filters operation starts by operation kind\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.appendRecord(operationStarted(\"run-old\", { lane: \"main\", kind: \"run\" }));\n\t\t\tawait session.appendRecord({\n\t\t\t\ttype: \"operation_finished\",\n\t\t\t\tid: \"run-old-finished\",\n\t\t\t\tlane: \"main\",\n\t\t\t\trunId: \"run-old\",\n\t\t\t\toutcome: \"completed\",\n\t\t\t});\n\t\t\tawait session.appendRecord(operationStarted(\"compaction\", { lane: \"main\", kind: \"compaction\" }));\n\t\t\tawait session.appendRecord({\n\t\t\t\ttype: \"operation_finished\",\n\t\t\t\tid: \"compaction-finished\",\n\t\t\t\tlane: \"main\",\n\t\t\t\trunId: \"compaction\",\n\t\t\t\toutcome: \"completed\",\n\t\t\t});\n\t\t\tawait session.appendRecord(operationStarted(\"navigation\", { lane: \"main\", kind: \"navigation\" }));\n\t\t\tawait session.appendRecord({\n\t\t\t\ttype: \"operation_finished\",\n\t\t\t\tid: \"navigation-finished\",\n\t\t\t\tlane: \"main\",\n\t\t\t\trunId: \"navigation\",\n\t\t\t\toutcome: \"completed\",\n\t\t\t});\n\t\t\tawait session.appendRecord(operationStarted(\"run-new\", { lane: \"main\", kind: \"run\" }));\n\n\t\t\tdeepStrictEqual(\n\t\t\t\t(\n\t\t\t\t\tawait session.findRecords({\n\t\t\t\t\t\ttype: \"operation_started\",\n\t\t\t\t\t\toperationKind: \"run\",\n\t\t\t\t\t\torder: \"oldestFirst\",\n\t\t\t\t\t})\n\t\t\t\t).map((record) => record.id),\n\t\t\t\t[\"run-old\", \"run-new\"],\n\t\t\t);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(\n\t\t\t\t\tawait session.findRecords({\n\t\t\t\t\t\ttype: \"operation_started\",\n\t\t\t\t\t\toperationKind: \"compaction\",\n\t\t\t\t\t})\n\t\t\t\t).map((record) => record.id),\n\t\t\t\t[\"compaction\"],\n\t\t\t);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(\n\t\t\t\t\tawait session.findRecords({\n\t\t\t\t\t\ttype: \"operation_started\",\n\t\t\t\t\t\toperationKind: \"navigation\",\n\t\t\t\t\t})\n\t\t\t\t).map((record) => record.id),\n\t\t\t\t[\"navigation\"],\n\t\t\t);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(\n\t\t\t\t\tawait session.findRecords({\n\t\t\t\t\t\ttype: \"operation_started\",\n\t\t\t\t\t\toperationKind: \"run\",\n\t\t\t\t\t\tlimit: 1,\n\t\t\t\t\t})\n\t\t\t\t).map((record) => record.id),\n\t\t\t\t[\"run-new\"],\n\t\t\t);\n\t\t}),\n\n\t\tcreateCase(factory, \"records and log\", \"tracks and enforces one open operation per lane\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), []);\n\n\t\t\tconst first = await session.appendRecord(operationStarted(\"first\", { lane: \"main\", kind: \"run\" }));\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), [first]);\n\t\t\tawait rejectsWithCode(\n\t\t\t\tsession.appendRecord(operationStarted(\"second\", { lane: \"main\", kind: \"run\" })),\n\t\t\t\t\"storage\",\n\t\t\t);\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), [first]);\n\n\t\t\tawait session.appendRecord({\n\t\t\t\ttype: \"operation_finished\",\n\t\t\t\tid: \"finish-first\",\n\t\t\t\tlane: \"main\",\n\t\t\t\trunId: first.id,\n\t\t\t\toutcome: \"completed\",\n\t\t\t});\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), []);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"records and log\",\n\t\t\t\"does not let an earlier finish close a later start\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"operation_finished\",\n\t\t\t\t\tid: \"finish-before-start\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\trunId: \"run\",\n\t\t\t\t\toutcome: \"completed\",\n\t\t\t\t});\n\t\t\t\tconst started = await session.appendRecord(operationStarted(\"run\", { lane: \"main\", kind: \"run\" }));\n\t\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 2 }), [started]);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"records and log\", \"scopes open operations by lane and limit\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.createLane(\"thread\", null);\n\t\t\tconst mainRun = await session.appendRecord(operationStarted(\"main-run\", { lane: \"main\", kind: \"run\" }));\n\t\t\tconst threadNavigation = await session.appendRecord(\n\t\t\t\toperationStarted(\"thread-navigation\", { lane: \"thread\", kind: \"navigation\" }),\n\t\t\t);\n\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\"), [mainRun]);\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\", { limit: 1 }), [mainRun]);\n\t\t\tdeepStrictEqual(await session.findOpenOperations(\"thread\", { limit: 2 }), [threadNavigation]);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"validation and immutability\",\n\t\t\t\"returns immutable open-operation records\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst committed = await session.appendRecord(operationStarted(\"run\", { lane: \"main\", kind: \"run\" }));\n\t\t\t\tconst [read] = await session.findOpenOperations(\"main\");\n\t\t\t\tif (read?.intent.kind !== \"run\") throw new Error(\"Expected an open run operation\");\n\t\t\t\tread.intent.originalPrompt.push(createUserMessage(\"mutated\"));\n\n\t\t\t\tdeepStrictEqual(await session.findOpenOperations(\"main\"), [committed]);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"queries and facts\",\n\t\t\t\"keeps latest-value facts and computes ledger statistics across lanes\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst assistant = createAssistantMessage(\"answer\");\n\t\t\t\tif (assistant.role !== \"assistant\") throw new Error(\"Expected assistant message\");\n\t\t\t\tassistant.usage = {\n\t\t\t\t\tinput: 10,\n\t\t\t\t\toutput: 5,\n\t\t\t\t\tcacheRead: 3,\n\t\t\t\t\tcacheWrite: 2,\n\t\t\t\t\ttotalTokens: 20,\n\t\t\t\t\tcost: { input: 1, output: 2, cacheRead: 3, cacheWrite: 4, total: 10 },\n\t\t\t\t};\n\t\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t\t{ type: \"message\", id: \"user\", message: createUserMessage(\"question\") },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\t\t\t\tawait session.appendEntry<MessageEntry>({ type: \"message\", id: \"assistant\", message: assistant }, \"main\");\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"usage\",\n\t\t\t\t\tid: \"assistant-usage\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tcause: \"assistant\",\n\t\t\t\t\trunId: \"run\",\n\t\t\t\t\tentryId: \"assistant\",\n\t\t\t\t\tattempt: 1,\n\t\t\t\t\tstopReason: \"stop\",\n\t\t\t\t\tusage: assistant.usage,\n\t\t\t\t});\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"usage\",\n\t\t\t\t\tid: \"deferred-usage\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tcause: \"deferred_fetch\",\n\t\t\t\t\trunId: \"run\",\n\t\t\t\t\tentryId: \"deferred-result\",\n\t\t\t\t\tattempt: 1,\n\t\t\t\t\tstopReason: \"deferred\",\n\t\t\t\t\tusage: {\n\t\t\t\t\t\tinput: 0,\n\t\t\t\t\t\toutput: 0,\n\t\t\t\t\t\tcacheRead: 0,\n\t\t\t\t\t\tcacheWrite: 0,\n\t\t\t\t\t\ttotalTokens: 0,\n\t\t\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tawait session.createLane(\"thread\", \"assistant\");\n\t\t\t\tawait session.appendRecord({\n\t\t\t\t\ttype: \"usage\",\n\t\t\t\t\tid: \"correction\",\n\t\t\t\t\tlane: \"thread\",\n\t\t\t\t\tcause: \"adjustment\",\n\t\t\t\t\tdetails: { reason: \"provider correction\" },\n\t\t\t\t\tusage: {\n\t\t\t\t\t\tinput: -2,\n\t\t\t\t\t\toutput: 0,\n\t\t\t\t\t\tcacheRead: 0,\n\t\t\t\t\t\tcacheWrite: 0,\n\t\t\t\t\t\ttotalTokens: -2,\n\t\t\t\t\t\tcost: { input: -0.5, output: 0, cacheRead: 0, cacheWrite: 0, total: -0.5 },\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tawait session.setName(\"First\");\n\t\t\t\tawait session.setName(\"Second\");\n\t\t\t\tawait session.setLabel(\"user\", \"keep\");\n\t\t\t\tawait session.setLabel(\"user\", undefined);\n\t\t\t\tawait rejectsWithCode(session.setLabel(\"missing\", \"checkpoint\"), \"not_found\");\n\n\t\t\t\tstrictEqual(await session.getName(), \"Second\");\n\t\t\t\tstrictEqual(await session.getLabel(\"user\"), undefined);\n\t\t\t\tconst usageRecords = await session.findRecords({ type: \"usage\", order: \"oldestFirst\" });\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\tusageRecords.map((record) => record.cause),\n\t\t\t\t\t[\"assistant\", \"deferred_fetch\", \"adjustment\"],\n\t\t\t\t);\n\t\t\t\tconst deferredUsage = usageRecords.find((record) => record.cause === \"deferred_fetch\");\n\t\t\t\tif (deferredUsage?.cause !== \"deferred_fetch\") throw new Error(\"Expected deferred usage record\");\n\t\t\t\tstrictEqual(deferredUsage.stopReason, \"deferred\");\n\t\t\t\tdeepStrictEqual(await session.getStats(), {\n\t\t\t\t\tmessageCount: 2,\n\t\t\t\t\tcachedTokens: 3,\n\t\t\t\t\tuncachedTokens: 10,\n\t\t\t\t\ttotalTokens: 18,\n\t\t\t\t\tcostTotal: 9.5,\n\t\t\t\t});\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"queries and facts\", \"clears session names durably\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.setName(\"Temporary\");\n\t\t\tawait session.setName(undefined);\n\n\t\t\tstrictEqual(await session.getName(), undefined);\n\t\t\tdeepStrictEqual(await session.getLog(), [\n\t\t\t\t{ kind: \"fact\", seq: 1, fact: \"name\", name: \"Temporary\" },\n\t\t\t\t{ kind: \"fact\", seq: 2, fact: \"name\", name: undefined },\n\t\t\t]);\n\n\t\t\tconst metadata = await session.getMetadata();\n\t\t\tconst reopened = await repository.open(metadata);\n\t\t\tstrictEqual(await reopened.getName(), undefined);\n\t\t\tdeepStrictEqual(await reopened.getLog(), [\n\t\t\t\t{ kind: \"fact\", seq: 1, fact: \"name\", name: \"Temporary\" },\n\t\t\t\t{ kind: \"fact\", seq: 2, fact: \"name\", name: undefined },\n\t\t\t]);\n\n\t\t\tconst fork = await repository.fork(metadata, { id: \"fork\" });\n\t\t\tstrictEqual(await fork.getName(), undefined);\n\t\t}),\n\n\t\tcreateCase(factory, \"validation and immutability\", \"returns immutable copies from reads\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"immutable\" });\n\t\t\tconst metadata = await session.getMetadata();\n\t\t\tconst data = { nested: { value: 1 } };\n\t\t\tawait session.appendEntry<CustomEntry>({ type: \"custom\", id: \"custom\", customType: \"note\", data }, \"main\");\n\t\t\tdata.nested.value = 50;\n\t\t\tconst read = await session.getEntry(\"custom\");\n\t\t\tif (read?.type !== \"custom\") throw new Error(\"Expected custom entry\");\n\t\t\t(read.data as { nested: { value: number } }).nested.value = 99;\n\t\t\tconst readMetadata = await session.getMetadata();\n\t\t\treadMetadata.id = \"changed\";\n\t\t\tconst log = await session.getLog();\n\t\t\tif (log[0]?.kind !== \"entry\" || log[0].entry.type !== \"custom\") throw new Error(\"Expected entry log\");\n\t\t\t(log[0].entry.data as { nested: { value: number } }).nested.value = 100;\n\n\t\t\tdeepStrictEqual(await session.getMetadata(), metadata);\n\t\t\tdeepStrictEqual(await session.getEntry(\"custom\"), {\n\t\t\t\ttype: \"custom\",\n\t\t\t\tid: \"custom\",\n\t\t\t\tcustomType: \"note\",\n\t\t\t\tdata: { nested: { value: 1 } },\n\t\t\t\tparentId: null,\n\t\t\t\tseq: 1,\n\t\t\t\ttimestamp: read.timestamp,\n\t\t\t});\n\t\t}),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"validates lane lifecycle and targets\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait rejectsWithCode(session.createLane(\"main\", null), \"already_exists\");\n\t\t\tawait rejectsWithCode(session.createLane(\"thread\", \"missing\"), \"not_found\");\n\t\t\tawait rejectsWithCode(session.moveLane(\"missing\", null), \"invalid_lane\");\n\t\t}),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"binds lane views without caching leaves\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tconst root = await session.appendMessage(createUserMessage(\"root\"));\n\t\t\tawait session.createLane(\"thread\", root);\n\t\t\tconst thread = session.view(\"thread\");\n\t\t\tconst [mainChild, threadChild] = await Promise.all([\n\t\t\t\tsession.appendMessage(createUserMessage(\"main\")),\n\t\t\t\tthread.appendMessage(createUserMessage(\"thread\")),\n\t\t\t]);\n\n\t\t\tstrictEqual(await session.getLeafId(), mainChild);\n\t\t\tstrictEqual(await thread.getLeafId(), threadChild);\n\t\t\tdeepStrictEqual(await entryIds(session.findEntriesOnBranch({ order: \"oldestFirst\" })), [root, mainChild]);\n\t\t\tdeepStrictEqual(await entryIds(thread.findEntriesOnBranch({ order: \"oldestFirst\" })), [root, threadChild]);\n\t\t\tconst empty = await repository.create({ id: \"empty\" });\n\t\t\tdeepStrictEqual(await empty.findEntriesOnBranch(), []);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"entries and lanes\",\n\t\t\t\"appends provisioned entries with their existing ids\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst entry = await session.appendEntry<CustomEntry>(\n\t\t\t\t\t{ type: \"custom\", id: \"provisioned\", customType: \"note\", data: { value: 1 } },\n\t\t\t\t\t\"main\",\n\t\t\t\t);\n\n\t\t\t\tstrictEqual(entry.customType, \"note\");\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t{ id: entry.id, parentId: entry.parentId, seq: entry.seq },\n\t\t\t\t\t{ id: \"provisioned\", parentId: null, seq: 1 },\n\t\t\t\t);\n\t\t\t\tstrictEqual(await session.getLeafId(), \"provisioned\");\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"persists tool-result termination decisions\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tconst entry = await session.appendEntry<MessageEntry>(\n\t\t\t\t{\n\t\t\t\t\ttype: \"message\",\n\t\t\t\t\tid: \"tool-result\",\n\t\t\t\t\tmessage: {\n\t\t\t\t\t\trole: \"toolResult\",\n\t\t\t\t\t\ttoolCallId: \"call-1\",\n\t\t\t\t\t\ttoolName: \"example\",\n\t\t\t\t\t\tcontent: [{ type: \"text\", text: \"done\" }],\n\t\t\t\t\t\tisError: false,\n\t\t\t\t\t\ttimestamp: 1,\n\t\t\t\t\t},\n\t\t\t\t\tterminate: true,\n\t\t\t\t},\n\t\t\t\t\"main\",\n\t\t\t);\n\n\t\t\tstrictEqual(entry.terminate, true);\n\t\t\tconst stored = await session.getEntry(entry.id);\n\t\t\tif (stored?.type !== \"message\") throw new Error(\"Expected message entry\");\n\t\t\tstrictEqual(stored.terminate, true);\n\t\t\tdeepStrictEqual(await session.findEntries(), [entry]);\n\t\t\tdeepStrictEqual(await session.getLog(), [{ kind: \"entry\", seq: entry.seq, entry }]);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"validation and immutability\",\n\t\t\t\"rejects non-JSON entries before storage mutation\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tconst cyclic: { self?: unknown } = {};\n\t\t\t\tcyclic.self = cyclic;\n\n\t\t\t\tfor (const data of [\n\t\t\t\t\t{ value: undefined },\n\t\t\t\t\t[undefined],\n\t\t\t\t\t{ value: 1n },\n\t\t\t\t\t{ value: Number.NaN },\n\t\t\t\t\t{ value: new Map() },\n\t\t\t\t\tcyclic,\n\t\t\t\t]) {\n\t\t\t\t\tawait rejectsWithCode(session.appendCustomEntry(\"invalid\", data), \"invalid_payload\");\n\t\t\t\t}\n\n\t\t\t\tstrictEqual(await session.getLeafId(), null);\n\t\t\t\tdeepStrictEqual(await session.findEntries(), []);\n\t\t\t\tdeepStrictEqual(await session.getLog(), []);\n\t\t\t\tconst validId = await session.appendCustomEntry(\"valid\", { value: 1 });\n\t\t\t\tstrictEqual((await session.getEntry(validId))?.seq, 1);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"validation and immutability\",\n\t\t\t\"rejects non-JSON records before storage mutation\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\t\tfor (const [id, value] of [\n\t\t\t\t\t[\"undefined-record\", undefined],\n\t\t\t\t\t[\"bigint-record\", 1n],\n\t\t\t\t] as const) {\n\t\t\t\t\tawait rejectsWithCode(\n\t\t\t\t\t\tsession.appendRecord({\n\t\t\t\t\t\t\ttype: \"tool_started\",\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tlane: \"main\",\n\t\t\t\t\t\t\trunId: \"run\",\n\t\t\t\t\t\t\tassistantEntryId: \"assistant\",\n\t\t\t\t\t\t\ttoolIndex: 0,\n\t\t\t\t\t\t\ttoolCallId: \"call\",\n\t\t\t\t\t\t\ttoolName: \"example\",\n\t\t\t\t\t\t\teffectiveArgs: { value },\n\t\t\t\t\t\t\tresultEntryId: \"result\",\n\t\t\t\t\t\t\treplay: \"never\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\"invalid_payload\",\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tdeepStrictEqual(await session.findRecords(), []);\n\t\t\t\tdeepStrictEqual(await session.getLog(), []);\n\t\t\t\tstrictEqual(\n\t\t\t\t\t(await session.appendRecord(operationStarted(\"valid-record\", { lane: \"main\", kind: \"run\" }))).seq,\n\t\t\t\t\t1,\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"entries and lanes\", \"linearizes concurrent writes across two lanes\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"session\" });\n\t\t\tawait session.appendEntry<MessageEntry>(\n\t\t\t\t{ type: \"message\", id: \"root\", message: createUserMessage(\"root\") },\n\t\t\t\t\"main\",\n\t\t\t);\n\t\t\tawait session.createLane(\"thread\", \"root\");\n\t\t\tconst completionOrder: string[] = [];\n\t\t\tconst writes = [\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"main-1\", customType: \"note\" }, \"main\"),\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"thread-1\", customType: \"note\" }, \"thread\"),\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"main-2\", customType: \"note\" }, \"main\"),\n\t\t\t\tsession.appendEntry<CustomEntry>({ type: \"custom\", id: \"thread-2\", customType: \"note\" }, \"thread\"),\n\t\t\t].map((write) =>\n\t\t\t\twrite.then((entry) => {\n\t\t\t\t\tcompletionOrder.push(entry.id);\n\t\t\t\t\treturn entry;\n\t\t\t\t}),\n\t\t\t);\n\t\t\tconst entries = await Promise.all(writes);\n\t\t\tconst commitOrder = [...entries].sort((left, right) => left.seq - right.seq).map((entry) => entry.id);\n\n\t\t\tstrictEqual(new Set(entries.map((entry) => entry.seq)).size, entries.length);\n\t\t\tdeepStrictEqual(completionOrder, commitOrder);\n\t\t\tconst concurrentIds = new Set(entries.map((entry) => entry.id));\n\t\t\tdeepStrictEqual(\n\t\t\t\t(await session.getLog()).flatMap((item) =>\n\t\t\t\t\titem.kind === \"entry\" && concurrentIds.has(item.entry.id) ? [item.entry.id] : [],\n\t\t\t\t),\n\t\t\t\tcommitOrder,\n\t\t\t);\n\t\t\tconst sequences = (await session.getLog()).map((item) => item.seq);\n\t\t\tdeepStrictEqual(\n\t\t\t\tsequences,\n\t\t\t\t[...sequences].sort((left, right) => left - right),\n\t\t\t);\n\t\t}),\n\n\t\tcreateCase(factory, \"repository and forks\", \"creates lists and opens sessions\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"one\" });\n\t\t\tconst entryId = await session.appendMessage(createUserMessage(\"persisted\"));\n\t\t\tconst metadata = await session.getMetadata();\n\n\t\t\tconst listed = await repository.list();\n\t\t\tstrictEqual(listed.length, 1);\n\t\t\tstrictEqual(listed[0]?.id, metadata.id);\n\t\t\tstrictEqual(listed[0]?.createdAt, metadata.createdAt);\n\t\t\tstrictEqual(listed[0]?.parentSessionId, metadata.parentSessionId);\n\t\t\tdeepStrictEqual(await entryIds((await repository.open(metadata)).findEntries()), [entryId]);\n\t\t\tawait rejectsWithCode(repository.create({ id: \"one\" }), \"already_exists\");\n\t\t}),\n\n\t\tcreateCase(factory, \"repository and forks\", \"deletes sessions idempotently\", async (repository) => {\n\t\t\tconst session = await repository.create({ id: \"one\" });\n\t\t\tconst metadata = await session.getMetadata();\n\n\t\t\tawait repository.delete(metadata);\n\t\t\tawait rejectsWithCode(repository.open(metadata), \"not_found\");\n\t\t\tawait repository.delete(metadata);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"repository and forks\",\n\t\t\t\"forks one branch with selected facts and no records\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst source = await repository.create({ id: \"source\" });\n\t\t\t\tconst root = await source.appendMessage(createUserMessage(\"root\"));\n\t\t\t\tconst shared = await source.appendMessage(createAssistantMessage(\"shared\"));\n\t\t\t\tawait source.createLane(\"thread\", shared);\n\t\t\t\tconst threadChild = await source.view(\"thread\").appendMessage(createUserMessage(\"thread\"));\n\t\t\t\tconst mainChild = await source.appendMessage(createUserMessage(\"main\"));\n\t\t\t\tawait source.setName(\"Source\");\n\t\t\t\tawait source.setLabel(shared, \"copied\");\n\t\t\t\tawait source.setLabel(threadChild, \"excluded\");\n\t\t\t\tawait source.appendRecord(operationStarted(\"run\", { lane: \"main\", kind: \"run\" }));\n\t\t\t\tawait source.appendRecord({\n\t\t\t\t\ttype: \"usage\",\n\t\t\t\t\tid: \"source-usage\",\n\t\t\t\t\tlane: \"main\",\n\t\t\t\t\tcause: \"adjustment\",\n\t\t\t\t\tusage: {\n\t\t\t\t\t\tinput: 10,\n\t\t\t\t\t\toutput: 5,\n\t\t\t\t\t\tcacheRead: 3,\n\t\t\t\t\t\tcacheWrite: 2,\n\t\t\t\t\t\ttotalTokens: 20,\n\t\t\t\t\t\tcost: { input: 1, output: 2, cacheRead: 3, cacheWrite: 4, total: 10 },\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tconst fork = await repository.fork(await source.getMetadata(), {\n\t\t\t\t\tscope: \"branch\",\n\t\t\t\t\tentryId: mainChild,\n\t\t\t\t\tposition: \"at\",\n\t\t\t\t\tid: \"branch-fork\",\n\t\t\t\t});\n\n\t\t\t\tdeepStrictEqual(await entryIds(fork.findEntries({ order: \"oldestFirst\" })), [root, shared, mainChild]);\n\t\t\t\tdeepStrictEqual(await fork.getLanes(), [{ lane: \"main\", leafId: mainChild }]);\n\t\t\t\tstrictEqual(await fork.getName(), \"Source\");\n\t\t\t\tstrictEqual(await fork.getLabel(shared), \"copied\");\n\t\t\t\tstrictEqual(await fork.getLabel(threadChild), undefined);\n\t\t\t\tdeepStrictEqual(await fork.findRecords(), []);\n\t\t\t\tdeepStrictEqual(await fork.getStats(), {\n\t\t\t\t\tmessageCount: 3,\n\t\t\t\t\tcachedTokens: 0,\n\t\t\t\t\tuncachedTokens: 0,\n\t\t\t\t\ttotalTokens: 0,\n\t\t\t\t\tcostTotal: 0,\n\t\t\t\t});\n\t\t\t\tawait fork.appendMessage(createUserMessage(\"after fork\"));\n\t\t\t\tstrictEqual((await fork.getStats()).messageCount, 4);\n\t\t\t\tconst metadata = await fork.getMetadata();\n\t\t\t\tdeepStrictEqual(\n\t\t\t\t\t{ id: metadata.id, parentSessionId: metadata.parentSessionId },\n\t\t\t\t\t{ id: \"branch-fork\", parentSessionId: \"source\" },\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"repository and forks\", \"forks a complete tree with lanes and facts\", async (repository) => {\n\t\t\tconst source = await repository.create({ id: \"source\" });\n\t\t\tconst root = await source.appendMessage(createUserMessage(\"root\"));\n\t\t\tawait source.createLane(\"thread\", root);\n\t\t\tconst mainChild = await source.appendMessage(createUserMessage(\"main\"));\n\t\t\tconst threadChild = await source.view(\"thread\").appendMessage(createUserMessage(\"thread\"));\n\t\t\tawait source.setLabel(threadChild, \"thread-tip\");\n\n\t\t\tconst fork = await repository.fork(await source.getMetadata(), { scope: \"tree\", id: \"tree-fork\" });\n\t\t\tdeepStrictEqual(await entryIds(fork.findEntries({ order: \"oldestFirst\" })), [root, mainChild, threadChild]);\n\t\t\tdeepStrictEqual(await fork.getLanes(), [\n\t\t\t\t{ lane: \"main\", leafId: mainChild },\n\t\t\t\t{ lane: \"thread\", leafId: threadChild },\n\t\t\t]);\n\t\t\tstrictEqual(await fork.getLabel(threadChild), \"thread-tip\");\n\t\t\tstrictEqual((await fork.getStats()).messageCount, 3);\n\t\t\tdeepStrictEqual(\n\t\t\t\t(await fork.getLog()).filter((item) => item.kind === \"lane\"),\n\t\t\t\t[\n\t\t\t\t\t{ kind: \"lane\", seq: 4, lane: \"main\", leafId: mainChild },\n\t\t\t\t\t{ kind: \"lane\", seq: 5, lane: \"thread\", leafId: threadChild },\n\t\t\t\t],\n\t\t\t);\n\t\t}),\n\n\t\tcreateCase(\n\t\t\tfactory,\n\t\t\t\"repository and forks\",\n\t\t\t\"forks before an entry without modifying the source\",\n\t\t\tasync (repository) => {\n\t\t\t\tconst source = await repository.create({ id: \"source\" });\n\t\t\t\tconst root = await source.appendMessage(createUserMessage(\"root\"));\n\t\t\t\tconst tail = await source.appendMessage(createUserMessage(\"tail\"));\n\t\t\t\tconst fork = await repository.fork(await source.getMetadata(), { entryId: tail, id: \"fork\" });\n\n\t\t\t\tdeepStrictEqual(await entryIds(fork.findEntries({ order: \"oldestFirst\" })), [root]);\n\t\t\t\tstrictEqual(await fork.getLeafId(), root);\n\t\t\t\tstrictEqual(await source.getLeafId(), tail);\n\t\t\t\tconst beforeDefaultTarget = await repository.fork(await source.getMetadata(), {\n\t\t\t\t\tposition: \"before\",\n\t\t\t\t\tid: \"before-default-target\",\n\t\t\t\t});\n\t\t\t\tdeepStrictEqual(await entryIds(beforeDefaultTarget.findEntries({ order: \"oldestFirst\" })), [root]);\n\t\t\t\tstrictEqual(await beforeDefaultTarget.getLeafId(), root);\n\n\t\t\t\tconst atDefaultTarget = await repository.fork(await source.getMetadata(), {\n\t\t\t\t\tposition: \"at\",\n\t\t\t\t\tid: \"at-default-target\",\n\t\t\t\t});\n\t\t\t\tdeepStrictEqual(await entryIds(atDefaultTarget.findEntries({ order: \"oldestFirst\" })), [root, tail]);\n\t\t\t\tstrictEqual(await atDefaultTarget.getLeafId(), tail);\n\t\t\t\tawait rejectsWithCode(\n\t\t\t\t\trepository.fork(await source.getMetadata(), { entryId: \"missing\" }),\n\t\t\t\t\t\"invalid_fork_target\",\n\t\t\t\t);\n\t\t\t},\n\t\t),\n\n\t\tcreateCase(factory, \"repository and forks\", \"validates the default fork target\", async (repository) => {\n\t\t\tconst source = await repository.create({ id: \"source-with-custom-leaf\" });\n\t\t\tawait source.appendCustomEntry(\"not-a-message\");\n\n\t\t\tawait rejectsWithCode(repository.fork(await source.getMetadata(), { id: \"fork\" }), \"invalid_fork_target\");\n\t\t}),\n\t];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/harness/session/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/harness/session/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,12 +127,6 @@ export declare const HARNESS_TELEMETRY_SCHEMA: {
|
|
|
127
127
|
readonly kind: "root_or_external";
|
|
128
128
|
};
|
|
129
129
|
readonly startAttributes: {
|
|
130
|
-
readonly "pi.operation.kind": {
|
|
131
|
-
readonly type: "string";
|
|
132
|
-
readonly required: true;
|
|
133
|
-
readonly values: readonly ["run"];
|
|
134
|
-
readonly description: "Run operation kind";
|
|
135
|
-
};
|
|
136
130
|
readonly "pi.session.id": {
|
|
137
131
|
readonly type: "string";
|
|
138
132
|
readonly required: true;
|
|
@@ -156,6 +150,12 @@ export declare const HARNESS_TELEMETRY_SCHEMA: {
|
|
|
156
150
|
readonly required: true;
|
|
157
151
|
readonly description: "Whether this invocation resumes durable work";
|
|
158
152
|
};
|
|
153
|
+
readonly "pi.operation.kind": {
|
|
154
|
+
readonly type: "string";
|
|
155
|
+
readonly required: true;
|
|
156
|
+
readonly values: readonly ["run"];
|
|
157
|
+
readonly description: "Run operation kind";
|
|
158
|
+
};
|
|
159
159
|
};
|
|
160
160
|
readonly endAttributes: {
|
|
161
161
|
readonly "pi.error.code": {
|
|
@@ -185,12 +185,6 @@ export declare const HARNESS_TELEMETRY_SCHEMA: {
|
|
|
185
185
|
readonly kind: "root_or_external";
|
|
186
186
|
};
|
|
187
187
|
readonly startAttributes: {
|
|
188
|
-
readonly "pi.operation.kind": {
|
|
189
|
-
readonly type: "string";
|
|
190
|
-
readonly required: true;
|
|
191
|
-
readonly values: readonly ["compaction"];
|
|
192
|
-
readonly description: "Compaction operation kind";
|
|
193
|
-
};
|
|
194
188
|
readonly "pi.session.id": {
|
|
195
189
|
readonly type: "string";
|
|
196
190
|
readonly required: true;
|
|
@@ -214,6 +208,12 @@ export declare const HARNESS_TELEMETRY_SCHEMA: {
|
|
|
214
208
|
readonly required: true;
|
|
215
209
|
readonly description: "Whether this invocation resumes durable work";
|
|
216
210
|
};
|
|
211
|
+
readonly "pi.operation.kind": {
|
|
212
|
+
readonly type: "string";
|
|
213
|
+
readonly required: true;
|
|
214
|
+
readonly values: readonly ["compaction"];
|
|
215
|
+
readonly description: "Compaction operation kind";
|
|
216
|
+
};
|
|
217
217
|
};
|
|
218
218
|
readonly endAttributes: {
|
|
219
219
|
readonly "pi.error.code": {
|
|
@@ -243,12 +243,6 @@ export declare const HARNESS_TELEMETRY_SCHEMA: {
|
|
|
243
243
|
readonly kind: "root_or_external";
|
|
244
244
|
};
|
|
245
245
|
readonly startAttributes: {
|
|
246
|
-
readonly "pi.operation.kind": {
|
|
247
|
-
readonly type: "string";
|
|
248
|
-
readonly required: true;
|
|
249
|
-
readonly values: readonly ["navigation"];
|
|
250
|
-
readonly description: "Navigation operation kind";
|
|
251
|
-
};
|
|
252
246
|
readonly "pi.session.id": {
|
|
253
247
|
readonly type: "string";
|
|
254
248
|
readonly required: true;
|
|
@@ -272,6 +266,12 @@ export declare const HARNESS_TELEMETRY_SCHEMA: {
|
|
|
272
266
|
readonly required: true;
|
|
273
267
|
readonly description: "Whether this invocation resumes durable work";
|
|
274
268
|
};
|
|
269
|
+
readonly "pi.operation.kind": {
|
|
270
|
+
readonly type: "string";
|
|
271
|
+
readonly required: true;
|
|
272
|
+
readonly values: readonly ["navigation"];
|
|
273
|
+
readonly description: "Navigation operation kind";
|
|
274
|
+
};
|
|
275
275
|
};
|
|
276
276
|
readonly endAttributes: {
|
|
277
277
|
readonly "pi.error.code": {
|
|
@@ -727,12 +727,6 @@ export declare const AGENT_TELEMETRY_SCHEMAS: readonly [{
|
|
|
727
727
|
readonly kind: "root_or_external";
|
|
728
728
|
};
|
|
729
729
|
readonly startAttributes: {
|
|
730
|
-
readonly "pi.operation.kind": {
|
|
731
|
-
readonly type: "string";
|
|
732
|
-
readonly required: true;
|
|
733
|
-
readonly values: readonly ["run"];
|
|
734
|
-
readonly description: "Run operation kind";
|
|
735
|
-
};
|
|
736
730
|
readonly "pi.session.id": {
|
|
737
731
|
readonly type: "string";
|
|
738
732
|
readonly required: true;
|
|
@@ -756,6 +750,12 @@ export declare const AGENT_TELEMETRY_SCHEMAS: readonly [{
|
|
|
756
750
|
readonly required: true;
|
|
757
751
|
readonly description: "Whether this invocation resumes durable work";
|
|
758
752
|
};
|
|
753
|
+
readonly "pi.operation.kind": {
|
|
754
|
+
readonly type: "string";
|
|
755
|
+
readonly required: true;
|
|
756
|
+
readonly values: readonly ["run"];
|
|
757
|
+
readonly description: "Run operation kind";
|
|
758
|
+
};
|
|
759
759
|
};
|
|
760
760
|
readonly endAttributes: {
|
|
761
761
|
readonly "pi.error.code": {
|
|
@@ -785,12 +785,6 @@ export declare const AGENT_TELEMETRY_SCHEMAS: readonly [{
|
|
|
785
785
|
readonly kind: "root_or_external";
|
|
786
786
|
};
|
|
787
787
|
readonly startAttributes: {
|
|
788
|
-
readonly "pi.operation.kind": {
|
|
789
|
-
readonly type: "string";
|
|
790
|
-
readonly required: true;
|
|
791
|
-
readonly values: readonly ["compaction"];
|
|
792
|
-
readonly description: "Compaction operation kind";
|
|
793
|
-
};
|
|
794
788
|
readonly "pi.session.id": {
|
|
795
789
|
readonly type: "string";
|
|
796
790
|
readonly required: true;
|
|
@@ -814,6 +808,12 @@ export declare const AGENT_TELEMETRY_SCHEMAS: readonly [{
|
|
|
814
808
|
readonly required: true;
|
|
815
809
|
readonly description: "Whether this invocation resumes durable work";
|
|
816
810
|
};
|
|
811
|
+
readonly "pi.operation.kind": {
|
|
812
|
+
readonly type: "string";
|
|
813
|
+
readonly required: true;
|
|
814
|
+
readonly values: readonly ["compaction"];
|
|
815
|
+
readonly description: "Compaction operation kind";
|
|
816
|
+
};
|
|
817
817
|
};
|
|
818
818
|
readonly endAttributes: {
|
|
819
819
|
readonly "pi.error.code": {
|
|
@@ -843,12 +843,6 @@ export declare const AGENT_TELEMETRY_SCHEMAS: readonly [{
|
|
|
843
843
|
readonly kind: "root_or_external";
|
|
844
844
|
};
|
|
845
845
|
readonly startAttributes: {
|
|
846
|
-
readonly "pi.operation.kind": {
|
|
847
|
-
readonly type: "string";
|
|
848
|
-
readonly required: true;
|
|
849
|
-
readonly values: readonly ["navigation"];
|
|
850
|
-
readonly description: "Navigation operation kind";
|
|
851
|
-
};
|
|
852
846
|
readonly "pi.session.id": {
|
|
853
847
|
readonly type: "string";
|
|
854
848
|
readonly required: true;
|
|
@@ -872,6 +866,12 @@ export declare const AGENT_TELEMETRY_SCHEMAS: readonly [{
|
|
|
872
866
|
readonly required: true;
|
|
873
867
|
readonly description: "Whether this invocation resumes durable work";
|
|
874
868
|
};
|
|
869
|
+
readonly "pi.operation.kind": {
|
|
870
|
+
readonly type: "string";
|
|
871
|
+
readonly required: true;
|
|
872
|
+
readonly values: readonly ["navigation"];
|
|
873
|
+
readonly description: "Navigation operation kind";
|
|
874
|
+
};
|
|
875
875
|
};
|
|
876
876
|
readonly endAttributes: {
|
|
877
877
|
readonly "pi.error.code": {
|