pi-mono/packages/durable/test/examples
Mario Zechner 03180653c6 feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19)
Tasks name their owner (conversation or task); a task waits on other tasks with a waiting state (failFast or allSettled) and runtime.outcomes(); a task that finishes while owned work is live holds completing until it drains; abort handlers run bottom-up; only live owners cascade. The generation owns its tool tasks and waits for them in a tools phase, replacing pi.post-tools and after. Adds Conversation.abort({ background: true }), example 24 (checkout with payments), and reworks example 23 into persistent subagents.
2026-09-30 13:50:29 +02:00
..
00-conversation.ts feat(durable): first runnable chat turn (Package 15) 2026-09-29 14:08:28 +02:00
01-documents.ts feat(durable): first runnable chat turn (Package 15) 2026-09-29 14:08:28 +02:00
02-forks.ts feat(durable): first runnable chat turn (Package 15) 2026-09-29 14:08:28 +02:00
03-owned-conversations.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
04-chord-state.ts feat(durable): first runnable chat turn (Package 15) 2026-09-29 14:08:28 +02:00
05-watches.ts feat(durable): first runnable chat turn (Package 15) 2026-09-29 14:08:28 +02:00
06-harness.ts feat(ai,durable): add lightweight pi-ai/models entry and avoid TypeBox in durable 2026-09-29 21:24:17 +02:00
07-configuration.ts feat(ai,durable): add lightweight pi-ai/models entry and avoid TypeBox in durable 2026-09-29 21:24:17 +02:00
08-harness-conversations.ts feat(ai,durable): add lightweight pi-ai/models entry and avoid TypeBox in durable 2026-09-29 21:24:17 +02:00
09-context.ts feat(ai,durable): add lightweight pi-ai/models entry and avoid TypeBox in durable 2026-09-29 21:24:17 +02:00
10-registry-reload.ts feat(durable): first runnable chat turn (Package 15) 2026-09-29 14:08:28 +02:00
11-conversation-setup.ts feat(ai,durable): add lightweight pi-ai/models entry and avoid TypeBox in durable 2026-09-29 21:24:17 +02:00
12-tasks.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
13-recovery.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
14-chat.ts feat(ai,durable): add lightweight pi-ai/models entry and avoid TypeBox in durable 2026-09-29 21:24:17 +02:00
15-system-prompt.ts feat(ai,durable): add lightweight pi-ai/models entry and avoid TypeBox in durable 2026-09-29 21:24:17 +02:00
16-real-model.ts feat(ai,durable): add lightweight pi-ai/models entry and avoid TypeBox in durable 2026-09-29 21:24:17 +02:00
17-coding-tools.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
18-print.ts feat(durable): inbox, reset, usage, conversation view, and experimental events (Package 17) 2026-09-29 21:24:32 +02:00
19-json.ts feat(durable): inbox, reset, usage, conversation view, and experimental events (Package 17) 2026-09-29 21:24:32 +02:00
20-inbox.ts feat(durable): inbox, reset, usage, conversation view, and experimental events (Package 17) 2026-09-29 21:24:32 +02:00
21-late-join.ts feat(durable): inbox, reset, usage, conversation view, and experimental events (Package 17) 2026-09-29 21:24:32 +02:00
22-subagent-foreground.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
23-subagent-background.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00
24-child-tasks.ts feat(durable): structured concurrency: task ownership, waiting, completing holds, bottom-up abort (Package 19) 2026-09-30 13:50:29 +02:00