@earendil-works/pi-durable 0.99.0 → 0.99.2
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/README.md +435 -46
- package/dist/entries.d.ts +20 -2
- package/dist/entries.d.ts.map +1 -1
- package/dist/entries.js +14 -1
- package/dist/entries.js.map +1 -1
- package/dist/env/index.d.ts +13 -38
- package/dist/env/index.d.ts.map +1 -1
- package/dist/env/index.js +2 -0
- package/dist/env/index.js.map +1 -1
- package/dist/env/node.d.ts.map +1 -1
- package/dist/env/node.js +51 -58
- package/dist/env/node.js.map +1 -1
- package/dist/harness/compaction.d.ts +56 -0
- package/dist/harness/compaction.d.ts.map +1 -0
- package/dist/harness/compaction.js +385 -0
- package/dist/harness/compaction.js.map +1 -0
- package/dist/harness/config.d.ts +10 -1
- package/dist/harness/config.d.ts.map +1 -1
- package/dist/harness/config.js +6 -0
- package/dist/harness/config.js.map +1 -1
- package/dist/harness/context.d.ts +8 -0
- package/dist/harness/context.d.ts.map +1 -1
- package/dist/harness/context.js +32 -21
- package/dist/harness/context.js.map +1 -1
- package/dist/harness/events.d.ts +166 -0
- package/dist/harness/events.d.ts.map +1 -0
- package/dist/harness/events.js +319 -0
- package/dist/harness/events.js.map +1 -0
- package/dist/harness/generation.d.ts +37 -6
- package/dist/harness/generation.d.ts.map +1 -1
- package/dist/harness/generation.js +350 -72
- package/dist/harness/generation.js.map +1 -1
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/harness.js +124 -3
- package/dist/harness/harness.js.map +1 -1
- package/dist/harness/inbox.d.ts +57 -0
- package/dist/harness/inbox.d.ts.map +1 -0
- package/dist/harness/inbox.js +99 -0
- package/dist/harness/inbox.js.map +1 -0
- package/dist/harness/json.d.ts +10 -0
- package/dist/harness/json.d.ts.map +1 -0
- package/dist/harness/json.js +33 -0
- package/dist/harness/json.js.map +1 -0
- package/dist/harness/live.d.ts +66 -7
- package/dist/harness/live.d.ts.map +1 -1
- package/dist/harness/live.js +71 -7
- package/dist/harness/live.js.map +1 -1
- package/dist/harness/output.d.ts +62 -0
- package/dist/harness/output.d.ts.map +1 -0
- package/dist/harness/output.js +261 -0
- package/dist/harness/output.js.map +1 -0
- package/dist/harness/prompt.d.ts +10 -5
- package/dist/harness/prompt.d.ts.map +1 -1
- package/dist/harness/prompt.js +66 -13
- package/dist/harness/prompt.js.map +1 -1
- package/dist/harness/registry.d.ts.map +1 -1
- package/dist/harness/registry.js +11 -2
- package/dist/harness/registry.js.map +1 -1
- package/dist/harness/scheduler.d.ts +37 -12
- package/dist/harness/scheduler.d.ts.map +1 -1
- package/dist/harness/scheduler.js +632 -72
- package/dist/harness/scheduler.js.map +1 -1
- package/dist/harness/submissions.d.ts +12 -7
- package/dist/harness/submissions.d.ts.map +1 -1
- package/dist/harness/submissions.js +72 -33
- package/dist/harness/submissions.js.map +1 -1
- package/dist/harness/tool.d.ts +36 -0
- package/dist/harness/tool.d.ts.map +1 -0
- package/dist/harness/tool.js +412 -0
- package/dist/harness/tool.js.map +1 -0
- package/dist/harness/types.d.ts +185 -11
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/types.js.map +1 -1
- package/dist/harness/usage.d.ts +18 -0
- package/dist/harness/usage.d.ts.map +1 -0
- package/dist/harness/usage.js +57 -0
- package/dist/harness/usage.js.map +1 -0
- package/dist/harness/view.d.ts +43 -0
- package/dist/harness/view.d.ts.map +1 -0
- package/dist/harness/view.js +194 -0
- package/dist/harness/view.js.map +1 -0
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/session/observation.d.ts +18 -11
- package/dist/session/observation.d.ts.map +1 -1
- package/dist/session/observation.js +24 -13
- package/dist/session/observation.js.map +1 -1
- package/dist/session/session.d.ts +10 -1
- package/dist/session/session.d.ts.map +1 -1
- package/dist/session/session.js +18 -4
- package/dist/session/session.js.map +1 -1
- package/dist/session/transaction.d.ts +10 -1
- package/dist/session/transaction.d.ts.map +1 -1
- package/dist/session/transaction.js +83 -27
- package/dist/session/transaction.js.map +1 -1
- package/dist/storage/jsonl/storage.d.ts +22 -2
- package/dist/storage/jsonl/storage.d.ts.map +1 -1
- package/dist/storage/jsonl/storage.js +1 -1
- package/dist/storage/jsonl/storage.js.map +1 -1
- package/dist/storage/memory.js +1 -1
- package/dist/storage/memory.js.map +1 -1
- package/dist/storage/sqlite/migrations.js +1 -1
- package/dist/storage/sqlite/migrations.js.map +1 -1
- package/dist/testing/storage-benchmark.d.ts.map +1 -1
- package/dist/testing/storage-benchmark.js +0 -1
- package/dist/testing/storage-benchmark.js.map +1 -1
- package/dist/testing/storage-conformance.d.ts.map +1 -1
- package/dist/testing/storage-conformance.js +34 -2
- package/dist/testing/storage-conformance.js.map +1 -1
- package/dist/tools/bash.d.ts +28 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +69 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/edit-diff.d.ts +89 -0
- package/dist/tools/edit-diff.d.ts.map +1 -0
- package/dist/tools/edit-diff.js +386 -0
- package/dist/tools/edit-diff.js.map +1 -0
- package/dist/tools/edit.d.ts +18 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +116 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/env.d.ts +5 -0
- package/dist/tools/env.d.ts.map +1 -0
- package/dist/tools/env.js +7 -0
- package/dist/tools/env.js.map +1 -0
- package/dist/tools/file-mutation-queue.d.ts +5 -0
- package/dist/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/tools/file-mutation-queue.js +46 -0
- package/dist/tools/file-mutation-queue.js.map +1 -0
- package/dist/tools/image.d.ts +2 -0
- package/dist/tools/image.d.ts.map +1 -0
- package/dist/tools/image.js +92 -0
- package/dist/tools/image.js.map +1 -0
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +5 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/path-utils.d.ts +5 -0
- package/dist/tools/path-utils.d.ts.map +1 -0
- package/dist/tools/path-utils.js +26 -0
- package/dist/tools/path-utils.js.map +1 -0
- package/dist/tools/read.d.ts +17 -0
- package/dist/tools/read.d.ts.map +1 -0
- package/dist/tools/read.js +100 -0
- package/dist/tools/read.js.map +1 -0
- package/dist/tools/write.d.ts +10 -0
- package/dist/tools/write.d.ts.map +1 -0
- package/dist/tools/write.js +30 -0
- package/dist/tools/write.js.map +1 -0
- package/dist/{env/utils/truncate.d.ts → truncate.d.ts} +1 -17
- package/dist/truncate.d.ts.map +1 -0
- package/dist/truncate.js +146 -0
- package/dist/truncate.js.map +1 -0
- package/dist/types.d.ts +86 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/pico-v5-handoff.md +366 -86
- package/docs/pico-v5.md +1373 -283
- package/package.json +11 -3
- package/dist/env/utils/adaptive-publisher.d.ts +0 -24
- package/dist/env/utils/adaptive-publisher.d.ts.map +0 -1
- package/dist/env/utils/adaptive-publisher.js +0 -79
- package/dist/env/utils/adaptive-publisher.js.map +0 -1
- package/dist/env/utils/output-capture.d.ts +0 -31
- package/dist/env/utils/output-capture.d.ts.map +0 -1
- package/dist/env/utils/output-capture.js +0 -238
- package/dist/env/utils/output-capture.js.map +0 -1
- package/dist/env/utils/truncate.d.ts.map +0 -1
- package/dist/env/utils/truncate.js +0 -294
- package/dist/env/utils/truncate.js.map +0 -1
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzG,8DAA8D;AAC9D,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEtD,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AAErC,iEAAiE;AACjE,MAAM,MAAM,EAAE,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,GAAG,OAAO,IAAI,MAAM,GAAG;IAC9D,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;KACpB,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;AAClC,MAAM,MAAM,MAAM,CAAC,MAAM,GAAG,OAAO,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AAC5C,MAAM,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;AAExC,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AAEtC,8FAA8F;AAC9F,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE/D,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,EAAQ,cAAc,CAAC;AAExD,iEAAiE;AACjE,MAAM,MAAM,2BAA2B,GAAG;IACzC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,+BAA+B,GAAG;IAC7C,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,2GAA2G;AAC3G,MAAM,MAAM,iBAAiB,GAC1B;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9E,2BAA2B,GAC3B,+BAA+B,GAC/B;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE/E,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,UAAU,IAAI;IACvD,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,IAAI,CAAC,CAAC;IACb,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC;IACpD,uFAAuF;IACvF,cAAc,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;CACvF,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAE7F,2FAA2F;AAC3F,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GACnH,iBAAiB,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;CACpB,CAAC;AAEH,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAC;AAErC,wEAAwE;AACxE,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACvB;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7G,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,UAAU,IAAI,QAAQ,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AACxH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,UAAU,IAAI,QAAQ,CAChE,CAAC,EACD,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,2BAA2B,GAAG,+BAA+B,CAAC,CACxF,CAAC;AACF,MAAM,MAAM,8BAA8B,CAAC,CAAC,SAAS,UAAU,IAAI,QAAQ,CAC1E,CAAC,EACD,mBAAmB,CAAC,CAAC,CAAC,GAAG,+BAA+B,CACxD,CAAC;AACF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,UAAU,IAAI,QAAQ,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,IAAI,cAAc,CAC5F,CAAC,EACD,CAAC,EACD,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CACzD,CAAC;AACF,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,IAAI,cAAc,CACjG,CAAC,EACD,CAAC,EACD,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,2BAA2B,GAAG,+BAA+B,CAAC,CAC3F,CAAC;AACF,MAAM,MAAM,oCAAoC,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,IAAI,cAAc,CAC3G,CAAC,EACD,CAAC,EACD,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,+BAA+B,CAC3D,CAAC;AACF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,IAAI,cAAc,CACzF,CAAC,EACD,CAAC,EACD,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CACtD,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IACxD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CACzE,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;CAAE,CAAC,CAAC;AAEpH;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CACxD,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC1B,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAChC,OAAO,EAAE,OAAO,KACZ,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,mHAAmH;AACnH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM;IAC3C;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9G;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,CAAE,SAAQ,gBAAgB,EAAE,cAAc;IAC/F,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,MAAM,CACL,MAAM,EAAE,CACP,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACzB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,EAC/E,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,wCAAwC;IACxC,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAClF,iFAAiF;IACjF,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACpF,6BAA6B;IAC7B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACtG,kFAAkF;IAClF,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,4GAA4G;IAC5G,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpF;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAC5F,4DAA4D;IAC5D,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACvE,4EAA4E;IAC5E,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC/G,uGAAuG;IACvG,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9F,yBAAyB;IACzB,GAAG,IAAI,MAAM,CAAC;IACd,gEAAgE;IAChE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,6GAA6G;IAC7G,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,yFAAyF;AACzF,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI;IACjF,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IACrB,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE;YAAE,KAAK,EAAE,CAAC,CAAA;SAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAC9E,CAAC;IACF,yFAAyF;IACzF,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrG,mFAAmF;IACnF,OAAO,CAAC,CACP,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,SAAS,EACrB,WAAW,EAAE,MAAM,GACjB;QACF,KAAK,EAAE,CAAC,CAAC;QACT,UAAU,EAAE,CAAC,CAAC;KACd,CAAC;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;CACnB,CAAC;AAEF,wCAAwC;AACxC,MAAM,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM;IACxE,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAChD;AAED,oHAAoH;AACpH,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnH,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;AAEnD,2CAA2C;AAC3C,MAAM,MAAM,WAAW,GAAG;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,2GAA2G;IAC3G,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,qBAAqB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExH,sFAAsF;AACtF,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;QACxC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,gFAAgF;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE;QAChB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;QACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACxB,CAAC;CACF,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,WAAW,GAAG;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CACzB,GAAG,CACD;IACA,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACA,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;CACrC,CACH,CAAC;AAEF,6FAA6F;AAC7F,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,gBAAgB,GAAG,UAAU,GAAG,MAAM,CAAC,GAAG;IAC3F,qEAAqE;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACjC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GACtE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAE1E,gEAAgE;AAChE,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,GACnF,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAE1E,+CAA+C;AAC/C,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;CAC3D;AAED,gEAAgE;AAChE,KAAK,oBAAoB,GAAG;IAC3B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,mEAAmE;IACnE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GACzB,CAAC,oBAAoB,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACtB,GAAG,CACD;IACA,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACvB,GACD;IACA,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACvB,GACD;IACA,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACvB,GACD;IACA,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;CAC3B,CACH,CAAC,GACF,CAAC,oBAAoB,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACtB,GAAG,CACD;IACA,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACvB,GACD;IACA,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACvB,GACD;IACA,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;CAC3B,CACH,CAAC,CAAC;AAEN,uGAAuG;AACvG,MAAM,MAAM,oBAAoB,GAC7B;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAE3F,mEAAmE;AACnE,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,SAAS,MAAM,MAAM,GACjE,MAAM,SAAS,gBAAgB,GAC9B,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAClB,KAAK,GACN,KAAK,CAAC;AAET,8EAA8E;AAC9E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,WAAW,CAAC,CAAC,IACtB;IACA,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACvB;AACH,kFAAkF;GAChF;IACA,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACvB;AACH,kEAAkE;GAChE;IACA,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACtB;AACH,kFAAkF;GAChF;IACA,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACtB;AACH,2FAA2F;GACzF;IACA,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACvB,CAAC;AAEL,kDAAkD;AAClD,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,IACvB;IACA,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;CACxB,GACD;IACA,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;CACxB,GACD;IACA,uGAAuG;IACvG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;CACxB,GACD;IACA,sGAAsG;IACtG,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAChC,GACD;IACA,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC;AAEL,8EAA8E;AAC9E,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,oHAAoH;IACpH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GACrD,CACG;IACA,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;IACjG,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACpD,GACD;IACA,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAAA;KAAE,CAAC,CAAC;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACtB,CACH,CAAC;AAEH,gFAAgF;AAChF,MAAM,MAAM,cAAc,GAAG;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC;IACxB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;CACzB,GAAG,CACD;IACA,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACrB,GACD,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;KAAE,CAAA;CAAE,GAAG,CAChG;IACA,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;CACpC,GACD;IACA,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CAC7C,CACF,CAAC,GACF;IACA,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACrB,CACH,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,cAAc,SAAS,MAAM,MAAM,GAC7D,MAAM,SAAS,cAAc,GAC5B,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC,GACvC,KAAK,GACN,KAAK,CAAC;AAET,mEAAmE;AACnE,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;CAClB,CAAC;AAEF,2FAA2F;AAC3F,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAEzD,yDAAyD;AACzD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,cAAc,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,UAAU,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CAC7C,CAAC;AAEF,sGAAsG;AACtG,MAAM,MAAM,aAAa,GAAG,GAAG,GAAG,SAAS,CAAC;AAE5C,wEAAwE;AACxE,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,uEAAuE;IACvE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,eAAe,GACxB;IACA,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC1B,GACD;IACA,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC;CAC3B,CAAC;AAEL,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,YAAY,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,GACjE;IACA,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACxG;IACA,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACjC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjE,oDAAoD;AACpD,MAAM,MAAM,oBAAoB,GAC7B;IACA,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,+HAA+H;IAC/H,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IACpD,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAClC,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC;CAC3B,GACD;IACA,kGAAkG;IAClG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEL,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACtC,YAAY,EACZ;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,CAAA;CAAE,CACnE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAEpE,8FAA8F;AAC9F,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,EAAE;IAClB,YAAY,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAC1E,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACrD,8DAA8D;IAC9D,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7F,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;IACnF,iBAAiB,CAChB,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACnG,sEAAsE;IACtE,gBAAgB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,WAAW,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC,CAAC;IAClH,SAAS,CACR,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtE,gEAAgE;IAChE,kBAAkB,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxG,8FAA8F;IAC9F,gBAAgB,CACf,oBAAoB,EAAE,cAAc,EACpC,EAAE,EAAE,OAAO,EACX,OAAO,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAA;KAAE,GACpD,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,mGAAmG;IACnG,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrF,kDAAkD;IAClD,WAAW,CAAC,CAAC,SAAS,SAAS,EAC9B,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAChC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,EAC7D,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3E;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAExD,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EAC5C,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,GACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EAC5C,KAAK,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,GACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EAC5C,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,GACL,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/G,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrH,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EAClD,KAAK,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EAClD,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAAC;CACjB;AAED,qFAAqF;AACrF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAE9F,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,GACjB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,SAAS,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhE,8FAA8F;AAC9F,MAAM,WAAW,WAAW,CAAC,CAAC;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,uEAAuE;IACvE,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzF,kFAAkF;IAClF,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,UAAU,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAElF,gCAAgC;AAChC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC;AAExE,2FAA2F;AAC3F,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACnH,QAAQ,CAAC,CAAC,SAAS,UAAU,EAC5B,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAC5B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACzC;AAED,0EAA0E;AAC1E,MAAM,WAAW,OAAQ,SAAQ,gBAAgB;IAChD,+DAA+D;IAC/D,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,mEAAmE;IACnE,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,uHAAuH;IACvH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACnG,4GAA4G;IAC5G,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAEjD,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC9G,QAAQ,CAAC,CAAC,SAAS,UAAU,EAC5B,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAC5B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACjD,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAEpC,aAAa,CAAC,CAAC,SAAS,UAAU,EACjC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EACjC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EACjC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACtD,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACtD,KAAK,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACtD,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAEzC,YAAY,CAAC,CAAC,SAAS,UAAU,EAChC,KAAK,EAAE,8BAA8B,CAAC,CAAC,CAAC,EACxC,cAAc,EAAE,cAAc,EAC9B,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,EACrD,KAAK,EAAE,oCAAoC,CAAC,CAAC,EAAE,CAAC,CAAC,EACjD,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACvB;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAExE,qFAAqF;IACrF,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,4CAA4C;IAC5C,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAE5F,gDAAgD;IAChD,iBAAiB,CAChB,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7C,iFAAiF;IACjF,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IACpH,+FAA+F;IAC/F,KAAK,CACJ,cAAc,EAAE,cAAc,EAC9B,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,OAAO,GACd,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAEjF;;;OAGG;IACH,oBAAoB,CACnB,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,OAAO,GAAG,SAAS,EACtC,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,CAAC,WAAW,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC,CAAC;IAEnE,wFAAwF;IACxF,WAAW,CACV,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtC,uDAAuD;IACvD,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;IAErG,wDAAwD;IACxD,SAAS,CACR,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtE,sEAAsE;IACtE,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEtF,6EAA6E;IAC7E,eAAe,CACd,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3C,2EAA2E;IAC3E,mBAAmB,CAClB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEzC,yFAAyF;IACzF,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAEjH,uHAAuH;IACvH,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAEnG,wEAAwE;IACxE,aAAa,CACZ,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEzC,mEAAmE;IACnE,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA6BA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAmB,CAAC","sourcesContent":["import type { AttachedReplicatedState, Context, Draft, JsonValue } from \"@earendil-works/chord\";\nimport type { Op } from \"@earendil-works/chord/delta\";\nimport type { Message, Models } from \"@earendil-works/pi-ai\";\nimport type { ContextView, RegistrySnapshot } from \"./harness/types.ts\";\n\n/** JSON object used as the root of every durable document. */\nexport type JsonObject = { [key: string]: JsonValue };\n\ndeclare const idBrand: unique symbol;\n\n/** Erased nominal number identifying one durable record kind. */\nexport type Id<Kind extends string, Type = unknown> = number & {\n\treadonly [idBrand]: {\n\t\treadonly kind: Kind;\n\t\treadonly type: Type;\n\t};\n};\n\nexport type ConversationId = Id<\"conversation\">;\nexport type EntryId = Id<\"entry\">;\nexport type TaskId<Result = unknown> = Id<\"task\", Result>;\nexport type SubmissionId = Id<\"submission\">;\nexport type DocumentId = Id<\"document\">;\n\ndeclare const seqBrand: unique symbol;\n\n/** Strictly increasing sequence assigned to one atomic storage commit; gaps are permitted. */\nexport type Seq = number & { readonly [seqBrand]: \"sequence\" };\n\n/** The root conversation always uses this reserved ID. */\nexport const ROOT_CONVERSATION_ID = 1 as ConversationId;\n\n/** Conversation document that retains only its current state. */\nexport type LatestConversationSemantics = {\n\treadonly scope: \"conversation\";\n\treadonly history: \"latest\";\n\treadonly fork: \"current\" | \"initial\";\n};\n\n/** Conversation document whose history remains addressable for as-of reads. */\nexport type RewindableConversationSemantics = {\n\treadonly scope: \"conversation\";\n\treadonly history: \"rewindable\";\n\treadonly fork: \"asOf\" | \"current\" | \"initial\";\n};\n\n/** Ownership and lifetime of a document; only conversation documents declare history and fork behavior. */\nexport type DocumentSemantics =\n\t| { readonly scope: \"session\"; readonly history?: never; readonly fork?: never }\n\t| LatestConversationSemantics\n\t| RewindableConversationSemantics\n\t| { readonly scope: \"task\"; readonly history?: never; readonly fork?: never };\n\n/** Stored replay state supplied to a document's checkpoint predicate. */\nexport type CheckpointInfo = {\n\t/** Deltas already stored after the newest base, excluding the change being evaluated. */\n\treadonly deltasSinceBase: number;\n};\n\n/** Definition fields shared by singleton documents and document families. */\nexport type CommonDocDefinition<T extends JsonObject> = {\n\t/** Stable persisted kind; part of the public protocol. */\n\treadonly kind: string;\n\t/** Positive integer version of the stored value shape. */\n\treadonly version: number;\n\tinitial(): T;\n\tmigrate?(value: JsonObject, fromVersion: number): T;\n\t/** Return true to store this ordinary change as a complete base instead of a delta. */\n\tcheckpointWhen?(value: Readonly<T>, ops: readonly Op[], info: CheckpointInfo): boolean;\n};\n\n/** Singleton document definition. */\nexport type DocDefinition<T extends JsonObject> = CommonDocDefinition<T> & DocumentSemantics;\n\n/** Keyed document family definition; `initial(seed)` runs only when a member is absent. */\nexport type DocFamilyDefinition<T extends JsonObject, I extends JsonValue> = Omit<CommonDocDefinition<T>, \"initial\"> &\n\tDocumentSemantics & {\n\t\treadonly family: true;\n\t\tinitial(seed: I): T;\n\t};\n\ndeclare const docType: unique symbol;\n\n/** Typed singleton document token passed explicitly to typed access. */\nexport interface DocToken<T extends JsonObject, D extends DocDefinition<T>> {\n\treadonly definition: D;\n\treadonly [docType]?: T;\n}\n\n/** Typed document family token passed explicitly to typed access. */\nexport interface DocFamilyToken<T extends JsonObject, I extends JsonValue, D extends DocFamilyDefinition<T, I>> {\n\treadonly definition: D;\n\treadonly [docType]?: T;\n}\n\nexport type SessionDocToken<T extends JsonObject> = DocToken<T, CommonDocDefinition<T> & { readonly scope: \"session\" }>;\nexport type ConversationDocToken<T extends JsonObject> = DocToken<\n\tT,\n\tCommonDocDefinition<T> & (LatestConversationSemantics | RewindableConversationSemantics)\n>;\nexport type RewindableConversationDocToken<T extends JsonObject> = DocToken<\n\tT,\n\tCommonDocDefinition<T> & RewindableConversationSemantics\n>;\nexport type TaskDocToken<T extends JsonObject> = DocToken<T, CommonDocDefinition<T> & { readonly scope: \"task\" }>;\n\nexport type SessionDocFamilyToken<T extends JsonObject, I extends JsonValue> = DocFamilyToken<\n\tT,\n\tI,\n\tDocFamilyDefinition<T, I> & { readonly scope: \"session\" }\n>;\nexport type ConversationDocFamilyToken<T extends JsonObject, I extends JsonValue> = DocFamilyToken<\n\tT,\n\tI,\n\tDocFamilyDefinition<T, I> & (LatestConversationSemantics | RewindableConversationSemantics)\n>;\nexport type RewindableConversationDocFamilyToken<T extends JsonObject, I extends JsonValue> = DocFamilyToken<\n\tT,\n\tI,\n\tDocFamilyDefinition<T, I> & RewindableConversationSemantics\n>;\nexport type TaskDocFamilyToken<T extends JsonObject, I extends JsonValue> = DocFamilyToken<\n\tT,\n\tI,\n\tDocFamilyDefinition<T, I> & { readonly scope: \"task\" }\n>;\n\n/** Live task record reserved by one invocation. */\nexport type RunningTask<I, S, R> = TaskRecord<I, S, R> & {\n\treadonly state: Extract<TaskState<S, R>, { readonly status: \"running\" }>;\n};\n\n/** Next state a task commits for itself: a replacement checkpoint or its terminal outcome. */\nexport type NextTaskState<S, R> = Extract<TaskState<S, R>, { readonly status: \"running\" | \"terminal\" }>;\n\n/**\n * Runs one checkpoint phase. It must commit a changed checkpoint or a terminal outcome through `runtime.commit()`;\n * returning without durable progress faults the task.\n */\nexport type PhaseHandler<I, P, S, R, H extends object> = (\n\ttask: RunningTask<I, P, R>,\n\truntime: TaskRuntime<I, S, R, H>,\n\tcontext: Context,\n) => Promise<void>;\n\n/**\n * Operations of one task invocation. Every operation rejects after the invocation ends; watches acquired through it\n * stop at invocation end. `_H` is the task's hook map, consumed once the runtime gains its hook runner.\n */\nexport interface TaskRuntime<I, S, R, _H extends object> extends DocumentObserver, DocumentReader {\n\treadonly taskId: TaskId<R>;\n\treadonly conversationId: ConversationId;\n\t/** Aborted when the run is signalled by `abortTask()` or the Harness closes. */\n\treadonly signal: AbortSignal;\n\t/** Registry snapshot of the current phase; refreshed at every phase boundary. */\n\treadonly registry: RegistrySnapshot;\n\treadonly models: Models;\n\n\t/**\n\t * Commit on the Session line after rereading the task. Rejects when the task is terminal, the invocation ended, the\n\t * Harness is closing, or, in a run invocation, the task carries an abort mark. A returned state replaces the task's\n\t * state in the same commit; returning nothing leaves it unchanged. `tx.createTask()` defaults to the task's\n\t * conversation.\n\t */\n\tcommit(\n\t\tchange: (\n\t\t\ttx: Tx,\n\t\t\tcurrent: RunningTask<I, S, R>,\n\t\t) => NextTaskState<S, R> | undefined | Promise<NextTaskState<S, R> | undefined>,\n\t\tcontext: Context,\n\t): Promise<void>;\n\t/** Read a durable memo of this task. */\n\tmemo<T extends JsonValue>(name: string, context: Context): Promise<T | undefined>;\n\t/** Store `candidate` unless a memo already exists; return the durable winner. */\n\tmemo<T extends JsonValue>(name: string, candidate: T, context: Context): Promise<T>;\n\t/** Committed raw active transcript and model context, optionally cut off at the visible entry `at`. */\n\tcontext(conversationId: ConversationId, context: Context, at?: EntryId): Promise<ContextView>;\n\t/** The Harness clock. */\n\tnow(): number;\n\t/** Forward a non-fatal failure to `HarnessOptions.onReport`. */\n\treport(error: unknown): void;\n\t/** Resolve once the Harness clock reaches `until`; rejects when the invocation or `context` is cancelled. */\n\tsleep(until: number, context: Context): Promise<void>;\n}\n\n/** Executable durable state machine definition, registered in the registry by `name`. */\nexport type TaskDefinition<I, S extends { phase: string }, R, H extends object> = {\n\t/** Registered task kind persisted in `TaskRecord.kind`. */\n\treadonly name: string;\n\t/** Definition version persisted with live input and checkpoints. */\n\treadonly version: number;\n\t/** First durable checkpoint for a newly created task. */\n\tinitial(input: I): S;\n\t/** Exhaustive phase map; each handler receives the task narrowed to its phase. */\n\treadonly phases: {\n\t\treadonly [P in S[\"phase\"]]: PhaseHandler<I, Extract<S, { phase: P }>, S, R, H>;\n\t};\n\t/** Runs in a fresh invocation after an abort mark and must commit a terminal outcome. */\n\tabort(task: RunningTask<I, S, R>, runtime: TaskRuntime<I, S, R, H>, context: Context): Promise<void>;\n\t/** Convert a record stored by any older supported version; runs at reservation. */\n\tmigrate?(\n\t\tinput: JsonValue,\n\t\tcheckpoint: JsonValue,\n\t\tfromVersion: number,\n\t): {\n\t\tinput: I;\n\t\tcheckpoint: S;\n\t};\n\treadonly hooks?: H;\n};\n\n/** Typed executable task definition. */\nexport interface Task<I, S extends { phase: string }, R, H extends object> {\n\treadonly definition: TaskDefinition<I, S, R, H>;\n}\n\n/** Creation options for a durable task. */\nexport type TaskOptions = {\n\t/** Owning conversation; required for Session commits that are not bound to a conversation. */\n\treadonly conversationId?: ConversationId;\n\t/** Tasks that must be terminal before ordinary execution may begin. */\n\treadonly after?: readonly TaskId[];\n\t/** Excluded from ordinary idle waits and conversation aborts. */\n\treadonly background?: boolean;\n};\n\n/** Ownership selected explicitly whenever a conversation is created. */\nexport type ConversationOwnership = { readonly kind: \"ownerless\" } | { readonly kind: \"task\"; readonly taskId: TaskId };\n\n/** Immutable identity, history ancestry, and task ownership of a transcript scope. */\nexport type ConversationRecord = {\n\treadonly id: ConversationId;\n\t/** Fork source and inclusive parent entry through which history is inherited. */\n\treadonly parent?: {\n\t\treadonly conversationId: ConversationId;\n\t\treadonly at: EntryId;\n\t};\n\t/** Creator edge used for attribution, subtree abort, and subtree idle waits. */\n\treadonly owner?: {\n\t\treadonly conversationId: ConversationId;\n\t\treadonly taskId: TaskId;\n\t};\n};\n\n/** An immutable override of one visible entry's contribution to model context. */\nexport type ContextEdit = {\n\t/** Entry whose model messages are omitted or replaced. */\n\treadonly target: EntryId;\n} & (\n\t| {\n\t\t\treadonly action: \"omit\";\n\t\t\treadonly messages?: never;\n\t }\n\t| {\n\t\t\treadonly action: \"replace\";\n\t\t\t/** Messages contributed instead of the target entry's model messages. */\n\t\t\treadonly messages: readonly Message[];\n\t }\n);\n\n/** Immutable transcript event with separate model-facing and application-facing payloads. */\nexport type EntryRecord = {\n\treadonly id: EntryId;\n\treadonly conversationId: ConversationId;\n\t/** Application-defined entry discriminator. */\n\treadonly kind: string;\n\t/** Messages contributed to model context; absent for display or bookkeeping entries. */\n\treadonly model?: readonly Message[];\n\t/** JSON payload consumed by views, extensions, or bookkeeping logic. */\n\treadonly data?: JsonValue;\n\t/** First entry in the active context selected by this entry. */\n\treadonly head?: EntryId;\n\t/** Context-only overrides of earlier visible entries. */\n\treadonly edits?: readonly ContextEdit[];\n\t/** Task that appended this entry, when it was produced by durable work. */\n\treadonly byTaskId?: TaskId;\n};\n\n/** Entry content supplied before the Session assigns identity and task attribution. */\nexport type EntryDraft = Omit<EntryRecord, \"id\" | \"conversationId\" | \"byTaskId\" | \"head\"> & {\n\t/** `\"self\"` starts active context at the newly assigned entry ID. */\n\treadonly head?: EntryId | \"self\";\n};\n\n/** Entry whose `data` has type `D`; `never` means the kind carries no data. */\nexport type TypedEntry<D extends JsonValue> = Omit<EntryRecord, \"data\"> &\n\t([D] extends [never] ? { readonly data?: never } : { readonly data: D });\n\n/** Entry content of a typed kind; the token supplies `kind`. */\nexport type TypedEntryDraft<D extends JsonValue> = Omit<EntryDraft, \"kind\" | \"data\"> &\n\t([D] extends [never] ? { readonly data?: never } : { readonly data: D });\n\n/** Typed entry kind with a narrowing guard. */\nexport interface Entry<D extends JsonValue = never> {\n\treadonly kind: string;\n\tis(entry: EntryRecord | undefined): entry is TypedEntry<D>;\n}\n\n/** Identity fields shared by every durable submission state. */\ntype SubmissionRecordBase = {\n\treadonly id: SubmissionId;\n\treadonly conversationId: ConversationId;\n\t/** Host-provided deduplication key, scoped to the conversation. */\n\treadonly requestId?: string;\n};\n\n/** Durable lifecycle of one admitted user input or passive entry write. */\nexport type SubmissionRecord =\n\t| (SubmissionRecordBase & {\n\t\t\treadonly type: \"input\";\n\t } & (\n\t\t\t\t| {\n\t\t\t\t\t\t/** Admitted but not yet represented in the transcript. */\n\t\t\t\t\t\treadonly status: \"queued\";\n\t\t\t\t\t\treadonly entry?: never;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Added to the transcript and owned by an active run. */\n\t\t\t\t\t\treadonly status: \"placed\";\n\t\t\t\t\t\treadonly entry: EntryId;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Successfully answered user input. */\n\t\t\t\t\t\treadonly status: \"done\";\n\t\t\t\t\t\treadonly entry: EntryId;\n\t\t\t\t\t\treadonly answer: EntryId;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Terminal input that can no longer receive an answer. */\n\t\t\t\t\t\treadonly status: \"unanswered\";\n\t\t\t\t\t\treadonly entry?: EntryId;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason: string;\n\t\t\t\t\t\treadonly detail?: JsonValue;\n\t\t\t\t }\n\t\t\t))\n\t| (SubmissionRecordBase & {\n\t\t\treadonly type: \"write\";\n\t } & (\n\t\t\t\t| {\n\t\t\t\t\t\t/** Admitted but not yet appended to the transcript. */\n\t\t\t\t\t\treadonly status: \"queued\";\n\t\t\t\t\t\treadonly entry?: never;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Successfully appended passive entry. */\n\t\t\t\t\t\treadonly status: \"done\";\n\t\t\t\t\t\treadonly entry: EntryId;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Terminal passive write that could not be placed. */\n\t\t\t\t\t\treadonly status: \"unanswered\";\n\t\t\t\t\t\treadonly entry?: never;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason: string;\n\t\t\t\t\t\treadonly detail?: JsonValue;\n\t\t\t\t }\n\t\t\t));\n\n/** Terminal status staged for a submission; identity, type, and entry come from its current record. */\nexport type SubmissionSettlement =\n\t| { readonly status: \"done\"; readonly answer: EntryId }\n\t| { readonly status: \"unanswered\"; readonly reason: string; readonly detail?: JsonValue };\n\n/** Submission fields supplied before the Session assigns an ID. */\nexport type SubmissionCreate = SubmissionRecord extends infer Record\n\t? Record extends SubmissionRecord\n\t\t? Omit<Record, \"id\">\n\t\t: never\n\t: never;\n\n/** JSON-safe error snapshot persisted instead of a runtime `Error` object. */\nexport type TaskOutcomeError = {\n\treadonly message: string;\n\t/** Optional structured diagnostic data for inspection or recovery. */\n\treadonly detail?: JsonValue;\n};\n\n/** Durable reason and optional result recorded when a task becomes terminal. */\nexport type TaskOutcome<R> =\n\t| {\n\t\t\treadonly status: \"completed\";\n\t\t\treadonly result: R;\n\t\t\treadonly error?: never;\n\t\t\treadonly reason?: never;\n\t }\n\t/** Expected task or domain failure explicitly committed by its implementation. */\n\t| {\n\t\t\treadonly status: \"failed\";\n\t\t\treadonly error: TaskOutcomeError;\n\t\t\treadonly result?: R;\n\t\t\treadonly reason?: never;\n\t }\n\t/** Explicit cancellation handled by the task's abort protocol. */\n\t| {\n\t\t\treadonly status: \"aborted\";\n\t\t\treadonly reason?: string;\n\t\t\treadonly result?: R;\n\t\t\treadonly error?: never;\n\t }\n\t/** Task that cannot resume because its definition or migration is unavailable. */\n\t| {\n\t\t\treadonly status: \"orphaned\";\n\t\t\treadonly reason: string;\n\t\t\treadonly result?: never;\n\t\t\treadonly error?: never;\n\t }\n\t/** Runtime-detected contract failure, such as an uncaught throw or no durable progress. */\n\t| {\n\t\t\treadonly status: \"faulted\";\n\t\t\treadonly error: TaskOutcomeError;\n\t\t\treadonly result?: never;\n\t\t\treadonly reason?: never;\n\t };\n\n/** Complete durable execution state of a task. */\nexport type TaskState<S, R> =\n\t| {\n\t\t\t/** Eligible for scheduling when its dependencies are terminal. */\n\t\t\treadonly status: \"pending\";\n\t\t\t/** Complete durable state from which execution resumes. */\n\t\t\treadonly checkpoint: S;\n\t\t\treadonly outcome?: never;\n\t }\n\t| {\n\t\t\t/** Reserved by one in-memory task invocation. */\n\t\t\treadonly status: \"running\";\n\t\t\t/** Complete durable state from which execution resumes. */\n\t\t\treadonly checkpoint: S;\n\t\t\treadonly outcome?: never;\n\t }\n\t| {\n\t\t\t/** Permanently settled durable result receipt. */\n\t\t\treadonly status: \"terminal\";\n\t\t\treadonly checkpoint?: never;\n\t\t\treadonly outcome: TaskOutcome<R>;\n\t };\n\n/** Identity, definition, and scheduling fields shared by every task state. */\ntype TaskRecordBase<I, R> = {\n\treadonly id: TaskId<R>;\n\treadonly conversationId: ConversationId;\n\t/** Registered task definition name. */\n\treadonly kind: string;\n\t/** Definition version used to migrate live input and checkpoints. */\n\treadonly version: number;\n\t/** Original task input retained while the task is live or terminal. */\n\treadonly input: I;\n\t/** Tasks that must be terminal before ordinary execution may begin. */\n\treadonly after: readonly TaskId[];\n\t/** Whether this task is excluded from ordinary idle waits and conversation aborts. */\n\treadonly background: boolean;\n\t/** Durable abort mark checked before run-mode progress is committed. */\n\treadonly abortRequested: boolean;\n};\n\n/** Complete replacement record for one durable task state machine. */\nexport type TaskRecord<I, S, R> = TaskRecordBase<I, R> &\n\t(\n\t\t| {\n\t\t\t\treadonly state: Extract<TaskState<S, R>, { readonly status: \"pending\" | \"running\" }>;\n\t\t\t\t/** Small first-writer-wins values retained while the task is live. */\n\t\t\t\treadonly memos?: Readonly<Record<string, JsonValue>>;\n\t\t }\n\t\t| {\n\t\t\t\treadonly state: Extract<TaskState<S, R>, { readonly status: \"terminal\" }>;\n\t\t\t\treadonly memos?: never;\n\t\t }\n\t);\n\n/** Persisted lifecycle record for one create-to-retire document incarnation. */\nexport type DocumentRecord = {\n\t/** Unique incarnation ID; never reused when the same logical document is recreated. */\n\treadonly id: DocumentId;\n\t/** Stable document definition kind. */\n\treadonly kind: string;\n\t/** Family member key; absent for singleton documents. */\n\treadonly key?: string;\n\t/** Commit that created the incarnation, stamped by storage. */\n\treadonly createdAt: Seq;\n\t/** Commit that retired the incarnation; absent while it is current. */\n\treadonly retiredAt?: Seq;\n} & (\n\t| {\n\t\t\treadonly scope: { readonly kind: \"session\" };\n\t\t\treadonly history?: never;\n\t\t\treadonly fork?: never;\n\t }\n\t| ({ readonly scope: { readonly kind: \"conversation\"; readonly conversationId: ConversationId } } & (\n\t\t\t| {\n\t\t\t\t\t/** Retain only current state. */\n\t\t\t\t\treadonly history: \"latest\";\n\t\t\t\t\t/** Initialize a fork from current source state or the definition's initial value. */\n\t\t\t\t\treadonly fork: \"current\" | \"initial\";\n\t\t\t }\n\t\t\t| {\n\t\t\t\t\t/** Retain history needed for as-of reads. */\n\t\t\t\t\treadonly history: \"rewindable\";\n\t\t\t\t\t/** Initialize a fork at its cutoff, from current state, or from the initial value. */\n\t\t\t\t\treadonly fork: \"asOf\" | \"current\" | \"initial\";\n\t\t\t }\n\t ))\n\t| {\n\t\t\treadonly scope: { readonly kind: \"task\"; readonly taskId: TaskId };\n\t\t\treadonly history?: never;\n\t\t\treadonly fork?: never;\n\t }\n);\n\n/** Fields supplied when storage creates and stamps a new `DocumentRecord`. */\nexport type DocumentCreate = DocumentRecord extends infer Record\n\t? Record extends DocumentRecord\n\t\t? Omit<Record, \"createdAt\" | \"retiredAt\">\n\t\t: never\n\t: never;\n\n/** One ordered scan result and its optional continuation state. */\nexport type Page<T, C> = {\n\treadonly items: readonly T[];\n\treadonly next?: C;\n};\n\n/** Backend-owned JSON continuation state that callers only round-trip to the same scan. */\nexport type Cursor = Readonly<Record<string, JsonValue>>;\n\n/** Optional filters for an ordered conversation scan. */\nexport type ConversationQuery = {\n\treadonly ownerConversationId?: ConversationId;\n\treadonly ownerTaskId?: TaskId;\n};\n\n/** Inclusive ID bounds for a newest-first scan of one conversation's fork-aware history. */\nexport type EntryQuery = {\n\treadonly conversationId: ConversationId;\n\t/** Oldest entry ID that may be returned. */\n\treadonly minEntryId?: EntryId;\n\t/** Newest entry ID that may be returned. */\n\treadonly maxEntryId?: EntryId;\n};\n\n/** Optional filters for an ordered scan of durable task records. */\nexport type TaskQuery = {\n\treadonly conversationId?: ConversationId;\n\treadonly kind?: string;\n\treadonly status?: \"pending\" | \"running\" | \"terminal\";\n\treadonly abortRequested?: boolean;\n\treadonly background?: boolean;\n};\n\n/** Optional filters for an ordered scan of submission records. */\nexport type SubmissionQuery = {\n\treadonly conversationId?: ConversationId;\n\treadonly status?: SubmissionRecord[\"status\"];\n};\n\n/** Current state or one historical commit sequence used for document membership and content reads. */\nexport type DocumentPoint = Seq | \"current\";\n\n/** Exact logical identity of a singleton or one keyed family member. */\nexport type DocumentAddress = {\n\treadonly kind: string;\n\treadonly scope: DocumentRecord[\"scope\"];\n\t/** Absent selects the singleton; present selects one family member. */\n\treadonly key?: string;\n};\n\n/** Ordered scan of document incarnations alive in one exact scope at one point. */\nexport type DocumentQuery = {\n\treadonly scope: DocumentRecord[\"scope\"];\n\treadonly at: DocumentPoint;\n\treadonly kind?: string;\n};\n\n/** Complete checkpoint or Chord operation batch selected by the owning Session. */\nexport type DocumentContent =\n\t| {\n\t\t\treadonly version: number;\n\t\t\treadonly kind: \"base\";\n\t\t\treadonly value: JsonObject;\n\t }\n\t| {\n\t\t\treadonly version: number;\n\t\t\treadonly kind: \"delta\";\n\t\t\treadonly ops: readonly Op[];\n\t };\n\n/** Exact persisted source selected for a definition-free document copy. */\nexport type DocumentCopySource = {\n\treadonly id: DocumentId;\n\treadonly at: DocumentPoint;\n};\n\n/** Detached materialized value and stored definition version at a selected point. */\nexport type StoredDocument = {\n\treadonly record: DocumentRecord;\n\treadonly version: number;\n\treadonly value: JsonObject;\n\t/** Deltas replayed after the selected base to materialize `value`. */\n\treadonly deltasSinceBase: number;\n};\n\n/** One record or document mutation in an atomic storage commit. */\nexport type StorageWrite =\n\t| { readonly type: \"conversation\"; readonly value: ConversationRecord }\n\t| { readonly type: \"entry\"; readonly value: EntryRecord }\n\t| { readonly type: \"task\"; readonly value: TaskRecord<JsonValue, JsonValue, JsonValue> }\n\t| { readonly type: \"submission\"; readonly value: SubmissionRecord }\n\t| {\n\t\t\treadonly type: \"document.create\";\n\t\t\treadonly record: DocumentCreate;\n\t\t\treadonly content: Extract<DocumentContent, { readonly kind: \"base\" }>;\n\t }\n\t| { readonly type: \"document.copy\"; readonly record: DocumentCreate; readonly source: DocumentCopySource }\n\t| {\n\t\t\treadonly type: \"document.change\";\n\t\t\treadonly id: DocumentId;\n\t\t\treadonly content: DocumentContent;\n\t }\n\t| { readonly type: \"document.retire\"; readonly id: DocumentId };\n\n/** Committed change of one document incarnation. */\nexport type DocumentCommitChange =\n\t| {\n\t\t\treadonly type: \"document\";\n\t\t\treadonly record: DocumentRecord;\n\t\t\t/** Conversation owning the document; task documents derive it from their task record. Undefined only for Session documents. */\n\t\t\treadonly conversationId: ConversationId | undefined;\n\t\t\t/** Definition version of `value`; absent when this commit retired the incarnation. */\n\t\t\treadonly version: number | undefined;\n\t\t\t/** Exact adopted immutable revision, or `null` when this commit retired the incarnation. */\n\t\t\treadonly value: JsonObject | null;\n\t\t\t/** Exact adopted operations for an ordinary update; empty for creation and retirement. */\n\t\t\treadonly ops: readonly Op[];\n\t }\n\t| {\n\t\t\t/** Definition-free child initialization; consumers hydrate through state or watch acquisition. */\n\t\t\treadonly type: \"document.copy\";\n\t\t\treadonly record: DocumentRecord;\n\t\t\treadonly conversationId: ConversationId;\n\t\t\treadonly source: DocumentCopySource;\n\t };\n\n/** Complete table record committed without another publication copy. */\nexport type TableCommitChange = Extract<\n\tStorageWrite,\n\t{ readonly type: \"conversation\" | \"entry\" | \"task\" | \"submission\" }\n>;\n\nexport type CommitChange = TableCommitChange | DocumentCommitChange;\n\n/** Every immutable change from one successful Session commit. Change order is unspecified. */\nexport type CommitPublication = {\n\treadonly seq: Seq;\n\treadonly changes: readonly CommitChange[];\n};\n\n/**\n * Transaction surface of one Session commit callback.\n * Table reads and creation results are trusted immutable values and may be shared with internal commit state.\n */\nexport interface Tx {\n\tconversation(id: ConversationId): Promise<ConversationRecord | undefined>;\n\tentry(id: EntryId): Promise<EntryRecord | undefined>;\n\t/** Undefined when the entry is absent or has another kind. */\n\tentry<D extends JsonValue>(token: Entry<D>, id: EntryId): Promise<TypedEntry<D> | undefined>;\n\ttask(id: TaskId): Promise<TaskRecord<JsonValue, JsonValue, JsonValue> | undefined>;\n\tscanConversations(\n\t\tquery: ConversationQuery,\n\t\tlimit: number,\n\t\tcursor?: Cursor,\n\t): Promise<Page<ConversationRecord, Cursor>>;\n\tscanEntries(query: EntryQuery, limit: number, cursor?: Cursor): Promise<Page<EntryRecord, Cursor>>;\n\tscanTasks(\n\t\tquery: TaskQuery,\n\t\tlimit: number,\n\t\tcursor?: Cursor,\n\t): Promise<Page<TaskRecord<JsonValue, JsonValue, JsonValue>, Cursor>>;\n\n\t/** Create a conversation with explicitly selected ownership. */\n\tcreateConversation(options: { readonly ownership: ConversationOwnership }): Promise<ConversationRecord>;\n\t/** Create a history fork at one concrete visible entry with explicitly selected ownership. */\n\tforkConversation(\n\t\tparentConversationId: ConversationId,\n\t\tat: EntryId,\n\t\toptions: { readonly ownership: ConversationOwnership },\n\t): Promise<ConversationRecord>;\n\t/** Returned records are Session-owned immutable values and may be shared with commit listeners. */\n\tappendEntry(conversationId: ConversationId, value: EntryDraft): Promise<EntryRecord>;\n\t/** The token supplies `kind` and types `data`. */\n\tappendEntry<D extends JsonValue>(\n\t\ttoken: Entry<D>,\n\t\tconversationId: ConversationId,\n\t\tvalue: TypedEntryDraft<NoInfer<D>>,\n\t): Promise<TypedEntry<D>>;\n\tcreateTask<I, S extends { phase: string }, R, H extends object>(\n\t\ttask: Task<I, S, R, H>,\n\t\tinput: I,\n\t\toptions?: TaskOptions,\n\t): Promise<TaskId<R>>;\n\t/**\n\t * Settle a queued or placed submission; only a placed input can be answered, and a settled submission stays\n\t * unchanged. Resolved against this transaction's latest record of the submission, so it works after table writes.\n\t * Run tasks settle the inputs they answer.\n\t */\n\tsettleSubmission(id: SubmissionId, settlement: SubmissionSettlement): void;\n\n\tdoc<T extends JsonObject>(token: SessionDocToken<T>): Promise<Draft<T>>;\n\tdoc<T extends JsonObject>(token: ConversationDocToken<T>, conversationId: ConversationId): Promise<Draft<T>>;\n\tdoc<T extends JsonObject>(token: TaskDocToken<T>, taskId: TaskId): Promise<Draft<T>>;\n\tdoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: SessionDocFamilyToken<T, I>,\n\t\tkey: string,\n\t\tseed: I,\n\t): Promise<Draft<T>>;\n\tdoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tseed: I,\n\t): Promise<Draft<T>>;\n\tdoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t\tseed: I,\n\t): Promise<Draft<T>>;\n\n\tretireDoc<T extends JsonObject>(token: SessionDocToken<T>): Promise<void>;\n\tretireDoc<T extends JsonObject>(token: ConversationDocToken<T>, conversationId: ConversationId): Promise<void>;\n\tretireDoc<T extends JsonObject>(token: TaskDocToken<T>, taskId: TaskId): Promise<void>;\n\tretireDoc<T extends JsonObject, I extends JsonValue>(token: SessionDocFamilyToken<T, I>, key: string): Promise<void>;\n\tretireDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t): Promise<void>;\n\tretireDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t): Promise<void>;\n}\n\n/** Disposable, read-only Chord state bound to one committed document incarnation. */\nexport type DocumentState<T extends JsonObject> = AttachedReplicatedState<Readonly<T> | null>;\n\n/** Terminal result of one document watch. */\nexport type WatchEnd =\n\t| { readonly reason: \"stopped\" | \"cancelled\" | \"session_closed\" | \"retired\" }\n\t| { readonly reason: \"listener_error\"; readonly error: Error };\n\n/** Serialized exact-frame observation of an immutable value with bounded pending delivery. */\nexport interface WatchHandle<T> {\n\t/** Acquisition revision before start; latest delivered immutable revision afterward. */\n\treadonly value: T;\n\t/** Install the sole asynchronous listener. Never invokes it inline. */\n\tstart(listener: (value: T, ops: readonly Op[], context: Context) => Promise<void>): void;\n\t/** Idempotently stop future callbacks and return this watch's terminal result. */\n\tstop(): Promise<WatchEnd>;\n\t/** Settle when the watch terminates; an already-running callback remains caller-owned. */\n\treadonly closed: Promise<WatchEnd>;\n}\n\nexport type DocumentWatch<T extends JsonObject> = WatchHandle<Readonly<T> | null>;\n\n/** Committed document reads. */\nexport type DocumentReader = Pick<Session, \"snapshot\" | \"snapshotAsOf\">;\n\n/** Non-creating document watch acquisition shared by Session and later invocation APIs. */\nexport interface DocumentObserver {\n\twatchDoc<T extends JsonObject>(token: SessionDocToken<T>, context: Context): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject>(\n\t\ttoken: ConversationDocToken<T>,\n\t\tconversationId: ConversationId,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject>(\n\t\ttoken: TaskDocToken<T>,\n\t\ttaskId: TaskId,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: SessionDocFamilyToken<T, I>,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n}\n\n/** Owner of one mutation line, its records, and its tracked documents. */\nexport interface Session extends DocumentObserver {\n\t/** Run one atomic transaction on the Session mutation line. */\n\tcommit<T>(change: (tx: Tx) => T | Promise<T>, context: Context): Promise<T>;\n\t/** Seal admission, settle admitted commits, then close storage. */\n\tclose(context: Context): Promise<void>;\n\t/** Observe complete commits synchronously after adoption. The listener must not throw, block, or call Session APIs. */\n\tsubscribeCommits(listener: (publication: CommitPublication, context: Context) => void): () => void;\n\t/** Observe close synchronously when it begins. The listener must not throw, block, or call Session APIs. */\n\tsubscribeClose(listener: () => void): () => void;\n\n\tsnapshot<T extends JsonObject>(token: SessionDocToken<T>, context: Context): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject>(\n\t\ttoken: ConversationDocToken<T>,\n\t\tconversationId: ConversationId,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject>(\n\t\ttoken: TaskDocToken<T>,\n\t\ttaskId: TaskId,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: SessionDocFamilyToken<T, I>,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\n\tdocumentState<T extends JsonObject>(\n\t\ttoken: SessionDocToken<T>,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject>(\n\t\ttoken: ConversationDocToken<T>,\n\t\tconversationId: ConversationId,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject>(\n\t\ttoken: TaskDocToken<T>,\n\t\ttaskId: TaskId,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: SessionDocFamilyToken<T, I>,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\n\tsnapshotAsOf<T extends JsonObject>(\n\t\ttoken: RewindableConversationDocToken<T>,\n\t\tconversationId: ConversationId,\n\t\tat: EntryId,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshotAsOf<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: RewindableConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tat: EntryId,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n}\n\n/**\n * Atomic persistence boundary for Session records.\n *\n * Storage trusts the owning Session to supply semantically valid records, references,\n * ancestry, and transitions. Implementations enforce atomicity, global ID ownership,\n * immutable conversation/entry creation, document record consistency, and detached values;\n * Session serializes commits.\n */\nexport interface Storage {\n\t/**\n\t * Atomically persist one batch and return its sequence. Once resolved, later reads through this storage observe it.\n\t */\n\tcommit(writes: readonly StorageWrite[], context: Context): Promise<Seq>;\n\n\t/** Return a fresh branded candidate from the Session-global numeric ID namespace. */\n\tmintId<I extends Id<string>>(): Promise<I>;\n\n\t/** Look up one conversation by exact ID. */\n\tconversation(id: ConversationId, context: Context): Promise<ConversationRecord | undefined>;\n\n\t/** Scan conversations in ascending ID order. */\n\tscanConversations(\n\t\tquery: ConversationQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<ConversationRecord, Cursor>>;\n\n\t/** Look up one global entry and the sequence of the commit that persisted it. */\n\tentry(id: EntryId, context: Context): Promise<{ readonly entry: EntryRecord; readonly commitSeq: Seq } | undefined>;\n\t/** Look up one entry only when it is visible through the requested conversation's ancestry. */\n\tentry(\n\t\tconversationId: ConversationId,\n\t\tid: EntryId,\n\t\tcontext: Context,\n\t): Promise<{ readonly entry: EntryRecord; readonly commitSeq: Seq } | undefined>;\n\n\t/**\n\t * Return the newest visible entry with a `head` at or below the optional inclusive cutoff.\n\t * The returned entry is the marker; its `head` value is the range's actual lower bound.\n\t */\n\tfindLatestHeadMarker(\n\t\tconversationId: ConversationId,\n\t\tatOrBeforeEntryId: EntryId | undefined,\n\t\tcontext: Context,\n\t): Promise<(EntryRecord & { readonly head: EntryId }) | undefined>;\n\n\t/** Scan the inclusive visible range newest-first, returning at most `limit` entries. */\n\tscanEntries(\n\t\tquery: EntryQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<EntryRecord, Cursor>>;\n\n\t/** Look up the latest complete record for one task. */\n\ttask(id: TaskId, context: Context): Promise<TaskRecord<JsonValue, JsonValue, JsonValue> | undefined>;\n\n\t/** Scan task records matching every supplied filter. */\n\tscanTasks(\n\t\tquery: TaskQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<TaskRecord<JsonValue, JsonValue, JsonValue>, Cursor>>;\n\n\t/** Look up the latest complete record for one admitted submission. */\n\tsubmission(id: SubmissionId, context: Context): Promise<SubmissionRecord | undefined>;\n\n\t/** Scan submissions matching every supplied filter in ascending ID order. */\n\tscanSubmissions(\n\t\tquery: SubmissionQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<SubmissionRecord, Cursor>>;\n\n\t/** Find a submission by its conversation-scoped host deduplication key. */\n\tsubmissionByRequest(\n\t\tconversationId: ConversationId,\n\t\trequestId: string,\n\t\tcontext: Context,\n\t): Promise<SubmissionRecord | undefined>;\n\n\t/** Resolve the incarnation occupying one exact logical address at the selected point. */\n\tfindDocument(address: DocumentAddress, at: DocumentPoint, context: Context): Promise<DocumentRecord | undefined>;\n\n\t/** Materialize one specific incarnation by ID at the selected point without following a replacement at its address. */\n\tdocument(id: DocumentId, at: DocumentPoint, context: Context): Promise<StoredDocument | undefined>;\n\n\t/** Scan incarnations alive in one exact scope at the selected point. */\n\tscanDocuments(\n\t\tquery: DocumentQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<DocumentRecord, Cursor>>;\n\n\t/** Release backend resources; all later operations must reject. */\n\tclose(context: Context): Promise<void>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA8BA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAmB,CAAC","sourcesContent":["import type { AttachedReplicatedState, Context, Draft, JsonValue } from \"@earendil-works/chord\";\nimport type { Op } from \"@earendil-works/chord/delta\";\nimport type { Message, Models } from \"@earendil-works/pi-ai\";\nimport type { ExecutionEnv } from \"./env/index.ts\";\nimport type { ContextView, ConversationHandle, RegistrySnapshot, SettledTask } from \"./harness/types.ts\";\n\n/** JSON object used as the root of every durable document. */\nexport type JsonObject = { [key: string]: JsonValue };\n\ndeclare const idBrand: unique symbol;\n\n/** Erased nominal number identifying one durable record kind. */\nexport type Id<Kind extends string, Type = unknown> = number & {\n\treadonly [idBrand]: {\n\t\treadonly kind: Kind;\n\t\treadonly type: Type;\n\t};\n};\n\nexport type ConversationId = Id<\"conversation\">;\nexport type EntryId = Id<\"entry\">;\nexport type TaskId<Result = unknown> = Id<\"task\", Result>;\nexport type SubmissionId = Id<\"submission\">;\nexport type DocumentId = Id<\"document\">;\n\ndeclare const seqBrand: unique symbol;\n\n/** Strictly increasing sequence assigned to one atomic storage commit; gaps are permitted. */\nexport type Seq = number & { readonly [seqBrand]: \"sequence\" };\n\n/** The root conversation always uses this reserved ID. */\nexport const ROOT_CONVERSATION_ID = 1 as ConversationId;\n\n/** Conversation document that retains only its current state. */\nexport type LatestConversationSemantics = {\n\treadonly scope: \"conversation\";\n\treadonly history: \"latest\";\n\treadonly fork: \"current\" | \"initial\";\n};\n\n/** Conversation document whose history remains addressable for as-of reads. */\nexport type RewindableConversationSemantics = {\n\treadonly scope: \"conversation\";\n\treadonly history: \"rewindable\";\n\treadonly fork: \"asOf\" | \"current\" | \"initial\";\n};\n\n/** Ownership and lifetime of a document; only conversation documents declare history and fork behavior. */\nexport type DocumentSemantics =\n\t| { readonly scope: \"session\"; readonly history?: never; readonly fork?: never }\n\t| LatestConversationSemantics\n\t| RewindableConversationSemantics\n\t| { readonly scope: \"task\"; readonly history?: never; readonly fork?: never };\n\n/** Stored replay state supplied to a document's checkpoint predicate. */\nexport type CheckpointInfo = {\n\t/** Deltas already stored after the newest base, excluding the change being evaluated. */\n\treadonly deltasSinceBase: number;\n};\n\n/** Definition fields shared by singleton documents and document families. */\nexport type CommonDocDefinition<T extends JsonObject> = {\n\t/** Stable persisted kind; part of the public protocol. */\n\treadonly kind: string;\n\t/** Positive integer version of the stored value shape. */\n\treadonly version: number;\n\tinitial(): T;\n\tmigrate?(value: JsonObject, fromVersion: number): T;\n\t/** Return true to store this ordinary change as a complete base instead of a delta. */\n\tcheckpointWhen?(value: Readonly<T>, ops: readonly Op[], info: CheckpointInfo): boolean;\n};\n\n/** Singleton document definition. */\nexport type DocDefinition<T extends JsonObject> = CommonDocDefinition<T> & DocumentSemantics;\n\n/** Keyed document family definition; `initial(seed)` runs only when a member is absent. */\nexport type DocFamilyDefinition<T extends JsonObject, I extends JsonValue> = Omit<CommonDocDefinition<T>, \"initial\"> &\n\tDocumentSemantics & {\n\t\treadonly family: true;\n\t\tinitial(seed: I): T;\n\t};\n\ndeclare const docType: unique symbol;\n\n/** Typed singleton document token passed explicitly to typed access. */\nexport interface DocToken<T extends JsonObject, D extends DocDefinition<T>> {\n\treadonly definition: D;\n\treadonly [docType]?: T;\n}\n\n/** Typed document family token passed explicitly to typed access. */\nexport interface DocFamilyToken<T extends JsonObject, I extends JsonValue, D extends DocFamilyDefinition<T, I>> {\n\treadonly definition: D;\n\treadonly [docType]?: T;\n}\n\nexport type SessionDocToken<T extends JsonObject> = DocToken<T, CommonDocDefinition<T> & { readonly scope: \"session\" }>;\nexport type ConversationDocToken<T extends JsonObject> = DocToken<\n\tT,\n\tCommonDocDefinition<T> & (LatestConversationSemantics | RewindableConversationSemantics)\n>;\nexport type RewindableConversationDocToken<T extends JsonObject> = DocToken<\n\tT,\n\tCommonDocDefinition<T> & RewindableConversationSemantics\n>;\nexport type TaskDocToken<T extends JsonObject> = DocToken<T, CommonDocDefinition<T> & { readonly scope: \"task\" }>;\n\nexport type SessionDocFamilyToken<T extends JsonObject, I extends JsonValue> = DocFamilyToken<\n\tT,\n\tI,\n\tDocFamilyDefinition<T, I> & { readonly scope: \"session\" }\n>;\nexport type ConversationDocFamilyToken<T extends JsonObject, I extends JsonValue> = DocFamilyToken<\n\tT,\n\tI,\n\tDocFamilyDefinition<T, I> & (LatestConversationSemantics | RewindableConversationSemantics)\n>;\nexport type RewindableConversationDocFamilyToken<T extends JsonObject, I extends JsonValue> = DocFamilyToken<\n\tT,\n\tI,\n\tDocFamilyDefinition<T, I> & RewindableConversationSemantics\n>;\nexport type TaskDocFamilyToken<T extends JsonObject, I extends JsonValue> = DocFamilyToken<\n\tT,\n\tI,\n\tDocFamilyDefinition<T, I> & { readonly scope: \"task\" }\n>;\n\n/** Live task record reserved by one invocation. */\nexport type RunningTask<I, S, R> = TaskRecord<I, S, R> & {\n\treadonly state: Extract<TaskState<S, R>, { readonly status: \"running\" }>;\n};\n\n/**\n * Next state a task commits for itself: a replacement checkpoint, a wait, or its outcome. A returned `terminal` state is\n * stored as `completing` while ordinary owned work below the task is live (spec §5.5).\n */\nexport type NextTaskState<S, R> = Extract<TaskState<S, R>, { readonly status: \"running\" | \"waiting\" | \"terminal\" }>;\n\n/**\n * Runs one checkpoint phase. It must commit a changed checkpoint or a terminal outcome through `runtime.commit()`;\n * returning without durable progress faults the task.\n */\nexport type PhaseHandler<I, P, S, R, H extends object> = (\n\ttask: RunningTask<I, P, R>,\n\truntime: TaskRuntime<I, S, R, H>,\n\tcontext: Context,\n) => Promise<void>;\n\n/** Dispatches one hook of a task to every matching registered handler, in registry order of the phase snapshot. */\nexport interface HookRunner<H extends object> {\n\t/**\n\t * Call `invoke` with each matching handler named `name`. An ordinary throw from `invoke` is reported and the next\n\t * handler runs; once the invocation is signalled, the error propagates. Composition happens inside `invoke`.\n\t */\n\teach<K extends keyof H>(name: K, invoke: (handler: NonNullable<H[K]>) => void | Promise<void>): Promise<void>;\n}\n\n/**\n * Operations of one task invocation. Every operation rejects after the invocation ends; watches acquired through it\n * stop at invocation end.\n */\nexport interface TaskRuntime<I, S, R, H extends object> extends DocumentObserver, DocumentReader {\n\treadonly taskId: TaskId<R>;\n\treadonly conversationId: ConversationId;\n\t/**\n\t * Aborted when the run is signalled by `abortTask()`, the Harness closes, or the invocation ends. Work still using it\n\t * after the invocation ended, such as a detached wait, is cancelled; it could not write anything anyway.\n\t */\n\treadonly signal: AbortSignal;\n\t/** Registry snapshot of the current phase; refreshed at every phase boundary. */\n\treadonly registry: RegistrySnapshot;\n\treadonly models: Models;\n\t/** `HarnessOptions.env`; tools receive it as `api.env`. */\n\treadonly env: ExecutionEnv | undefined;\n\t/** Handlers registered for this task's name whose scope matches its conversation. */\n\treadonly hooks: HookRunner<H>;\n\n\t/**\n\t * Commit on the Session line after rereading the task. Rejects when the task is terminal, the invocation ended, the\n\t * Harness is closing, or, in a run invocation, the task carries an abort mark. A returned state replaces the task's\n\t * state in the same commit; returning nothing leaves it unchanged. `tx.createTask()` defaults to the task's\n\t * conversation.\n\t */\n\tcommit(\n\t\tchange: (\n\t\t\ttx: Tx,\n\t\t\tcurrent: RunningTask<I, S, R>,\n\t\t) => NextTaskState<S, R> | undefined | Promise<NextTaskState<S, R> | undefined>,\n\t\tcontext: Context,\n\t): Promise<void>;\n\t/** Read a durable memo of this task. */\n\tmemo<T extends JsonValue>(name: string, context: Context): Promise<T | undefined>;\n\t/** Store `candidate` unless a memo already exists; return the durable winner. */\n\tmemo<T extends JsonValue>(name: string, candidate: T, context: Context): Promise<T>;\n\t/** Committed task record. */\n\tgetTask<T>(id: TaskId<T>, context: Context): Promise<TaskRecord<JsonValue, JsonValue, T> | undefined>;\n\t/** Resolve with the task's terminal receipt; rejects when the invocation ends. */\n\twaitForTask<T>(id: TaskId<T>, context: Context): Promise<SettledTask<T>>;\n\t/** Outcomes of terminal tasks, in order; rejects when one is missing or not terminal. Used after a wait. */\n\toutcomes<T>(ids: readonly TaskId<T>[], context: Context): Promise<TaskOutcome<T>[]>;\n\t/**\n\t * Invocation-bound handle of an existing conversation, for example one this task owns; `undefined` when absent. Its\n\t * operations and the submissions it returns reject after the invocation ends; admitted work stays durable.\n\t */\n\tconversation(id: ConversationId, context: Context): Promise<ConversationHandle | undefined>;\n\t/** Committed entry visible from the task's conversation. */\n\tentry(id: EntryId, context: Context): Promise<EntryRecord | undefined>;\n\t/** Undefined when the entry is absent, not visible, or has another kind. */\n\tentry<D extends JsonValue>(token: Entry<D>, id: EntryId, context: Context): Promise<TypedEntry<D> | undefined>;\n\t/** Committed raw active transcript and model context, optionally cut off at the visible entry `at`. */\n\tcontext(conversationId: ConversationId, context: Context, at?: EntryId): Promise<ContextView>;\n\t/** The Harness clock. */\n\tnow(): number;\n\t/** Forward a non-fatal failure to `HarnessOptions.onReport`. */\n\treport(error: unknown): void;\n\t/** Resolve once the Harness clock reaches `until`; rejects when the invocation or `context` is cancelled. */\n\tsleep(until: number, context: Context): Promise<void>;\n}\n\n/** Executable durable state machine definition, registered in the registry by `name`. */\nexport type TaskDefinition<I, S extends { phase: string }, R, H extends object> = {\n\t/** Registered task kind persisted in `TaskRecord.kind`. */\n\treadonly name: string;\n\t/** Definition version persisted with live input and checkpoints. */\n\treadonly version: number;\n\t/** First durable checkpoint for a newly created task. */\n\tinitial(input: I): S;\n\t/** Exhaustive phase map; each handler receives the task narrowed to its phase. */\n\treadonly phases: {\n\t\treadonly [P in S[\"phase\"]]: PhaseHandler<I, Extract<S, { phase: P }>, S, R, H>;\n\t};\n\t/** Runs in a fresh invocation after an abort mark and must commit a terminal outcome. */\n\tabort(task: RunningTask<I, S, R>, runtime: TaskRuntime<I, S, R, H>, context: Context): Promise<void>;\n\t/** Convert a record stored by any older supported version; runs at reservation. */\n\tmigrate?(\n\t\tinput: JsonValue,\n\t\tcheckpoint: JsonValue,\n\t\tfromVersion: number,\n\t): {\n\t\tinput: I;\n\t\tcheckpoint: S;\n\t};\n\treadonly hooks?: H;\n};\n\n/** Typed executable task definition. */\nexport interface Task<I, S extends { phase: string }, R, H extends object> {\n\treadonly definition: TaskDefinition<I, S, R, H>;\n}\n\n/** Who owns a task: its conversation (a top-level task) or another task of the same conversation (a child task). */\nexport type TaskOwnership = { readonly kind: \"conversation\" } | { readonly kind: \"task\"; readonly taskId: TaskId };\n\n/** How a waiting task treats the tasks it waits on (spec §5.5). */\nexport type JoinPolicy = \"failFast\" | \"allSettled\";\n\n/** Creation options for a durable task. */\nexport type TaskOptions = {\n\t/** Required: a task always names its owner (spec §5.5). */\n\treadonly ownership: TaskOwnership;\n\t/**\n\t * Default: the owner task's conversation, or the transaction's bound conversation; required for conversation-owned\n\t * tasks created by Session commits that are not bound to a conversation.\n\t */\n\treadonly conversationId?: ConversationId;\n\t/** Conversation-owned tasks only: excluded from ordinary idle waits, conversation aborts, and cascades. */\n\treadonly background?: boolean;\n};\n\n/** Ownership selected explicitly whenever a conversation is created. */\nexport type ConversationOwnership = { readonly kind: \"ownerless\" } | { readonly kind: \"task\"; readonly taskId: TaskId };\n\n/** Immutable identity, history ancestry, and task ownership of a transcript scope. */\nexport type ConversationRecord = {\n\treadonly id: ConversationId;\n\t/** Fork source and inclusive parent entry through which history is inherited. */\n\treadonly parent?: {\n\t\treadonly conversationId: ConversationId;\n\t\treadonly at: EntryId;\n\t};\n\t/** Creator edge used for attribution, subtree abort, and subtree idle waits. */\n\treadonly owner?: {\n\t\treadonly conversationId: ConversationId;\n\t\treadonly taskId: TaskId;\n\t};\n};\n\n/** An immutable override of one visible entry's contribution to model context. */\nexport type ContextEdit = {\n\t/** Entry whose model messages are omitted or replaced. */\n\treadonly target: EntryId;\n} & (\n\t| {\n\t\t\treadonly action: \"omit\";\n\t\t\treadonly messages?: never;\n\t }\n\t| {\n\t\t\treadonly action: \"replace\";\n\t\t\t/** Messages contributed instead of the target entry's model messages. */\n\t\t\treadonly messages: readonly Message[];\n\t }\n);\n\n/** Immutable transcript event with separate model-facing and application-facing payloads. */\nexport type EntryRecord = {\n\treadonly id: EntryId;\n\treadonly conversationId: ConversationId;\n\t/** Application-defined entry discriminator. */\n\treadonly kind: string;\n\t/** Messages contributed to model context; absent for display or bookkeeping entries. */\n\treadonly model?: readonly Message[];\n\t/** JSON payload consumed by views, extensions, or bookkeeping logic. */\n\treadonly data?: JsonValue;\n\t/** First entry in the active context selected by this entry. */\n\treadonly head?: EntryId;\n\t/** Context-only overrides of earlier visible entries. */\n\treadonly edits?: readonly ContextEdit[];\n\t/** Task that appended this entry, when it was produced by durable work. */\n\treadonly byTaskId?: TaskId;\n};\n\n/** Entry content supplied before the Session assigns identity and task attribution. */\nexport type EntryDraft = Omit<EntryRecord, \"id\" | \"conversationId\" | \"byTaskId\" | \"head\"> & {\n\t/** `\"self\"` starts active context at the newly assigned entry ID. */\n\treadonly head?: EntryId | \"self\";\n};\n\n/** Entry whose `data` has type `D`; `never` means the kind carries no data. */\nexport type TypedEntry<D extends JsonValue> = Omit<EntryRecord, \"data\"> &\n\t([D] extends [never] ? { readonly data?: never } : { readonly data: D });\n\n/** Entry content of a typed kind; the token supplies `kind`. */\nexport type TypedEntryDraft<D extends JsonValue> = Omit<EntryDraft, \"kind\" | \"data\"> &\n\t([D] extends [never] ? { readonly data?: never } : { readonly data: D });\n\n/** Typed entry kind with a narrowing guard. */\nexport interface Entry<D extends JsonValue = never> {\n\treadonly kind: string;\n\tis(entry: EntryRecord | undefined): entry is TypedEntry<D>;\n}\n\n/** Identity fields shared by every durable submission state. */\ntype SubmissionRecordBase = {\n\treadonly id: SubmissionId;\n\treadonly conversationId: ConversationId;\n\t/** Host-provided deduplication key, scoped to the conversation. */\n\treadonly requestId?: string;\n};\n\n/** Durable lifecycle of one admitted user input or passive entry write. */\nexport type SubmissionRecord =\n\t| (SubmissionRecordBase & {\n\t\t\treadonly type: \"input\";\n\t } & (\n\t\t\t\t| {\n\t\t\t\t\t\t/** Admitted but not yet represented in the transcript. */\n\t\t\t\t\t\treadonly status: \"queued\";\n\t\t\t\t\t\treadonly entry?: never;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Added to the transcript and owned by an active run. */\n\t\t\t\t\t\treadonly status: \"placed\";\n\t\t\t\t\t\treadonly entry: EntryId;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Successfully answered user input. */\n\t\t\t\t\t\treadonly status: \"done\";\n\t\t\t\t\t\treadonly entry: EntryId;\n\t\t\t\t\t\treadonly answer: EntryId;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Terminal input that can no longer receive an answer. */\n\t\t\t\t\t\treadonly status: \"unanswered\";\n\t\t\t\t\t\treadonly entry?: EntryId;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason: string;\n\t\t\t\t\t\treadonly detail?: JsonValue;\n\t\t\t\t }\n\t\t\t))\n\t| (SubmissionRecordBase & {\n\t\t\treadonly type: \"write\";\n\t } & (\n\t\t\t\t| {\n\t\t\t\t\t\t/** Admitted but not yet appended to the transcript. */\n\t\t\t\t\t\treadonly status: \"queued\";\n\t\t\t\t\t\treadonly entry?: never;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Successfully appended passive entry. */\n\t\t\t\t\t\treadonly status: \"done\";\n\t\t\t\t\t\treadonly entry: EntryId;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason?: never;\n\t\t\t\t\t\treadonly detail?: never;\n\t\t\t\t }\n\t\t\t\t| {\n\t\t\t\t\t\t/** Terminal passive write that could not be placed. */\n\t\t\t\t\t\treadonly status: \"unanswered\";\n\t\t\t\t\t\treadonly entry?: never;\n\t\t\t\t\t\treadonly answer?: never;\n\t\t\t\t\t\treadonly reason: string;\n\t\t\t\t\t\treadonly detail?: JsonValue;\n\t\t\t\t }\n\t\t\t));\n\n/** Terminal status staged for a submission; identity, type, and entry come from its current record. */\nexport type SubmissionSettlement =\n\t| { readonly status: \"done\"; readonly answer: EntryId }\n\t| { readonly status: \"unanswered\"; readonly reason: string; readonly detail?: JsonValue };\n\n/** Submission fields supplied before the Session assigns an ID. */\nexport type SubmissionCreate = SubmissionRecord extends infer Record\n\t? Record extends SubmissionRecord\n\t\t? Omit<Record, \"id\">\n\t\t: never\n\t: never;\n\n/** JSON-safe error snapshot persisted instead of a runtime `Error` object. */\nexport type TaskOutcomeError = {\n\treadonly message: string;\n\t/** Optional structured diagnostic data for inspection or recovery. */\n\treadonly detail?: JsonValue;\n};\n\n/** Durable reason and optional result recorded when a task becomes terminal. */\nexport type TaskOutcome<R> =\n\t| {\n\t\t\treadonly status: \"completed\";\n\t\t\treadonly result: R;\n\t\t\treadonly error?: never;\n\t\t\treadonly reason?: never;\n\t }\n\t/** Expected task or domain failure explicitly committed by its implementation. */\n\t| {\n\t\t\treadonly status: \"failed\";\n\t\t\treadonly error: TaskOutcomeError;\n\t\t\treadonly result?: R;\n\t\t\treadonly reason?: never;\n\t }\n\t/** Explicit cancellation handled by the task's abort protocol. */\n\t| {\n\t\t\treadonly status: \"aborted\";\n\t\t\treadonly reason?: string;\n\t\t\treadonly result?: R;\n\t\t\treadonly error?: never;\n\t }\n\t/** Task that cannot resume because its definition or migration is unavailable. */\n\t| {\n\t\t\treadonly status: \"orphaned\";\n\t\t\treadonly reason: string;\n\t\t\treadonly result?: never;\n\t\t\treadonly error?: never;\n\t }\n\t/** Runtime-detected contract failure, such as an uncaught throw or no durable progress. */\n\t| {\n\t\t\treadonly status: \"faulted\";\n\t\t\treadonly error: TaskOutcomeError;\n\t\t\treadonly result?: never;\n\t\t\treadonly reason?: never;\n\t };\n\n/** Complete durable execution state of a task. */\nexport type TaskState<S, R> =\n\t| {\n\t\t\t/** Eligible for scheduling. */\n\t\t\treadonly status: \"pending\";\n\t\t\t/** Complete durable state from which execution resumes. */\n\t\t\treadonly checkpoint: S;\n\t\t\treadonly outcome?: never;\n\t }\n\t| {\n\t\t\t/** Reserved by one in-memory task invocation. */\n\t\t\treadonly status: \"running\";\n\t\t\t/** Complete durable state from which execution resumes. */\n\t\t\treadonly checkpoint: S;\n\t\t\treadonly outcome?: never;\n\t }\n\t| {\n\t\t\t/** Parked without an invocation until every task in `on` is terminal; then resumes at `checkpoint`. */\n\t\t\treadonly status: \"waiting\";\n\t\t\treadonly checkpoint: S;\n\t\t\treadonly on: readonly TaskId[];\n\t\t\treadonly policy: JoinPolicy;\n\t\t\treadonly outcome?: never;\n\t }\n\t| {\n\t\t\t/** Outcome decided; becomes terminal once no ordinary owned work below is live. Runs no more code. */\n\t\t\treadonly status: \"completing\";\n\t\t\treadonly checkpoint?: never;\n\t\t\treadonly outcome: TaskOutcome<R>;\n\t }\n\t| {\n\t\t\t/** Permanently settled durable result receipt. */\n\t\t\treadonly status: \"terminal\";\n\t\t\treadonly checkpoint?: never;\n\t\t\treadonly outcome: TaskOutcome<R>;\n\t };\n\n/** Identity, definition, and scheduling fields shared by every task state. */\ntype TaskRecordBase<I, R> = {\n\treadonly id: TaskId<R>;\n\treadonly conversationId: ConversationId;\n\t/** Registered task definition name. */\n\treadonly kind: string;\n\t/** Definition version used to migrate live input and checkpoints. */\n\treadonly version: number;\n\t/** Original task input retained while the task is live or terminal. */\n\treadonly input: I;\n\t/** Owning task of a child task; absent for a task its conversation owns. Immutable. */\n\treadonly owner?: TaskId;\n\t/** Whether this conversation-owned task is excluded from ordinary idle waits, conversation aborts, and cascades. */\n\treadonly background: boolean;\n\t/** Durable abort mark checked before run-mode progress is committed. */\n\treadonly abortRequested: boolean;\n};\n\n/** Complete replacement record for one durable task state machine. */\nexport type TaskRecord<I, S, R> = TaskRecordBase<I, R> &\n\t(\n\t\t| {\n\t\t\t\treadonly state: Extract<TaskState<S, R>, { readonly status: \"pending\" | \"running\" | \"waiting\" }>;\n\t\t\t\t/** Small first-writer-wins values retained while the task can run. */\n\t\t\t\treadonly memos?: Readonly<Record<string, JsonValue>>;\n\t\t }\n\t\t| {\n\t\t\t\treadonly state: Extract<TaskState<S, R>, { readonly status: \"completing\" | \"terminal\" }>;\n\t\t\t\treadonly memos?: never;\n\t\t }\n\t);\n\n/** Persisted lifecycle record for one create-to-retire document incarnation. */\nexport type DocumentRecord = {\n\t/** Unique incarnation ID; never reused when the same logical document is recreated. */\n\treadonly id: DocumentId;\n\t/** Stable document definition kind. */\n\treadonly kind: string;\n\t/** Family member key; absent for singleton documents. */\n\treadonly key?: string;\n\t/** Commit that created the incarnation, stamped by storage. */\n\treadonly createdAt: Seq;\n\t/** Commit that retired the incarnation; absent while it is current. */\n\treadonly retiredAt?: Seq;\n} & (\n\t| {\n\t\t\treadonly scope: { readonly kind: \"session\" };\n\t\t\treadonly history?: never;\n\t\t\treadonly fork?: never;\n\t }\n\t| ({ readonly scope: { readonly kind: \"conversation\"; readonly conversationId: ConversationId } } & (\n\t\t\t| {\n\t\t\t\t\t/** Retain only current state. */\n\t\t\t\t\treadonly history: \"latest\";\n\t\t\t\t\t/** Initialize a fork from current source state or the definition's initial value. */\n\t\t\t\t\treadonly fork: \"current\" | \"initial\";\n\t\t\t }\n\t\t\t| {\n\t\t\t\t\t/** Retain history needed for as-of reads. */\n\t\t\t\t\treadonly history: \"rewindable\";\n\t\t\t\t\t/** Initialize a fork at its cutoff, from current state, or from the initial value. */\n\t\t\t\t\treadonly fork: \"asOf\" | \"current\" | \"initial\";\n\t\t\t }\n\t ))\n\t| {\n\t\t\treadonly scope: { readonly kind: \"task\"; readonly taskId: TaskId };\n\t\t\treadonly history?: never;\n\t\t\treadonly fork?: never;\n\t }\n);\n\n/** Fields supplied when storage creates and stamps a new `DocumentRecord`. */\nexport type DocumentCreate = DocumentRecord extends infer Record\n\t? Record extends DocumentRecord\n\t\t? Omit<Record, \"createdAt\" | \"retiredAt\">\n\t\t: never\n\t: never;\n\n/** One ordered scan result and its optional continuation state. */\nexport type Page<T, C> = {\n\treadonly items: readonly T[];\n\treadonly next?: C;\n};\n\n/** Backend-owned JSON continuation state that callers only round-trip to the same scan. */\nexport type Cursor = Readonly<Record<string, JsonValue>>;\n\n/** Optional filters for an ordered conversation scan. */\nexport type ConversationQuery = {\n\treadonly ownerConversationId?: ConversationId;\n\treadonly ownerTaskId?: TaskId;\n};\n\n/** Inclusive ID bounds for a newest-first scan of one conversation's fork-aware history. */\nexport type EntryQuery = {\n\treadonly conversationId: ConversationId;\n\t/** Oldest entry ID that may be returned. */\n\treadonly minEntryId?: EntryId;\n\t/** Newest entry ID that may be returned. */\n\treadonly maxEntryId?: EntryId;\n};\n\n/** Optional filters for an ordered scan of durable task records. */\nexport type TaskQuery = {\n\treadonly conversationId?: ConversationId;\n\treadonly kind?: string;\n\treadonly status?: TaskState<JsonValue, JsonValue>[\"status\"];\n\treadonly abortRequested?: boolean;\n\treadonly background?: boolean;\n};\n\n/** Optional filters for an ordered scan of submission records. */\nexport type SubmissionQuery = {\n\treadonly conversationId?: ConversationId;\n\treadonly status?: SubmissionRecord[\"status\"];\n};\n\n/** Current state or one historical commit sequence used for document membership and content reads. */\nexport type DocumentPoint = Seq | \"current\";\n\n/** Exact logical identity of a singleton or one keyed family member. */\nexport type DocumentAddress = {\n\treadonly kind: string;\n\treadonly scope: DocumentRecord[\"scope\"];\n\t/** Absent selects the singleton; present selects one family member. */\n\treadonly key?: string;\n};\n\n/** Ordered scan of document incarnations alive in one exact scope at one point. */\nexport type DocumentQuery = {\n\treadonly scope: DocumentRecord[\"scope\"];\n\treadonly at: DocumentPoint;\n\treadonly kind?: string;\n};\n\n/** Complete checkpoint or Chord operation batch selected by the owning Session. */\nexport type DocumentContent =\n\t| {\n\t\t\treadonly version: number;\n\t\t\treadonly kind: \"base\";\n\t\t\treadonly value: JsonObject;\n\t }\n\t| {\n\t\t\treadonly version: number;\n\t\t\treadonly kind: \"delta\";\n\t\t\treadonly ops: readonly Op[];\n\t };\n\n/** Exact persisted source selected for a definition-free document copy. */\nexport type DocumentCopySource = {\n\treadonly id: DocumentId;\n\treadonly at: DocumentPoint;\n};\n\n/** Detached materialized value and stored definition version at a selected point. */\nexport type StoredDocument = {\n\treadonly record: DocumentRecord;\n\treadonly version: number;\n\treadonly value: JsonObject;\n\t/** Deltas replayed after the selected base to materialize `value`. */\n\treadonly deltasSinceBase: number;\n};\n\n/** One record or document mutation in an atomic storage commit. */\nexport type StorageWrite =\n\t| { readonly type: \"conversation\"; readonly value: ConversationRecord }\n\t| { readonly type: \"entry\"; readonly value: EntryRecord }\n\t| { readonly type: \"task\"; readonly value: TaskRecord<JsonValue, JsonValue, JsonValue> }\n\t| { readonly type: \"submission\"; readonly value: SubmissionRecord }\n\t| {\n\t\t\treadonly type: \"document.create\";\n\t\t\treadonly record: DocumentCreate;\n\t\t\treadonly content: Extract<DocumentContent, { readonly kind: \"base\" }>;\n\t }\n\t| { readonly type: \"document.copy\"; readonly record: DocumentCreate; readonly source: DocumentCopySource }\n\t| {\n\t\t\treadonly type: \"document.change\";\n\t\t\treadonly id: DocumentId;\n\t\t\treadonly content: DocumentContent;\n\t }\n\t| { readonly type: \"document.retire\"; readonly id: DocumentId };\n\n/** Committed change of one document incarnation. */\nexport type DocumentCommitChange =\n\t| {\n\t\t\treadonly type: \"document\";\n\t\t\treadonly record: DocumentRecord;\n\t\t\t/** Conversation owning the document; task documents derive it from their task record. Undefined only for Session documents. */\n\t\t\treadonly conversationId: ConversationId | undefined;\n\t\t\t/** Definition version of `value`; absent when this commit retired the incarnation. */\n\t\t\treadonly version: number | undefined;\n\t\t\t/** Exact adopted immutable revision, or `null` when this commit retired the incarnation. */\n\t\t\treadonly value: JsonObject | null;\n\t\t\t/** Exact adopted operations for an ordinary update; empty for creation and retirement. */\n\t\t\treadonly ops: readonly Op[];\n\t }\n\t| {\n\t\t\t/** Definition-free child initialization; consumers hydrate through state or watch acquisition. */\n\t\t\treadonly type: \"document.copy\";\n\t\t\treadonly record: DocumentRecord;\n\t\t\treadonly conversationId: ConversationId;\n\t\t\treadonly source: DocumentCopySource;\n\t };\n\n/** Complete table record committed without another publication copy. */\nexport type TableCommitChange = Extract<\n\tStorageWrite,\n\t{ readonly type: \"conversation\" | \"entry\" | \"task\" | \"submission\" }\n>;\n\nexport type CommitChange = TableCommitChange | DocumentCommitChange;\n\n/** Every immutable change from one successful Session commit. Change order is unspecified. */\nexport type CommitPublication = {\n\treadonly seq: Seq;\n\treadonly changes: readonly CommitChange[];\n};\n\n/**\n * Transaction surface of one Session commit callback.\n * Table reads and creation results are trusted immutable values and may be shared with internal commit state.\n */\nexport interface Tx {\n\tconversation(id: ConversationId): Promise<ConversationRecord | undefined>;\n\tentry(id: EntryId): Promise<EntryRecord | undefined>;\n\t/** Undefined when the entry is absent or has another kind. */\n\tentry<D extends JsonValue>(token: Entry<D>, id: EntryId): Promise<TypedEntry<D> | undefined>;\n\ttask(id: TaskId): Promise<TaskRecord<JsonValue, JsonValue, JsonValue> | undefined>;\n\tscanConversations(\n\t\tquery: ConversationQuery,\n\t\tlimit: number,\n\t\tcursor?: Cursor,\n\t): Promise<Page<ConversationRecord, Cursor>>;\n\tscanEntries(query: EntryQuery, limit: number, cursor?: Cursor): Promise<Page<EntryRecord, Cursor>>;\n\t/** Newest visible entry of the conversation that carries a `head`. */\n\tlatestHeadMarker(conversationId: ConversationId): Promise<(EntryRecord & { readonly head: EntryId }) | undefined>;\n\tscanTasks(\n\t\tquery: TaskQuery,\n\t\tlimit: number,\n\t\tcursor?: Cursor,\n\t): Promise<Page<TaskRecord<JsonValue, JsonValue, JsonValue>, Cursor>>;\n\n\t/** Create a conversation with explicitly selected ownership. */\n\tcreateConversation(options: { readonly ownership: ConversationOwnership }): Promise<ConversationRecord>;\n\t/** Create a history fork at one concrete visible entry with explicitly selected ownership. */\n\tforkConversation(\n\t\tparentConversationId: ConversationId,\n\t\tat: EntryId,\n\t\toptions: { readonly ownership: ConversationOwnership },\n\t): Promise<ConversationRecord>;\n\t/** Returned records are Session-owned immutable values and may be shared with commit listeners. */\n\tappendEntry(conversationId: ConversationId, value: EntryDraft): Promise<EntryRecord>;\n\t/** The token supplies `kind` and types `data`. */\n\tappendEntry<D extends JsonValue>(\n\t\ttoken: Entry<D>,\n\t\tconversationId: ConversationId,\n\t\tvalue: TypedEntryDraft<NoInfer<D>>,\n\t): Promise<TypedEntry<D>>;\n\tcreateTask<I, S extends { phase: string }, R, H extends object>(\n\t\ttask: Task<I, S, R, H>,\n\t\tinput: I,\n\t\toptions: TaskOptions,\n\t): Promise<TaskId<R>>;\n\t/**\n\t * Settle a queued or placed submission; only a placed input can be answered, and a settled submission stays\n\t * unchanged. Resolved against this transaction's latest record of the submission, so it works after table writes.\n\t * Run tasks settle the inputs they answer.\n\t */\n\tsettleSubmission(id: SubmissionId, settlement: SubmissionSettlement): void;\n\t/**\n\t * Place a queued submission at `entry`: an input becomes `placed`, a write `done`. Resolved like\n\t * `settleSubmission()`. Inbox boundaries place the submissions they select.\n\t */\n\tplaceSubmission(id: SubmissionId, entry: EntryId): void;\n\n\tdoc<T extends JsonObject>(token: SessionDocToken<T>): Promise<Draft<T>>;\n\tdoc<T extends JsonObject>(token: ConversationDocToken<T>, conversationId: ConversationId): Promise<Draft<T>>;\n\tdoc<T extends JsonObject>(token: TaskDocToken<T>, taskId: TaskId): Promise<Draft<T>>;\n\tdoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: SessionDocFamilyToken<T, I>,\n\t\tkey: string,\n\t\tseed: I,\n\t): Promise<Draft<T>>;\n\tdoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tseed: I,\n\t): Promise<Draft<T>>;\n\tdoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t\tseed: I,\n\t): Promise<Draft<T>>;\n\n\tretireDoc<T extends JsonObject>(token: SessionDocToken<T>): Promise<void>;\n\tretireDoc<T extends JsonObject>(token: ConversationDocToken<T>, conversationId: ConversationId): Promise<void>;\n\tretireDoc<T extends JsonObject>(token: TaskDocToken<T>, taskId: TaskId): Promise<void>;\n\tretireDoc<T extends JsonObject, I extends JsonValue>(token: SessionDocFamilyToken<T, I>, key: string): Promise<void>;\n\tretireDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t): Promise<void>;\n\tretireDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t): Promise<void>;\n}\n\n/** Disposable, read-only Chord state bound to one committed document incarnation. */\nexport type DocumentState<T extends JsonObject> = AttachedReplicatedState<Readonly<T> | null>;\n\n/** Terminal result of one document watch. */\nexport type WatchEnd =\n\t| { readonly reason: \"stopped\" | \"cancelled\" | \"session_closed\" | \"retired\" }\n\t| { readonly reason: \"listener_error\"; readonly error: Error };\n\n/** Serialized exact-frame observation of an immutable value with bounded pending delivery. */\nexport interface WatchHandle<T> {\n\t/** Acquisition revision before start; latest delivered immutable revision afterward. */\n\treadonly value: T;\n\t/** Install the sole asynchronous listener. Never invokes it inline. */\n\tstart(listener: (value: T, ops: readonly Op[], context: Context) => Promise<void>): void;\n\t/** Idempotently stop future callbacks and return this watch's terminal result. */\n\tstop(): Promise<WatchEnd>;\n\t/** Settle when the watch terminates; an already-running callback remains caller-owned. */\n\treadonly closed: Promise<WatchEnd>;\n}\n\nexport type DocumentWatch<T extends JsonObject> = WatchHandle<Readonly<T> | null>;\n\n/** Committed document reads. */\nexport type DocumentReader = Pick<Session, \"snapshot\" | \"snapshotAsOf\">;\n\n/** Non-creating document watch acquisition shared by Session and later invocation APIs. */\nexport interface DocumentObserver {\n\twatchDoc<T extends JsonObject>(token: SessionDocToken<T>, context: Context): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject>(\n\t\ttoken: ConversationDocToken<T>,\n\t\tconversationId: ConversationId,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject>(\n\t\ttoken: TaskDocToken<T>,\n\t\ttaskId: TaskId,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: SessionDocFamilyToken<T, I>,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n\twatchDoc<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentWatch<T> | undefined>;\n}\n\n/** Owner of one mutation line, its records, and its tracked documents. */\nexport interface Session extends DocumentObserver {\n\t/** Run one atomic transaction on the Session mutation line. */\n\tcommit<T>(change: (tx: Tx) => T | Promise<T>, context: Context): Promise<T>;\n\t/** Seal admission, settle admitted commits, then close storage. */\n\tclose(context: Context): Promise<void>;\n\t/** Observe complete commits synchronously after adoption. The listener must not throw, block, or call Session APIs. */\n\tsubscribeCommits(listener: (publication: CommitPublication, context: Context) => void): () => void;\n\t/** Observe close synchronously when it begins. The listener must not throw, block, or call Session APIs. */\n\tsubscribeClose(listener: () => void): () => void;\n\n\tsnapshot<T extends JsonObject>(token: SessionDocToken<T>, context: Context): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject>(\n\t\ttoken: ConversationDocToken<T>,\n\t\tconversationId: ConversationId,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject>(\n\t\ttoken: TaskDocToken<T>,\n\t\ttaskId: TaskId,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: SessionDocFamilyToken<T, I>,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshot<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\n\tdocumentState<T extends JsonObject>(\n\t\ttoken: SessionDocToken<T>,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject>(\n\t\ttoken: ConversationDocToken<T>,\n\t\tconversationId: ConversationId,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject>(\n\t\ttoken: TaskDocToken<T>,\n\t\ttaskId: TaskId,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: SessionDocFamilyToken<T, I>,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: ConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\tdocumentState<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: TaskDocFamilyToken<T, I>,\n\t\ttaskId: TaskId,\n\t\tkey: string,\n\t\tcontext: Context,\n\t): Promise<DocumentState<T> | undefined>;\n\n\tsnapshotAsOf<T extends JsonObject>(\n\t\ttoken: RewindableConversationDocToken<T>,\n\t\tconversationId: ConversationId,\n\t\tat: EntryId,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n\tsnapshotAsOf<T extends JsonObject, I extends JsonValue>(\n\t\ttoken: RewindableConversationDocFamilyToken<T, I>,\n\t\tconversationId: ConversationId,\n\t\tkey: string,\n\t\tat: EntryId,\n\t\tcontext: Context,\n\t): Promise<Readonly<T> | undefined>;\n}\n\n/**\n * Atomic persistence boundary for Session records.\n *\n * Storage trusts the owning Session to supply semantically valid records, references,\n * ancestry, and transitions. Implementations enforce atomicity, global ID ownership,\n * immutable conversation/entry creation, document record consistency, and detached values;\n * Session serializes commits.\n */\nexport interface Storage {\n\t/**\n\t * Atomically persist one batch and return its sequence. Once resolved, later reads through this storage observe it.\n\t */\n\tcommit(writes: readonly StorageWrite[], context: Context): Promise<Seq>;\n\n\t/** Return a fresh branded candidate from the Session-global numeric ID namespace. */\n\tmintId<I extends Id<string>>(): Promise<I>;\n\n\t/** Look up one conversation by exact ID. */\n\tconversation(id: ConversationId, context: Context): Promise<ConversationRecord | undefined>;\n\n\t/** Scan conversations in ascending ID order. */\n\tscanConversations(\n\t\tquery: ConversationQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<ConversationRecord, Cursor>>;\n\n\t/** Look up one global entry and the sequence of the commit that persisted it. */\n\tentry(id: EntryId, context: Context): Promise<{ readonly entry: EntryRecord; readonly commitSeq: Seq } | undefined>;\n\t/** Look up one entry only when it is visible through the requested conversation's ancestry. */\n\tentry(\n\t\tconversationId: ConversationId,\n\t\tid: EntryId,\n\t\tcontext: Context,\n\t): Promise<{ readonly entry: EntryRecord; readonly commitSeq: Seq } | undefined>;\n\n\t/**\n\t * Return the newest visible entry with a `head` at or below the optional inclusive cutoff.\n\t * The returned entry is the marker; its `head` value is the range's actual lower bound.\n\t */\n\tfindLatestHeadMarker(\n\t\tconversationId: ConversationId,\n\t\tatOrBeforeEntryId: EntryId | undefined,\n\t\tcontext: Context,\n\t): Promise<(EntryRecord & { readonly head: EntryId }) | undefined>;\n\n\t/** Scan the inclusive visible range newest-first, returning at most `limit` entries. */\n\tscanEntries(\n\t\tquery: EntryQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<EntryRecord, Cursor>>;\n\n\t/** Look up the latest complete record for one task. */\n\ttask(id: TaskId, context: Context): Promise<TaskRecord<JsonValue, JsonValue, JsonValue> | undefined>;\n\n\t/** Scan task records matching every supplied filter. */\n\tscanTasks(\n\t\tquery: TaskQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<TaskRecord<JsonValue, JsonValue, JsonValue>, Cursor>>;\n\n\t/** Look up the latest complete record for one admitted submission. */\n\tsubmission(id: SubmissionId, context: Context): Promise<SubmissionRecord | undefined>;\n\n\t/** Scan submissions matching every supplied filter in ascending ID order. */\n\tscanSubmissions(\n\t\tquery: SubmissionQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<SubmissionRecord, Cursor>>;\n\n\t/** Find a submission by its conversation-scoped host deduplication key. */\n\tsubmissionByRequest(\n\t\tconversationId: ConversationId,\n\t\trequestId: string,\n\t\tcontext: Context,\n\t): Promise<SubmissionRecord | undefined>;\n\n\t/** Resolve the incarnation occupying one exact logical address at the selected point. */\n\tfindDocument(address: DocumentAddress, at: DocumentPoint, context: Context): Promise<DocumentRecord | undefined>;\n\n\t/** Materialize one specific incarnation by ID at the selected point without following a replacement at its address. */\n\tdocument(id: DocumentId, at: DocumentPoint, context: Context): Promise<StoredDocument | undefined>;\n\n\t/** Scan incarnations alive in one exact scope at the selected point. */\n\tscanDocuments(\n\t\tquery: DocumentQuery,\n\t\tlimit: number,\n\t\tcursor: Cursor | undefined,\n\t\tcontext: Context,\n\t): Promise<Page<DocumentRecord, Cursor>>;\n\n\t/** Release backend resources; all later operations must reject. */\n\tclose(context: Context): Promise<void>;\n}\n"]}
|