@sixb/core 0.1.21 → 0.1.22
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/dist/actions/commit-edits.d.ts +3 -1
- package/dist/actions/commit-edits.d.ts.map +1 -1
- package/dist/actions/execution.d.ts.map +1 -1
- package/dist/actions/index.js +63 -59
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +9 -1
- package/dist/actions/read-facade.d.ts.map +1 -1
- package/dist/actions/request.d.ts +15 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run/context.d.ts +1 -0
- package/dist/actions/run/context.d.ts.map +1 -1
- package/dist/actions/run/execute.d.ts +2 -3
- package/dist/actions/run/execute.d.ts.map +1 -1
- package/dist/actions/run/executor.d.ts +3 -0
- package/dist/actions/run/executor.d.ts.map +1 -1
- package/dist/actions/run/normalize.d.ts +2 -1
- package/dist/actions/run/normalize.d.ts.map +1 -1
- package/dist/actions/run/signals.d.ts +1 -3
- package/dist/actions/run/signals.d.ts.map +1 -1
- package/dist/actions/run/types.d.ts +16 -1
- package/dist/actions/run/types.d.ts.map +1 -1
- package/dist/actions/run-authorization.d.ts +14 -0
- package/dist/actions/run-authorization.d.ts.map +1 -1
- package/dist/actions/types/context.d.ts +17 -1
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/validators.d.ts.map +1 -1
- package/dist/activity/timeline.d.ts +8 -1
- package/dist/activity/timeline.d.ts.map +1 -1
- package/dist/agents/accounting.d.ts +15 -0
- package/dist/agents/accounting.d.ts.map +1 -0
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/agent-mail.d.ts +9 -0
- package/dist/agents/agent-mail.d.ts.map +1 -0
- package/dist/agents/api-gateway.d.ts +5 -0
- package/dist/agents/api-gateway.d.ts.map +1 -1
- package/dist/agents/approval-continuation.d.ts +23 -0
- package/dist/agents/approval-continuation.d.ts.map +1 -0
- package/dist/agents/approval-executor.d.ts +56 -0
- package/dist/agents/approval-executor.d.ts.map +1 -0
- package/dist/agents/approval-outcome.d.ts +8 -0
- package/dist/agents/approval-outcome.d.ts.map +1 -0
- package/dist/agents/approvals.d.ts +210 -0
- package/dist/agents/approvals.d.ts.map +1 -0
- package/dist/agents/authority.d.ts +10 -0
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/builders.d.ts.map +1 -1
- package/dist/agents/cancel.d.ts +23 -0
- package/dist/agents/cancel.d.ts.map +1 -0
- package/dist/agents/child-question.d.ts +18 -0
- package/dist/agents/child-question.d.ts.map +1 -0
- package/dist/agents/children.d.ts +99 -0
- package/dist/agents/children.d.ts.map +1 -0
- package/dist/agents/context/index.js +1 -1
- package/dist/agents/context-compaction.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +13 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +180 -14
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/fork.d.ts +16 -0
- package/dist/agents/fork.d.ts.map +1 -0
- package/dist/agents/ids.d.ts +7 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +19 -8
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +159 -86
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/memory-execution.d.ts +57 -0
- package/dist/agents/memory-execution.d.ts.map +1 -0
- package/dist/agents/memory.d.ts +49 -0
- package/dist/agents/memory.d.ts.map +1 -0
- package/dist/agents/message.d.ts +50 -1
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/model-loop.d.ts +19 -0
- package/dist/agents/model-loop.d.ts.map +1 -1
- package/dist/agents/model-routing.d.ts +19 -0
- package/dist/agents/model-routing.d.ts.map +1 -0
- package/dist/agents/participants.d.ts +18 -0
- package/dist/agents/participants.d.ts.map +1 -0
- package/dist/agents/reference.d.ts.map +1 -1
- package/dist/agents/request.d.ts +36 -2
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/run-scope.d.ts +51 -0
- package/dist/agents/run-scope.d.ts.map +1 -0
- package/dist/agents/streams/index.d.ts +3 -2
- package/dist/agents/streams/index.d.ts.map +1 -1
- package/dist/agents/streams/index.js +7 -3
- package/dist/agents/streams/index.js.map +1 -1
- package/dist/agents/streams/internal.d.ts +1 -1
- package/dist/agents/streams/internal.d.ts.map +1 -1
- package/dist/agents/streams/internal.js +5 -3
- package/dist/agents/streams/internal.js.map +1 -1
- package/dist/agents/streams/protocol.d.ts +122 -3
- package/dist/agents/streams/protocol.d.ts.map +1 -1
- package/dist/agents/subagent-runs.d.ts +12 -0
- package/dist/agents/subagent-runs.d.ts.map +1 -0
- package/dist/agents/thread-access.d.ts +53 -0
- package/dist/agents/thread-access.d.ts.map +1 -0
- package/dist/agents/tool-definition.d.ts +5 -4
- package/dist/agents/tool-definition.d.ts.map +1 -1
- package/dist/agents/types.d.ts +23 -4
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +1 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/artifacts/access.d.ts +52 -0
- package/dist/artifacts/access.d.ts.map +1 -0
- package/dist/artifacts/canvas.d.ts +92 -0
- package/dist/artifacts/canvas.d.ts.map +1 -0
- package/dist/artifacts/csv.d.ts +5 -0
- package/dist/artifacts/csv.d.ts.map +1 -1
- package/dist/artifacts/errors.d.ts +7 -2
- package/dist/artifacts/errors.d.ts.map +1 -1
- package/dist/artifacts/execution.d.ts +102 -7
- package/dist/artifacts/execution.d.ts.map +1 -1
- package/dist/artifacts/formula/check.d.ts +24 -0
- package/dist/artifacts/formula/check.d.ts.map +1 -0
- package/dist/artifacts/formula/evaluate.d.ts +32 -0
- package/dist/artifacts/formula/evaluate.d.ts.map +1 -0
- package/dist/artifacts/formula/index.d.ts +38 -0
- package/dist/artifacts/formula/index.d.ts.map +1 -0
- package/dist/artifacts/formula/parser.d.ts +67 -0
- package/dist/artifacts/formula/parser.d.ts.map +1 -0
- package/dist/artifacts/frames/assets.d.ts +11 -9
- package/dist/artifacts/frames/assets.d.ts.map +1 -1
- package/dist/artifacts/frames/entries.d.ts +19 -0
- package/dist/artifacts/frames/entries.d.ts.map +1 -0
- package/dist/artifacts/frames/grants.d.ts +6 -6
- package/dist/artifacts/frames/grants.d.ts.map +1 -1
- package/dist/artifacts/frames/index.d.ts +4 -2
- package/dist/artifacts/frames/index.d.ts.map +1 -1
- package/dist/artifacts/frames/index.js +444 -51
- package/dist/artifacts/frames/index.js.map +10 -8
- package/dist/artifacts/frames/kit.d.ts +10 -5
- package/dist/artifacts/frames/kit.d.ts.map +1 -1
- package/dist/artifacts/frames/probe.d.ts +16 -12
- package/dist/artifacts/frames/probe.d.ts.map +1 -1
- package/dist/artifacts/frames/protocol.d.ts +79 -10
- package/dist/artifacts/frames/protocol.d.ts.map +1 -1
- package/dist/artifacts/frames/runtime.d.ts +27 -9
- package/dist/artifacts/frames/runtime.d.ts.map +1 -1
- package/dist/artifacts/index.d.ts +11 -5
- package/dist/artifacts/index.d.ts.map +1 -1
- package/dist/artifacts/index.js +128 -6
- package/dist/artifacts/index.js.map +3 -3
- package/dist/artifacts/kinds.d.ts +1 -1
- package/dist/artifacts/kinds.d.ts.map +1 -1
- package/dist/artifacts/limits.d.ts +30 -0
- package/dist/artifacts/limits.d.ts.map +1 -1
- package/dist/artifacts/live-sheet.d.ts +65 -0
- package/dist/artifacts/live-sheet.d.ts.map +1 -0
- package/dist/artifacts/outline.d.ts +27 -1
- package/dist/artifacts/outline.d.ts.map +1 -1
- package/dist/artifacts/publish/index.d.ts +2 -0
- package/dist/artifacts/publish/index.d.ts.map +1 -1
- package/dist/artifacts/publish/index.js +59 -19
- package/dist/artifacts/publish/index.js.map +1 -1
- package/dist/artifacts/publish/publish.d.ts +43 -11
- package/dist/artifacts/publish/publish.d.ts.map +1 -1
- package/dist/artifacts/publish/queries.d.ts +33 -0
- package/dist/artifacts/publish/queries.d.ts.map +1 -0
- package/dist/artifacts/publish/references.d.ts +6 -3
- package/dist/artifacts/publish/references.d.ts.map +1 -1
- package/dist/artifacts/publish/validate/canvas.d.ts +18 -0
- package/dist/artifacts/publish/validate/canvas.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/html.d.ts +20 -0
- package/dist/artifacts/publish/validate/html.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/page.d.ts +15 -0
- package/dist/artifacts/publish/validate/page.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/sheet.d.ts +11 -3
- package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -1
- package/dist/artifacts/publish/validate/slides.d.ts +1 -7
- package/dist/artifacts/publish/validate/slides.d.ts.map +1 -1
- package/dist/artifacts/queries.d.ts +95 -0
- package/dist/artifacts/queries.d.ts.map +1 -0
- package/dist/artifacts/resolve.d.ts +6 -0
- package/dist/artifacts/resolve.d.ts.map +1 -1
- package/dist/artifacts/run-query.d.ts +26 -0
- package/dist/artifacts/run-query.d.ts.map +1 -0
- package/dist/artifacts/serialize-query.d.ts +12 -0
- package/dist/artifacts/serialize-query.d.ts.map +1 -0
- package/dist/artifacts/sheet-rules.d.ts +26 -0
- package/dist/artifacts/sheet-rules.d.ts.map +1 -0
- package/dist/artifacts/tones.d.ts +8 -0
- package/dist/artifacts/tones.d.ts.map +1 -0
- package/dist/artifacts/workbook.d.ts +76 -5
- package/dist/artifacts/workbook.d.ts.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +14 -11
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/member-events.d.ts +13 -0
- package/dist/auth/member-events.d.ts.map +1 -0
- package/dist/auth/profile.d.ts +11 -0
- package/dist/auth/profile.d.ts.map +1 -0
- package/dist/auth/runtime.d.ts +31 -3
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/strategy.d.ts +3 -1
- package/dist/auth/strategy.d.ts.map +1 -1
- package/dist/auth/strategy.js +7 -3
- package/dist/auth/strategy.js.map +1 -1
- package/dist/auth/types.d.ts +30 -1
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/decision.d.ts +15 -0
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/event-visibility.d.ts +5 -1
- package/dist/authorization/event-visibility.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +2 -2
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +2 -2
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +12 -7
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +19 -1
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/authorization/run-visibility.d.ts +8 -1
- package/dist/authorization/run-visibility.d.ts.map +1 -1
- package/dist/authorization/types.d.ts +14 -0
- package/dist/authorization/types.d.ts.map +1 -1
- package/dist/bootstrap/index.js +69 -65
- package/dist/bootstrap/index.js.map +2 -2
- package/dist/{chunk-ky3j490c.js → chunk-02bzjgnt.js} +6 -6
- package/dist/{chunk-ky3j490c.js.map → chunk-02bzjgnt.js.map} +1 -1
- package/dist/{chunk-mfs23znk.js → chunk-07kkp2e1.js} +1 -1
- package/dist/{chunk-c1rxbz5y.js → chunk-098anw4f.js} +21 -19
- package/dist/chunk-098anw4f.js.map +12 -0
- package/dist/{chunk-z58tm0hm.js → chunk-0phpbbvm.js} +3 -3
- package/dist/{chunk-ere85b8y.js → chunk-0xmt5p5y.js} +116 -27
- package/dist/chunk-0xmt5p5y.js.map +14 -0
- package/dist/{chunk-t6f3tdnr.js → chunk-16a9dmfy.js} +33 -2
- package/dist/{chunk-t6f3tdnr.js.map → chunk-16a9dmfy.js.map} +5 -4
- package/dist/chunk-18sk89cg.js +47 -0
- package/dist/chunk-18sk89cg.js.map +10 -0
- package/dist/{chunk-e17zdm62.js → chunk-1t6k1avb.js} +1 -1
- package/dist/chunk-2626mh4m.js +693 -0
- package/dist/chunk-2626mh4m.js.map +19 -0
- package/dist/{chunk-qczk96d9.js → chunk-2adz0h75.js} +13 -4
- package/dist/chunk-2adz0h75.js.map +11 -0
- package/dist/{chunk-kge7k6ey.js → chunk-2fn60nvs.js} +2 -2
- package/dist/{chunk-99nd4rc1.js → chunk-2gjj5dx3.js} +5 -4
- package/dist/{chunk-99nd4rc1.js.map → chunk-2gjj5dx3.js.map} +3 -3
- package/dist/{chunk-mjddfa7k.js → chunk-3fqxbn31.js} +2 -24
- package/dist/{chunk-mjddfa7k.js.map → chunk-3fqxbn31.js.map} +3 -4
- package/dist/{chunk-y0c4e6ex.js → chunk-3gbefjg5.js} +1 -1
- package/dist/{chunk-5hx48dnn.js → chunk-45ngkxkp.js} +52 -31
- package/dist/chunk-45ngkxkp.js.map +13 -0
- package/dist/{chunk-cy4mbddw.js → chunk-48jezz3j.js} +1 -1
- package/dist/{chunk-561r0yc9.js → chunk-4b26qwbg.js} +13 -13
- package/dist/{chunk-561r0yc9.js.map → chunk-4b26qwbg.js.map} +1 -1
- package/dist/{chunk-9k93ah50.js → chunk-4f3ydv7t.js} +33 -69
- package/dist/chunk-4f3ydv7t.js.map +10 -0
- package/dist/chunk-4y26vs3v.js +97 -0
- package/dist/chunk-4y26vs3v.js.map +10 -0
- package/dist/{chunk-4as3wt1c.js → chunk-4ymrcdbm.js} +7 -3
- package/dist/chunk-4ymrcdbm.js.map +12 -0
- package/dist/{chunk-hcbyfxbe.js → chunk-5grk14e5.js} +76 -2
- package/dist/{chunk-hcbyfxbe.js.map → chunk-5grk14e5.js.map} +4 -3
- package/dist/{chunk-8frc8a4j.js → chunk-65pyhyas.js} +90 -83
- package/dist/chunk-65pyhyas.js.map +20 -0
- package/dist/{chunk-hwksyjks.js → chunk-661ezhks.js} +182 -6
- package/dist/chunk-661ezhks.js.map +11 -0
- package/dist/{chunk-447a5c0p.js → chunk-6n69k945.js} +2 -2
- package/dist/{chunk-0bphap9y.js → chunk-6p0pastb.js} +5 -5
- package/dist/{chunk-9j4jw7as.js → chunk-6rrtzea3.js} +18 -5
- package/dist/chunk-6rrtzea3.js.map +14 -0
- package/dist/{chunk-431pyp2c.js → chunk-6y0mkhex.js} +2 -2
- package/dist/{chunk-f4pamkt9.js → chunk-73v685wb.js} +10 -10
- package/dist/{chunk-f4pamkt9.js.map → chunk-73v685wb.js.map} +3 -3
- package/dist/{chunk-akzryx9h.js → chunk-7gr4j2eq.js} +7836 -5047
- package/dist/chunk-7gr4j2eq.js.map +120 -0
- package/dist/{chunk-bk9svbcq.js → chunk-7mc2wkre.js} +386 -86
- package/dist/chunk-7mc2wkre.js.map +50 -0
- package/dist/{chunk-6rqgmkde.js → chunk-7z5p905k.js} +335 -703
- package/dist/chunk-7z5p905k.js.map +22 -0
- package/dist/{chunk-yxd3nnqt.js → chunk-9mab3dvg.js} +26 -2
- package/dist/chunk-9mab3dvg.js.map +11 -0
- package/dist/chunk-9wr3yajk.js +42 -0
- package/dist/chunk-9wr3yajk.js.map +10 -0
- package/dist/chunk-az47zep4.js +41 -0
- package/dist/chunk-az47zep4.js.map +10 -0
- package/dist/{chunk-s7jg7pmn.js → chunk-bab05bhg.js} +1 -1
- package/dist/{chunk-858emn8m.js → chunk-bktev1ds.js} +14 -11
- package/dist/{chunk-858emn8m.js.map → chunk-bktev1ds.js.map} +3 -3
- package/dist/{chunk-dhcv7yxc.js → chunk-c0vk1djt.js} +5 -3
- package/dist/chunk-c0vk1djt.js.map +11 -0
- package/dist/chunk-c69nj7se.js +3 -0
- package/dist/{chunk-7n30ybym.js.map → chunk-c69nj7se.js.map} +1 -1
- package/dist/{chunk-q5e5tv4b.js → chunk-c844dkwd.js} +1 -1
- package/dist/{chunk-g257jwnc.js → chunk-cdk3egjj.js} +17 -4
- package/dist/chunk-cdk3egjj.js.map +12 -0
- package/dist/chunk-cswhawa2.js +113 -0
- package/dist/chunk-cswhawa2.js.map +10 -0
- package/dist/{chunk-cfj9dfbb.js → chunk-d2m879s4.js} +2 -2
- package/dist/{chunk-arns890k.js → chunk-d7vyc7k6.js} +2 -2
- package/dist/chunk-d7vyc7k6.js.map +10 -0
- package/dist/{chunk-q7gn29y3.js → chunk-dp0cdtj2.js} +2 -2
- package/dist/{chunk-6x0pqh32.js → chunk-e5wf5vz0.js} +3 -1
- package/dist/chunk-e5wf5vz0.js.map +10 -0
- package/dist/{chunk-cn0fwwhy.js → chunk-efmm01gj.js} +108 -1045
- package/dist/chunk-efmm01gj.js.map +18 -0
- package/dist/{chunk-918wwnaa.js → chunk-ezne9wc9.js} +1224 -430
- package/dist/chunk-ezne9wc9.js.map +71 -0
- package/dist/{chunk-tbc1ngpd.js → chunk-fe8zwt8b.js} +58 -12
- package/dist/{chunk-tbc1ngpd.js.map → chunk-fe8zwt8b.js.map} +5 -4
- package/dist/{chunk-br3k6qbf.js → chunk-fm62y49k.js} +1 -1
- package/dist/{chunk-nq6gpjt7.js → chunk-fntqb7qy.js} +30 -4
- package/dist/{chunk-nq6gpjt7.js.map → chunk-fntqb7qy.js.map} +5 -5
- package/dist/{chunk-1cc1xaf3.js → chunk-fp2kq35z.js} +26 -10
- package/dist/{chunk-1cc1xaf3.js.map → chunk-fp2kq35z.js.map} +5 -5
- package/dist/{chunk-vvxtn22d.js → chunk-g663fahq.js} +2 -2
- package/dist/{chunk-k43ct2ke.js → chunk-gvj5cd3b.js} +16 -9
- package/dist/chunk-gvj5cd3b.js.map +12 -0
- package/dist/{chunk-rmakanzx.js → chunk-h33shhq6.js} +5 -5
- package/dist/{chunk-nn5xnx3s.js → chunk-h3pbv7n8.js} +1738 -38
- package/dist/chunk-h3pbv7n8.js.map +48 -0
- package/dist/chunk-hn2r7z41.js.map +1 -1
- package/dist/{chunk-pbcbn83d.js → chunk-hqsp2sx4.js} +54 -8
- package/dist/chunk-hqsp2sx4.js.map +14 -0
- package/dist/{chunk-d09e3rax.js → chunk-hwarjrgf.js} +1 -1
- package/dist/{chunk-vf57cr4t.js → chunk-hyesv9dv.js} +1 -1
- package/dist/chunk-hz5d43gn.js +45 -0
- package/dist/chunk-hz5d43gn.js.map +10 -0
- package/dist/{chunk-91mg3nj9.js → chunk-j936th07.js} +86 -41
- package/dist/chunk-j936th07.js.map +12 -0
- package/dist/chunk-kcqpk9w1.js +75 -0
- package/dist/chunk-kcqpk9w1.js.map +10 -0
- package/dist/{chunk-5vems3nx.js → chunk-m2nevja0.js} +2 -2
- package/dist/{chunk-x9v4cx1d.js → chunk-m36fw8ft.js} +1 -1
- package/dist/{chunk-a40ad1ft.js → chunk-mbsbxarb.js} +1 -1
- package/dist/chunk-mzx71snp.js +129 -0
- package/dist/chunk-mzx71snp.js.map +10 -0
- package/dist/{chunk-6aawea28.js → chunk-n8q5j6y5.js} +1 -1
- package/dist/{chunk-d7dnxdep.js → chunk-n9zpx9c6.js} +4 -4
- package/dist/{chunk-xvsc5m8n.js → chunk-npcr0228.js} +1 -1
- package/dist/chunk-nydf3dbe.js +663 -0
- package/dist/chunk-nydf3dbe.js.map +13 -0
- package/dist/chunk-pdt5cw8z.js +233 -0
- package/dist/chunk-pdt5cw8z.js.map +11 -0
- package/dist/{chunk-rj69qcrd.js → chunk-pgrf64hp.js} +55 -7
- package/dist/chunk-pgrf64hp.js.map +12 -0
- package/dist/{chunk-y5tah2kf.js → chunk-q4pmvkg0.js} +1 -1
- package/dist/chunk-qhqgp4jf.js +1418 -0
- package/dist/chunk-qhqgp4jf.js.map +22 -0
- package/dist/{chunk-48qjhh6v.js → chunk-qx00vjrj.js} +19 -60
- package/dist/chunk-qx00vjrj.js.map +13 -0
- package/dist/{chunk-5948n82c.js → chunk-r6szek0x.js} +184 -7
- package/dist/chunk-r6szek0x.js.map +10 -0
- package/dist/{chunk-v4jbb3rs.js → chunk-rap5w0x0.js} +156 -2
- package/dist/chunk-rap5w0x0.js.map +10 -0
- package/dist/{chunk-pfp1txq2.js → chunk-sgx82nnt.js} +5 -31
- package/dist/{chunk-pfp1txq2.js.map → chunk-sgx82nnt.js.map} +3 -4
- package/dist/{chunk-bkpke1sg.js → chunk-t5608tkq.js} +3 -1
- package/dist/{chunk-bkpke1sg.js.map → chunk-t5608tkq.js.map} +3 -3
- package/dist/{chunk-29yx306f.js → chunk-tdxfsg1c.js} +507 -265
- package/dist/chunk-tdxfsg1c.js.map +23 -0
- package/dist/{chunk-d5rjr8c0.js → chunk-vabga7fk.js} +1 -1
- package/dist/{chunk-dhdha526.js → chunk-vhbw5sqm.js} +26 -2
- package/dist/chunk-vhbw5sqm.js.map +10 -0
- package/dist/{chunk-e6k4thh5.js → chunk-vpgwq5nf.js} +98 -12
- package/dist/chunk-vpgwq5nf.js.map +21 -0
- package/dist/{chunk-61y5xs4p.js → chunk-vyt322b6.js} +69 -50
- package/dist/{chunk-61y5xs4p.js.map → chunk-vyt322b6.js.map} +4 -4
- package/dist/chunk-waqk73p1.js +2380 -0
- package/dist/chunk-waqk73p1.js.map +23 -0
- package/dist/chunk-wsc1brye.js +27 -0
- package/dist/chunk-wsc1brye.js.map +10 -0
- package/dist/{chunk-96yw3pwd.js → chunk-y7dbmaqh.js} +28 -2
- package/dist/chunk-y7dbmaqh.js.map +10 -0
- package/dist/{chunk-6vb4st8k.js → chunk-yc9ners4.js} +120 -19
- package/dist/{chunk-6vb4st8k.js.map → chunk-yc9ners4.js.map} +8 -8
- package/dist/{chunk-dvd2fp9q.js → chunk-zbc929zg.js} +28 -4
- package/dist/chunk-zbc929zg.js.map +13 -0
- package/dist/chunk-zrvhsq7f.js +37 -0
- package/dist/chunk-zrvhsq7f.js.map +10 -0
- package/dist/datasets/write.js +5 -5
- package/dist/error-reporting/internal.js +3 -3
- package/dist/errors/catalog.d.ts +26 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +1 -1
- package/dist/events/definitions.d.ts +7 -0
- package/dist/events/definitions.d.ts.map +1 -1
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/index.d.ts +2 -3
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +8 -10
- package/dist/events/index.js.map +1 -1
- package/dist/events/scope.d.ts.map +1 -1
- package/dist/events/scope.js +1 -1
- package/dist/events/selectors/builder.d.ts +12 -1
- package/dist/events/selectors/builder.d.ts.map +1 -1
- package/dist/events/selectors/index.d.ts +2 -2
- package/dist/events/selectors/index.d.ts.map +1 -1
- package/dist/events/selectors/index.js +2 -2
- package/dist/events/selectors/types.d.ts +19 -3
- package/dist/events/selectors/types.d.ts.map +1 -1
- package/dist/events/service.d.ts +17 -2
- package/dist/events/service.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +3 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/events/types/users.d.ts +63 -0
- package/dist/events/types/users.d.ts.map +1 -0
- package/dist/events/view-conditions.d.ts +34 -0
- package/dist/events/view-conditions.d.ts.map +1 -0
- package/dist/execution/agent.d.ts +15 -0
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +63 -57
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +51 -2
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/lineage.d.ts +7 -0
- package/dist/execution/lineage.d.ts.map +1 -0
- package/dist/execution/object-reader-ontology.d.ts +2 -2
- package/dist/execution/object-reader-ontology.d.ts.map +1 -1
- package/dist/execution/object-reader-security.d.ts +24 -3
- package/dist/execution/object-reader-security.d.ts.map +1 -1
- package/dist/execution/object-reader-users.d.ts +20 -0
- package/dist/execution/object-reader-users.d.ts.map +1 -0
- package/dist/execution/preparation.d.ts +23 -0
- package/dist/execution/preparation.d.ts.map +1 -0
- package/dist/execution/primitive.js +61 -57
- package/dist/execution/primitive.js.map +1 -1
- package/dist/execution/request.d.ts +2 -1
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +64 -56
- package/dist/execution/request.js.map +3 -3
- package/dist/execution/unique-lookup.d.ts +14 -0
- package/dist/execution/unique-lookup.d.ts.map +1 -0
- package/dist/execution/visible-objects.d.ts +12 -0
- package/dist/execution/visible-objects.d.ts.map +1 -0
- package/dist/http/api-routes.d.ts +17 -0
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +32 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +137 -126
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/index.js +5 -5
- package/dist/materialization/errors.d.ts +25 -0
- package/dist/materialization/errors.d.ts.map +1 -1
- package/dist/materialization/event-envelopes.d.ts +5 -0
- package/dist/materialization/event-envelopes.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +1 -1
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +14 -8
- package/dist/materialization/index.js.map +1 -1
- package/dist/materialization/model.d.ts +20 -2
- package/dist/materialization/model.d.ts.map +1 -1
- package/dist/materializer/edits/commit.d.ts.map +1 -1
- package/dist/materializer/edits/load-state.d.ts +5 -1
- package/dist/materializer/edits/load-state.d.ts.map +1 -1
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/edits/unique-values.d.ts +47 -0
- package/dist/materializer/edits/unique-values.d.ts.map +1 -0
- package/dist/materializer/edits/working-state.d.ts +6 -1
- package/dist/materializer/edits/working-state.d.ts.map +1 -1
- package/dist/materializer/execution/work-records.d.ts +7 -1
- package/dist/materializer/execution/work-records.d.ts.map +1 -1
- package/dist/materializer/index.js +45 -41
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/projections/source-materialization.d.ts +1 -0
- package/dist/materializer/projections/source-materialization.d.ts.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/materializer/shared/projection-run.d.ts +0 -1
- package/dist/materializer/shared/projection-run.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts.map +1 -1
- package/dist/models/audio/catalog.d.ts +13 -1
- package/dist/models/audio/catalog.d.ts.map +1 -1
- package/dist/models/audio/errors.d.ts +6 -1
- package/dist/models/audio/errors.d.ts.map +1 -1
- package/dist/models/audio/runtime.d.ts.map +1 -1
- package/dist/models/audio/speech.d.ts +8 -0
- package/dist/models/audio/speech.d.ts.map +1 -0
- package/dist/models/audio/types.d.ts +93 -0
- package/dist/models/audio/types.d.ts.map +1 -1
- package/dist/models/calls.d.ts +27 -0
- package/dist/models/calls.d.ts.map +1 -0
- package/dist/models/catalog-index.d.ts +7 -4
- package/dist/models/catalog-index.d.ts.map +1 -1
- package/dist/models/catalog.d.ts +55 -3
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/decision/runtime.d.ts +6 -1
- package/dist/models/decision/runtime.d.ts.map +1 -1
- package/dist/models/decision/validation.d.ts +4 -1
- package/dist/models/decision/validation.d.ts.map +1 -1
- package/dist/models/definitions.d.ts +23 -1
- package/dist/models/definitions.d.ts.map +1 -1
- package/dist/models/events.d.ts +12 -1
- package/dist/models/events.d.ts.map +1 -1
- package/dist/models/execution/binding.d.ts +3 -1
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/index.d.ts +1 -0
- package/dist/models/execution/index.d.ts.map +1 -1
- package/dist/models/execution/index.js +44 -34
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-accounting.d.ts.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +3 -0
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution/usage.d.ts.map +1 -1
- package/dist/models/execution.d.ts +4 -2
- package/dist/models/execution.d.ts.map +1 -1
- package/dist/models/generation-types.d.ts +8 -1
- package/dist/models/generation-types.d.ts.map +1 -1
- package/dist/models/image/catalog.d.ts +13 -0
- package/dist/models/image/catalog.d.ts.map +1 -0
- package/dist/models/image/errors.d.ts +8 -0
- package/dist/models/image/errors.d.ts.map +1 -0
- package/dist/models/image/runtime.d.ts +8 -0
- package/dist/models/image/runtime.d.ts.map +1 -0
- package/dist/models/image/types.d.ts +103 -0
- package/dist/models/image/types.d.ts.map +1 -0
- package/dist/models/index.d.ts +12 -8
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +17 -7
- package/dist/models/index.js.map +1 -1
- package/dist/models/input-file.d.ts +9 -0
- package/dist/models/input-file.d.ts.map +1 -0
- package/dist/models/language-model.d.ts +13 -0
- package/dist/models/language-model.d.ts.map +1 -1
- package/dist/models/pricing.d.ts +25 -10
- package/dist/models/pricing.d.ts.map +1 -1
- package/dist/models/rate-card.d.ts +44 -6
- package/dist/models/rate-card.d.ts.map +1 -1
- package/dist/objects/conditional-writes.d.ts +37 -0
- package/dist/objects/conditional-writes.d.ts.map +1 -0
- package/dist/objects/execution.d.ts +2 -0
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.d.ts +1 -0
- package/dist/objects/index.d.ts.map +1 -1
- package/dist/objects/index.js +68 -58
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/link/authorization.d.ts +3 -0
- package/dist/objects/link/authorization.d.ts.map +1 -1
- package/dist/objects/link/endpoints.d.ts +21 -2
- package/dist/objects/link/endpoints.d.ts.map +1 -1
- package/dist/objects/link/remove.d.ts.map +1 -1
- package/dist/objects/link/upsert-batch.d.ts.map +1 -1
- package/dist/objects/link/upsert.d.ts.map +1 -1
- package/dist/objects/materializer-adapter.d.ts +13 -4
- package/dist/objects/materializer-adapter.d.ts.map +1 -1
- package/dist/objects/object/delete.d.ts +3 -0
- package/dist/objects/object/delete.d.ts.map +1 -1
- package/dist/objects/object/upsert-batch.d.ts.map +1 -1
- package/dist/objects/object/upsert.d.ts.map +1 -1
- package/dist/objects/query/current-user.d.ts +17 -0
- package/dist/objects/query/current-user.d.ts.map +1 -0
- package/dist/objects/query/executor.d.ts +14 -0
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +2 -2
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +49 -44
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +19 -1
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/matches-predicate.d.ts +9 -0
- package/dist/objects/query/matches-predicate.d.ts.map +1 -0
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/user-expansions.d.ts +27 -0
- package/dist/objects/query/user-expansions.d.ts.map +1 -0
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/runtime-batch.d.ts +3 -1
- package/dist/objects/runtime-batch.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-executor.d.ts +6 -0
- package/dist/objects/sdk/query-executor.d.ts.map +1 -1
- package/dist/objects/serialize.d.ts +39 -0
- package/dist/objects/serialize.d.ts.map +1 -0
- package/dist/objects/unique-violation.d.ts +22 -0
- package/dist/objects/unique-violation.d.ts.map +1 -0
- package/dist/ontology/builders.d.ts +3 -1
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/index.d.ts +2 -2
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +11 -7
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/internal.js +7 -5
- package/dist/ontology/internal.js.map +3 -3
- package/dist/ontology/json-schema.d.ts.map +1 -1
- package/dist/ontology/primitives.d.ts +3 -0
- package/dist/ontology/primitives.d.ts.map +1 -1
- package/dist/ontology/registry.d.ts +6 -0
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +9 -0
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/unique-values.d.ts +26 -0
- package/dist/ontology/unique-values.d.ts.map +1 -0
- package/dist/ontology/user-ref.d.ts +23 -0
- package/dist/ontology/user-ref.d.ts.map +1 -1
- package/dist/ontology/validation/properties.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/pipelines/index.js +43 -40
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +36 -33
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/registry.d.ts +4 -0
- package/dist/projections/registry.d.ts.map +1 -1
- package/dist/projections/revision.d.ts +15 -0
- package/dist/projections/revision.d.ts.map +1 -1
- package/dist/projections/run-dispatch.d.ts.map +1 -1
- package/dist/projections/types.d.ts +2 -0
- package/dist/projections/types.d.ts.map +1 -1
- package/dist/query.d.ts +4 -2
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/rules/execution.d.ts.map +1 -1
- package/dist/runtime/ai-cost.d.ts +2 -0
- package/dist/runtime/ai-cost.d.ts.map +1 -1
- package/dist/runtime/ai-usage.d.ts +7 -0
- package/dist/runtime/ai-usage.d.ts.map +1 -1
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/internal.js +42 -38
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +2 -0
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +66 -8
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/index.js +7 -6
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/schedules/builders.d.ts.map +1 -1
- package/dist/schedules/index.js +3 -3
- package/dist/schedules/runtime.d.ts.map +1 -1
- package/dist/schedules/validation.d.ts.map +1 -1
- package/dist/security/grants.d.ts +12 -4
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/internal.js +1 -1
- package/dist/security/project.d.ts +4 -1
- package/dist/security/project.d.ts.map +1 -1
- package/dist/security/public.js +2 -2
- package/dist/security/registry.d.ts +6 -0
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +47 -9
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/security/view-conditions.d.ts +37 -0
- package/dist/security/view-conditions.d.ts.map +1 -0
- package/dist/shares/execution.d.ts.map +1 -1
- package/dist/shares/internal.js +34 -31
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +2 -2
- package/dist/storage/action-runs/provider.js +1 -1
- package/dist/storage/action-runs/types.d.ts +1 -1
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/agents/errors.d.ts +3 -1
- package/dist/storage/agents/errors.d.ts.map +1 -1
- package/dist/storage/agents/in-memory.d.ts +120 -3
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +2 -2
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +154 -4
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +60 -5
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +565 -13
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +10 -1
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/groups.d.ts +9 -0
- package/dist/storage/ai-cost/groups.d.ts.map +1 -1
- package/dist/storage/ai-cost/index.d.ts +1 -1
- package/dist/storage/ai-cost/index.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.d.ts +2 -1
- package/dist/storage/ai-cost/provider.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +11 -5
- package/dist/storage/ai-cost/provider.js.map +1 -1
- package/dist/storage/ai-cost/types.d.ts +14 -2
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/validation.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +5 -4
- package/dist/storage/ai-limits/enforcement.js.map +1 -1
- package/dist/storage/ai-limits/provider.d.ts +1 -1
- package/dist/storage/ai-limits/provider.d.ts.map +1 -1
- package/dist/storage/ai-limits/provider.js +3 -2
- package/dist/storage/ai-limits/provider.js.map +1 -1
- package/dist/storage/ai-usage/in-memory.d.ts +5 -1
- package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-usage/index.d.ts +2 -2
- package/dist/storage/ai-usage/index.d.ts.map +1 -1
- package/dist/storage/ai-usage/record.d.ts +5 -1
- package/dist/storage/ai-usage/record.d.ts.map +1 -1
- package/dist/storage/ai-usage/types.d.ts +33 -0
- package/dist/storage/ai-usage/types.d.ts.map +1 -1
- package/dist/storage/ai-usage/usage.d.ts +2 -0
- package/dist/storage/ai-usage/usage.d.ts.map +1 -1
- package/dist/storage/artifacts/errors.d.ts +12 -2
- package/dist/storage/artifacts/errors.d.ts.map +1 -1
- package/dist/storage/artifacts/in-memory.d.ts +23 -2
- package/dist/storage/artifacts/in-memory.d.ts.map +1 -1
- package/dist/storage/artifacts/index.d.ts +2 -2
- package/dist/storage/artifacts/index.d.ts.map +1 -1
- package/dist/storage/artifacts/record.d.ts +19 -2
- package/dist/storage/artifacts/record.d.ts.map +1 -1
- package/dist/storage/artifacts/types.d.ts +87 -8
- package/dist/storage/artifacts/types.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts +3 -2
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/users.d.ts +7 -3
- package/dist/storage/auth/in-memory/users.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +1 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +40 -9
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +1 -1
- package/dist/storage/executions/in-memory.d.ts +2 -1
- package/dist/storage/executions/in-memory.d.ts.map +1 -1
- package/dist/storage/executions/index.d.ts +1 -1
- package/dist/storage/executions/index.d.ts.map +1 -1
- package/dist/storage/executions/types.d.ts +15 -0
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.js +15 -12
- package/dist/storage/file-upload-sessions/provider.js.map +1 -1
- package/dist/storage/index.d.ts +13 -11
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +50 -39
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +2 -2
- package/dist/storage/internal.d.ts.map +1 -1
- package/dist/storage/internal.js +19 -8
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/migrations/migrate-storage.d.ts +4 -1
- package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
- package/dist/storage/migrations/prepare-unique-properties.d.ts +18 -0
- package/dist/storage/migrations/prepare-unique-properties.d.ts.map +1 -0
- package/dist/storage/objects/guard.d.ts +1 -1
- package/dist/storage/objects/guard.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/conditional-reader.d.ts +5 -0
- package/dist/storage/objects/in-memory/conditional-reader.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/read-scope.d.ts +3 -9
- package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/read-source.d.ts +10 -1
- package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/scoped-reader.d.ts +14 -0
- package/dist/storage/objects/in-memory/scoped-reader.d.ts.map +1 -0
- package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/storage.d.ts +36 -1
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
- package/dist/storage/objects/index.d.ts +2 -2
- package/dist/storage/objects/index.d.ts.map +1 -1
- package/dist/storage/objects/read-scope.d.ts +9 -1
- package/dist/storage/objects/read-scope.d.ts.map +1 -1
- package/dist/storage/objects/types.d.ts +64 -1
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +2 -0
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +1 -0
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/unique-values.d.ts +32 -0
- package/dist/storage/ontology/in-memory/unique-values.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +4 -1
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/materializations.d.ts +34 -1
- package/dist/storage/ontology/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/provider-work.d.ts +15 -2
- package/dist/storage/ontology/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +1 -1
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +9 -4
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/ontology/unique-values.d.ts +54 -0
- package/dist/storage/ontology/unique-values.d.ts.map +1 -0
- package/dist/storage/operation-scope.d.ts +1 -1
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/in-memory.d.ts +0 -6
- package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/projection-runs/provider.js +2 -2
- package/dist/storage/share-grants/provider.js +4 -3
- package/dist/storage/share-grants/provider.js.map +1 -1
- package/dist/storage/types.d.ts +2 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +15 -12
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +42 -39
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/agent-approval-storage-contract.d.ts +17 -0
- package/dist/testing/agent-approval-storage-contract.d.ts.map +1 -0
- package/dist/testing/agent-memory-storage-contract.d.ts +12 -0
- package/dist/testing/agent-memory-storage-contract.d.ts.map +1 -0
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-limit-storage-contract.d.ts +0 -1
- package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
- package/dist/testing/artifact-storage-contract.d.ts.map +1 -1
- package/dist/testing/auth-storage-contract.d.ts +13 -0
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/broker-contract.d.ts +5 -0
- package/dist/testing/broker-contract.d.ts.map +1 -1
- package/dist/testing/effective-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution-storage-contract.d.ts.map +1 -1
- package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.d.ts +9 -5
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +7938 -3743
- package/dist/testing/index.js.map +29 -25
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-conditional-read-scope-contract.d.ts +11 -0
- package/dist/testing/object-conditional-read-scope-contract.d.ts.map +1 -0
- package/dist/testing/object-query-contract.d.ts +0 -2
- package/dist/testing/object-query-contract.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts +5 -0
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/testing/sandboxes-contract.d.ts.map +1 -1
- package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
- package/dist/testing/share-session-storage-contract.d.ts.map +1 -1
- package/dist/testing/unique-values-contract.d.ts +21 -0
- package/dist/testing/unique-values-contract.d.ts.map +1 -0
- package/dist/testing/webhook-execution.d.ts +0 -8
- package/dist/testing/webhook-execution.d.ts.map +1 -1
- package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -1
- package/dist/users/execution.d.ts +40 -0
- package/dist/users/execution.d.ts.map +1 -0
- package/dist/users/index.d.ts +3 -0
- package/dist/users/index.d.ts.map +1 -0
- package/dist/webhooks/internal.js +34 -31
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +4 -6
- package/dist/workers/index.js.map +4 -4
- package/dist/workers/queue-worker.d.ts +0 -2
- package/dist/workers/queue-worker.d.ts.map +1 -1
- package/dist/workers/worker.d.ts +0 -2
- package/dist/workers/worker.d.ts.map +1 -1
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/index.js +67 -63
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts +12 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +6 -2
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/actions/commit-edits.ts +6 -1
- package/src/actions/execution.ts +42 -15
- package/src/actions/read-facade.ts +33 -0
- package/src/actions/request.ts +224 -71
- package/src/actions/run/context.ts +47 -1
- package/src/actions/run/execute.ts +13 -6
- package/src/actions/run/executor.ts +11 -2
- package/src/actions/run/normalize.ts +12 -2
- package/src/actions/run/phases.ts +2 -0
- package/src/actions/run/run-action.ts +12 -3
- package/src/actions/run/signals.ts +3 -9
- package/src/actions/run/types.ts +17 -1
- package/src/actions/run-authorization.ts +72 -0
- package/src/actions/types/context.ts +20 -3
- package/src/actions/validators.ts +19 -8
- package/src/activity/README.md +5 -2
- package/src/activity/timeline.ts +39 -78
- package/src/agents/accounting.ts +59 -0
- package/src/agents/adapters.ts +10 -0
- package/src/agents/agent-mail.ts +29 -0
- package/src/agents/api-gateway.ts +14 -3
- package/src/agents/approval-continuation.ts +48 -0
- package/src/agents/approval-executor.ts +318 -0
- package/src/agents/approval-outcome.ts +59 -0
- package/src/agents/approvals.ts +566 -0
- package/src/agents/authority.ts +24 -1
- package/src/agents/builders.ts +5 -3
- package/src/agents/cancel.ts +103 -0
- package/src/agents/child-question.ts +46 -0
- package/src/agents/children.ts +404 -0
- package/src/agents/context-compaction.ts +12 -0
- package/src/agents/errors.ts +31 -0
- package/src/agents/execution.ts +788 -90
- package/src/agents/fork.ts +158 -0
- package/src/agents/ids.ts +18 -6
- package/src/agents/index.ts +55 -0
- package/src/agents/memory-execution.ts +186 -0
- package/src/agents/memory.ts +178 -0
- package/src/agents/message.ts +57 -0
- package/src/agents/model-loop.ts +93 -6
- package/src/agents/model-routing.ts +193 -0
- package/src/agents/participants.ts +213 -0
- package/src/agents/reference.ts +2 -0
- package/src/agents/request.ts +398 -69
- package/src/agents/run-scope.ts +134 -0
- package/src/agents/streams/index.ts +5 -0
- package/src/agents/streams/internal.ts +1 -0
- package/src/agents/streams/protocol.ts +385 -7
- package/src/agents/subagent-runs.ts +41 -0
- package/src/agents/thread-access.ts +137 -0
- package/src/agents/tool-definition.ts +5 -3
- package/src/agents/types.ts +35 -10
- package/src/agents/validation.ts +2 -0
- package/src/artifacts/access.ts +125 -0
- package/src/artifacts/canvas.ts +369 -0
- package/src/artifacts/csv.ts +10 -0
- package/src/artifacts/errors.ts +12 -1
- package/src/artifacts/execution.ts +436 -36
- package/src/artifacts/formula/check.ts +171 -0
- package/src/artifacts/formula/evaluate.ts +288 -0
- package/src/artifacts/formula/index.ts +199 -0
- package/src/artifacts/formula/parser.ts +357 -0
- package/src/artifacts/frames/assets.ts +35 -19
- package/src/artifacts/frames/entries.ts +35 -0
- package/src/artifacts/frames/grants.ts +10 -9
- package/src/artifacts/frames/index.ts +8 -2
- package/src/artifacts/frames/kit.ts +191 -14
- package/src/artifacts/frames/probe.ts +66 -18
- package/src/artifacts/frames/protocol.ts +164 -10
- package/src/artifacts/frames/runtime.ts +273 -28
- package/src/artifacts/index.ts +66 -2
- package/src/artifacts/kinds.ts +1 -1
- package/src/artifacts/limits.ts +31 -0
- package/src/artifacts/live-sheet.ts +345 -0
- package/src/artifacts/outline.ts +34 -1
- package/src/artifacts/publish/index.ts +2 -0
- package/src/artifacts/publish/publish.ts +120 -34
- package/src/artifacts/publish/queries.ts +336 -0
- package/src/artifacts/publish/references.ts +18 -13
- package/src/artifacts/publish/validate/canvas.ts +118 -0
- package/src/artifacts/publish/validate/html.ts +78 -0
- package/src/artifacts/publish/validate/page.ts +65 -0
- package/src/artifacts/publish/validate/sheet.ts +115 -69
- package/src/artifacts/publish/validate/slides.ts +11 -63
- package/src/artifacts/queries.ts +512 -0
- package/src/artifacts/resolve.ts +20 -5
- package/src/artifacts/run-query.ts +212 -0
- package/src/artifacts/serialize-query.ts +25 -0
- package/src/artifacts/sheet-rules.ts +180 -0
- package/src/artifacts/tones.ts +20 -0
- package/src/artifacts/workbook.ts +374 -15
- package/src/auth/index.ts +4 -0
- package/src/auth/member-events.ts +114 -0
- package/src/auth/profile.ts +118 -0
- package/src/auth/runtime.ts +190 -9
- package/src/auth/strategy.ts +3 -0
- package/src/auth/types.ts +32 -0
- package/src/authorization/decision.ts +47 -0
- package/src/authorization/event-visibility.ts +17 -16
- package/src/authorization/grant-kinds.ts +32 -0
- package/src/authorization/index.ts +6 -1
- package/src/authorization/resolve.ts +58 -1
- package/src/authorization/run-visibility.ts +8 -1
- package/src/authorization/types.ts +14 -0
- package/src/errors/catalog.ts +26 -1
- package/src/errors/internal.ts +17 -8
- package/src/events/definitions.ts +26 -0
- package/src/events/execution.ts +43 -6
- package/src/events/index.ts +10 -1
- package/src/events/scope.ts +2 -0
- package/src/events/selectors/builder.ts +50 -0
- package/src/events/selectors/index.ts +4 -0
- package/src/events/selectors/types.ts +32 -1
- package/src/events/service.ts +55 -2
- package/src/events/types/index.ts +10 -0
- package/src/events/types/users.ts +73 -0
- package/src/events/view-conditions.ts +241 -0
- package/src/execution/agent.ts +25 -0
- package/src/execution/authorization.ts +70 -0
- package/src/execution/authorized-object-reader.ts +238 -32
- package/src/execution/lineage.ts +14 -0
- package/src/execution/object-reader-ontology.ts +11 -14
- package/src/execution/object-reader-security.ts +134 -10
- package/src/execution/object-reader-users.ts +122 -0
- package/src/execution/preparation.ts +78 -0
- package/src/execution/request.ts +2 -0
- package/src/execution/unique-lookup.ts +55 -0
- package/src/execution/visible-objects.ts +26 -0
- package/src/http/api-routes.ts +206 -7
- package/src/index.ts +99 -2
- package/src/materialization/errors.ts +37 -0
- package/src/materialization/event-envelopes.ts +11 -3
- package/src/materialization/index.ts +1 -0
- package/src/materialization/model.ts +24 -4
- package/src/materializer/README.md +7 -1
- package/src/materializer/edits/commit.ts +56 -12
- package/src/materializer/edits/load-state.ts +15 -7
- package/src/materializer/edits/operations.ts +12 -0
- package/src/materializer/edits/plan.ts +2 -0
- package/src/materializer/edits/unique-values.ts +255 -0
- package/src/materializer/edits/working-state.ts +8 -1
- package/src/materializer/execution/work-records.ts +47 -0
- package/src/materializer/projections/finish-run.ts +0 -1
- package/src/materializer/projections/replace.ts +1 -1
- package/src/materializer/projections/replacement-plan.ts +4 -1
- package/src/materializer/projections/source-materialization.ts +2 -1
- package/src/materializer/shared/normalize.ts +37 -6
- package/src/materializer/shared/projection-run.ts +1 -2
- package/src/materializer/telemetry/append.ts +14 -17
- package/src/materializer/telemetry/plan.ts +2 -0
- package/src/models/audio/catalog.ts +89 -10
- package/src/models/audio/errors.ts +18 -1
- package/src/models/audio/runtime.ts +10 -13
- package/src/models/audio/speech.ts +261 -0
- package/src/models/audio/types.ts +97 -0
- package/src/models/calls.ts +100 -0
- package/src/models/catalog-index.ts +21 -2
- package/src/models/catalog.ts +211 -35
- package/src/models/decision/runtime.ts +21 -22
- package/src/models/decision/validation.ts +4 -1
- package/src/models/definitions.ts +57 -8
- package/src/models/events.ts +72 -1
- package/src/models/execution/README.md +34 -5
- package/src/models/execution/binding.ts +3 -1
- package/src/models/execution/embedding.ts +1 -0
- package/src/models/execution/index.ts +5 -0
- package/src/models/execution/model-call-accounting.ts +3 -1
- package/src/models/execution/model-call-recorder.ts +29 -1
- package/src/models/execution/usage.ts +8 -0
- package/src/models/execution.ts +20 -22
- package/src/models/generation-types.ts +8 -1
- package/src/models/image/catalog.ts +89 -0
- package/src/models/image/errors.ts +19 -0
- package/src/models/image/runtime.ts +335 -0
- package/src/models/image/types.ts +111 -0
- package/src/models/index.ts +38 -4
- package/src/models/{audio/file.ts → input-file.ts} +22 -13
- package/src/models/language-model.ts +13 -0
- package/src/models/pricing.ts +263 -42
- package/src/models/rate-card.ts +161 -12
- package/src/objects/authorized-ontology-view.ts +1 -0
- package/src/objects/conditional-writes.ts +109 -0
- package/src/objects/execution.ts +4 -0
- package/src/objects/index.ts +8 -0
- package/src/objects/link/authorization.ts +12 -3
- package/src/objects/link/endpoints.ts +42 -11
- package/src/objects/link/remove.ts +25 -10
- package/src/objects/link/upsert-batch.ts +2 -0
- package/src/objects/link/upsert.ts +18 -12
- package/src/objects/materializer-adapter.ts +55 -18
- package/src/objects/object/delete.ts +24 -7
- package/src/objects/object/upsert-batch.ts +44 -14
- package/src/objects/object/upsert.ts +23 -5
- package/src/objects/query/current-user.ts +76 -0
- package/src/objects/query/executor.ts +39 -103
- package/src/objects/query/explain.ts +20 -7
- package/src/objects/query/index.ts +2 -0
- package/src/objects/query/ir.ts +20 -0
- package/src/objects/query/links.ts +8 -0
- package/src/objects/query/matches-predicate.ts +108 -0
- package/src/objects/query/normalize.ts +50 -19
- package/src/objects/query/scalar-values.ts +19 -3
- package/src/objects/query/user-expansions.ts +65 -0
- package/src/objects/query/validate.ts +248 -10
- package/src/objects/runtime-batch.ts +8 -2
- package/src/objects/sdk/object-set.ts +12 -1
- package/src/objects/sdk/query-builder.ts +39 -8
- package/src/objects/sdk/query-executor.ts +6 -0
- package/src/objects/serialize.ts +79 -0
- package/src/objects/unique-violation.ts +59 -0
- package/src/objects/vectors/handle.ts +3 -3
- package/src/ontology/builders.ts +3 -0
- package/src/ontology/docs-markdown.ts +1 -0
- package/src/ontology/index.ts +2 -2
- package/src/ontology/json-schema.ts +4 -0
- package/src/ontology/primitives.ts +21 -8
- package/src/ontology/registry.ts +16 -0
- package/src/ontology/types.ts +9 -0
- package/src/ontology/unique-values.ts +84 -0
- package/src/ontology/user-ref.ts +39 -0
- package/src/ontology/validation/properties.ts +43 -0
- package/src/ontology/validation/schema.ts +9 -1
- package/src/projections/registry.ts +16 -10
- package/src/projections/revision.ts +112 -45
- package/src/projections/run-dispatch.ts +38 -25
- package/src/projections/types.ts +2 -0
- package/src/query.ts +5 -0
- package/src/rules/execution.ts +43 -11
- package/src/runtime/ai-cost.ts +30 -0
- package/src/runtime/ai-usage.ts +32 -1
- package/src/runtime/host.ts +18 -1
- package/src/runtime/index.ts +2 -0
- package/src/runtime/resolve-definitions.ts +3 -0
- package/src/runtime/sixb.ts +35 -8
- package/src/runtime/types.ts +99 -9
- package/src/schedules/builders.ts +3 -1
- package/src/schedules/runtime.ts +6 -0
- package/src/schedules/validation.ts +23 -1
- package/src/security/README.md +62 -0
- package/src/security/grants.ts +155 -10
- package/src/security/index.ts +3 -1
- package/src/security/project.ts +6 -1
- package/src/security/registry.ts +32 -7
- package/src/security/types.ts +54 -9
- package/src/security/validation.ts +27 -11
- package/src/security/view-conditions.ts +215 -0
- package/src/shares/execution.ts +43 -10
- package/src/storage/action-runs/types.ts +2 -0
- package/src/storage/agents/errors.ts +3 -0
- package/src/storage/agents/in-memory.ts +779 -32
- package/src/storage/agents/index.ts +42 -0
- package/src/storage/agents/provider.ts +733 -8
- package/src/storage/agents/types.ts +620 -12
- package/src/storage/ai-cost/analytics.ts +60 -7
- package/src/storage/ai-cost/codec.ts +6 -1
- package/src/storage/ai-cost/groups.ts +44 -1
- package/src/storage/ai-cost/index.ts +1 -0
- package/src/storage/ai-cost/provider.ts +2 -0
- package/src/storage/ai-cost/types.ts +18 -1
- package/src/storage/ai-cost/validation.ts +39 -12
- package/src/storage/ai-limits/provider.ts +4 -7
- package/src/storage/ai-usage/in-memory.ts +28 -1
- package/src/storage/ai-usage/index.ts +9 -1
- package/src/storage/ai-usage/record.ts +44 -7
- package/src/storage/ai-usage/types.ts +38 -0
- package/src/storage/ai-usage/usage.ts +15 -1
- package/src/storage/artifacts/errors.ts +13 -1
- package/src/storage/artifacts/in-memory.ts +156 -8
- package/src/storage/artifacts/index.ts +6 -1
- package/src/storage/artifacts/record.ts +61 -1
- package/src/storage/artifacts/types.ts +92 -8
- package/src/storage/auth/in-memory/auth-storage.ts +27 -2
- package/src/storage/auth/in-memory/users.ts +40 -6
- package/src/storage/auth/index.ts +1 -0
- package/src/storage/auth/types.ts +43 -7
- package/src/storage/executions/in-memory.ts +32 -0
- package/src/storage/executions/index.ts +2 -0
- package/src/storage/executions/types.ts +17 -0
- package/src/storage/index.ts +69 -1
- package/src/storage/internal.ts +9 -1
- package/src/storage/migrations/migrate-storage.ts +8 -1
- package/src/storage/migrations/prepare-unique-properties.ts +161 -0
- package/src/storage/objects/guard.ts +7 -3
- package/src/storage/objects/in-memory/conditional-reader.ts +72 -0
- package/src/storage/objects/in-memory/query.ts +4 -105
- package/src/storage/objects/in-memory/read-scope.ts +15 -14
- package/src/storage/objects/in-memory/read-source.ts +11 -1
- package/src/storage/objects/in-memory/scoped-reader.ts +243 -0
- package/src/storage/objects/in-memory/selected-reader.ts +6 -231
- package/src/storage/objects/in-memory/storage.ts +183 -1
- package/src/storage/objects/index.ts +9 -1
- package/src/storage/objects/read-scope.ts +191 -0
- package/src/storage/objects/types.ts +68 -1
- package/src/storage/ontology/in-memory/index.ts +3 -0
- package/src/storage/ontology/in-memory/materializations.ts +35 -0
- package/src/storage/ontology/in-memory/replacement-plans.ts +4 -0
- package/src/storage/ontology/in-memory/unique-values.ts +62 -0
- package/src/storage/ontology/index.ts +10 -0
- package/src/storage/ontology/materializations.ts +35 -1
- package/src/storage/ontology/provider-work.ts +76 -0
- package/src/storage/ontology/provider.ts +3 -0
- package/src/storage/ontology/unique-values.ts +56 -0
- package/src/storage/operation-scope.ts +9 -1
- package/src/storage/projection-runs/in-memory.ts +3 -35
- package/src/storage/types.ts +2 -0
- package/src/testing/agent-approval-storage-contract.ts +1117 -0
- package/src/testing/agent-memory-storage-contract.ts +400 -0
- package/src/testing/agent-storage-contract.ts +1188 -33
- package/src/testing/ai-cost-storage-contract.ts +31 -1
- package/src/testing/ai-limit-storage-contract.ts +9 -7
- package/src/testing/ai-model-call-groups-contract.ts +76 -0
- package/src/testing/ai-usage-storage-contract.ts +120 -13
- package/src/testing/artifact-storage-contract.ts +338 -4
- package/src/testing/auth-storage-contract.ts +550 -73
- package/src/testing/broker-contract.ts +28 -23
- package/src/testing/effective-storage-contract.ts +3 -8
- package/src/testing/execution-storage-contract.ts +53 -0
- package/src/testing/file-upload-session-storage-contract.ts +12 -24
- package/src/testing/index.ts +17 -4
- package/src/testing/lake-storage-contract.ts +22 -28
- package/src/testing/materializer-storage-contract.ts +36 -9
- package/src/testing/object-conditional-read-scope-contract.ts +634 -0
- package/src/testing/object-query-contract.ts +386 -186
- package/src/testing/ontology-storage-contract.ts +230 -21
- package/src/testing/projection-run-storage-contract.ts +8 -18
- package/src/testing/queues-contract.ts +39 -70
- package/src/testing/sandboxes-contract.ts +3 -14
- package/src/testing/share-grant-storage-contract.ts +13 -16
- package/src/testing/share-session-storage-contract.ts +4 -14
- package/src/testing/unique-values-contract.ts +907 -0
- package/src/testing/webhook-execution.ts +1 -1
- package/src/testing/webhook-run-storage-contract.ts +6 -9
- package/src/users/execution.ts +131 -0
- package/src/users/index.ts +2 -0
- package/src/workers/queue-worker.ts +1 -3
- package/src/workers/worker.ts +1 -3
- package/src/workflows/builders.ts +6 -0
- package/src/workflows/request.ts +46 -8
- package/src/workflows/types.ts +6 -2
- package/src/workflows/validation.ts +23 -9
- package/dist/chunk-29yx306f.js.map +0 -22
- package/dist/chunk-3jms7je7.js +0 -14
- package/dist/chunk-3jms7je7.js.map +0 -10
- package/dist/chunk-3qct2mdc.js +0 -297
- package/dist/chunk-3qct2mdc.js.map +0 -12
- package/dist/chunk-48qjhh6v.js.map +0 -13
- package/dist/chunk-4as3wt1c.js.map +0 -12
- package/dist/chunk-5948n82c.js.map +0 -10
- package/dist/chunk-5hx48dnn.js.map +0 -14
- package/dist/chunk-6rqgmkde.js.map +0 -29
- package/dist/chunk-6x0pqh32.js.map +0 -10
- package/dist/chunk-7n30ybym.js +0 -3
- package/dist/chunk-7n440zgt.js +0 -261
- package/dist/chunk-7n440zgt.js.map +0 -12
- package/dist/chunk-7q8t23v4.js +0 -467
- package/dist/chunk-7q8t23v4.js.map +0 -14
- package/dist/chunk-8frc8a4j.js.map +0 -20
- package/dist/chunk-918wwnaa.js.map +0 -68
- package/dist/chunk-91mg3nj9.js.map +0 -12
- package/dist/chunk-96yw3pwd.js.map +0 -10
- package/dist/chunk-9j4jw7as.js.map +0 -14
- package/dist/chunk-9k93ah50.js.map +0 -11
- package/dist/chunk-9kgkfg6v.js +0 -502
- package/dist/chunk-9kgkfg6v.js.map +0 -14
- package/dist/chunk-akzryx9h.js.map +0 -100
- package/dist/chunk-arns890k.js.map +0 -10
- package/dist/chunk-bk9svbcq.js.map +0 -49
- package/dist/chunk-c06hmxyy.js +0 -31
- package/dist/chunk-c06hmxyy.js.map +0 -10
- package/dist/chunk-c1rxbz5y.js.map +0 -12
- package/dist/chunk-cn0fwwhy.js.map +0 -19
- package/dist/chunk-dhcv7yxc.js.map +0 -11
- package/dist/chunk-dhdha526.js.map +0 -10
- package/dist/chunk-dvd2fp9q.js.map +0 -13
- package/dist/chunk-e6k4thh5.js.map +0 -19
- package/dist/chunk-ere85b8y.js.map +0 -15
- package/dist/chunk-g257jwnc.js.map +0 -12
- package/dist/chunk-hwksyjks.js.map +0 -11
- package/dist/chunk-k43ct2ke.js.map +0 -12
- package/dist/chunk-nn5xnx3s.js.map +0 -40
- package/dist/chunk-pbcbn83d.js.map +0 -14
- package/dist/chunk-pqajwytd.js +0 -68
- package/dist/chunk-pqajwytd.js.map +0 -11
- package/dist/chunk-qczk96d9.js.map +0 -11
- package/dist/chunk-rdghfsss.js +0 -39
- package/dist/chunk-rdghfsss.js.map +0 -10
- package/dist/chunk-rj69qcrd.js.map +0 -11
- package/dist/chunk-v4jbb3rs.js.map +0 -10
- package/dist/chunk-yxd3nnqt.js.map +0 -11
- package/dist/events/toStoredEvent.d.ts +0 -9
- package/dist/events/toStoredEvent.d.ts.map +0 -1
- package/dist/models/audio/file.d.ts +0 -9
- package/dist/models/audio/file.d.ts.map +0 -1
- package/src/events/toStoredEvent.ts +0 -33
- /package/dist/{chunk-mfs23znk.js.map → chunk-07kkp2e1.js.map} +0 -0
- /package/dist/{chunk-z58tm0hm.js.map → chunk-0phpbbvm.js.map} +0 -0
- /package/dist/{chunk-e17zdm62.js.map → chunk-1t6k1avb.js.map} +0 -0
- /package/dist/{chunk-kge7k6ey.js.map → chunk-2fn60nvs.js.map} +0 -0
- /package/dist/{chunk-y0c4e6ex.js.map → chunk-3gbefjg5.js.map} +0 -0
- /package/dist/{chunk-cy4mbddw.js.map → chunk-48jezz3j.js.map} +0 -0
- /package/dist/{chunk-twe4dx8p.js → chunk-5tfev0fv.js} +0 -0
- /package/dist/{chunk-twe4dx8p.js.map → chunk-5tfev0fv.js.map} +0 -0
- /package/dist/{chunk-447a5c0p.js.map → chunk-6n69k945.js.map} +0 -0
- /package/dist/{chunk-0bphap9y.js.map → chunk-6p0pastb.js.map} +0 -0
- /package/dist/{chunk-431pyp2c.js.map → chunk-6y0mkhex.js.map} +0 -0
- /package/dist/{chunk-s7jg7pmn.js.map → chunk-bab05bhg.js.map} +0 -0
- /package/dist/{chunk-q5e5tv4b.js.map → chunk-c844dkwd.js.map} +0 -0
- /package/dist/{chunk-cfj9dfbb.js.map → chunk-d2m879s4.js.map} +0 -0
- /package/dist/{chunk-q7gn29y3.js.map → chunk-dp0cdtj2.js.map} +0 -0
- /package/dist/{chunk-br3k6qbf.js.map → chunk-fm62y49k.js.map} +0 -0
- /package/dist/{chunk-vvxtn22d.js.map → chunk-g663fahq.js.map} +0 -0
- /package/dist/{chunk-rmakanzx.js.map → chunk-h33shhq6.js.map} +0 -0
- /package/dist/{chunk-d09e3rax.js.map → chunk-hwarjrgf.js.map} +0 -0
- /package/dist/{chunk-vf57cr4t.js.map → chunk-hyesv9dv.js.map} +0 -0
- /package/dist/{chunk-5vems3nx.js.map → chunk-m2nevja0.js.map} +0 -0
- /package/dist/{chunk-x9v4cx1d.js.map → chunk-m36fw8ft.js.map} +0 -0
- /package/dist/{chunk-a40ad1ft.js.map → chunk-mbsbxarb.js.map} +0 -0
- /package/dist/{chunk-6aawea28.js.map → chunk-n8q5j6y5.js.map} +0 -0
- /package/dist/{chunk-d7dnxdep.js.map → chunk-n9zpx9c6.js.map} +0 -0
- /package/dist/{chunk-xvsc5m8n.js.map → chunk-npcr0228.js.map} +0 -0
- /package/dist/{chunk-y5tah2kf.js.map → chunk-q4pmvkg0.js.map} +0 -0
- /package/dist/{chunk-d5rjr8c0.js.map → chunk-vabga7fk.js.map} +0 -0
|
@@ -4,6 +4,7 @@ import type { PropertyChange, PropertyChangeMap } from "../events/property-chang
|
|
|
4
4
|
import type { JsonValue } from "../json"
|
|
5
5
|
import type { ProjectionProtocolIdentity, ProjectionRunFailureCode } from "../projections/types"
|
|
6
6
|
import type { RecordActionRunInput } from "../storage/action-runs/types"
|
|
7
|
+
import type { UniqueValueRef } from "../storage/ontology/materializations"
|
|
7
8
|
import type { ObjectVectorWrite } from "./vectors"
|
|
8
9
|
|
|
9
10
|
export type { ProjectionProtocolIdentity } from "../projections/types"
|
|
@@ -44,6 +45,7 @@ export interface PinnedDatasetVersion {
|
|
|
44
45
|
interface ProjectionMaterializationIdentityBase {
|
|
45
46
|
readonly projectionId: string
|
|
46
47
|
readonly datasetVersion: PinnedDatasetVersion
|
|
48
|
+
/** The part of the ontology the projection reads, not the whole ontology. */
|
|
47
49
|
readonly ontologyRevision: string
|
|
48
50
|
readonly projectionRevision: string
|
|
49
51
|
readonly ownershipHash: string
|
|
@@ -127,6 +129,11 @@ interface AtomicOntologyEditCommit extends BaseOntologyEditCommit {
|
|
|
127
129
|
readonly expectedObjects: readonly ExpectedObjectRevision[]
|
|
128
130
|
readonly expectedLinks: readonly ExpectedLinkRevision[]
|
|
129
131
|
readonly expectedLinkScopes: readonly ExpectedLinkScopeRevision[]
|
|
132
|
+
/**
|
|
133
|
+
* Unique values no object held when the commit's author read them: a commit that lands after
|
|
134
|
+
* and gives one to an object makes this commit fail with an `expectation` conflict.
|
|
135
|
+
*/
|
|
136
|
+
readonly expectedUnclaimedValues?: readonly UniqueValueRef[]
|
|
130
137
|
}
|
|
131
138
|
|
|
132
139
|
export type OntologyEditCommit =
|
|
@@ -160,6 +167,11 @@ export type OntologyEditCommit =
|
|
|
160
167
|
* it as failed. Ungrouped operations keep per-operation isolation.
|
|
161
168
|
*/
|
|
162
169
|
readonly operationGroups?: readonly (readonly string[])[]
|
|
170
|
+
/**
|
|
171
|
+
* Objects as the commit's author read them. One that changed since fails the whole commit
|
|
172
|
+
* with an `expectation` conflict, as in an atomic commit, rather than one operation.
|
|
173
|
+
*/
|
|
174
|
+
readonly expectedObjects?: readonly ExpectedObjectRevision[]
|
|
163
175
|
})
|
|
164
176
|
|
|
165
177
|
export type ProjectionEntityRef =
|
|
@@ -282,10 +294,18 @@ export interface TelemetryAppend {
|
|
|
282
294
|
readonly points: readonly TelemetryPointWrite[]
|
|
283
295
|
}
|
|
284
296
|
|
|
285
|
-
export
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
297
|
+
export type MaterializationItemError =
|
|
298
|
+
| {
|
|
299
|
+
readonly code: "validation"
|
|
300
|
+
readonly message: string
|
|
301
|
+
}
|
|
302
|
+
| {
|
|
303
|
+
/** Another object of the type holds a value the item claims. */
|
|
304
|
+
readonly code: "unique_violation"
|
|
305
|
+
readonly message: string
|
|
306
|
+
readonly objectTypeId: string
|
|
307
|
+
readonly propertyId: string
|
|
308
|
+
}
|
|
289
309
|
|
|
290
310
|
export interface EffectiveObjectSnapshot {
|
|
291
311
|
readonly ref: OntologyObjectRef
|
|
@@ -148,7 +148,7 @@ failed in between replaces nothing, and releases the candidate like any other en
|
|
|
148
148
|
ordered edit operations
|
|
149
149
|
-> transaction-local EditWorkingState
|
|
150
150
|
-> update object, link-edge, and link-slot overrides
|
|
151
|
-
-> validate effective objects, endpoints, and
|
|
151
|
+
-> validate effective objects, endpoints, cardinality, and unique values
|
|
152
152
|
-> diff final working state against commit-start state
|
|
153
153
|
-> plan and finalize one commit
|
|
154
154
|
```
|
|
@@ -158,6 +158,12 @@ its mutable overrides let operation N+1 observe operation N. In `continue` mode,
|
|
|
158
158
|
operation rolls back only its working override; provider and infrastructure failures abort the
|
|
159
159
|
whole transaction.
|
|
160
160
|
|
|
161
|
+
Unique property values are kept in a table of their own, maintained by every object change: its
|
|
162
|
+
plan releases the values the object gives up in the first apply phase and claims those it takes in
|
|
163
|
+
the last, so a commit can move values between objects. Storage refuses a claim on a value another
|
|
164
|
+
object holds. A `continue` batch checks the same rule first, on the holders it loads with its
|
|
165
|
+
state (`edits/unique-values.ts`), so only the colliding item fails.
|
|
166
|
+
|
|
161
167
|
Action-backed edits carry the run's terminal record. The commit validates the trusted Action
|
|
162
168
|
execution and the record's `executionId`, then inserts the record in its own transaction before new
|
|
163
169
|
work, so edits never land without the run that made them and a run id commits once: a second insert
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MaterializationConflictError,
|
|
3
3
|
MaterializationValidationError,
|
|
4
|
+
UniqueValueViolationError,
|
|
4
5
|
} from "../../materialization/errors"
|
|
5
6
|
import type {
|
|
6
7
|
EditCommitResult,
|
|
8
|
+
MaterializationItemError,
|
|
7
9
|
OntologyEditCommit,
|
|
8
10
|
OntologyEditOperation,
|
|
9
11
|
OntologyMaterializationOrigin,
|
|
@@ -34,6 +36,7 @@ import { compileEditExecutionUnits, type EditExecutionUnit } from "./execution-u
|
|
|
34
36
|
import { loadEditWorkingState } from "./load-state"
|
|
35
37
|
import { applyEditOperation, type EditUndoJournal, undoEditJournal } from "./operations"
|
|
36
38
|
import { stageEditPlan } from "./plan"
|
|
39
|
+
import { assertValuesUnclaimed } from "./unique-values"
|
|
37
40
|
import { loadReferencedUsers, type ReferencedUsers } from "./user-refs"
|
|
38
41
|
import { authorizeVectorIndexingCommit } from "./vector-authority"
|
|
39
42
|
import { commitVectorWrites } from "./vectors"
|
|
@@ -185,11 +188,20 @@ async function executeEditTransaction(
|
|
|
185
188
|
await recordActionRun(storage, command.input)
|
|
186
189
|
|
|
187
190
|
const session = await beginEditMaterialization(context, storage, command)
|
|
191
|
+
if (command.input.mode === "atomic") {
|
|
192
|
+
await assertValuesUnclaimed(
|
|
193
|
+
context,
|
|
194
|
+
storage.ontology.materializations,
|
|
195
|
+
session,
|
|
196
|
+
command.input.expectedUnclaimedValues ?? []
|
|
197
|
+
)
|
|
198
|
+
}
|
|
188
199
|
const workingState = await loadEditWorkingState(
|
|
189
200
|
context,
|
|
190
201
|
storage.ontology.materializations,
|
|
191
202
|
session,
|
|
192
|
-
command.input.operations
|
|
203
|
+
command.input.operations,
|
|
204
|
+
{ checkUniqueValuesPerItem: command.input.mode === "continue" }
|
|
193
205
|
)
|
|
194
206
|
const outcomes = applyEditOperations(context, workingState, command)
|
|
195
207
|
const changes = await stageEditPlan(
|
|
@@ -262,7 +274,7 @@ function editExpectations(input: NormalizedEditCommit) {
|
|
|
262
274
|
linkScopes: input.expectedLinkScopes,
|
|
263
275
|
}
|
|
264
276
|
}
|
|
265
|
-
return { objects: [], links: [], linkScopes: [] }
|
|
277
|
+
return { objects: input.expectedObjects ?? [], links: [], linkScopes: [] }
|
|
266
278
|
}
|
|
267
279
|
|
|
268
280
|
function applyEditOperations(
|
|
@@ -275,6 +287,7 @@ function applyEditOperations(
|
|
|
275
287
|
for (const unit of units) {
|
|
276
288
|
outcomes.push(...applyEditExecutionUnit(context, state, command, unit))
|
|
277
289
|
}
|
|
290
|
+
|
|
278
291
|
return outcomes
|
|
279
292
|
}
|
|
280
293
|
|
|
@@ -296,11 +309,22 @@ function applyOneEditOperation(
|
|
|
296
309
|
operation: OntologyEditOperation,
|
|
297
310
|
command: PreparedEditCommit
|
|
298
311
|
): OntologyOperationOutcome {
|
|
312
|
+
const journal: EditUndoJournal = []
|
|
299
313
|
try {
|
|
300
|
-
|
|
314
|
+
const outcome = applyEditOperation(
|
|
315
|
+
context,
|
|
316
|
+
state,
|
|
317
|
+
operation,
|
|
318
|
+
command.identity,
|
|
319
|
+
command.users,
|
|
320
|
+
journal
|
|
321
|
+
)
|
|
322
|
+
if (command.input.mode === "continue") state.uniqueValues.assertDistinct()
|
|
323
|
+
return outcome
|
|
301
324
|
} catch (error) {
|
|
302
325
|
if (!isRecoverableEditValidation(command.input, error)) throw error
|
|
303
|
-
|
|
326
|
+
undoEditJournal(journal)
|
|
327
|
+
return { id: operation.id, ok: false, error: itemError(error) }
|
|
304
328
|
}
|
|
305
329
|
}
|
|
306
330
|
|
|
@@ -334,27 +358,47 @@ function applyEditOperationGroup(
|
|
|
334
358
|
} catch (error) {
|
|
335
359
|
if (!isRecoverableEditValidation(command.input, error)) throw error
|
|
336
360
|
undoEditJournal(journal)
|
|
337
|
-
return failedEditGroup(group, error
|
|
361
|
+
return failedEditGroup(group, itemError(error))
|
|
338
362
|
}
|
|
339
363
|
if (!outcome.ok) {
|
|
340
364
|
undoEditJournal(journal)
|
|
341
|
-
return failedEditGroup(group, outcome.error
|
|
365
|
+
return failedEditGroup(group, outcome.error)
|
|
342
366
|
}
|
|
343
367
|
applied.push(outcome)
|
|
344
368
|
}
|
|
369
|
+
|
|
370
|
+
// A group applies as a whole: values may move between its objects.
|
|
371
|
+
if (command.input.mode === "continue") {
|
|
372
|
+
try {
|
|
373
|
+
state.uniqueValues.assertDistinct()
|
|
374
|
+
} catch (error) {
|
|
375
|
+
if (!isRecoverableEditValidation(command.input, error)) throw error
|
|
376
|
+
undoEditJournal(journal)
|
|
377
|
+
return failedEditGroup(group, itemError(error))
|
|
378
|
+
}
|
|
379
|
+
}
|
|
345
380
|
return applied
|
|
346
381
|
}
|
|
347
382
|
|
|
348
383
|
/** Reports every id in a rolled-back group as failed, so no position looks applied. */
|
|
349
384
|
function failedEditGroup(
|
|
350
385
|
group: readonly OntologyEditOperation[],
|
|
351
|
-
|
|
386
|
+
error: MaterializationItemError
|
|
352
387
|
): OntologyOperationOutcome[] {
|
|
353
|
-
return group.map((operation) => ({
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
388
|
+
return group.map((operation) => ({ id: operation.id, ok: false as const, error }))
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/** Keeps a unique collision recognizable, as the same refusal is from a single write. */
|
|
392
|
+
function itemError(error: MaterializationValidationError): MaterializationItemError {
|
|
393
|
+
if (error instanceof UniqueValueViolationError) {
|
|
394
|
+
return {
|
|
395
|
+
code: "unique_violation",
|
|
396
|
+
message: error.message,
|
|
397
|
+
objectTypeId: error.objectTypeId,
|
|
398
|
+
propertyId: error.propertyId,
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
return { code: "validation", message: error.message }
|
|
358
402
|
}
|
|
359
403
|
|
|
360
404
|
function isRecoverableEditValidation(
|
|
@@ -10,9 +10,11 @@ import type { MaterializerContext } from "../context"
|
|
|
10
10
|
import { loadState, oneStateRequest } from "../effective/load-state"
|
|
11
11
|
import { resolveEffectiveLinkSlotMember, usableLinkSlotOverride } from "../effective/resolve"
|
|
12
12
|
import { buildEditReadSet, isKnownLinkRef, linkCardinality } from "./read-set"
|
|
13
|
+
import { WorkingUniqueValues } from "./unique-values"
|
|
13
14
|
import {
|
|
14
15
|
distinctCardinalityOneScopes,
|
|
15
16
|
type EditWorkingState,
|
|
17
|
+
type LoadingEditWorkingState,
|
|
16
18
|
mergeWorkingState,
|
|
17
19
|
resolveLinkEdge,
|
|
18
20
|
resolveObject,
|
|
@@ -23,9 +25,11 @@ export async function loadEditWorkingState(
|
|
|
23
25
|
context: MaterializerContext,
|
|
24
26
|
storage: OntologyMaterializationStorage,
|
|
25
27
|
session: MaterializationSession,
|
|
26
|
-
operations: Parameters<typeof buildEditReadSet>[1]
|
|
28
|
+
operations: Parameters<typeof buildEditReadSet>[1],
|
|
29
|
+
/** Continue mode checks unique values per item; storage checks an atomic commit as a whole. */
|
|
30
|
+
options: { readonly checkUniqueValuesPerItem: boolean }
|
|
27
31
|
): Promise<EditWorkingState> {
|
|
28
|
-
const state:
|
|
32
|
+
const state: LoadingEditWorkingState = {
|
|
29
33
|
objects: new Map(),
|
|
30
34
|
links: {
|
|
31
35
|
edges: new Map(),
|
|
@@ -35,7 +39,7 @@ export async function loadEditWorkingState(
|
|
|
35
39
|
const readSet = buildEditReadSet(context.ontology, operations)
|
|
36
40
|
const explicitLinkKeys = new Set(readSet.links.map(linkRefKey))
|
|
37
41
|
const incidentLinks = new Map<string, MaterializationLinkState>()
|
|
38
|
-
const loadedState:
|
|
42
|
+
const loadedState: LoadingEditWorkingState = {
|
|
39
43
|
objects: state.objects,
|
|
40
44
|
links: {
|
|
41
45
|
edges: new Map(),
|
|
@@ -75,7 +79,11 @@ export async function loadEditWorkingState(
|
|
|
75
79
|
[...incidentLinks.values()],
|
|
76
80
|
revivingObjects
|
|
77
81
|
)
|
|
78
|
-
|
|
82
|
+
|
|
83
|
+
const uniqueValues = options.checkUniqueValuesPerItem
|
|
84
|
+
? await WorkingUniqueValues.load(context, storage, session, operations, state.objects)
|
|
85
|
+
: WorkingUniqueValues.untracked(context.ontology)
|
|
86
|
+
return { ...state, uniqueValues }
|
|
79
87
|
}
|
|
80
88
|
|
|
81
89
|
function isRevivingObjectOperation(
|
|
@@ -95,7 +103,7 @@ async function mergeIncidentState(
|
|
|
95
103
|
context: MaterializerContext,
|
|
96
104
|
storage: OntologyMaterializationStorage,
|
|
97
105
|
session: MaterializationSession,
|
|
98
|
-
state:
|
|
106
|
+
state: LoadingEditWorkingState,
|
|
99
107
|
incidentStates: readonly MaterializationLinkState[],
|
|
100
108
|
revivingObjects: ReadonlySet<string>
|
|
101
109
|
): Promise<void> {
|
|
@@ -175,7 +183,7 @@ async function mergeMissingLinkSlotEndpoints(
|
|
|
175
183
|
context: MaterializerContext,
|
|
176
184
|
storage: OntologyMaterializationStorage,
|
|
177
185
|
session: MaterializationSession,
|
|
178
|
-
state:
|
|
186
|
+
state: LoadingEditWorkingState
|
|
179
187
|
): Promise<void> {
|
|
180
188
|
const missing = new Map<string, OntologyObjectRef>()
|
|
181
189
|
for (const working of state.links.slots.values()) {
|
|
@@ -203,7 +211,7 @@ async function mergeLoadedState(
|
|
|
203
211
|
context: MaterializerContext,
|
|
204
212
|
storage: OntologyMaterializationStorage,
|
|
205
213
|
session: MaterializationSession,
|
|
206
|
-
state:
|
|
214
|
+
state: LoadingEditWorkingState,
|
|
207
215
|
request: MaterializationStateRequestChunk
|
|
208
216
|
): Promise<void> {
|
|
209
217
|
const loaded = await loadState(context, storage, session, request)
|
|
@@ -119,6 +119,7 @@ function applyObjectOperation(
|
|
|
119
119
|
context,
|
|
120
120
|
state,
|
|
121
121
|
working,
|
|
122
|
+
currentEffective,
|
|
122
123
|
transition.next,
|
|
123
124
|
transition.editedAt,
|
|
124
125
|
journal,
|
|
@@ -171,6 +172,7 @@ function applyObjectTransition(
|
|
|
171
172
|
context: MaterializerContext,
|
|
172
173
|
state: EditWorkingState,
|
|
173
174
|
working: WorkingObject,
|
|
175
|
+
before: ResolvedObjectValue | null,
|
|
174
176
|
next: WorkingObject["override"],
|
|
175
177
|
nextEditedAt: Readonly<Record<string, string>>,
|
|
176
178
|
journal?: EditUndoJournal,
|
|
@@ -180,6 +182,8 @@ function applyObjectTransition(
|
|
|
180
182
|
const previousEditedAt = working.editedAt
|
|
181
183
|
working.override = next
|
|
182
184
|
working.editedAt = { ...nextEditedAt }
|
|
185
|
+
|
|
186
|
+
let undoUniqueValues: () => void
|
|
183
187
|
try {
|
|
184
188
|
const resolved = resolveObject(context.ontology, working)
|
|
185
189
|
if (resolved) {
|
|
@@ -187,15 +191,23 @@ function applyObjectTransition(
|
|
|
187
191
|
validateResolved?.(resolved)
|
|
188
192
|
}
|
|
189
193
|
validateWorkingCardinality(state.links.slots)
|
|
194
|
+
// Last, so an operation refused above leaves the index as it was.
|
|
195
|
+
undoUniqueValues = state.uniqueValues.transition(
|
|
196
|
+
working.ref,
|
|
197
|
+
before?.properties,
|
|
198
|
+
resolved?.properties
|
|
199
|
+
)
|
|
190
200
|
} catch (error) {
|
|
191
201
|
working.override = previous
|
|
192
202
|
working.editedAt = previousEditedAt
|
|
193
203
|
throw error
|
|
194
204
|
}
|
|
205
|
+
|
|
195
206
|
journal?.push({
|
|
196
207
|
restore: () => {
|
|
197
208
|
working.override = previous
|
|
198
209
|
working.editedAt = previousEditedAt
|
|
210
|
+
undoUniqueValues()
|
|
199
211
|
},
|
|
200
212
|
})
|
|
201
213
|
}
|
|
@@ -29,6 +29,7 @@ import {
|
|
|
29
29
|
appendLinkEdgeOverrideWork,
|
|
30
30
|
appendLinkSlotOverrideWork,
|
|
31
31
|
appendObjectOverrideWork,
|
|
32
|
+
appendUniqueValueWork,
|
|
32
33
|
classificationWork,
|
|
33
34
|
eventWork,
|
|
34
35
|
planWork,
|
|
@@ -158,6 +159,7 @@ async function stageObject(
|
|
|
158
159
|
...items.map((item) => planWork(item, sortKey)),
|
|
159
160
|
]
|
|
160
161
|
if (change) {
|
|
162
|
+
appendUniqueValueWork(work, change, context.ontology)
|
|
161
163
|
work.push(eventWork(buildObjectMaterializationEventDraft(change)))
|
|
162
164
|
}
|
|
163
165
|
await stageWorkBounded(context, storage, session, work)
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unique values while an edit commit applies its operations.
|
|
3
|
+
*
|
|
4
|
+
* Storage refuses a duplicate when the commit applies, which fails the whole commit: exactly what
|
|
5
|
+
* an atomic commit needs, so only continue mode checks earlier, for a batch to fail only the item
|
|
6
|
+
* that collides:
|
|
7
|
+
*
|
|
8
|
+
* - before the operations run, one state read loads the holders of every value they could claim;
|
|
9
|
+
* - each object transition then moves its own values in a working index, O(changed values);
|
|
10
|
+
* - `assertDistinct` checks the values claimed since its last call, after each item or group.
|
|
11
|
+
*
|
|
12
|
+
* Storage stays the final guard: a value claimed by a commit that lands after this read is still
|
|
13
|
+
* refused when this commit applies.
|
|
14
|
+
*/
|
|
15
|
+
import type { JsonValue } from "../../json"
|
|
16
|
+
import {
|
|
17
|
+
MaterializationConflictError,
|
|
18
|
+
UniqueValueViolationError,
|
|
19
|
+
} from "../../materialization/errors"
|
|
20
|
+
import type { OntologyEditOperation, OntologyObjectRef } from "../../materialization/model"
|
|
21
|
+
import { objectRefKey } from "../../materialization/refs"
|
|
22
|
+
import type { OntologyRegistry } from "../../ontology"
|
|
23
|
+
import { uniqueValueKey } from "../../ontology/unique-values"
|
|
24
|
+
import { normalizeSchemaValue } from "../../ontology/validation"
|
|
25
|
+
import type {
|
|
26
|
+
ExactUniqueValueWrite,
|
|
27
|
+
MaterializationSession,
|
|
28
|
+
OntologyMaterializationStorage,
|
|
29
|
+
UniqueValueRef,
|
|
30
|
+
} from "../../storage/ontology"
|
|
31
|
+
import type { MaterializerContext } from "../context"
|
|
32
|
+
import { oneStateRequest } from "../effective/load-state"
|
|
33
|
+
import type { WorkingObject } from "./working-state"
|
|
34
|
+
|
|
35
|
+
type Properties = Readonly<Record<string, JsonValue>> | undefined
|
|
36
|
+
|
|
37
|
+
export class WorkingUniqueValues {
|
|
38
|
+
/** Values claimed since the last check, by `uniqueKey`. */
|
|
39
|
+
private readonly claims = new Map<string, ExactUniqueValueWrite>()
|
|
40
|
+
|
|
41
|
+
private constructor(
|
|
42
|
+
private readonly ontology: OntologyRegistry,
|
|
43
|
+
/** Holder primary ids by `uniqueKey`: more than one only between two checks. */
|
|
44
|
+
private readonly holders: Map<string, Set<string>>,
|
|
45
|
+
private readonly tracked: boolean
|
|
46
|
+
) {}
|
|
47
|
+
|
|
48
|
+
/** For an atomic commit, which storage checks as a whole: transitions track nothing. */
|
|
49
|
+
static untracked(ontology: OntologyRegistry): WorkingUniqueValues {
|
|
50
|
+
return new WorkingUniqueValues(ontology, new Map(), false)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** Reads the holders of every unique value the operations could give to their objects. */
|
|
54
|
+
static async load(
|
|
55
|
+
context: Pick<MaterializerContext, "ontology" | "batching">,
|
|
56
|
+
storage: OntologyMaterializationStorage,
|
|
57
|
+
session: MaterializationSession,
|
|
58
|
+
operations: readonly OntologyEditOperation[],
|
|
59
|
+
objects: ReadonlyMap<string, WorkingObject>
|
|
60
|
+
): Promise<WorkingUniqueValues> {
|
|
61
|
+
const holders = new Map<string, Set<string>>()
|
|
62
|
+
const requested = candidateValues(context.ontology, operations, objects)
|
|
63
|
+
if (requested.length === 0) return new WorkingUniqueValues(context.ontology, holders, true)
|
|
64
|
+
|
|
65
|
+
const request = {
|
|
66
|
+
objects: [],
|
|
67
|
+
links: [],
|
|
68
|
+
linkScopes: [],
|
|
69
|
+
incidentObjects: [],
|
|
70
|
+
points: [],
|
|
71
|
+
uniqueValues: requested,
|
|
72
|
+
}
|
|
73
|
+
for await (const page of storage.streamState({
|
|
74
|
+
session,
|
|
75
|
+
requests: oneStateRequest(request),
|
|
76
|
+
pageRows: context.batching.statePageRows,
|
|
77
|
+
})) {
|
|
78
|
+
for (const holder of page.uniqueHolders ?? []) {
|
|
79
|
+
holders.set(uniqueKey(holder), new Set([holder.primaryId]))
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return new WorkingUniqueValues(context.ontology, holders, true)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** Moves the unique values of `ref` from `before` to `after`, and returns how to undo it. */
|
|
87
|
+
transition(ref: OntologyObjectRef, before: Properties, after: Properties): () => void {
|
|
88
|
+
if (!this.tracked) return () => undefined
|
|
89
|
+
const moves: { readonly released: string | null; readonly claimed: string | null }[] = []
|
|
90
|
+
|
|
91
|
+
for (const { propertyId, kind } of this.ontology.listUniqueProperties(ref.objectTypeId)) {
|
|
92
|
+
const released = uniqueValueKey(kind, before?.[propertyId])
|
|
93
|
+
const claimed = uniqueValueKey(kind, after?.[propertyId])
|
|
94
|
+
if (released === claimed) continue
|
|
95
|
+
|
|
96
|
+
const value = { objectTypeId: ref.objectTypeId, propertyId }
|
|
97
|
+
const releasedKey = released === null ? null : uniqueKey({ ...value, valueKey: released })
|
|
98
|
+
if (releasedKey !== null) this.holders.get(releasedKey)?.delete(ref.primaryId)
|
|
99
|
+
|
|
100
|
+
let claimedKey: string | null = null
|
|
101
|
+
if (claimed !== null) {
|
|
102
|
+
const claim = { ...value, valueKey: claimed, primaryId: ref.primaryId }
|
|
103
|
+
claimedKey = uniqueKey(claim)
|
|
104
|
+
this.holdersOf(claimedKey).add(ref.primaryId)
|
|
105
|
+
this.claims.set(claimedKey, claim)
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
moves.push({ released: releasedKey, claimed: claimedKey })
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return () => {
|
|
112
|
+
for (const { released, claimed } of moves) {
|
|
113
|
+
if (claimed !== null) this.holders.get(claimed)?.delete(ref.primaryId)
|
|
114
|
+
if (released !== null) this.holdersOf(released).add(ref.primaryId)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** Throws `UniqueValueViolationError` when a value claimed since the last check has two holders. */
|
|
120
|
+
assertDistinct(): void {
|
|
121
|
+
const claims = [...this.claims.entries()]
|
|
122
|
+
this.claims.clear()
|
|
123
|
+
|
|
124
|
+
for (const [key, claim] of claims) {
|
|
125
|
+
const holders = this.holders.get(key)
|
|
126
|
+
if (!holders || holders.size <= 1) continue
|
|
127
|
+
const holder = [...holders].find((primaryId) => primaryId !== claim.primaryId)
|
|
128
|
+
if (holder === undefined) continue
|
|
129
|
+
throw new UniqueValueViolationError(
|
|
130
|
+
claim.objectTypeId,
|
|
131
|
+
claim.propertyId,
|
|
132
|
+
holder,
|
|
133
|
+
claim.primaryId
|
|
134
|
+
)
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
private holdersOf(key: string): Set<string> {
|
|
139
|
+
let holders = this.holders.get(key)
|
|
140
|
+
if (!holders) {
|
|
141
|
+
holders = new Set()
|
|
142
|
+
this.holders.set(key, holders)
|
|
143
|
+
}
|
|
144
|
+
return holders
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Rejects a commit whose author read a unique value as unclaimed when an object now holds it: an
|
|
150
|
+
* Action that found nothing and creates the holder is then replayed against the current state,
|
|
151
|
+
* instead of failing on the duplicate.
|
|
152
|
+
*/
|
|
153
|
+
export async function assertValuesUnclaimed(
|
|
154
|
+
context: Pick<MaterializerContext, "batching">,
|
|
155
|
+
storage: OntologyMaterializationStorage,
|
|
156
|
+
session: MaterializationSession,
|
|
157
|
+
values: readonly UniqueValueRef[]
|
|
158
|
+
): Promise<void> {
|
|
159
|
+
if (values.length === 0) return
|
|
160
|
+
|
|
161
|
+
const request = {
|
|
162
|
+
objects: [],
|
|
163
|
+
links: [],
|
|
164
|
+
linkScopes: [],
|
|
165
|
+
incidentObjects: [],
|
|
166
|
+
points: [],
|
|
167
|
+
uniqueValues: values,
|
|
168
|
+
}
|
|
169
|
+
for await (const page of storage.streamState({
|
|
170
|
+
session,
|
|
171
|
+
requests: oneStateRequest(request),
|
|
172
|
+
pageRows: context.batching.statePageRows,
|
|
173
|
+
})) {
|
|
174
|
+
const [held] = page.uniqueHolders ?? []
|
|
175
|
+
if (!held) continue
|
|
176
|
+
throw new MaterializationConflictError(
|
|
177
|
+
"expectation",
|
|
178
|
+
`Expected no '${held.objectTypeId}' object to hold this '${held.propertyId}'.`
|
|
179
|
+
)
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Every unique value an operated object could hold after the commit: those its operation writes,
|
|
185
|
+
* and those its source and its edit already assert, which a reset or a restore can bring back.
|
|
186
|
+
*/
|
|
187
|
+
function candidateValues(
|
|
188
|
+
ontology: OntologyRegistry,
|
|
189
|
+
operations: readonly OntologyEditOperation[],
|
|
190
|
+
objects: ReadonlyMap<string, WorkingObject>
|
|
191
|
+
): UniqueValueRef[] {
|
|
192
|
+
const values = new Map<string, UniqueValueRef>()
|
|
193
|
+
const add = (ref: OntologyObjectRef, properties: Properties) => {
|
|
194
|
+
for (const value of uniqueValuesOf(ontology, ref, properties)) {
|
|
195
|
+
values.set(uniqueKey(value), value)
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
for (const operation of operations) {
|
|
200
|
+
if (!("objectTypeId" in operation.ref)) continue
|
|
201
|
+
if (ontology.listUniqueProperties(operation.ref.objectTypeId).length === 0) continue
|
|
202
|
+
|
|
203
|
+
if (operation.kind === "object.create" || operation.kind === "object.upsert") {
|
|
204
|
+
add(operation.ref, operation.properties)
|
|
205
|
+
}
|
|
206
|
+
if (operation.kind === "object.patch") add(operation.ref, operation.set)
|
|
207
|
+
|
|
208
|
+
const working = objects.get(objectRefKey(operation.ref))
|
|
209
|
+
add(operation.ref, working?.source?.assertion.properties)
|
|
210
|
+
const override = working?.override
|
|
211
|
+
if (override?.kind === "create") add(operation.ref, override.properties)
|
|
212
|
+
if (override?.kind === "patch") add(operation.ref, override.set)
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
return [...values.values()]
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/** The keys of `properties`' unique values, normalized as the write will store them. */
|
|
219
|
+
function uniqueValuesOf(
|
|
220
|
+
ontology: OntologyRegistry,
|
|
221
|
+
ref: OntologyObjectRef,
|
|
222
|
+
properties: Properties
|
|
223
|
+
): UniqueValueRef[] {
|
|
224
|
+
if (!properties) return []
|
|
225
|
+
const objectType = ontology.getObjectTypeById(ref.objectTypeId)
|
|
226
|
+
if (!objectType) return []
|
|
227
|
+
|
|
228
|
+
const values: UniqueValueRef[] = []
|
|
229
|
+
for (const { propertyId, kind } of ontology.listUniqueProperties(ref.objectTypeId)) {
|
|
230
|
+
const raw = properties[propertyId]
|
|
231
|
+
const property = objectType.properties.find((candidate) => candidate.id === propertyId)
|
|
232
|
+
if (raw === undefined || raw === null || !property) continue
|
|
233
|
+
|
|
234
|
+
const valueKey = uniqueValueKey(kind, normalized(ontology, property.schema, raw))
|
|
235
|
+
if (valueKey !== null) values.push({ objectTypeId: ref.objectTypeId, propertyId, valueKey })
|
|
236
|
+
}
|
|
237
|
+
return values
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/** An invalid value claims nothing: the operation that writes it is refused anyway. */
|
|
241
|
+
function normalized(
|
|
242
|
+
ontology: OntologyRegistry,
|
|
243
|
+
schema: Parameters<typeof normalizeSchemaValue>[0],
|
|
244
|
+
value: JsonValue
|
|
245
|
+
): JsonValue | undefined {
|
|
246
|
+
try {
|
|
247
|
+
return normalizeSchemaValue(schema, value, "", ontology.getValueTypesById())
|
|
248
|
+
} catch {
|
|
249
|
+
return undefined
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
function uniqueKey(value: UniqueValueRef): string {
|
|
254
|
+
return JSON.stringify([value.objectTypeId, value.propertyId, value.valueKey])
|
|
255
|
+
}
|
|
@@ -29,6 +29,8 @@ import {
|
|
|
29
29
|
usableLinkSlotOverride,
|
|
30
30
|
} from "../effective/resolve"
|
|
31
31
|
import { linkCardinality } from "./read-set"
|
|
32
|
+
import type { WorkingUniqueValues } from "./unique-values"
|
|
33
|
+
|
|
32
34
|
export interface WorkingObject {
|
|
33
35
|
ref: OntologyObjectRef
|
|
34
36
|
source: MaterializationObjectState["source"]
|
|
@@ -75,11 +77,16 @@ export interface EditWorkingState {
|
|
|
75
77
|
readonly edges: Map<string, WorkingLinkEdge>
|
|
76
78
|
readonly slots: Map<string, WorkingLinkSlot>
|
|
77
79
|
}
|
|
80
|
+
/** Who holds the unique values the operations could take, kept current as they apply. */
|
|
81
|
+
readonly uniqueValues: WorkingUniqueValues
|
|
78
82
|
}
|
|
79
83
|
|
|
84
|
+
/** The working state while it loads, before its unique value holders are read. */
|
|
85
|
+
export type LoadingEditWorkingState = Omit<EditWorkingState, "uniqueValues">
|
|
86
|
+
|
|
80
87
|
export function mergeWorkingState(
|
|
81
88
|
ontology: OntologyRegistry,
|
|
82
|
-
working:
|
|
89
|
+
working: LoadingEditWorkingState,
|
|
83
90
|
state: MaterializationStatePage
|
|
84
91
|
): void {
|
|
85
92
|
for (const object of state.objects) {
|