pi-mono/packages/durable/test
Mario Zechner da866ada17 feat(durable): keep each conversation's context in memory; Durable Object SQLite adapter
runtime.context() keeps each conversation's last read range and derived
view. A later read by any of the conversation's tasks with the same head
marker scans and derives only the entries committed since, so a
generation no longer rereads and re-derives the whole transcript for
each model request. Busy conversations keep the range; idle ones for
settings.contextRetentionMs (default ten minutes), checked on task
changes and by one unreferenced timer where the runtime supports it.
Kept entries are frozen; each read returns its own view arrays.

Add openDurableObjectSqliteStorage(ctx.storage) in
@earendil-works/pi-durable/storage/sqlite/cloudflare: SQLite storage on
a SQLite-backed Cloudflare Durable Object, without per-row copies.
2026-10-06 20:58:35 +02:00
..
examples feat(durable): lifecycle conformance and task graph view (Packages 22, 23) 2026-10-01 09:53:21 +02:00
fixtures feat(durable): first coding-agent tool turn (Package 16) 2026-09-29 21:24:32 +02:00
chat-support.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
chord-guide.test.ts feat(durable): lifecycle conformance and task graph view (Packages 22, 23) 2026-10-01 09:53:21 +02:00
env-line-scan.test.ts feat(durable): bounded read tool via BinaryReader.scanLines 2026-10-04 23:15:37 +02:00
env-node-conformance.test.ts feat(durable): FileSystem.watch 2026-10-04 23:15:37 +02:00
env-node-spill.test.ts feat(durable): first coding-agent tool turn (Package 16) 2026-09-29 21:24:32 +02:00
env-node.test.ts fix(durable): wait for killed Windows commands in env test cleanup; fix progress test status 2026-10-04 23:15:37 +02:00
env-truncate.test.ts feat(durable): first coding-agent tool turn (Package 16) 2026-09-29 21:24:32 +02:00
harness-compaction.test.ts fix(durable): lead the model context with the initial system message 2026-10-06 20:55:52 +02:00
harness-context.test.ts feat(durable): keep each conversation's context in memory; Durable Object SQLite adapter 2026-10-06 20:58:35 +02:00
harness-conversations.test.ts feat(durable): scan conversations, entries, tasks, and submissions in either order 2026-10-06 20:03:03 +02:00
harness-events.test.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
harness-generation-recovery.test.ts fix(durable): lead the model context with the initial system message 2026-10-06 20:55:52 +02:00
harness-generation.test.ts feat(durable): keep each conversation's context in memory; Durable Object SQLite adapter 2026-10-06 20:58:35 +02:00
harness-inbox.test.ts fix(durable): lead the model context with the initial system message 2026-10-06 20:55:52 +02:00
harness-inspect.test.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
harness-lifecycle.test.ts feat(durable): lifecycle conformance and task graph view (Packages 22, 23) 2026-10-01 09:53:21 +02:00
harness-live-deltas.test.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
harness-output-skip.test.ts feat(durable): windowed shell output with counted skips 2026-10-04 23:15:37 +02:00
harness-output.test.ts fix(durable): watcher coverage, growing reads, output BOM and progress defaults 2026-10-05 17:32:22 +02:00
harness-ownership.test.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
harness-prompt.test.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
harness-registry.test.ts fix(durable): watcher coverage, growing reads, output BOM and progress defaults 2026-10-05 17:32:22 +02:00
harness-structured.test.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
harness-submissions.test.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
harness-support.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
harness-task-graph.test.ts feat(durable): lifecycle conformance and task graph view (Packages 22, 23) 2026-10-01 09:53:21 +02:00
harness-tasks-recovery.test.ts feat: record response, tool execution, and durable task times 2026-10-06 19:28:54 +02:00
harness-tasks.test.ts feat(durable): scan conversations, entries, tasks, and submissions in either order 2026-10-06 20:03:03 +02:00
harness-tools-recovery.test.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
harness-tools.test.ts feat: record response, tool execution, and durable task times 2026-10-06 19:28:54 +02:00
harness-view.test.ts fix(durable): persist provider session identities 2026-10-04 00:59:08 +02:00
jsonl-storage.test.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
memory-storage.test.ts feat(durable): add typed IDs and explicit ownership 2026-09-25 17:58:29 +02:00
provider-session-cache-e2e.test.ts fix(durable): persist provider session identities 2026-10-04 00:59:08 +02:00
session-checkpoints-migrations.test.ts feat(durable): lifecycle conformance and task graph view (Packages 22, 23) 2026-10-01 09:53:21 +02:00
session-definitions.test.ts feat(durable): lifecycle conformance and task graph view (Packages 22, 23) 2026-10-01 09:53:21 +02:00
session-documents.test.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
session-forks.test.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
session-states.test.ts feat(durable): add document states and buffered watches 2026-09-28 16:36:31 +02:00
session-support.ts feat(durable): add durable task runtime 2026-09-28 23:55:24 +02:00
session-tables.test.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
session-watches.test.ts feat(durable): add document states and buffered watches 2026-09-28 16:36:31 +02:00
spec-usage.test.ts fix(durable): publish README and changelog, link the spec, add default export condition 2026-10-01 20:23:30 +02:00
sqlite-cloudflare.test.ts feat(durable): keep each conversation's context in memory; Durable Object SQLite adapter 2026-10-06 20:58:35 +02:00
sqlite-facade.test.ts fix(durable): harden async SQLite adapter queue and close 2026-09-30 22:32:34 +02:00
sqlite-migrations.test.ts feat(durable): execute SQLite queries by SQL text and cache statements per connection 2026-09-30 19:49:55 +01:00
sqlite-storage.test.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
storage-memory.ts feat(durable): export storage benchmark workloads 2026-09-24 14:26:22 +02:00
storage-runtime-boundary.test.ts feat(durable): first coding-agent tool turn (Package 16) 2026-09-29 21:24:32 +02:00
storage.bench.ts feat(durable): add typed IDs and explicit ownership 2026-09-25 17:58:29 +02:00
system-order-cache-e2e.test.ts fix(durable): lead the model context with the initial system message 2026-10-06 20:55:52 +02:00
task-support.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
tool-output-bench.ts feat(durable): extensions and per-conversation agents (Package 21) 2026-10-01 01:28:22 +02:00
tools-read-differential.test.ts feat(durable): bounded read tool via BinaryReader.scanLines 2026-10-04 23:15:37 +02:00
tools.test.ts feat(durable): powershell tool over argv exec 2026-10-05 18:37:25 +02:00
types.test.ts feat(durable): lifecycle conformance and task graph view (Packages 22, 23) 2026-10-01 09:53:21 +02:00