@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
|
@@ -2,33 +2,43 @@
|
|
|
2
2
|
import {
|
|
3
3
|
MAX_OBJECT_READ_FACETS2,
|
|
4
4
|
assertObjectReadOutputWithinLimit2,
|
|
5
|
-
getAuthorizationRef,
|
|
6
5
|
captureExecutionScope,
|
|
7
6
|
resolveExecutionScopeAuthorization,
|
|
8
7
|
AuthorizationError2,
|
|
9
8
|
isAllowed2,
|
|
10
9
|
assertAuthorized2,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} from "./chunk-
|
|
10
|
+
isRuntimeAllowed2,
|
|
11
|
+
assertRuntimeAuthorizationBound2
|
|
12
|
+
} from "./chunk-yc9ners4.js";
|
|
14
13
|
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} from "./chunk-
|
|
14
|
+
isUserRef,
|
|
15
|
+
isUserRefPropertySchema
|
|
16
|
+
} from "./chunk-4y26vs3v.js";
|
|
18
17
|
import {
|
|
19
|
-
|
|
20
|
-
} from "./chunk-
|
|
18
|
+
compileConditionalObjectReadScope2
|
|
19
|
+
} from "./chunk-rap5w0x0.js";
|
|
21
20
|
import {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
validateSchemaValue2,
|
|
22
|
+
normalizeSchemaValue2,
|
|
23
|
+
uniqueValueKind,
|
|
24
|
+
uniqueValueKey
|
|
25
|
+
} from "./chunk-65pyhyas.js";
|
|
25
26
|
import {
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
unreadableError,
|
|
28
|
+
resolvePropertyClearance
|
|
29
|
+
} from "./chunk-6rrtzea3.js";
|
|
28
30
|
import {
|
|
31
|
+
bindCurrentUserPredicate,
|
|
29
32
|
composeObjectQueryAdmissions,
|
|
30
33
|
validateObjectQuery2,
|
|
31
34
|
validateObjectQueryWithAdmission,
|
|
35
|
+
toUserProfile
|
|
36
|
+
} from "./chunk-h3pbv7n8.js";
|
|
37
|
+
import {
|
|
38
|
+
snapshotVectorProfiles
|
|
39
|
+
} from "./chunk-cdk3egjj.js";
|
|
40
|
+
import {
|
|
41
|
+
userExpansionPlan,
|
|
32
42
|
executeObjectQuery2,
|
|
33
43
|
countObjects2,
|
|
34
44
|
existsObjects2,
|
|
@@ -36,241 +46,21 @@ import {
|
|
|
36
46
|
validateObjectFacetRequests,
|
|
37
47
|
preflightObjectQueryLinks,
|
|
38
48
|
executeObjectQueryLinks2
|
|
39
|
-
} from "./chunk-
|
|
40
|
-
import {
|
|
41
|
-
executionRecordInputFromRuntime,
|
|
42
|
-
ensureExecutionRecord2
|
|
43
|
-
} from "./chunk-vf57cr4t.js";
|
|
44
|
-
import {
|
|
45
|
-
requireAccountingCapabilities,
|
|
46
|
-
createAiModelCallLimitController2,
|
|
47
|
-
AiModelCallRecorder2,
|
|
48
|
-
enqueueAiModelCallRecovery2
|
|
49
|
-
} from "./chunk-1cc1xaf3.js";
|
|
50
|
-
import {
|
|
51
|
-
ObjectQueryValidationError2
|
|
52
|
-
} from "./chunk-91mg3nj9.js";
|
|
53
|
-
import {
|
|
54
|
-
findPrimitiveParentRequestExecution
|
|
55
|
-
} from "./chunk-ey1nk510.js";
|
|
49
|
+
} from "./chunk-efmm01gj.js";
|
|
56
50
|
import {
|
|
57
51
|
createPropertyTokenMap2,
|
|
58
52
|
createLinkTokenMap2
|
|
59
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-16a9dmfy.js";
|
|
54
|
+
import {
|
|
55
|
+
ObjectQueryValidationError2,
|
|
56
|
+
normalizeObjectQuery2
|
|
57
|
+
} from "./chunk-j936th07.js";
|
|
60
58
|
import {
|
|
61
59
|
OntologyValidationError2,
|
|
62
60
|
OntologyNotFoundError2,
|
|
63
61
|
formatUnknownObjectTypeMessage
|
|
64
62
|
} from "./chunk-cqr3acm1.js";
|
|
65
63
|
|
|
66
|
-
// src/runtime/ontology-mutations.ts
|
|
67
|
-
var ontologyMutationRuntimeKey = Symbol("sixb.ontologyMutationRuntime");
|
|
68
|
-
function registerOntologyMutationRuntime2(owner, runtime) {
|
|
69
|
-
const registered = owner[ontologyMutationRuntimeKey];
|
|
70
|
-
if (registered && registered !== runtime) {
|
|
71
|
-
throw new Error("[Sixb] Ontology mutation runtime is already registered for this owner.");
|
|
72
|
-
}
|
|
73
|
-
Object.defineProperty(owner, ontologyMutationRuntimeKey, {
|
|
74
|
-
configurable: false,
|
|
75
|
-
enumerable: true,
|
|
76
|
-
value: runtime,
|
|
77
|
-
writable: false
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
function getOntologyMutationRuntime2(owner) {
|
|
81
|
-
const runtime = owner[ontologyMutationRuntimeKey];
|
|
82
|
-
if (runtime)
|
|
83
|
-
return runtime;
|
|
84
|
-
throw new Error("[Sixb] Ontology mutation runtime is not registered for this runtime context.");
|
|
85
|
-
}
|
|
86
|
-
function shareOntologyMutationRuntime2(source, target) {
|
|
87
|
-
registerOntologyMutationRuntime2(target, getOntologyMutationRuntime2(source));
|
|
88
|
-
}
|
|
89
|
-
function createOntologyMutationRuntime2(input) {
|
|
90
|
-
const applied = (work) => work.finally(() => notifyWithoutAffecting(input.onProjectionApplied));
|
|
91
|
-
const runtime = {
|
|
92
|
-
getProjectionSource: (source) => input.materializer.projections.getActive(source),
|
|
93
|
-
commitEdits: (command) => commitAndNotify(() => input.materializer.edits.commit(command), input.notifyCommittedFacts),
|
|
94
|
-
replaceProjection: (command) => applied(commitAndNotify(() => input.materializer.projections.replace(command), input.notifyCommittedFacts)),
|
|
95
|
-
finishProjection: (command) => applied(input.materializer.projections.finishRun(command)),
|
|
96
|
-
appendTelemetry: (command) => commitAndNotify(() => input.materializer.telemetry.append(command), input.notifyCommittedFacts)
|
|
97
|
-
};
|
|
98
|
-
return Object.freeze(runtime);
|
|
99
|
-
}
|
|
100
|
-
async function commitAndNotify(commit, notify) {
|
|
101
|
-
const result = await commit();
|
|
102
|
-
if (result.eventCount > 0)
|
|
103
|
-
notifyWithoutAffectingCommit(notify);
|
|
104
|
-
return result;
|
|
105
|
-
}
|
|
106
|
-
function notifyWithoutAffectingCommit(notify) {
|
|
107
|
-
try {
|
|
108
|
-
notify();
|
|
109
|
-
} catch (error) {
|
|
110
|
-
console.error("[Sixb] Failed to wake the ontology outbox dispatcher:", error);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
function notifyWithoutAffecting(notify) {
|
|
114
|
-
try {
|
|
115
|
-
notify?.();
|
|
116
|
-
} catch (error) {
|
|
117
|
-
console.error("[Sixb] Failed to report an applied projection:", error);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
// src/activity/device.ts
|
|
122
|
-
var BROWSERS = [
|
|
123
|
-
[/\bEdg(?:e|A|iOS)?\//, "Edge"],
|
|
124
|
-
[/\b(?:OPR|Opera)\//, "Opera"],
|
|
125
|
-
[/\bSamsungBrowser\//, "Samsung Internet"],
|
|
126
|
-
[/\b(?:Firefox|FxiOS)\//, "Firefox"],
|
|
127
|
-
[/\b(?:Chrome|Chromium|CriOS|HeadlessChrome)\//, "Chrome"],
|
|
128
|
-
[/\bVersion\/[\d.]+.*\bSafari\//, "Safari"]
|
|
129
|
-
];
|
|
130
|
-
var SYSTEMS = [
|
|
131
|
-
[/\bWindows\b/, "Windows"],
|
|
132
|
-
[/\biPad\b/, "iPadOS"],
|
|
133
|
-
[/\b(?:iPhone|iPod)\b/, "iOS"],
|
|
134
|
-
[/\bAndroid\b/, "Android"],
|
|
135
|
-
[/\bCrOS\b/, "ChromeOS"],
|
|
136
|
-
[/\bMac OS X\b|\bMacintosh\b/, "macOS"],
|
|
137
|
-
[/\bLinux\b/, "Linux"]
|
|
138
|
-
];
|
|
139
|
-
function describeUserAgent(userAgent) {
|
|
140
|
-
if (!userAgent) {
|
|
141
|
-
return {};
|
|
142
|
-
}
|
|
143
|
-
const browser = BROWSERS.find(([pattern]) => pattern.test(userAgent))?.[1];
|
|
144
|
-
const os = SYSTEMS.find(([pattern]) => pattern.test(userAgent))?.[1];
|
|
145
|
-
return {
|
|
146
|
-
...browser === undefined ? {} : { browser },
|
|
147
|
-
...os === undefined ? {} : { os }
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// src/activity/connection.ts
|
|
152
|
-
async function readActivityConnections(runtime, service, query, now) {
|
|
153
|
-
const { userId, limit, before } = service.connectionsQuery(query);
|
|
154
|
-
const sessions = runtime.storage.auth?.sessions;
|
|
155
|
-
if (!sessions) {
|
|
156
|
-
return { connections: [] };
|
|
157
|
-
}
|
|
158
|
-
const page = await sessions.listByUserId({
|
|
159
|
-
projectId: runtime.projectId,
|
|
160
|
-
userId,
|
|
161
|
-
limit,
|
|
162
|
-
...before === undefined ? {} : { before }
|
|
163
|
-
});
|
|
164
|
-
const visits = await service.sessionVisits({
|
|
165
|
-
userId,
|
|
166
|
-
sessionIds: page.sessions.map((session) => session.id)
|
|
167
|
-
});
|
|
168
|
-
const bySession = new Map(visits.map((entry) => [entry.sessionId, entry]));
|
|
169
|
-
const connections = page.sessions.map((session) => ({
|
|
170
|
-
...sessionConnection(session, now),
|
|
171
|
-
visits: bySession.get(session.id)?.visits ?? 0,
|
|
172
|
-
latestVisits: bySession.get(session.id)?.latest ?? []
|
|
173
|
-
}));
|
|
174
|
-
const last = page.sessions.at(-1);
|
|
175
|
-
return {
|
|
176
|
-
connections,
|
|
177
|
-
...page.hasMore && last ? { nextCursor: nextConnectionsCursor(page.sessions, last, before) } : {}
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
function nextConnectionsCursor(sessions, last, before) {
|
|
181
|
-
const { createdAt } = last;
|
|
182
|
-
const tied = sessions.filter((session) => session.createdAt.getTime() === createdAt.getTime());
|
|
183
|
-
const earlier = before && before.createdAt.getTime() === createdAt.getTime() ? before.skip : 0;
|
|
184
|
-
return encodeActivityConnectionsCursor({ createdAt, skip: earlier + tied.length });
|
|
185
|
-
}
|
|
186
|
-
function encodeActivityConnectionsCursor(cursor) {
|
|
187
|
-
return Buffer.from(JSON.stringify([cursor.createdAt.toISOString(), cursor.skip])).toString("base64url");
|
|
188
|
-
}
|
|
189
|
-
function decodeActivityConnectionsCursor(value) {
|
|
190
|
-
try {
|
|
191
|
-
const parsed = JSON.parse(Buffer.from(value, "base64url").toString("utf8"));
|
|
192
|
-
if (Array.isArray(parsed) && parsed.length === 2) {
|
|
193
|
-
const [at, skip] = parsed;
|
|
194
|
-
const createdAt = new Date(typeof at === "string" ? at : Number.NaN);
|
|
195
|
-
if (Number.isFinite(createdAt.getTime()) && Number.isSafeInteger(skip) && skip >= 0) {
|
|
196
|
-
return { createdAt, skip };
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
} catch {}
|
|
200
|
-
throw new Error("[Sixb] Invalid activity connections cursor.");
|
|
201
|
-
}
|
|
202
|
-
async function readActivityConnection(runtime, page, grant, now) {
|
|
203
|
-
const { storage, projectId } = runtime;
|
|
204
|
-
const { actor } = page.visit;
|
|
205
|
-
if (actor.type === "user") {
|
|
206
|
-
const session = await storage.auth?.sessions.getById({ projectId, id: page.sessionId });
|
|
207
|
-
return session ? sessionConnection(session, now) : undefined;
|
|
208
|
-
}
|
|
209
|
-
const session = await storage.shareSessions?.getById({ projectId, id: page.sessionId });
|
|
210
|
-
if (!session) {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
const revokedAt = [session.revokedAt, grant?.revokedAt].flatMap((at) => at === undefined ? [] : [at.getTime()]).sort((left, right) => left - right)[0];
|
|
214
|
-
const statuses = [
|
|
215
|
-
connectionStatus(session, now),
|
|
216
|
-
...grant ? [connectionStatus(grant, now)] : []
|
|
217
|
-
];
|
|
218
|
-
const status = statuses.includes("revoked") ? "revoked" : statuses.includes("expired") ? "expired" : "active";
|
|
219
|
-
return {
|
|
220
|
-
type: "share",
|
|
221
|
-
grantId: actor.grantId,
|
|
222
|
-
...grant ? { definitionId: grant.definitionId } : {},
|
|
223
|
-
status,
|
|
224
|
-
createdAt: new Date(session.createdAt),
|
|
225
|
-
...revokedAt === undefined ? {} : { revokedAt: new Date(revokedAt) }
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
function connectionStatus(session, now) {
|
|
229
|
-
if (session.revokedAt) {
|
|
230
|
-
return "revoked";
|
|
231
|
-
}
|
|
232
|
-
const expired = session.expiresAt <= now || session.absoluteExpiresAt !== undefined && session.absoluteExpiresAt <= now;
|
|
233
|
-
return expired ? "expired" : "active";
|
|
234
|
-
}
|
|
235
|
-
function sessionConnection(session, now) {
|
|
236
|
-
return {
|
|
237
|
-
type: "session",
|
|
238
|
-
device: describeUserAgent(session.userAgent),
|
|
239
|
-
...session.bearer === undefined ? {} : { clientName: session.bearer.clientName },
|
|
240
|
-
status: connectionStatus(session, now),
|
|
241
|
-
createdAt: new Date(session.createdAt),
|
|
242
|
-
...session.lastSeenAt === undefined ? {} : { lastSeenAt: new Date(session.lastSeenAt) },
|
|
243
|
-
...session.revokedAt === undefined ? {} : { revokedAt: new Date(session.revokedAt) }
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
// src/activity/shares.ts
|
|
248
|
-
async function nameSharedVisits(runtime, visits) {
|
|
249
|
-
const grants = await readGrants(runtime, visits);
|
|
250
|
-
return visits.map((visit) => withShare(visit, grants));
|
|
251
|
-
}
|
|
252
|
-
async function nameSharedVisit(runtime, visit) {
|
|
253
|
-
const grants = await readGrants(runtime, [visit]);
|
|
254
|
-
const grant = visit.actor.type === "share" ? grants.get(visit.actor.grantId) : undefined;
|
|
255
|
-
return { visit: withShare(visit, grants), ...grant === undefined ? {} : { grant } };
|
|
256
|
-
}
|
|
257
|
-
async function readGrants(runtime, visits) {
|
|
258
|
-
const ids = visits.flatMap((visit) => visit.actor.type === "share" ? [visit.actor.grantId] : []);
|
|
259
|
-
if (ids.length === 0 || !runtime.storage.shareGrants) {
|
|
260
|
-
return new Map;
|
|
261
|
-
}
|
|
262
|
-
const grants = await runtime.storage.shareGrants.getByIds({ projectId: runtime.projectId, ids });
|
|
263
|
-
return new Map(grants.map((grant) => [grant.id, grant]));
|
|
264
|
-
}
|
|
265
|
-
function withShare(visit, grants) {
|
|
266
|
-
const { actor } = visit;
|
|
267
|
-
const grant = actor.type === "share" ? grants.get(actor.grantId) : undefined;
|
|
268
|
-
if (actor.type !== "share" || grant === undefined) {
|
|
269
|
-
return visit;
|
|
270
|
-
}
|
|
271
|
-
return { ...visit, actor: { ...actor, definitionId: grant.definitionId } };
|
|
272
|
-
}
|
|
273
|
-
|
|
274
64
|
// src/assert-never.ts
|
|
275
65
|
function assertNever(_value, message) {
|
|
276
66
|
throw new Error(message);
|
|
@@ -732,6 +522,7 @@ function snapshotProperty(property) {
|
|
|
732
522
|
required: property.required,
|
|
733
523
|
nullable: property.nullable,
|
|
734
524
|
primary: property.primary,
|
|
525
|
+
unique: property.unique,
|
|
735
526
|
mode: property.mode,
|
|
736
527
|
semanticType: property.semanticType,
|
|
737
528
|
query: snapshotPropertyQuery(property.query)
|
|
@@ -843,18 +634,18 @@ function unknownObjectType(objectTypeId) {
|
|
|
843
634
|
// src/execution/object-reader-ontology.ts
|
|
844
635
|
class ObjectReaderOntology {
|
|
845
636
|
registry;
|
|
846
|
-
#
|
|
637
|
+
#security;
|
|
847
638
|
#view;
|
|
848
|
-
constructor(registry,
|
|
639
|
+
constructor(registry, security) {
|
|
849
640
|
this.registry = registry;
|
|
850
|
-
this.#
|
|
641
|
+
this.#security = security;
|
|
851
642
|
Object.freeze(this);
|
|
852
643
|
}
|
|
853
644
|
view() {
|
|
854
|
-
const authority = this.#authority;
|
|
645
|
+
const authority = this.#security.authority;
|
|
855
646
|
this.#view ??= createAuthorizedOntologyView({
|
|
856
647
|
ontology: this.registry,
|
|
857
|
-
selection: selectionForAuthority(
|
|
648
|
+
selection: selectionForAuthority(this.#security, this.registry),
|
|
858
649
|
...authority.type === "delegated" ? {
|
|
859
650
|
assertOutputWithinLimit: (value) => assertObjectReadOutputWithinLimit2(value, authority.objectRead.limits)
|
|
860
651
|
} : {}
|
|
@@ -862,17 +653,15 @@ class ObjectReaderOntology {
|
|
|
862
653
|
return this.#view;
|
|
863
654
|
}
|
|
864
655
|
}
|
|
865
|
-
function selectionForAuthority(
|
|
656
|
+
function selectionForAuthority(security, ontology) {
|
|
657
|
+
const authority = security.authority;
|
|
866
658
|
switch (authority.type) {
|
|
867
659
|
case "unrestricted":
|
|
868
660
|
return { kind: "all" };
|
|
869
661
|
case "principal":
|
|
870
662
|
return {
|
|
871
663
|
kind: "types",
|
|
872
|
-
objectTypeIds: ontology.listObjectTypes().filter((objectType) =>
|
|
873
|
-
kind: "object.view",
|
|
874
|
-
objectTypeId: objectType.id
|
|
875
|
-
})).map((objectType) => objectType.id)
|
|
664
|
+
objectTypeIds: ontology.listObjectTypes().filter((objectType) => security.isObjectTypeGranted(objectType.id, undefined)).map((objectType) => objectType.id)
|
|
876
665
|
};
|
|
877
666
|
case "delegated":
|
|
878
667
|
return { kind: "selected", scope: authority.objectRead.scope };
|
|
@@ -1062,10 +851,16 @@ class ObjectReaderSecurity {
|
|
|
1062
851
|
runtime;
|
|
1063
852
|
delegation;
|
|
1064
853
|
clearance;
|
|
854
|
+
requestingUser;
|
|
855
|
+
conditionalScope;
|
|
856
|
+
#conditionProperties;
|
|
1065
857
|
constructor(input) {
|
|
1066
858
|
const authority = input.authority;
|
|
1067
859
|
this.authorization = input.authorization;
|
|
1068
860
|
this.authority = authority;
|
|
861
|
+
if (input.requestedBy?.type === "user") {
|
|
862
|
+
this.requestingUser = Object.freeze({ type: "user", id: input.requestedBy.id });
|
|
863
|
+
}
|
|
1069
864
|
this.runtime = Object.freeze({
|
|
1070
865
|
projectId: input.projectId,
|
|
1071
866
|
runtimeAuthorization: input.authorization,
|
|
@@ -1079,6 +874,22 @@ class ObjectReaderSecurity {
|
|
|
1079
874
|
queryAdmission: createSelectedObjectQueryAdmission(scope)
|
|
1080
875
|
});
|
|
1081
876
|
}
|
|
877
|
+
const conditions = authority.type === "principal" ? authority.context.viewConditions : undefined;
|
|
878
|
+
this.#conditionProperties = new Map([...conditions ?? []].map(([objectTypeId, predicates]) => [
|
|
879
|
+
objectTypeId,
|
|
880
|
+
[...new Set(predicates.flatMap(propertiesReadBy))]
|
|
881
|
+
]));
|
|
882
|
+
if (authority.type === "principal" && conditions && conditions.size > 0) {
|
|
883
|
+
const principal = authority.context.principal;
|
|
884
|
+
const grantee = principal.type === "user" ? { type: "user", id: principal.id } : undefined;
|
|
885
|
+
this.conditionalScope = compileConditionalObjectReadScope2({
|
|
886
|
+
kind: "conditional",
|
|
887
|
+
conditions: [...conditions].map(([objectTypeId, predicates]) => ({
|
|
888
|
+
objectTypeId,
|
|
889
|
+
predicate: bindCurrentUserPredicate(anyOf(predicates), grantee)
|
|
890
|
+
}))
|
|
891
|
+
});
|
|
892
|
+
}
|
|
1082
893
|
this.clearance = new ObjectReaderClearance({
|
|
1083
894
|
ontology: input.ontology,
|
|
1084
895
|
clearances: clearancesForAuthority(authority),
|
|
@@ -1094,9 +905,7 @@ class ObjectReaderSecurity {
|
|
|
1094
905
|
throw new AuthorizationError2(`delegated:object.view:${objectTypeId}`, `[Sixb] Delegated authorization does not select object type '${objectTypeId}'.`);
|
|
1095
906
|
}
|
|
1096
907
|
} else {
|
|
1097
|
-
|
|
1098
|
-
assertAuthorized2(this.runtime, { kind: "object.view", objectTypeId });
|
|
1099
|
-
}
|
|
908
|
+
this.assertObjectTypesGranted(objectTypeIds, clearance);
|
|
1100
909
|
}
|
|
1101
910
|
if (!clearance)
|
|
1102
911
|
return;
|
|
@@ -1106,19 +915,72 @@ class ObjectReaderSecurity {
|
|
|
1106
915
|
throw unreadableError(unreadable);
|
|
1107
916
|
}
|
|
1108
917
|
}
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
918
|
+
assertObjectTypesGranted(objectTypeIds, clearance) {
|
|
919
|
+
for (const objectTypeId of new Set(objectTypeIds)) {
|
|
920
|
+
if (!this.#conditionProperties.has(objectTypeId)) {
|
|
921
|
+
assertAuthorized2(this.runtime, { kind: "object.view", objectTypeId });
|
|
922
|
+
continue;
|
|
923
|
+
}
|
|
924
|
+
assertRuntimeAuthorizationBound2(this.runtime);
|
|
925
|
+
const unreadable = this.#unreadableCondition(objectTypeId, clearance);
|
|
926
|
+
if (unreadable)
|
|
927
|
+
throw unreadableError(unreadable);
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
viewsThroughCondition(objectTypeId) {
|
|
931
|
+
return this.#conditionProperties.has(objectTypeId);
|
|
932
|
+
}
|
|
933
|
+
isObjectTypeGranted(objectTypeId, clearance) {
|
|
1112
934
|
if (this.delegation)
|
|
1113
935
|
return this.delegation.objectTypeIds.has(objectTypeId);
|
|
936
|
+
if (this.#conditionProperties.has(objectTypeId)) {
|
|
937
|
+
return this.#unreadableCondition(objectTypeId, clearance) === undefined;
|
|
938
|
+
}
|
|
1114
939
|
return isAllowed2(this.runtime.authorization, { kind: "object.view", objectTypeId });
|
|
1115
940
|
}
|
|
941
|
+
isObjectTypeViewable(objectTypeId, clearance) {
|
|
942
|
+
if (clearance?.unreadableType(objectTypeId))
|
|
943
|
+
return false;
|
|
944
|
+
return this.isObjectTypeGranted(objectTypeId, clearance);
|
|
945
|
+
}
|
|
1116
946
|
isLinkViewable(link, clearance) {
|
|
1117
947
|
if (!this.isObjectTypeViewable(link.sourceTypeId, clearance) || !this.isObjectTypeViewable(link.targetTypeId, clearance) || clearance?.unreadableLink(link.sourceTypeId, link.linkId)) {
|
|
1118
948
|
return false;
|
|
1119
949
|
}
|
|
1120
950
|
return this.delegation?.linkDefinitions.has(delegatedLinkDefinitionKey(link)) ?? true;
|
|
1121
951
|
}
|
|
952
|
+
#unreadableCondition(objectTypeId, clearance) {
|
|
953
|
+
const propertyIds = this.#conditionProperties.get(objectTypeId);
|
|
954
|
+
return propertyIds && unreadableConditionOf(objectTypeId, propertyIds, clearance);
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
function unreadableConditionOf(objectTypeId, propertyIds, clearance) {
|
|
958
|
+
for (const propertyId of propertyIds) {
|
|
959
|
+
const marking = clearance?.missingMarking(objectTypeId, propertyId);
|
|
960
|
+
if (marking === undefined)
|
|
961
|
+
continue;
|
|
962
|
+
return {
|
|
963
|
+
marking,
|
|
964
|
+
message: `[Sixb] Cannot read '${objectTypeId}': the condition it is viewed through reads '${objectTypeId}.${propertyId}', which requires clearance for marking '${marking}'.`
|
|
965
|
+
};
|
|
966
|
+
}
|
|
967
|
+
return;
|
|
968
|
+
}
|
|
969
|
+
function propertiesReadBy(predicate) {
|
|
970
|
+
switch (predicate.op) {
|
|
971
|
+
case "and":
|
|
972
|
+
case "or":
|
|
973
|
+
return predicate.items.flatMap(propertiesReadBy);
|
|
974
|
+
case "not":
|
|
975
|
+
return propertiesReadBy(predicate.item);
|
|
976
|
+
case "constant":
|
|
977
|
+
return [];
|
|
978
|
+
default:
|
|
979
|
+
return [predicate.propertyId];
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
function anyOf(predicates) {
|
|
983
|
+
return predicates.length === 1 ? predicates[0] : { op: "or", items: predicates };
|
|
1122
984
|
}
|
|
1123
985
|
function clearancesForAuthority(authority) {
|
|
1124
986
|
switch (authority.type) {
|
|
@@ -1134,6 +996,97 @@ function delegatedLinkDefinitionKey(input) {
|
|
|
1134
996
|
return "sourceObjectTypeId" in input ? JSON.stringify([input.sourceObjectTypeId, input.linkId, input.targetObjectTypeId]) : JSON.stringify([input.sourceTypeId, input.linkId, input.targetTypeId]);
|
|
1135
997
|
}
|
|
1136
998
|
|
|
999
|
+
// src/execution/object-reader-users.ts
|
|
1000
|
+
var LOOKUP_BATCH_SIZE = 500;
|
|
1001
|
+
async function attachUserProfiles(input) {
|
|
1002
|
+
const slots = [];
|
|
1003
|
+
collectSlots(input.rows, input.plan, input.ontology, slots);
|
|
1004
|
+
if (!input.canViewUsers)
|
|
1005
|
+
return;
|
|
1006
|
+
const records = await readUsers(input, slots);
|
|
1007
|
+
for (const slot of slots) {
|
|
1008
|
+
slot.users[slot.propertyId] = expandedValue(slot, records);
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
function expandedValue(slot, records) {
|
|
1012
|
+
const profiles = slot.ids.flatMap((id) => {
|
|
1013
|
+
const record = records.get(id);
|
|
1014
|
+
return record ? [toUserProfile(record)] : [];
|
|
1015
|
+
});
|
|
1016
|
+
return slot.many ? profiles : profiles[0] ?? null;
|
|
1017
|
+
}
|
|
1018
|
+
function collectSlots(rows, plan, ontology, into) {
|
|
1019
|
+
for (const row of rows) {
|
|
1020
|
+
const properties = ontology.getObjectTypeById(row.objectTypeId)?.properties ?? [];
|
|
1021
|
+
for (const propertyId of plan.users) {
|
|
1022
|
+
const property = properties.find((candidate) => candidate.id === propertyId);
|
|
1023
|
+
if (!property || !isUserRefPropertySchema(property.schema))
|
|
1024
|
+
continue;
|
|
1025
|
+
row.users ??= {};
|
|
1026
|
+
if (row.redactions?.[propertyId])
|
|
1027
|
+
continue;
|
|
1028
|
+
into.push({
|
|
1029
|
+
users: row.users,
|
|
1030
|
+
propertyId,
|
|
1031
|
+
many: property.schema !== "userRef",
|
|
1032
|
+
ids: userIdsOf(row.properties[propertyId])
|
|
1033
|
+
});
|
|
1034
|
+
}
|
|
1035
|
+
for (const link of plan.links) {
|
|
1036
|
+
collectSlots(linkedRows(row.links?.[link.linkId]), link.plan, ontology, into);
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
async function readUsers(input, slots) {
|
|
1041
|
+
const records = new Map;
|
|
1042
|
+
const ids = [...new Set(slots.flatMap((slot) => slot.ids))];
|
|
1043
|
+
if (!input.users || ids.length === 0)
|
|
1044
|
+
return records;
|
|
1045
|
+
for (let start = 0;start < ids.length; start += LOOKUP_BATCH_SIZE) {
|
|
1046
|
+
const batch = ids.slice(start, start + LOOKUP_BATCH_SIZE);
|
|
1047
|
+
for (const record of await input.users.getByIds({ projectId: input.projectId, ids: batch })) {
|
|
1048
|
+
records.set(record.id, record);
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
return records;
|
|
1052
|
+
}
|
|
1053
|
+
function userIdsOf(value) {
|
|
1054
|
+
if (isUserRef(value))
|
|
1055
|
+
return [value.id];
|
|
1056
|
+
if (!Array.isArray(value))
|
|
1057
|
+
return [];
|
|
1058
|
+
return value.filter(isUserRef).map((ref) => ref.id);
|
|
1059
|
+
}
|
|
1060
|
+
function linkedRows(value) {
|
|
1061
|
+
if (value === undefined || value === null)
|
|
1062
|
+
return [];
|
|
1063
|
+
if (Array.isArray(value))
|
|
1064
|
+
return value;
|
|
1065
|
+
return [value];
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
// src/execution/unique-lookup.ts
|
|
1069
|
+
function uniqueLookupKey(ontology, input) {
|
|
1070
|
+
return uniqueLookupKeyOf(ontology.resolveObjectType(input.objectTypeId), input.propertyId, input.value, ontology.getValueTypesById());
|
|
1071
|
+
}
|
|
1072
|
+
function uniqueLookupKeyOf(objectType, propertyId, value, valueTypesById) {
|
|
1073
|
+
const path = `${objectType.id}.${propertyId}`;
|
|
1074
|
+
const property = objectType.properties.find((candidate) => candidate.id === propertyId);
|
|
1075
|
+
const kind = property?.unique ? uniqueValueKind(property.schema, valueTypesById) : undefined;
|
|
1076
|
+
if (!property || !kind) {
|
|
1077
|
+
throw new OntologyValidationError2(`[Sixb] Cannot look up '${path}' by value: getBy needs a property declared with unique: true.`);
|
|
1078
|
+
}
|
|
1079
|
+
if (value === null || value === undefined) {
|
|
1080
|
+
throw new OntologyValidationError2(`[Sixb] Cannot look up '${path}' by ${String(value)}: no object holds a null or missing value.`);
|
|
1081
|
+
}
|
|
1082
|
+
validateSchemaValue2(property.schema, value, path, valueTypesById);
|
|
1083
|
+
const key = uniqueValueKey(kind, normalizeSchemaValue2(property.schema, value, path, valueTypesById));
|
|
1084
|
+
if (key === null) {
|
|
1085
|
+
throw new OntologyValidationError2(`[Sixb] Cannot look up '${path}' by this value.`);
|
|
1086
|
+
}
|
|
1087
|
+
return key;
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1137
1090
|
// src/execution/authorized-object-reader.ts
|
|
1138
1091
|
var readerConstructionKey = Object.freeze({});
|
|
1139
1092
|
|
|
@@ -1142,6 +1095,7 @@ class AuthorizedObjectReaderImpl {
|
|
|
1142
1095
|
#security;
|
|
1143
1096
|
#models;
|
|
1144
1097
|
#storage;
|
|
1098
|
+
#users;
|
|
1145
1099
|
constructor(key, input) {
|
|
1146
1100
|
if (key !== readerConstructionKey) {
|
|
1147
1101
|
throw new Error("[Sixb] AuthorizedObjectReader can only be created by Core.");
|
|
@@ -1150,6 +1104,7 @@ class AuthorizedObjectReaderImpl {
|
|
|
1150
1104
|
this.#security = input.security;
|
|
1151
1105
|
this.#models = input.models;
|
|
1152
1106
|
this.#storage = input.storage;
|
|
1107
|
+
this.#users = input.users;
|
|
1153
1108
|
}
|
|
1154
1109
|
static assertBound(reader, scope) {
|
|
1155
1110
|
const capturedScope = captureExecutionScope(scope);
|
|
@@ -1164,6 +1119,17 @@ class AuthorizedObjectReaderImpl {
|
|
|
1164
1119
|
static eventClearance(reader, sources) {
|
|
1165
1120
|
return reader.#security.clearance.forEvent(sources);
|
|
1166
1121
|
}
|
|
1122
|
+
static viewConditions(reader) {
|
|
1123
|
+
const security = reader.#security;
|
|
1124
|
+
const conditions = security.conditionalScope?.conditions ?? [];
|
|
1125
|
+
return new Map(conditions.map(({ objectTypeId, predicate }) => [
|
|
1126
|
+
objectTypeId,
|
|
1127
|
+
{
|
|
1128
|
+
predicate,
|
|
1129
|
+
hiddenBy: (clearance) => !security.isObjectTypeViewable(objectTypeId, clearance)
|
|
1130
|
+
}
|
|
1131
|
+
]));
|
|
1132
|
+
}
|
|
1167
1133
|
static ontologyView(reader) {
|
|
1168
1134
|
return reader.#ontology.view();
|
|
1169
1135
|
}
|
|
@@ -1183,6 +1149,27 @@ class AuthorizedObjectReaderImpl {
|
|
|
1183
1149
|
});
|
|
1184
1150
|
return this.#detachRows(row && this.#omitHidden(row, clearance), (detached) => [detached], clearance);
|
|
1185
1151
|
}
|
|
1152
|
+
async getByUniqueValue(input) {
|
|
1153
|
+
const request = snapshotReadValue({
|
|
1154
|
+
objectTypeId: input.objectTypeId,
|
|
1155
|
+
propertyId: input.propertyId,
|
|
1156
|
+
value: input.value
|
|
1157
|
+
});
|
|
1158
|
+
const clearance = await this.#security.clearance.current();
|
|
1159
|
+
this.#security.assertObjectTypesViewable([request.objectTypeId], clearance);
|
|
1160
|
+
const valueKey = uniqueLookupKey(this.#ontology.registry, request);
|
|
1161
|
+
const marking = clearance?.missingMarking(request.objectTypeId, request.propertyId);
|
|
1162
|
+
if (marking !== undefined) {
|
|
1163
|
+
throw new AuthorizationError2(`clearance:marking:${marking}`, `[Sixb] Cannot look up '${request.objectTypeId}.${request.propertyId}' by value: it requires clearance for marking '${marking}'.`);
|
|
1164
|
+
}
|
|
1165
|
+
const row = await this.#storage.getByUniqueValue({
|
|
1166
|
+
objectTypeId: request.objectTypeId,
|
|
1167
|
+
propertyId: request.propertyId,
|
|
1168
|
+
valueKey,
|
|
1169
|
+
projectId: this.#security.runtime.projectId
|
|
1170
|
+
});
|
|
1171
|
+
return this.#detachRows(row && this.#omitHidden(row, clearance), (detached) => [detached], clearance);
|
|
1172
|
+
}
|
|
1186
1173
|
async getByPrimaryIdBatch(input) {
|
|
1187
1174
|
const request = snapshotReadValue({
|
|
1188
1175
|
items: input.items.map((item) => ({
|
|
@@ -1208,13 +1195,8 @@ class AuthorizedObjectReaderImpl {
|
|
|
1208
1195
|
this.#security.assertObjectTypesViewable([request.objectTypeId], clearance);
|
|
1209
1196
|
if (hidesProperty(request, clearance))
|
|
1210
1197
|
return false;
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
const [readable] = await this.#storage.selectsObjectProperties({
|
|
1214
|
-
projectId: this.#security.runtime.projectId,
|
|
1215
|
-
items: [request]
|
|
1216
|
-
});
|
|
1217
|
-
return readable ?? false;
|
|
1198
|
+
const [selected] = await this.#selectsObjectProperties([request]);
|
|
1199
|
+
return selected ?? false;
|
|
1218
1200
|
}
|
|
1219
1201
|
async canReadObjectPropertiesBatch(input) {
|
|
1220
1202
|
const request = snapshotReadValue({
|
|
@@ -1226,10 +1208,7 @@ class AuthorizedObjectReaderImpl {
|
|
|
1226
1208
|
});
|
|
1227
1209
|
const clearance = await this.#security.clearance.current();
|
|
1228
1210
|
this.#security.assertObjectTypesViewable(request.items.map((item) => item.objectTypeId), clearance);
|
|
1229
|
-
const selected =
|
|
1230
|
-
...request,
|
|
1231
|
-
projectId: this.#security.runtime.projectId
|
|
1232
|
-
}) : request.items.map(() => true);
|
|
1211
|
+
const selected = await this.#selectsObjectProperties(request.items);
|
|
1233
1212
|
return request.items.map((item, index) => !hidesProperty(item, clearance) && selected[index] === true);
|
|
1234
1213
|
}
|
|
1235
1214
|
async list(input) {
|
|
@@ -1305,7 +1284,9 @@ class AuthorizedObjectReaderImpl {
|
|
|
1305
1284
|
projectId: this.#security.runtime.projectId,
|
|
1306
1285
|
signal: input.signal
|
|
1307
1286
|
}, this.#queryExecutorOptions(clearance));
|
|
1308
|
-
|
|
1287
|
+
const detached = this.#detachRows({ ...result, objects: result.objects.map((row) => this.#omitHidden(row, clearance)) }, (detached) => detached.objects, clearance);
|
|
1288
|
+
await this.#attachUsers(detached.objects, query);
|
|
1289
|
+
return detached;
|
|
1309
1290
|
}
|
|
1310
1291
|
async queryLinks(input) {
|
|
1311
1292
|
const query = snapshotAuthoredQuery(input.query);
|
|
@@ -1395,9 +1376,30 @@ class AuthorizedObjectReaderImpl {
|
|
|
1395
1376
|
assertTargetsReadable(clearance, { objectTypeIds: [objectTypeId] });
|
|
1396
1377
|
return (row) => clearance ? redactObjectRow(row, clearance) : row;
|
|
1397
1378
|
}
|
|
1379
|
+
async uniqueValueWriteCheck(objectTypeId) {
|
|
1380
|
+
const clearance = await this.#security.clearance.current();
|
|
1381
|
+
const marked = this.#ontology.registry.listUniqueProperties(objectTypeId).flatMap((property) => {
|
|
1382
|
+
const marking = clearance?.missingMarking(objectTypeId, property.propertyId);
|
|
1383
|
+
return marking === undefined ? [] : [{ propertyId: property.propertyId, marking }];
|
|
1384
|
+
});
|
|
1385
|
+
return (properties) => {
|
|
1386
|
+
for (const { propertyId, marking } of marked) {
|
|
1387
|
+
if (properties[propertyId] === undefined || properties[propertyId] === null)
|
|
1388
|
+
continue;
|
|
1389
|
+
throw new AuthorizationError2(`clearance:marking:${marking}`, `[Sixb] Cannot write a value to '${objectTypeId}.${propertyId}': it is unique and requires clearance for marking '${marking}'.`);
|
|
1390
|
+
}
|
|
1391
|
+
};
|
|
1392
|
+
}
|
|
1398
1393
|
async assertReadable(targets) {
|
|
1399
1394
|
assertTargetsReadable(await this.#security.clearance.current(), targets);
|
|
1400
1395
|
}
|
|
1396
|
+
viewsThroughCondition(objectTypeId) {
|
|
1397
|
+
return this.#security.viewsThroughCondition(objectTypeId);
|
|
1398
|
+
}
|
|
1399
|
+
async assertViewable(objectTypeIds) {
|
|
1400
|
+
const clearance = await this.#security.clearance.current();
|
|
1401
|
+
this.#security.assertObjectTypesViewable(objectTypeIds, clearance);
|
|
1402
|
+
}
|
|
1401
1403
|
assertVisibleOutputWithinLimit(value) {
|
|
1402
1404
|
if (this.#security.authority.type !== "delegated")
|
|
1403
1405
|
return;
|
|
@@ -1414,7 +1416,8 @@ class AuthorizedObjectReaderImpl {
|
|
|
1414
1416
|
storage: this.#storage,
|
|
1415
1417
|
embeddingModels: this.#models.embedding,
|
|
1416
1418
|
rerankingModels: this.#models.reranking,
|
|
1417
|
-
...admission === undefined ? {} : { admission }
|
|
1419
|
+
...admission === undefined ? {} : { admission },
|
|
1420
|
+
requestingUser: this.#security.requestingUser
|
|
1418
1421
|
};
|
|
1419
1422
|
}
|
|
1420
1423
|
return {
|
|
@@ -1422,9 +1425,22 @@ class AuthorizedObjectReaderImpl {
|
|
|
1422
1425
|
embeddingModels: this.#models.embedding,
|
|
1423
1426
|
rerankingModels: this.#models.reranking,
|
|
1424
1427
|
storage: this.#storage,
|
|
1425
|
-
|
|
1426
|
-
...
|
|
1427
|
-
|
|
1428
|
+
...this.#queryAuthorization(clearance),
|
|
1429
|
+
...admission === undefined ? {} : { admission },
|
|
1430
|
+
requestingUser: this.#security.requestingUser
|
|
1431
|
+
};
|
|
1432
|
+
}
|
|
1433
|
+
#queryAuthorization(clearance) {
|
|
1434
|
+
const runtimeAuthorization = this.#security.runtime.runtimeAuthorization;
|
|
1435
|
+
if (this.#security.authority.type !== "principal")
|
|
1436
|
+
return { runtimeAuthorization };
|
|
1437
|
+
const security = this.#security;
|
|
1438
|
+
return {
|
|
1439
|
+
runtimeAuthorization,
|
|
1440
|
+
readableObjectTypes: Object.freeze({
|
|
1441
|
+
assert: (objectTypeIds) => security.assertObjectTypesGranted(objectTypeIds, clearance),
|
|
1442
|
+
has: (objectTypeId) => security.isObjectTypeGranted(objectTypeId, clearance)
|
|
1443
|
+
})
|
|
1428
1444
|
};
|
|
1429
1445
|
}
|
|
1430
1446
|
#executorAdmission(clearance) {
|
|
@@ -1434,6 +1450,29 @@ class AuthorizedObjectReaderImpl {
|
|
|
1434
1450
|
return composeObjectQueryAdmissions(selected, admission);
|
|
1435
1451
|
return selected ?? admission;
|
|
1436
1452
|
}
|
|
1453
|
+
async#attachUsers(rows, query) {
|
|
1454
|
+
const plan = userExpansionPlan(normalizeObjectQuery2(query));
|
|
1455
|
+
if (!plan)
|
|
1456
|
+
return;
|
|
1457
|
+
await attachUserProfiles({
|
|
1458
|
+
rows,
|
|
1459
|
+
plan,
|
|
1460
|
+
ontology: this.#ontology.registry,
|
|
1461
|
+
projectId: this.#security.runtime.projectId,
|
|
1462
|
+
canViewUsers: isRuntimeAllowed2(this.#security.runtime, { kind: "users.view" }),
|
|
1463
|
+
users: this.#users
|
|
1464
|
+
});
|
|
1465
|
+
}
|
|
1466
|
+
async#selectsObjectProperties(items) {
|
|
1467
|
+
const readsByObject = (item) => this.#security.authority.type === "delegated" || this.#security.viewsThroughCondition(item.objectTypeId);
|
|
1468
|
+
const checked = items.filter(readsByObject);
|
|
1469
|
+
const selected = checked.length === 0 ? [] : await this.#storage.selectsObjectProperties({
|
|
1470
|
+
projectId: this.#security.runtime.projectId,
|
|
1471
|
+
items: checked
|
|
1472
|
+
});
|
|
1473
|
+
let next = 0;
|
|
1474
|
+
return items.map((item) => !readsByObject(item) || selected[next++] === true);
|
|
1475
|
+
}
|
|
1437
1476
|
#omitHidden(row, clearance) {
|
|
1438
1477
|
return clearance ? omitHiddenProperties(row, clearance) : row;
|
|
1439
1478
|
}
|
|
@@ -1472,21 +1511,24 @@ function createAuthorizedObjectReader(input) {
|
|
|
1472
1511
|
const scope = captureExecutionScope(input.scope);
|
|
1473
1512
|
const projectId = scope.execution.projectId;
|
|
1474
1513
|
const authority = resolveExecutionScopeAuthorization(projectId, scope);
|
|
1475
|
-
const
|
|
1514
|
+
const security = new ObjectReaderSecurity({
|
|
1515
|
+
authorization: scope.authorization,
|
|
1516
|
+
authority,
|
|
1517
|
+
projectId,
|
|
1518
|
+
ontology: input.ontology,
|
|
1519
|
+
...input.appliedMarkings === undefined ? {} : { appliedMarkings: input.appliedMarkings },
|
|
1520
|
+
requestedBy: scope.execution.requestedBy
|
|
1521
|
+
});
|
|
1522
|
+
const storage = objectStorageForAuthority(security, input.objectStorage);
|
|
1476
1523
|
const reader = new AuthorizedObjectReaderImpl(readerConstructionKey, {
|
|
1477
|
-
ontology: new ObjectReaderOntology(input.ontology,
|
|
1478
|
-
security
|
|
1479
|
-
authorization: scope.authorization,
|
|
1480
|
-
authority,
|
|
1481
|
-
projectId,
|
|
1482
|
-
ontology: input.ontology,
|
|
1483
|
-
...input.appliedMarkings === undefined ? {} : { appliedMarkings: input.appliedMarkings }
|
|
1484
|
-
}),
|
|
1524
|
+
ontology: new ObjectReaderOntology(input.ontology, security),
|
|
1525
|
+
security,
|
|
1485
1526
|
models: Object.freeze({
|
|
1486
1527
|
...input.embeddingModels === undefined ? {} : { embedding: input.embeddingModels },
|
|
1487
1528
|
...input.rerankingModels === undefined ? {} : { reranking: input.rerankingModels }
|
|
1488
1529
|
}),
|
|
1489
|
-
storage
|
|
1530
|
+
storage,
|
|
1531
|
+
...input.users === undefined ? {} : { users: input.users }
|
|
1490
1532
|
});
|
|
1491
1533
|
Object.freeze(reader);
|
|
1492
1534
|
return reader;
|
|
@@ -1503,6 +1545,9 @@ function readerClearance(reader) {
|
|
|
1503
1545
|
function readerEventClearance(reader, sources) {
|
|
1504
1546
|
return AuthorizedObjectReaderImpl.eventClearance(reader, sources);
|
|
1505
1547
|
}
|
|
1548
|
+
function readerViewConditions(reader) {
|
|
1549
|
+
return AuthorizedObjectReaderImpl.viewConditions(reader);
|
|
1550
|
+
}
|
|
1506
1551
|
function assertTargetsReadable(clearance, targets) {
|
|
1507
1552
|
if (!clearance)
|
|
1508
1553
|
return;
|
|
@@ -1520,9 +1565,14 @@ function assertTargetsReadable(clearance, targets) {
|
|
|
1520
1565
|
function hidesProperty(item, clearance) {
|
|
1521
1566
|
return clearance?.missingMarking(item.objectTypeId, item.propertyId) !== undefined;
|
|
1522
1567
|
}
|
|
1523
|
-
function objectStorageForAuthority(
|
|
1568
|
+
function objectStorageForAuthority(security, objectStorage) {
|
|
1569
|
+
const authority = security.authority;
|
|
1524
1570
|
switch (authority.type) {
|
|
1525
1571
|
case "principal":
|
|
1572
|
+
return security.conditionalScope ? objectStorage.createConditionalReadScope({
|
|
1573
|
+
projectId: authority.projectId,
|
|
1574
|
+
scope: security.conditionalScope
|
|
1575
|
+
}) : objectStorage;
|
|
1526
1576
|
case "unrestricted":
|
|
1527
1577
|
return objectStorage;
|
|
1528
1578
|
case "delegated":
|
|
@@ -1605,424 +1655,6 @@ function snapshotAuthoredQuery(query) {
|
|
|
1605
1655
|
}
|
|
1606
1656
|
}
|
|
1607
1657
|
|
|
1608
|
-
|
|
1609
|
-
async function canReadActionRunSubject(objectReader, run) {
|
|
1610
|
-
if (run.subject.kind !== "object")
|
|
1611
|
-
return true;
|
|
1612
|
-
const clearance = await readerClearance(objectReader);
|
|
1613
|
-
return clearance?.unreadableType(run.subject.objectTypeId) === undefined;
|
|
1614
|
-
}
|
|
1615
|
-
async function unreadableActionRunTypes(objectReader) {
|
|
1616
|
-
const clearance = await readerClearance(objectReader);
|
|
1617
|
-
return new Set(clearance?.unreadable().types.keys());
|
|
1618
|
-
}
|
|
1619
|
-
async function canDelegationAccessActionRun(input) {
|
|
1620
|
-
const subject = input.run.subject;
|
|
1621
|
-
if (!input.authority.delegation || subject.kind !== "object" || !input.authority.actionApply.some((target) => target.actionId === input.run.actionId && target.subject.objectTypeId === subject.objectTypeId && target.subject.primaryId === subject.primaryId)) {
|
|
1622
|
-
return false;
|
|
1623
|
-
}
|
|
1624
|
-
return actionRunBelongsToShareGrant({
|
|
1625
|
-
storage: input.storage,
|
|
1626
|
-
projectId: input.projectId,
|
|
1627
|
-
run: input.run,
|
|
1628
|
-
grantId: input.authority.delegation.grantId
|
|
1629
|
-
});
|
|
1630
|
-
}
|
|
1631
|
-
async function actionRunBelongsToShareGrant(input) {
|
|
1632
|
-
const parent = await findPrimitiveParentRequestExecution({
|
|
1633
|
-
executions: input.storage.executions,
|
|
1634
|
-
projectId: input.projectId,
|
|
1635
|
-
executionId: input.run.executionId,
|
|
1636
|
-
primitive: { kind: "action", id: input.run.actionId, runId: input.run.id }
|
|
1637
|
-
});
|
|
1638
|
-
const authorization = parent?.authorizationRef;
|
|
1639
|
-
return authorization?.type === "delegated" && authorization.delegation.kind === "share" && authorization.delegation.grantId === input.grantId;
|
|
1640
|
-
}
|
|
1641
|
-
|
|
1642
|
-
// src/runtime/ai-cost.ts
|
|
1643
|
-
async function resolveExecutionCosts(input) {
|
|
1644
|
-
if (input.executionIds.length === 0)
|
|
1645
|
-
return [];
|
|
1646
|
-
if (!input.storage)
|
|
1647
|
-
return input.executionIds.map(() => {
|
|
1648
|
-
return;
|
|
1649
|
-
});
|
|
1650
|
-
return input.storage.summarizeExecutions({
|
|
1651
|
-
projectId: input.projectId,
|
|
1652
|
-
executionIds: input.executionIds
|
|
1653
|
-
});
|
|
1654
|
-
}
|
|
1655
|
-
|
|
1656
|
-
// src/activity/timeline.ts
|
|
1657
|
-
var ACTIVITY_TIMELINE_LIMIT = 200;
|
|
1658
|
-
var SESSION_GRACE_MS = ACTIVITY_MIN_IDLE_TIMEOUT_MS / 2;
|
|
1659
|
-
async function composeActivityTimeline(runtime, input, now) {
|
|
1660
|
-
const { page, visit } = input;
|
|
1661
|
-
const { storage, projectId } = runtime;
|
|
1662
|
-
const [ledger, connection] = await Promise.all([
|
|
1663
|
-
storage.executions.listBySession({
|
|
1664
|
-
projectId,
|
|
1665
|
-
session: { type: visit.actor.type, id: page.sessionId },
|
|
1666
|
-
...sessionWindow(visit),
|
|
1667
|
-
limit: ACTIVITY_TIMELINE_LIMIT
|
|
1668
|
-
}),
|
|
1669
|
-
readActivityConnection(runtime, page, input.grant, now)
|
|
1670
|
-
]);
|
|
1671
|
-
const executions = ledger.executions;
|
|
1672
|
-
const ofKind = (kind) => executions.flatMap((execution) => execution.executor.type === "primitive" && execution.executor.kind === kind ? [execution.id] : []);
|
|
1673
|
-
const agentRunIds = executions.flatMap((execution) => execution.executor.type === "agent" ? [execution.executor.runId] : []);
|
|
1674
|
-
const byId = new Map(executions.map((execution) => [execution.id, execution]));
|
|
1675
|
-
const withAgent = executions.filter((execution) => lineage(execution, byId).some((ancestor) => ancestor.executor.type === "agent"));
|
|
1676
|
-
const [actionRuns, workflowRuns, agentRuns, costs] = await Promise.all([
|
|
1677
|
-
storage.actionRuns?.getByExecutionIds({ projectId, executionIds: ofKind("action") }) ?? [],
|
|
1678
|
-
storage.workflowRuns?.getByExecutionIds({ projectId, executionIds: ofKind("workflow") }) ?? [],
|
|
1679
|
-
storage.agents?.runs.getByIds({ projectId, ids: agentRunIds }) ?? [],
|
|
1680
|
-
resolveExecutionCosts({
|
|
1681
|
-
storage: storage.aiCosts,
|
|
1682
|
-
projectId,
|
|
1683
|
-
executionIds: withAgent.map((execution) => execution.id)
|
|
1684
|
-
})
|
|
1685
|
-
]);
|
|
1686
|
-
const conversations = new Map(agentRuns.flatMap((run) => run.kind === "conversation" ? [[run.executionId, run]] : []));
|
|
1687
|
-
const subjects = actionRuns.flatMap((run) => run.subject.kind === "object" ? [run.subject] : []);
|
|
1688
|
-
const [threads, readable, unreadableRunTypes] = await Promise.all([
|
|
1689
|
-
storage.agents?.threads.getByIds({
|
|
1690
|
-
projectId,
|
|
1691
|
-
ids: [...conversations.values()].map((run) => run.threadId)
|
|
1692
|
-
}) ?? [],
|
|
1693
|
-
readableObjects(runtime, subjects),
|
|
1694
|
-
subjects.length > 0 ? unreadableActionRunTypes(runtime.objectReader) : new Set
|
|
1695
|
-
]);
|
|
1696
|
-
const actionRunByExecution = new Map(actionRuns.map((run) => [run.executionId, run]));
|
|
1697
|
-
const workflowRunByExecution = new Map(workflowRuns.map((run) => [run.executionId, run]));
|
|
1698
|
-
const messagesByThread = new Map(threads.map((thread) => [thread.id, thread.messageCount]));
|
|
1699
|
-
const costByAgent = rollUpCosts(byId, conversations, withAgent, costs);
|
|
1700
|
-
const executionEntries = executions.flatMap((execution) => {
|
|
1701
|
-
const at = new Date(execution.createdAt);
|
|
1702
|
-
const executor = execution.executor;
|
|
1703
|
-
const authority = execution.authorizationRef;
|
|
1704
|
-
if (executor.type === "primitive" && authority.type === "trustedPrimitive") {
|
|
1705
|
-
if (executor.kind === "action") {
|
|
1706
|
-
const run = actionRunByExecution.get(execution.id);
|
|
1707
|
-
const subject = run?.subject.kind === "object" ? run.subject : undefined;
|
|
1708
|
-
const object = subject && readable.has(objectBatchKey2(subject.objectTypeId, subject.primaryId)) ? { objectTypeId: subject.objectTypeId, primaryId: subject.primaryId } : undefined;
|
|
1709
|
-
const runVisible = run !== undefined && canViewActionRun2(runtime.authorization, run) && (subject === undefined || !unreadableRunTypes.has(subject.objectTypeId));
|
|
1710
|
-
return [
|
|
1711
|
-
{
|
|
1712
|
-
kind: "action",
|
|
1713
|
-
at,
|
|
1714
|
-
executionId: execution.id,
|
|
1715
|
-
actionId: authority.primitive.id,
|
|
1716
|
-
runId: executor.runId,
|
|
1717
|
-
status: run?.status ?? "incomplete",
|
|
1718
|
-
runVisible,
|
|
1719
|
-
...object === undefined ? {} : { object }
|
|
1720
|
-
}
|
|
1721
|
-
];
|
|
1722
|
-
}
|
|
1723
|
-
if (executor.kind === "workflow") {
|
|
1724
|
-
const run = workflowRunByExecution.get(execution.id);
|
|
1725
|
-
return [
|
|
1726
|
-
{
|
|
1727
|
-
kind: "workflow",
|
|
1728
|
-
at,
|
|
1729
|
-
executionId: execution.id,
|
|
1730
|
-
workflowId: authority.primitive.id,
|
|
1731
|
-
runId: executor.runId,
|
|
1732
|
-
status: run?.status ?? "incomplete",
|
|
1733
|
-
runVisible: run !== undefined && canViewWorkflowRun2(runtime.authorization, run)
|
|
1734
|
-
}
|
|
1735
|
-
];
|
|
1736
|
-
}
|
|
1737
|
-
}
|
|
1738
|
-
const conversation = conversations.get(execution.id);
|
|
1739
|
-
if (conversation) {
|
|
1740
|
-
const cost = costByAgent.get(execution.id);
|
|
1741
|
-
return [
|
|
1742
|
-
{
|
|
1743
|
-
kind: "agent",
|
|
1744
|
-
at,
|
|
1745
|
-
executionId: execution.id,
|
|
1746
|
-
runId: conversation.id,
|
|
1747
|
-
threadId: conversation.threadId,
|
|
1748
|
-
status: conversation.status,
|
|
1749
|
-
messages: messagesByThread.get(conversation.threadId) ?? 0,
|
|
1750
|
-
...cost === undefined ? {} : { cost }
|
|
1751
|
-
}
|
|
1752
|
-
];
|
|
1753
|
-
}
|
|
1754
|
-
return [];
|
|
1755
|
-
});
|
|
1756
|
-
const recorded = [
|
|
1757
|
-
...page.pageViews.map((pageView) => ({
|
|
1758
|
-
kind: "page",
|
|
1759
|
-
at: new Date(pageView.receivedAt),
|
|
1760
|
-
sequence: pageView.sequence,
|
|
1761
|
-
route: pageView.route
|
|
1762
|
-
})),
|
|
1763
|
-
...page.interactions.map((interaction) => ({
|
|
1764
|
-
kind: "interaction",
|
|
1765
|
-
at: new Date(interaction.receivedAt),
|
|
1766
|
-
sequence: interaction.sequence,
|
|
1767
|
-
name: interaction.name,
|
|
1768
|
-
route: interaction.route
|
|
1769
|
-
}))
|
|
1770
|
-
].sort((left, right) => left.sequence - right.sequence);
|
|
1771
|
-
const cutoffs = [
|
|
1772
|
-
page.hasMore ? recorded.at(-1)?.at : undefined,
|
|
1773
|
-
ledger.truncated ? executions.filter((execution) => execution.source.type !== "execution").at(-1)?.createdAt : undefined
|
|
1774
|
-
].flatMap((at) => at === undefined ? [] : [at.getTime()]);
|
|
1775
|
-
const cutoff = cutoffs.length > 0 ? Math.min(...cutoffs) : Number.POSITIVE_INFINITY;
|
|
1776
|
-
const entries = [...recorded, ...executionEntries].filter((entry) => entry.at.getTime() <= cutoff).sort((left, right) => left.at.getTime() - right.at.getTime());
|
|
1777
|
-
return {
|
|
1778
|
-
visit,
|
|
1779
|
-
...connection === undefined ? {} : { connection },
|
|
1780
|
-
entries,
|
|
1781
|
-
truncated: page.hasMore || ledger.truncated
|
|
1782
|
-
};
|
|
1783
|
-
}
|
|
1784
|
-
function sessionWindow(visit) {
|
|
1785
|
-
const startedAt = visit.startedAt.getTime();
|
|
1786
|
-
return {
|
|
1787
|
-
from: new Date(startedAt - SESSION_GRACE_MS),
|
|
1788
|
-
to: new Date(Math.min(visit.lastSeenAt.getTime() + SESSION_GRACE_MS, startedAt + ACTIVITY_MAX_VISIT_MS2 - SESSION_GRACE_MS))
|
|
1789
|
-
};
|
|
1790
|
-
}
|
|
1791
|
-
function lineage(execution, byId) {
|
|
1792
|
-
const chain = [];
|
|
1793
|
-
let current = execution;
|
|
1794
|
-
while (current) {
|
|
1795
|
-
chain.push(current);
|
|
1796
|
-
current = current.source.type === "execution" ? byId.get(current.source.executionId) : undefined;
|
|
1797
|
-
}
|
|
1798
|
-
return chain;
|
|
1799
|
-
}
|
|
1800
|
-
function rollUpCosts(byId, conversations, withAgent, costs) {
|
|
1801
|
-
const grouped = new Map;
|
|
1802
|
-
withAgent.forEach((execution, index) => {
|
|
1803
|
-
const cost = costs[index];
|
|
1804
|
-
const owner = lineage(execution, byId).find((ancestor) => conversations.has(ancestor.id));
|
|
1805
|
-
if (!cost || !owner) {
|
|
1806
|
-
return;
|
|
1807
|
-
}
|
|
1808
|
-
const summaries = grouped.get(owner.id) ?? [];
|
|
1809
|
-
summaries.push(cost);
|
|
1810
|
-
grouped.set(owner.id, summaries);
|
|
1811
|
-
});
|
|
1812
|
-
return new Map([...grouped].flatMap(([owner, summaries]) => {
|
|
1813
|
-
const total = addCosts(summaries);
|
|
1814
|
-
return total ? [[owner, total]] : [];
|
|
1815
|
-
}));
|
|
1816
|
-
}
|
|
1817
|
-
function addCosts(summaries) {
|
|
1818
|
-
const amounts = new Map;
|
|
1819
|
-
let ratedCallCount = 0;
|
|
1820
|
-
let unpriceableCallCount = 0;
|
|
1821
|
-
let unvaluedCallCount = 0;
|
|
1822
|
-
for (const summary of summaries) {
|
|
1823
|
-
for (const money of summary.amounts) {
|
|
1824
|
-
amounts.set(money.currency, (amounts.get(money.currency) ?? 0n) + BigInt(money.amountNanos));
|
|
1825
|
-
}
|
|
1826
|
-
ratedCallCount += summary.ratedCallCount;
|
|
1827
|
-
unpriceableCallCount += summary.unpriceableCallCount;
|
|
1828
|
-
unvaluedCallCount += summary.unvaluedCallCount;
|
|
1829
|
-
}
|
|
1830
|
-
if (ratedCallCount + unpriceableCallCount + unvaluedCallCount === 0) {
|
|
1831
|
-
return;
|
|
1832
|
-
}
|
|
1833
|
-
return {
|
|
1834
|
-
amounts: [...amounts].sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0).map(([currency, amount]) => ({ currency, amountNanos: amount.toString() })),
|
|
1835
|
-
ratedCallCount,
|
|
1836
|
-
unpriceableCallCount,
|
|
1837
|
-
unvaluedCallCount
|
|
1838
|
-
};
|
|
1839
|
-
}
|
|
1840
|
-
async function readableObjects(runtime, subjects) {
|
|
1841
|
-
const byType = new Map;
|
|
1842
|
-
for (const subject of subjects) {
|
|
1843
|
-
const items = byType.get(subject.objectTypeId) ?? new Map;
|
|
1844
|
-
items.set(subject.primaryId, subject);
|
|
1845
|
-
byType.set(subject.objectTypeId, items);
|
|
1846
|
-
}
|
|
1847
|
-
const readable = new Set;
|
|
1848
|
-
await Promise.all([...byType.values()].map(async (items) => {
|
|
1849
|
-
try {
|
|
1850
|
-
const rows = await runtime.objectReader.getByPrimaryIdBatch({ items: [...items.values()] });
|
|
1851
|
-
for (const key of rows.keys()) {
|
|
1852
|
-
readable.add(key);
|
|
1853
|
-
}
|
|
1854
|
-
} catch (error) {
|
|
1855
|
-
if (!(error instanceof AuthorizationError2)) {
|
|
1856
|
-
throw error;
|
|
1857
|
-
}
|
|
1858
|
-
}
|
|
1859
|
-
}));
|
|
1860
|
-
return readable;
|
|
1861
|
-
}
|
|
1862
|
-
|
|
1863
|
-
// src/activity/execution.ts
|
|
1864
|
-
var PROFILE_READ_CONCURRENCY = 8;
|
|
1865
|
-
function createActivityRuntime(runtime, service) {
|
|
1866
|
-
const assertObservable = () => assertAuthorized2(runtime, { kind: "activity.observe" });
|
|
1867
|
-
return {
|
|
1868
|
-
async list(query) {
|
|
1869
|
-
assertObservable();
|
|
1870
|
-
const page = await service.list(query);
|
|
1871
|
-
return { ...page, visits: await nameSharedVisits(runtime, page.visits) };
|
|
1872
|
-
},
|
|
1873
|
-
async users(query) {
|
|
1874
|
-
assertObservable();
|
|
1875
|
-
const page = await service.users(query);
|
|
1876
|
-
const users = await mapInChunks(page.users, PROFILE_READ_CONCURRENCY, async (user) => {
|
|
1877
|
-
const profile = await runtime.storage.auth?.users.getById({
|
|
1878
|
-
projectId: runtime.projectId,
|
|
1879
|
-
id: user.userId
|
|
1880
|
-
});
|
|
1881
|
-
return profile?.displayName ? { ...user, displayName: profile.displayName } : user;
|
|
1882
|
-
});
|
|
1883
|
-
return { users, hasMore: page.hasMore };
|
|
1884
|
-
},
|
|
1885
|
-
async summarize(query) {
|
|
1886
|
-
assertObservable();
|
|
1887
|
-
return service.summarize(query);
|
|
1888
|
-
},
|
|
1889
|
-
async calendar(query) {
|
|
1890
|
-
assertObservable();
|
|
1891
|
-
return service.calendar(query);
|
|
1892
|
-
},
|
|
1893
|
-
async timeline(visitId) {
|
|
1894
|
-
assertObservable();
|
|
1895
|
-
const page = await service.readWithSession({ id: visitId, limit: ACTIVITY_TIMELINE_LIMIT });
|
|
1896
|
-
if (!page) {
|
|
1897
|
-
return null;
|
|
1898
|
-
}
|
|
1899
|
-
const shared = await nameSharedVisit(runtime, page.visit);
|
|
1900
|
-
return composeActivityTimeline(runtime, { ...shared, page }, new Date);
|
|
1901
|
-
},
|
|
1902
|
-
async connections(query) {
|
|
1903
|
-
assertObservable();
|
|
1904
|
-
return readActivityConnections(runtime, service, query, new Date);
|
|
1905
|
-
}
|
|
1906
|
-
};
|
|
1907
|
-
}
|
|
1908
|
-
function createActivityCaptureRuntime(runtime, service) {
|
|
1909
|
-
return {
|
|
1910
|
-
captureOptions() {
|
|
1911
|
-
captureSource(runtime);
|
|
1912
|
-
return service.captureOptions;
|
|
1913
|
-
},
|
|
1914
|
-
async capture(events) {
|
|
1915
|
-
return service.capture(captureSource(runtime), events);
|
|
1916
|
-
}
|
|
1917
|
-
};
|
|
1918
|
-
}
|
|
1919
|
-
var activityCaptureKey = Symbol("sixb.activityCapture");
|
|
1920
|
-
function registerActivityCaptureRuntime(owner, capture) {
|
|
1921
|
-
Object.defineProperty(owner, activityCaptureKey, {
|
|
1922
|
-
configurable: false,
|
|
1923
|
-
enumerable: false,
|
|
1924
|
-
value: capture,
|
|
1925
|
-
writable: false
|
|
1926
|
-
});
|
|
1927
|
-
}
|
|
1928
|
-
function getActivityCaptureRuntime2(owner) {
|
|
1929
|
-
const capture = owner[activityCaptureKey];
|
|
1930
|
-
if (!capture) {
|
|
1931
|
-
throw new Error("[Sixb] Activity capture is not registered for this execution.");
|
|
1932
|
-
}
|
|
1933
|
-
return capture;
|
|
1934
|
-
}
|
|
1935
|
-
function captureSource(runtime) {
|
|
1936
|
-
const ref = getAuthorizationRef(runtime.runtimeAuthorization);
|
|
1937
|
-
if (ref.type === "principal" && ref.principal.type === "user" && ref.credential?.type === "session") {
|
|
1938
|
-
return {
|
|
1939
|
-
actor: { type: "user", userId: ref.principal.id },
|
|
1940
|
-
sessionId: ref.credential.id
|
|
1941
|
-
};
|
|
1942
|
-
}
|
|
1943
|
-
if (ref.type === "delegated") {
|
|
1944
|
-
return {
|
|
1945
|
-
actor: { type: "share", grantId: ref.delegation.grantId },
|
|
1946
|
-
sessionId: ref.delegation.sessionId
|
|
1947
|
-
};
|
|
1948
|
-
}
|
|
1949
|
-
throw new AuthorizationError2("activity.capture", "[Sixb] Activity is recorded only for a signed-in user's session or a shared link's session.");
|
|
1950
|
-
}
|
|
1951
|
-
async function mapInChunks(items, size, map) {
|
|
1952
|
-
const results = [];
|
|
1953
|
-
for (let start = 0;start < items.length; start += size) {
|
|
1954
|
-
const chunk = await Promise.all(items.slice(start, start + size).map(map));
|
|
1955
|
-
results.push(...chunk);
|
|
1956
|
-
}
|
|
1957
|
-
return results;
|
|
1958
|
-
}
|
|
1959
|
-
|
|
1960
|
-
// src/models/execution/session.ts
|
|
1961
|
-
class ModelExecutionSession {
|
|
1962
|
-
runtime;
|
|
1963
|
-
execution;
|
|
1964
|
-
binding;
|
|
1965
|
-
recorder;
|
|
1966
|
-
constructor(runtime, execution) {
|
|
1967
|
-
this.runtime = runtime;
|
|
1968
|
-
this.execution = execution;
|
|
1969
|
-
}
|
|
1970
|
-
bind(input) {
|
|
1971
|
-
if (this.binding)
|
|
1972
|
-
throw new Error("[SixbModels] Execution attempt is already bound.");
|
|
1973
|
-
this.binding = { ...input };
|
|
1974
|
-
}
|
|
1975
|
-
signal(signal) {
|
|
1976
|
-
const binding = this.requireBinding();
|
|
1977
|
-
return signal ? AbortSignal.any([binding.signal, signal]) : binding.signal;
|
|
1978
|
-
}
|
|
1979
|
-
async admitEmbeddingCall(admit) {
|
|
1980
|
-
const admission = this.requireBinding().embeddingAdmission;
|
|
1981
|
-
if (admission)
|
|
1982
|
-
await admission(admit);
|
|
1983
|
-
else
|
|
1984
|
-
await admit();
|
|
1985
|
-
}
|
|
1986
|
-
accounting() {
|
|
1987
|
-
const { accounting } = this.requireBinding();
|
|
1988
|
-
this.recorder ??= accounting ? Promise.resolve(accounting) : this.createRecorder();
|
|
1989
|
-
return this.recorder;
|
|
1990
|
-
}
|
|
1991
|
-
requireBinding() {
|
|
1992
|
-
if (!this.binding) {
|
|
1993
|
-
throw new Error("[SixbModels] Model calls require a bound request or worker execution attempt.");
|
|
1994
|
-
}
|
|
1995
|
-
return this.binding;
|
|
1996
|
-
}
|
|
1997
|
-
async createRecorder() {
|
|
1998
|
-
const runtime = this.runtime;
|
|
1999
|
-
const execution = this.execution;
|
|
2000
|
-
const { attempt } = this.requireBinding();
|
|
2001
|
-
const storage = {
|
|
2002
|
-
...requireAccountingCapabilities(runtime.storage),
|
|
2003
|
-
transaction: runtime.storage.transaction.bind(runtime.storage)
|
|
2004
|
-
};
|
|
2005
|
-
const { requesterGroupIds } = await ensureExecutionRecord2(runtime.storage.executions, executionRecordInputFromRuntime({
|
|
2006
|
-
execution,
|
|
2007
|
-
runtimeAuthorization: runtime.runtimeAuthorization
|
|
2008
|
-
}));
|
|
2009
|
-
return new AiModelCallRecorder2({
|
|
2010
|
-
storage,
|
|
2011
|
-
projectId: runtime.projectId,
|
|
2012
|
-
executionId: execution.id,
|
|
2013
|
-
attempt,
|
|
2014
|
-
requesterGroupIds,
|
|
2015
|
-
limits: createAiModelCallLimitController2({
|
|
2016
|
-
storage,
|
|
2017
|
-
projectId: runtime.projectId,
|
|
2018
|
-
requestedBy: execution.requestedBy,
|
|
2019
|
-
requesterGroupIds
|
|
2020
|
-
}),
|
|
2021
|
-
recoverAiModelCall: (input) => enqueueAiModelCallRecovery2(runtime.queues.agents, input)
|
|
2022
|
-
});
|
|
2023
|
-
}
|
|
2024
|
-
}
|
|
2025
|
-
|
|
2026
|
-
export { redactDomainEvent, createAuthorizedObjectReader, assertAuthorizedObjectReaderBinding, getAuthorizedOntologyView, readerClearance, readerEventClearance, registerOntologyMutationRuntime2, getOntologyMutationRuntime2, shareOntologyMutationRuntime2, createOntologyMutationRuntime2, canReadActionRunSubject, unreadableActionRunTypes, canDelegationAccessActionRun, actionRunBelongsToShareGrant, decodeActivityConnectionsCursor, resolveExecutionCosts, createActivityRuntime, createActivityCaptureRuntime, registerActivityCaptureRuntime, getActivityCaptureRuntime2, ModelExecutionSession };
|
|
1658
|
+
export { redactDomainEvent, uniqueLookupKeyOf, createAuthorizedObjectReader, assertAuthorizedObjectReaderBinding, getAuthorizedOntologyView, readerClearance, readerEventClearance, readerViewConditions };
|
|
2027
1659
|
|
|
2028
|
-
//# debugId=
|
|
1660
|
+
//# debugId=2DBF13BEAC1BA51864756E2164756E21
|