feat(durable): compaction and overflow (Package 20)

Manual compact(), background and blocking threshold compaction, and overflow
compaction with one retry. Summaries are headed pi.compaction entries placed
through the inbox, or appended by a compaction the generation waits on; the
stale rule decides between concurrent summaries.
This commit is contained in:
Mario Zechner 2026-09-30 18:23:17 +02:00
parent b72cf98ec7
commit ed0d6b91b6
19 changed files with 3285 additions and 110 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: 56,
maxFiles: 58,
forbid: ["packages/ai/src/index.ts", "packages/ai/src/utils/typebox-helpers.ts"],
},
},