feat(durable): lifecycle conformance and task graph view (Packages 22, 23)

Package 22: runtime.now() and report() throw after the invocation ended; a
migration-only commit is published; a failed Harness.open closes without the
caller's context and rethrows the open error; ConversationWatch alias. Tests
for close joining non-cooperative code, cancelled close, queued operations at
the seal, progress calls and viewers on a paused Harness, the Chord guide, and
the spec's usage examples.

Package 23: Harness.taskGraph() and watchTaskGraph() mount every live task with
its owner edge, committed status, flags, and owned conversations, advanced from
commit publications. Example 24 prints the checkout's tree.
This commit is contained in:
Mario Zechner 2026-10-01 09:52:56 +02:00
parent 5b5ccddfac
commit 49683a3647
20 changed files with 2285 additions and 15 deletions

View file

@ -44,7 +44,7 @@ const BUDGETS = {
"packages/durable": {
".": {
// The built-in tool task validates arguments with pi-ai's TypeBox-based validation, so TypeBox is allowed.
maxFiles: 59,
maxFiles: 60,
forbid: ["packages/ai/src/index.ts", "packages/ai/src/utils/typebox-helpers.ts"],
},
},