@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
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"import type { ConnectorDefinition } from \"../connectors/types\"\nimport { WebhookValidationError } from \"./errors\"\nimport type { RegisteredWebhook } from \"./types\"\n\n/** Read-only access to connector webhooks registered by a host. */\nexport interface WebhookCatalog {\n list(): readonly RegisteredWebhook[]\n getByRoute(route: string): RegisteredWebhook | null\n getById(connectorId: string, webhookId: string): RegisteredWebhook | null\n}\n\nexport interface WebhookRegistryOptions {\n readonly connectors: readonly ConnectorDefinition[]\n}\n\nexport class WebhookRegistry implements WebhookCatalog {\n private readonly webhooks: readonly RegisteredWebhook[]\n private readonly byRoute = new Map<string, RegisteredWebhook>()\n\n constructor(options: WebhookRegistryOptions) {\n const registered: RegisteredWebhook[] = []\n\n for (const connector of options.connectors) {\n const webhooks = connector.adapter.webhooks ?? []\n if (!Array.isArray(webhooks)) {\n throw new WebhookValidationError(\n `[Sixb] Connector '${connector.id}' webhooks must be an array when provided.`\n )\n }\n\n const ids = new Set<string>()\n for (const webhook of webhooks) {\n assertValidWebhook(connector.id, webhook)\n\n if (ids.has(webhook.id)) {\n throw new WebhookValidationError(\n `[Sixb] Duplicate webhook id '${webhook.id}' for connector '${connector.id}'.`\n )\n }\n ids.add(webhook.id)\n\n const route = webhookRoute(connector.id, webhook.id)\n const duplicate = this.byRoute.get(route)\n if (duplicate) {\n throw new WebhookValidationError(\n `[Sixb] Duplicate webhook route '${route}' for connectors '${duplicate.connector.id}' and '${connector.id}'.`\n )\n }\n\n const registeredWebhook = {\n connector,\n webhook,\n route,\n } satisfies RegisteredWebhook\n\n this.byRoute.set(route, registeredWebhook)\n registered.push(registeredWebhook)\n }\n }\n\n this.webhooks = Object.freeze(registered)\n }\n\n list(): readonly RegisteredWebhook[] {\n return this.webhooks\n }\n\n getByRoute(route: string): RegisteredWebhook | null {\n return this.byRoute.get(route) ?? null\n }\n\n getById(connectorId: string, webhookId: string): RegisteredWebhook | null {\n return this.getByRoute(webhookRoute(connectorId, webhookId))\n }\n}\n\nexport function webhookRoute(connectorId: string, webhookId: string): string {\n return `/api/webhooks/${connectorId}/${webhookId}`\n}\n\nfunction assertValidWebhook(\n connectorId: string,\n webhook: unknown\n): asserts webhook is RegisteredWebhook[\"webhook\"] {\n if (!isRecord(webhook)) {\n throw new WebhookValidationError(`[Sixb] Connector '${connectorId}' has an invalid webhook.`)\n }\n\n if (webhook.kind !== \"webhook\") {\n throw new WebhookValidationError(\n `[Sixb] Connector '${connectorId}' webhook must be created with defineWebhook(...).`\n )\n }\n\n if (typeof webhook.id !== \"string\" || !webhook.id.trim()) {\n throw new WebhookValidationError(\n `[Sixb] Connector '${connectorId}' webhook id must not be empty.`\n )\n }\n\n if (webhook.method !== \"POST\") {\n throw new WebhookValidationError(\n `[Sixb] Webhook '${connectorId}/${webhook.id}' must use method POST.`\n )\n }\n\n if (!isRecord(webhook.body)) {\n throw new WebhookValidationError(\n `[Sixb] Webhook '${connectorId}/${webhook.id}' body is required.`\n )\n }\n\n if (\n webhook.body.format !== \"json\" &&\n webhook.body.format !== \"text\" &&\n webhook.body.format !== \"raw\"\n ) {\n throw new WebhookValidationError(\n `[Sixb] Webhook '${connectorId}/${webhook.id}' body format must be json, text, or raw.`\n )\n }\n\n if (typeof webhook.body.parse !== \"function\") {\n throw new WebhookValidationError(\n `[Sixb] Webhook '${connectorId}/${webhook.id}' body parser must provide parse(value).`\n )\n }\n\n if (webhook.verify !== undefined && typeof webhook.verify !== \"function\") {\n throw new WebhookValidationError(\n `[Sixb] Webhook '${connectorId}/${webhook.id}' verify must be a function.`\n )\n }\n\n if (webhook.idempotencyKey !== undefined && typeof webhook.idempotencyKey !== \"function\") {\n throw new WebhookValidationError(\n `[Sixb] Webhook '${connectorId}/${webhook.id}' idempotencyKey must be a function.`\n )\n }\n\n if (typeof webhook.handle !== \"function\") {\n throw new WebhookValidationError(\n `[Sixb] Webhook '${connectorId}/${webhook.id}' handle must be a function.`\n )\n }\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n",
|
|
9
9
|
"/**\n * How a webhook is allowed to treat the credential its provider sends.\n *\n * A union, so no value carries neither branch. `resolveWebhookVerification` covers the path\n * where the credential arrives as `TCredential | undefined` from the environment, which no type\n * can narrow. Generic because a credential is not always a signing secret: PandaDoc resolves a\n * shared key, Pipedrive compares a username and password.\n */\nexport type WebhookVerification<TCredential = string> =\n | { readonly credential: TCredential; readonly allowUnverified?: never }\n | {\n readonly credential?: never\n /**\n * Accept deliveries this webhook cannot verify. Without a credential the route accepts\n * requests from anyone who can reach it, so it has to be asked for.\n */\n readonly allowUnverified: true\n }\n\n/**\n * How to name a webhook, and its options, in a message about its verification.\n *\n * The options are part of the subject because a connector has two entry points with different\n * names for the same thing: a message fixed to one sends half the callers to an option their\n * API does not have.\n */\nexport interface WebhookVerificationSubject {\n /** The connector, as it appears in its own message prefix — `SixbGitHub`, `SixbMercury`. */\n readonly connector: string\n /** What this webhook checks when a credential is configured, as a noun phrase. */\n readonly verifies: string\n /** The option carrying the credential, written as the caller would type it. */\n readonly credentialOption: string\n /** The option that accepts unverified deliveries, written as the caller would type it. */\n readonly allowOption: string\n}\n\nexport class UnverifiedWebhookError extends Error {\n readonly name = \"UnverifiedWebhookError\"\n}\n\n/**\n * Narrows a credential that may be absent into a {@link WebhookVerification}, or refuses.\n *\n * Returns the union so a caller spreads the result into the builder instead of deciding again.\n * Refusing is the point: a missing credential used to mean `.verify()` returned early and the\n * route accepted anything that reached it. Throwing here fails `createSixb()` instead, so the\n * API role never starts open.\n */\nexport function resolveWebhookVerification<TCredential>(\n subject: WebhookVerificationSubject,\n options: { readonly credential?: TCredential; readonly allowUnverified?: boolean }\n): WebhookVerification<TCredential> {\n if (options.credential) return { credential: options.credential }\n\n if (!options.allowUnverified) {\n throw new UnverifiedWebhookError(\n `[${subject.connector}] This webhook has no credential, so ${subject.verifies} cannot be ` +\n `checked and the route would accept unverified requests from anyone who can reach it. ` +\n `Set ${subject.credentialOption}, or pass ${subject.allowOption} to accept that.`\n )\n }\n\n return { allowUnverified: true }\n}\n\n/**\n * Announces a webhook whose author chose to accept unverified deliveries. Called where the\n * webhook is defined, not inside `verify()`: once per boot is a fact, once per request is noise.\n */\nexport function warnUnverifiedWebhook<TCredential>(\n subject: WebhookVerificationSubject,\n verification: WebhookVerification<TCredential>\n): void {\n if (verification.credential) return\n\n console.warn(\n `[${subject.connector}] ${subject.allowOption}, so ${subject.verifies} is not checked ` +\n `and this route accepts unverified requests from anyone who can reach it. ` +\n `Set ${subject.credentialOption} before exposing it.`\n )\n}\n",
|
|
10
10
|
"import { resolve } from \"node:path\"\nimport type { ActionDefinition } from \"../actions\"\nimport type { ActivityOptions } from \"../activity/service\"\nimport type { AgentToolDefinition } from \"../agents\"\nimport { assertNoAgentDefinitions } from \"../agents/retired-config\"\nimport type { SixbAuthConfig } from \"../auth\"\nimport type { BlobStorage } from \"../blob-storage\"\nimport {\n discoverAgentSkills,\n discoverOntologyFiles,\n discoverProjectInstructions,\n} from \"../bootstrap/agent-context\"\nimport { discoverOntologySources, discoverProjectDefinitions } from \"../bootstrap/discovery\"\nimport type { Broker } from \"../broker\"\nimport type { ConnectorConnectionOptions, ConnectorDefinition } from \"../connectors/types\"\nimport type { DatasetDefinition } from \"../datasets\"\nimport type { SixbErrorHandler } from \"../error-reporting/types\"\nimport type { LakeStorage } from \"../lake-storage\"\nimport type { LoggerProvider } from \"../logging\"\nimport type { ObservabilityOptions } from \"../logging/service\"\nimport type { OntologyMaintenanceOptions } from \"../maintenance\"\nimport type { ModelCatalogInput } from \"../models\"\nimport type { PipelineDefinition } from \"../pipelines/types\"\nimport type { ProjectionDefinition } from \"../projections/types\"\nimport type { Queues } from \"../queues\"\nimport type { RuleDefinition } from \"../rules\"\nimport type { SandboxFactory } from \"../sandboxes\"\nimport type { ScheduleDefinition } from \"../schedules\"\nimport type {\n GroupDefinition,\n MarkingDefinition,\n MembershipPolicyDefinition,\n RoleDefinition,\n} from \"../security\"\nimport type { ParamsConfig } from \"../shared/params/types\"\nimport type { ShareDefinition } from \"../shares\"\nimport type { Storage } from \"../storage\"\nimport type { SyncDefinition } from \"../syncs\"\nimport type { WorkflowDefinition } from \"../workflows\"\nimport { RuntimeError } from \"./errors\"\nimport { SixbHost } from \"./host\"\nimport type { OntologySource } from \"./types\"\n\nexport interface CreateSixbOptions<in out TParams extends ParamsConfig = ParamsConfig> {\n id?: string\n /** BCP 47 language of the project, such as `\"fr-FR\"`. Defaults to `\"en\"`. */\n locale?: string\n /**\n * IANA time zone of the project, such as `\"Europe/Paris\"`. Defaults to `\"UTC\"`. Cron schedules\n * without their own time zone and agent runs use it.\n */\n timeZone?: string\n broker: Broker\n storage: Storage\n lakeStorage: LakeStorage\n blobStorage: BlobStorage\n queues: Queues\n sandboxes?: SandboxFactory<TParams>\n /** Optional process-level output provider. Omit for broker-only logging. */\n logger?: LoggerProvider\n /** Broker capture controls, independent from the output provider. */\n observability?: ObservabilityOptions\n /** Records visits and page views in the project's app. Off by default. */\n activity?: ActivityOptions\n /** Observes runtime failures without changing their outcome. */\n onError?: SixbErrorHandler\n /** Recovery and retention settings. The runtime constructor never starts maintenance timers. */\n ontologyMaintenance?: OntologyMaintenanceOptions\n ontologies?: readonly OntologySource[]\n actions?: readonly ActionDefinition[]\n /** Models this project allows Sixb to use. The first of each kind is the default. */\n models?: ModelCatalogInput\n /** Project tools available to Agent runtimes. */\n tools?: readonly AgentToolDefinition[]\n datasets?: readonly DatasetDefinition[]\n /** Connector definitions to register in addition to auto-discovered `connectors/` exports. */\n connectors?: readonly ConnectorDefinition[]\n /** Required to protect OAuth credentials when connector connection storage is durable. */\n connectorConnections?: ConnectorConnectionOptions\n schedules?: readonly ScheduleDefinition[]\n syncs?: readonly SyncDefinition[]\n pipelines?: readonly PipelineDefinition[]\n projections?: readonly ProjectionDefinition[]\n rules?: readonly RuleDefinition[]\n workflows?: readonly WorkflowDefinition[]\n markings?: readonly MarkingDefinition[]\n groups?: readonly GroupDefinition[]\n roles?: readonly RoleDefinition[]\n membershipPolicies?: readonly MembershipPolicyDefinition[]\n /** Share definitions to register in addition to auto-discovered `shares/` exports. */\n shares?: readonly ShareDefinition[]\n auth?: SixbAuthConfig\n projectRoot?: string\n}\n\n/**\n * Create a SixbHost using convention-based discovery.\n *\n * The host auto-discovers exported definitions from `ontology/`, `actions/`, `datasets/`,\n * `connectors/`, `syncs/`, `schedules/`, `pipelines/`, `projections/`,\n * `rules/`, `workflows/`, `shares/`, and `security/{groups,roles,policies}/`\n * relative to `projectRoot`, along with the Agent's `skills/`, `SIXB.md`, and the docs and scripts\n * under `ontology/`.\n */\nexport async function createSixb<const TParams extends ParamsConfig = ParamsConfig>(\n options: CreateSixbOptions<TParams>\n): Promise<SixbHost<TParams>> {\n assertNoAgentDefinitions(options)\n const projectRoot = resolve(options.projectRoot ?? process.cwd())\n\n const discoveredOntology = await discoverOntologySources(projectRoot)\n const allSources = [...(options.ontologies ?? []), ...discoveredOntology.sources]\n\n if (allSources.length === 0) {\n throw new RuntimeError(\n \"No ontology found. Create an 'ontology/' folder or pass 'ontologies' to createSixb().\"\n )\n }\n\n const definitions = await discoverProjectDefinitions(projectRoot)\n const skills = await discoverAgentSkills(projectRoot)\n const instructions = await discoverProjectInstructions(projectRoot)\n const ontologyFiles = await discoverOntologyFiles(projectRoot)\n\n // Explicit definitions come first so local setup can override ordering while duplicate ids are\n // still rejected by the SixbHost constructor. Every family merges — `actions` and `projections`\n // used to *replace* discovery instead, silently and undocumented.\n return new SixbHost<TParams>({\n id: options.id,\n locale: options.locale,\n timeZone: options.timeZone,\n ontology: allSources,\n broker: options.broker,\n storage: options.storage,\n lakeStorage: options.lakeStorage,\n blobStorage: options.blobStorage,\n queues: options.queues,\n sandboxes: options.sandboxes,\n logger: options.logger,\n observability: options.observability,\n activity: options.activity,\n onError: options.onError,\n ontologyMaintenance: options.ontologyMaintenance,\n projectRoot,\n actions: [...(options.actions ?? []), ...definitions.actions],\n datasets: [...(options.datasets ?? []), ...definitions.datasets],\n connectors: [...(options.connectors ?? []), ...definitions.connectors],\n connectorConnections: options.connectorConnections,\n schedules: [...(options.schedules ?? []), ...definitions.schedules],\n syncs: [...(options.syncs ?? []), ...definitions.syncs],\n pipelines: [...(options.pipelines ?? []), ...definitions.pipelines],\n projections: [...(options.projections ?? []), ...definitions.projections],\n rules: [...(options.rules ?? []), ...definitions.rules],\n workflows: [...(options.workflows ?? []), ...definitions.workflows],\n markings: [...(options.markings ?? []), ...definitions.markings],\n groups: [...(options.groups ?? []), ...definitions.groups],\n roles: [...(options.roles ?? []), ...definitions.roles],\n membershipPolicies: [...(options.membershipPolicies ?? []), ...definitions.membershipPolicies],\n models: options.models,\n tools: options.tools,\n agent: {\n skills,\n ...(instructions === undefined ? {} : { instructions }),\n ontologyDocs: { modules: discoveredOntology.modules, ...ontologyFiles },\n },\n shares: [...(options.shares ?? []), ...definitions.shares],\n auth: options.auth,\n })\n}\n",
|
|
11
|
-
"/**\n * SixbHost is the configured composition root.\n *\n * It owns providers, registered definitions, and process lifecycle. Domain operations live on a\n * {@link Sixb} SDK bound to one execution through {@link SixbHost.withScope}.\n */\n\nimport { resolve } from \"node:path\"\nimport { ActionRunExecutor, registerActionRunExecutor } from \"../actions/run/executor\"\nimport type { ActionDefinition } from \"../actions/types\"\nimport { type ActivityOptions, ActivityService } from \"../activity/service\"\nimport type { AgentDefinitionsInput, AgentToolDefinition } from \"../agents\"\nimport {\n AuthRuntime,\n AuthRuntimeError,\n isMagicLinkAuthStrategy,\n isOidcAuthStrategy,\n type SixbAuthConfig,\n} from \"../auth\"\nimport type { BlobStorage } from \"../blob-storage\"\nimport type { Broker } from \"../broker\"\nimport { registerConnectorConnectionCallbackProcess } from \"../connectors/connections/capability\"\nimport { createConnectorCredentialProtectorFromKey } from \"../connectors/credentials\"\nimport { ConnectorService } from \"../connectors/service\"\nimport {\n type ConnectorConnectionOptions,\n type ConnectorDefinition,\n isOAuthConnectorDefinition,\n} from \"../connectors/types\"\nimport type { DatasetDefinition } from \"../datasets/types\"\nimport { attachSixbErrorReporter, shareSixbErrorReporter } from \"../error-reporting/capability\"\nimport { reportEventDeliveryFailure } from \"../error-reporting/reports\"\nimport type { SixbErrorHandler } from \"../error-reporting/types\"\nimport {\n createDomainEventService,\n type DomainEventLog,\n type DomainEventService,\n OntologyOutboxDispatcher,\n} from \"../events\"\nimport {\n captureExecutionScope,\n resolveExecutionScopeAuthorization,\n} from \"../execution/authorization\"\nimport { createAuthorizedObjectReader } from \"../execution/authorized-object-reader\"\nimport type { ExecutionScope } from \"../execution/types\"\nimport type { LakeStorage } from \"../lake-storage\"\nimport type { LoggerProvider } from \"../logging\"\nimport { LoggingService, type ObservabilityOptions } from \"../logging/service\"\nimport {\n OntologyMaintenance,\n type OntologyMaintenanceHandle,\n type OntologyMaintenanceOptions,\n type OntologyOperationalStatus,\n type SixbReadiness,\n} from \"../maintenance\"\nimport { createOntologyMaterializer, type OntologyMaterializerContract } from \"../materializer\"\nimport type { ModelCatalogInput } from \"../models\"\nimport { bindEmbeddingModels } from \"../models/execution/embedding\"\nimport { bindRerankingModels } from \"../models/execution/reranking\"\nimport { ModelExecutionSession } from \"../models/execution/session\"\nimport { createVectorIndexingRuntime } from \"../objects/vectors/indexing\"\nimport { VectorIndexingDispatcher } from \"../objects/vectors/indexing-dispatch\"\nimport { registerVectorIndexingRuntime } from \"../objects/vectors/indexing-runtime\"\nimport type { PipelineDefinition } from \"../pipelines/types\"\nimport { registerProjectionRegistry } from \"../projections/internal\"\nimport type { ProjectionDefinition } from \"../projections/types\"\nimport type { Queues } from \"../queues\"\nimport type { RuleDefinition } from \"../rules\"\nimport type { SandboxFactory } from \"../sandboxes\"\nimport {\n createSandboxDefinition,\n type InferSandboxParams,\n type SandboxDefinition,\n sandboxCredentialIssue,\n} from \"../sandboxes/configuration\"\nimport { SandboxError } from \"../sandboxes/errors\"\nimport { type SchedulerController, SchedulerRuntime } from \"../scheduler\"\nimport type { ScheduleDefinition } from \"../schedules\"\nimport type {\n GroupDefinition,\n MarkingDefinition,\n MembershipPolicyDefinition,\n RoleDefinition,\n SecurityDefinitionCatalog,\n} from \"../security\"\nimport { type AppliedMarkings, createAppliedMarkings } from \"../security/applied-markings\"\nimport { registerAppliedMarkings } from \"../security/applied-markings-host\"\nimport {\n createDatasetVersionMarkings,\n type DatasetVersionMarkings,\n registerDatasetVersionMarkings,\n} from \"../security/dataset-version-markings\"\nimport type { ParamsConfig } from \"../shared/params/types\"\nimport type { ShareDefinition } from \"../shares\"\nimport type { Storage } from \"../storage\"\nimport type { SyncDefinition } from \"../syncs\"\nimport type { RegisteredWebhook } from \"../webhooks\"\nimport { WebhookRegistry, WebhookValidationError } from \"../webhooks\"\nimport type { WorkflowDefinition } from \"../workflows\"\nimport type { SixbDefinitions } from \"./definitions\"\nimport { RuntimeError } from \"./errors\"\nimport {\n canonicalLocale,\n canonicalTimeZone,\n DEFAULT_PROJECT_LOCALE,\n DEFAULT_PROJECT_TIME_ZONE,\n} from \"./locale\"\nimport {\n createOntologyMutationRuntime,\n registerOntologyMutationRuntime,\n} from \"./ontology-mutations\"\nimport { getApiPublicOrigin } from \"./public-origin\"\nimport { resolveDefinitions } from \"./resolve-definitions\"\nimport { createBoundSixb, type Sixb, type SixbDependencies } from \"./sixb\"\nimport { StorageReadiness } from \"./storage-readiness\"\nimport type { OntologySource, SixbHostContext, SixbRuntimeContext } from \"./types\"\n\nexport interface SixbHostOptions<in out TParams extends ParamsConfig = ParamsConfig> {\n id?: string\n /** BCP 47 language of the project. Defaults to `\"en\"`. */\n locale?: string\n /** IANA time zone of the project. Defaults to `\"UTC\"`. */\n timeZone?: string\n ontology: readonly OntologySource[]\n broker: Broker\n storage: Storage\n lakeStorage: LakeStorage\n blobStorage: BlobStorage\n queues: Queues\n sandboxes?: SandboxFactory<TParams>\n /** Optional process-level output provider. Omit for broker-only logging. */\n logger?: LoggerProvider\n /** Broker capture controls, independent from the output provider. */\n observability?: ObservabilityOptions\n /** Records visits and page views in the project's app. Off by default. */\n activity?: ActivityOptions\n /** Observes runtime failures without changing their outcome. */\n onError?: SixbErrorHandler\n /** Recovery and retention settings. The runtime constructor never starts maintenance timers. */\n ontologyMaintenance?: OntologyMaintenanceOptions\n projectRoot?: string\n actions?: readonly ActionDefinition[]\n datasets?: readonly DatasetDefinition[]\n /** Connector definitions registered with this host. */\n connectors?: readonly ConnectorDefinition[]\n /** Persistent connector connection settings. Required for OAuth with durable storage. */\n connectorConnections?: ConnectorConnectionOptions\n schedules?: readonly ScheduleDefinition[]\n syncs?: readonly SyncDefinition[]\n pipelines?: readonly PipelineDefinition[]\n projections?: readonly ProjectionDefinition[]\n rules?: readonly RuleDefinition[]\n workflows?: readonly WorkflowDefinition[]\n models?: ModelCatalogInput\n /** Project tools available to Agent runtimes. */\n tools?: readonly AgentToolDefinition[]\n /** The project files the Agent reads. createSixb() discovers them. */\n agent?: AgentDefinitionsInput\n markings?: readonly MarkingDefinition[]\n groups?: readonly GroupDefinition[]\n roles?: readonly RoleDefinition[]\n membershipPolicies?: readonly MembershipPolicyDefinition[]\n shares?: readonly ShareDefinition[]\n auth?: SixbAuthConfig\n}\n\n// Invariant by declaration, like `SixbHostOptions`: left to measurement, TypeScript probes `TParams`\n// through the whole bound SDK and overflows (TS2589) on code as ordinary as a function typed to\n// return `SixbHost` that returns `new SixbHost(options)`.\nexport class SixbHost<in out TParams extends ParamsConfig = ParamsConfig> {\n readonly projectId: string\n /** Canonical BCP 47 language of the project. */\n readonly locale: string\n /** Canonical IANA time zone of the project. */\n readonly timeZone: string\n private readonly webhookRegistry: WebhookRegistry\n private readonly hostContext: SixbHostContext\n private readonly committedFacts: OntologyOutboxDispatcher\n private readonly vectorIndexing?: VectorIndexingDispatcher\n private readonly eventService: DomainEventService\n private readonly ontologyMaintenance: OntologyMaintenance\n private readonly storageReadiness: StorageReadiness\n private readonly connectorService: ConnectorService\n private readonly materializer: OntologyMaterializerContract\n private readonly datasetVersionMarkings: DatasetVersionMarkings\n private readonly appliedMarkings: AppliedMarkings\n readonly sandboxDefinition?: SandboxDefinition\n readonly definitions: SixbDefinitions\n readonly broker: Broker\n readonly events: DomainEventLog\n readonly logging: LoggingService\n readonly activity: ActivityService\n readonly storage: Storage\n readonly lakeStorage: LakeStorage\n readonly blobStorage: BlobStorage\n readonly queues: Queues\n readonly sandboxes?: Pick<SandboxFactory, \"create\" | \"resume\">\n readonly projectRoot: string\n readonly scheduler: SchedulerController\n readonly auth: AuthRuntime\n\n constructor(options: SixbHostOptions<TParams>) {\n const errorReporter = attachSixbErrorReporter(this, options.onError)\n this.projectId = options.id ?? \"default\"\n this.locale = resolveProjectLocale(options.locale)\n this.timeZone = resolveProjectTimeZone(options.timeZone)\n this.broker = options.broker\n this.eventService = createDomainEventService({\n projectId: this.projectId,\n broker: this.broker,\n errorReporter,\n })\n this.events = this.eventService\n this.logging = new LoggingService({\n projectId: this.projectId,\n broker: this.broker,\n logger: options.logger,\n observability: options.observability?.logs,\n })\n this.storage = options.storage\n this.activity = new ActivityService(this.projectId, this.storage.activity, options.activity)\n this.storageReadiness = new StorageReadiness(this.storage)\n this.lakeStorage = options.lakeStorage\n this.blobStorage = options.blobStorage\n this.queues = options.queues\n this.sandboxes = options.sandboxes\n this.projectRoot = resolve(options.projectRoot ?? process.cwd())\n\n const definitions = resolveDefinitions(options)\n this.definitions = definitions\n this.sandboxDefinition =\n options.sandboxes?.configuration === undefined\n ? undefined\n : createSandboxDefinition(options.sandboxes.configuration, definitions.ontology)\n assertSandboxCredentials(options.sandboxes)\n registerProjectionRegistry(this, definitions.projections)\n\n this.datasetVersionMarkings = createDatasetVersionMarkings({\n datasets: definitions.datasets,\n lakeStorage: this.lakeStorage,\n })\n registerDatasetVersionMarkings(this, this.datasetVersionMarkings)\n\n this.appliedMarkings = createAppliedMarkings({\n projectId: this.projectId,\n ontology: definitions.ontology,\n projections: definitions.projections,\n revisionOf: (projectionId) =>\n definitions.projections.resolveDispatch(projectionId).projectionRevision,\n pipelines: definitions.pipelines.list(),\n versionMarkings: this.datasetVersionMarkings,\n lakeStorage: this.lakeStorage,\n sources: this.storage.ontology.sources,\n })\n registerAppliedMarkings(this, this.appliedMarkings)\n\n this.auth = new AuthRuntime({\n projectId: this.projectId,\n storage: this.storage,\n security: definitions.security,\n config: options.auth,\n })\n validateAuthStrategySecurityReferences(this.auth.getStrategy(), definitions.security)\n const connectors = definitions.connectors.list()\n const hasOAuthConnectors = connectors.some(isOAuthConnectorDefinition)\n const credentialProtector =\n hasOAuthConnectors && options.connectorConnections?.encryptionKey !== undefined\n ? createConnectorCredentialProtectorFromKey(options.connectorConnections.encryptionKey)\n : undefined\n this.connectorService = new ConnectorService(this.projectId, connectors, {\n storage: this.storage,\n credentialProtector,\n })\n if (this.connectorService.connectionProcess) {\n registerConnectorConnectionCallbackProcess(\n this,\n this.connectorService.connectionProcess.callbackProcess\n )\n }\n assertWebhookRunStorage(connectors, this.storage)\n this.webhookRegistry = new WebhookRegistry({ connectors })\n\n this.materializer = createOntologyMaterializer({\n projectId: this.projectId,\n ontology: definitions.ontology,\n projections: definitions.projections,\n storage: this.storage,\n })\n this.committedFacts = new OntologyOutboxDispatcher({\n projectId: this.projectId,\n storage: this.storage,\n events: this.eventService,\n onDeliveryFailure: (error, failure) =>\n reportEventDeliveryFailure(errorReporter, error, {\n projectId: this.projectId,\n ...failure,\n }),\n })\n const vectorIndexing = this.storage.ontology.vectorIndexing\n if (\n vectorIndexing &&\n definitions.ontology\n .listObjectTypes()\n .some((type) => Object.keys(type.search?.vectors ?? {}).length > 0)\n ) {\n this.vectorIndexing = new VectorIndexingDispatcher(\n this.projectId,\n vectorIndexing,\n this.queues.vectorIndexing\n )\n }\n this.ontologyMaintenance = new OntologyMaintenance({\n projectId: this.projectId,\n storage: this.storage,\n dispatcher: this.committedFacts,\n vectorIndexing: this.vectorIndexing,\n blobStorage: this.blobStorage,\n options: options.ontologyMaintenance,\n })\n\n this.hostContext = {\n embeddingModels: definitions.models?.embedding,\n rerankingModels: definitions.models?.reranking,\n projectId: this.projectId,\n broker: this.broker,\n ontology: definitions.ontology,\n actionRegistry: definitions.actions,\n events: this.events,\n storage: this.storage,\n queues: this.queues,\n }\n registerProjectionRegistry(this.hostContext, definitions.projections)\n shareSixbErrorReporter(this, this.hostContext)\n // Bound SDKs run requested Actions through the context; the host drains them on shutdown.\n const executor = new ActionRunExecutor(this)\n registerActionRunExecutor(this, executor)\n registerActionRunExecutor(this.hostContext, executor)\n registerVectorIndexingRuntime(\n this,\n createVectorIndexingRuntime(this.hostContext, this.materializer)\n )\n this.scheduler = new SchedulerRuntime({\n schedules: definitions.schedules.list(),\n events: this.eventService,\n timeZone: this.timeZone,\n })\n }\n\n /** Bind an existing opaque scope. This method never creates or escalates authority. */\n withScope(scope: ExecutionScope): Sixb<InferSandboxParams<TParams>> {\n const capturedScope = captureExecutionScope(scope)\n const authorization = resolveExecutionScopeAuthorization(this.projectId, capturedScope)\n if (authorization.type === \"unrestricted\" && authorization.ref.type === \"kernel\") {\n throw new Error(\"[Sixb] Kernel authority cannot be bound to the domain SDK.\")\n }\n\n const modelExecution = new ModelExecutionSession(\n { ...this.hostContext, runtimeAuthorization: capturedScope.authorization },\n capturedScope.execution\n )\n const embeddingModels = bindEmbeddingModels(this.hostContext.embeddingModels, modelExecution)\n const rerankingModels = bindRerankingModels(this.hostContext.rerankingModels, modelExecution)\n const objectReader = createAuthorizedObjectReader({\n scope: capturedScope,\n ontology: this.hostContext.ontology,\n objectStorage: this.storage.objects,\n embeddingModels,\n rerankingModels,\n appliedMarkings: this.appliedMarkings,\n })\n\n const runtime: SixbRuntimeContext = {\n ...this.hostContext,\n embeddingModels,\n rerankingModels,\n modelExecution,\n runtimeAuthorization: capturedScope.authorization,\n objectReader,\n ...(authorization.type === \"principal\" ? { authorization: authorization.context } : {}),\n }\n registerOntologyMutationRuntime(\n runtime,\n createOntologyMutationRuntime({\n materializer: this.materializer.withScope(capturedScope),\n notifyCommittedFacts: () => {\n this.committedFacts.notify()\n this.vectorIndexing?.notify()\n },\n // A projection this process applies is visible to its next read.\n onProjectionApplied: () => this.appliedMarkings.invalidate(),\n })\n )\n return createBoundSixb<InferSandboxParams<TParams>>(\n runtime,\n this.sixbDependencies(),\n capturedScope.execution\n )\n }\n\n get id(): string {\n return this.projectId\n }\n\n /** All webhook endpoints registered through connector adapters. */\n listWebhooks(): readonly RegisteredWebhook[] {\n return this.webhookRegistry.list()\n }\n\n /** Lookup a registered connector webhook by connector id and webhook id. */\n getWebhookById(connectorId: string, webhookId: string): RegisteredWebhook | null {\n return this.webhookRegistry.getById(connectorId, webhookId)\n }\n\n /** Start the API-owned recovery and retention loop. Embedded runtimes opt in explicitly. */\n startOntologyMaintenance(): Promise<OntologyMaintenanceHandle> {\n this.storageReadiness.startSchemaValidation()\n return this.ontologyMaintenance.start()\n }\n\n getOntologyOperationalStatus(): OntologyOperationalStatus {\n return this.ontologyMaintenance.getOperationalStatus()\n }\n\n async checkReadiness(): Promise<SixbReadiness> {\n return this.storageReadiness.check()\n }\n\n /** Flush and close the configured process logger provider. */\n async closeLogger(): Promise<void> {\n await this.logging.close()\n }\n\n /** Disconnect every lazily created connector client. */\n async closeConnectors(): Promise<void> {\n await this.connectorService.close()\n }\n\n /** Close blob-provider resources owned by this host. */\n async closeBlobs(): Promise<void> {\n await this.blobStorage.close?.()\n }\n\n /** Close the runtime broker provider if it owns external resources. */\n async closeBroker(): Promise<void> {\n await this.committedFacts.stop()\n await this.vectorIndexing?.stop()\n await this.ontologyMaintenance.stop()\n await this.broker.close?.()\n }\n\n private sixbDependencies(): SixbDependencies {\n return {\n definitions: this.definitions,\n sandbox: this.sandboxDefinition && {\n definition: this.sandboxDefinition,\n supportsPersistence: typeof this.sandboxes?.resume === \"function\",\n },\n logging: this.logging,\n activity: this.activity,\n connectorService: this.connectorService,\n ...(this.connectorService.connectionProcess === undefined\n ? {}\n : { connectorConnections: this.connectorService.connectionProcess }),\n blobStorage: this.blobStorage,\n apiPublicOrigin: () => getApiPublicOrigin(this),\n lakeStorage: this.lakeStorage,\n datasetVersionMarkings: this.datasetVersionMarkings,\n }\n }\n}\n\n/**\n * Ontology-agnostic host view for infrastructure that only composes providers and execution\n * boundaries. Authoring code should retain {@link SixbHost}'s inferred ontology parameter; CLI,\n * server, and worker infrastructure deliberately do not depend on it.\n */\nexport type SixbHostView = Omit<SixbHost, \"withScope\"> & {\n withScope(scope: ExecutionScope): object\n}\n\nfunction resolveProjectLocale(locale: unknown): string {\n if (locale === undefined) return DEFAULT_PROJECT_LOCALE\n const canonical = canonicalLocale(locale)\n if (canonical === undefined) {\n throw new RuntimeError(\n `[Sixb] 'locale' must be a BCP 47 language tag such as \"fr-FR\"; received ${JSON.stringify(locale)}.`\n )\n }\n return canonical\n}\n\nfunction resolveProjectTimeZone(timeZone: unknown): string {\n if (timeZone === undefined) return DEFAULT_PROJECT_TIME_ZONE\n const canonical = canonicalTimeZone(timeZone)\n if (canonical === undefined) {\n throw new RuntimeError(\n `[Sixb] 'timeZone' must be an IANA time zone such as \"Europe/Paris\"; received ${JSON.stringify(timeZone)}.`\n )\n }\n return canonical\n}\n\nfunction validateAuthStrategySecurityReferences(\n strategy: ReturnType<AuthRuntime[\"getStrategy\"]>,\n security: SecurityDefinitionCatalog\n): void {\n if (!isMagicLinkAuthStrategy(strategy) && !isOidcAuthStrategy(strategy)) {\n return\n }\n\n for (const groupId of strategy.bootstrapGroupIds ?? []) {\n if (!security.getGroupById(groupId)) {\n throw new AuthRuntimeError(\n \"invalid_auth_config\",\n `[Sixb] Auth bootstrapGroups references unknown group '${groupId}'. Add it to 'security/groups/' or pass it to createSixb({ groups }).`\n )\n }\n }\n}\n\nfunction assertWebhookRunStorage(\n connectors: readonly ConnectorDefinition[],\n storage: Storage\n): void {\n if (storage.webhookRuns !== undefined) {\n return\n }\n\n for (const connector of connectors) {\n const webhooks = connector.adapter.webhooks\n if (Array.isArray(webhooks) && webhooks.length > 0) {\n throw new WebhookValidationError(\n \"[Sixb] Webhooks require storage.webhookRuns to be configured.\"\n )\n }\n }\n}\n\n/** Reject source access the factory cannot provide: a run checks what `resolve` returns. */\nfunction assertSandboxCredentials<TParams extends ParamsConfig>(\n sandboxes: SandboxFactory<TParams> | undefined\n): void {\n if (!sandboxes) return\n\n const issue = sandboxCredentialIssue({\n supportsRequestCredentials: sandboxes.supportsRequestCredentials,\n auth: sandboxes.configuration?.auth,\n source: sandboxes.configuration?.source,\n })\n if (issue) throw new SandboxError(`[Sixb] ${issue}`)\n}\n",
|
|
11
|
+
"/**\n * SixbHost is the configured composition root.\n *\n * It owns providers, registered definitions, and process lifecycle. Domain operations live on a\n * {@link Sixb} SDK bound to one execution through {@link SixbHost.withScope}.\n */\n\nimport { resolve } from \"node:path\"\nimport { ActionRunExecutor, registerActionRunExecutor } from \"../actions/run/executor\"\nimport type { ActionDefinition } from \"../actions/types\"\nimport { type ActivityOptions, ActivityService } from \"../activity/service\"\nimport type { AgentDefinitionsInput, AgentToolDefinition } from \"../agents\"\nimport {\n createAgentApprovalExecutor,\n registerAgentApprovalExecutor,\n} from \"../agents/approval-executor\"\nimport {\n AuthRuntime,\n AuthRuntimeError,\n isMagicLinkAuthStrategy,\n isOidcAuthStrategy,\n type SixbAuthConfig,\n} from \"../auth\"\nimport type { BlobStorage } from \"../blob-storage\"\nimport type { Broker } from \"../broker\"\nimport { registerConnectorConnectionCallbackProcess } from \"../connectors/connections/capability\"\nimport { createConnectorCredentialProtectorFromKey } from \"../connectors/credentials\"\nimport { ConnectorService } from \"../connectors/service\"\nimport {\n type ConnectorConnectionOptions,\n type ConnectorDefinition,\n isOAuthConnectorDefinition,\n} from \"../connectors/types\"\nimport type { DatasetDefinition } from \"../datasets/types\"\nimport { attachSixbErrorReporter, shareSixbErrorReporter } from \"../error-reporting/capability\"\nimport { reportEventDeliveryFailure } from \"../error-reporting/reports\"\nimport type { SixbErrorHandler } from \"../error-reporting/types\"\nimport {\n createDomainEventService,\n type DomainEventLog,\n type DomainEventService,\n OntologyOutboxDispatcher,\n} from \"../events\"\nimport {\n captureExecutionScope,\n resolveExecutionScopeAuthorization,\n} from \"../execution/authorization\"\nimport { createAuthorizedObjectReader } from \"../execution/authorized-object-reader\"\nimport type { ExecutionScope } from \"../execution/types\"\nimport type { LakeStorage } from \"../lake-storage\"\nimport type { LoggerProvider } from \"../logging\"\nimport { LoggingService, type ObservabilityOptions } from \"../logging/service\"\nimport {\n OntologyMaintenance,\n type OntologyMaintenanceHandle,\n type OntologyMaintenanceOptions,\n type OntologyOperationalStatus,\n type SixbReadiness,\n} from \"../maintenance\"\nimport { createOntologyMaterializer, type OntologyMaterializerContract } from \"../materializer\"\nimport type { ModelCatalogInput } from \"../models\"\nimport { bindEmbeddingModels } from \"../models/execution/embedding\"\nimport { bindRerankingModels } from \"../models/execution/reranking\"\nimport { ModelExecutionSession } from \"../models/execution/session\"\nimport { createVectorIndexingRuntime } from \"../objects/vectors/indexing\"\nimport { VectorIndexingDispatcher } from \"../objects/vectors/indexing-dispatch\"\nimport { registerVectorIndexingRuntime } from \"../objects/vectors/indexing-runtime\"\nimport type { PipelineDefinition } from \"../pipelines/types\"\nimport { registerProjectionRegistry } from \"../projections/internal\"\nimport type { ProjectionDefinition } from \"../projections/types\"\nimport type { Queues } from \"../queues\"\nimport type { RuleDefinition } from \"../rules\"\nimport type { SandboxFactory } from \"../sandboxes\"\nimport {\n createSandboxDefinition,\n type InferSandboxParams,\n type SandboxDefinition,\n sandboxCredentialIssue,\n} from \"../sandboxes/configuration\"\nimport { SandboxError } from \"../sandboxes/errors\"\nimport { type SchedulerController, SchedulerRuntime } from \"../scheduler\"\nimport type { ScheduleDefinition } from \"../schedules\"\nimport type {\n GroupDefinition,\n MarkingDefinition,\n MembershipPolicyDefinition,\n RoleDefinition,\n SecurityDefinitionCatalog,\n} from \"../security\"\nimport { type AppliedMarkings, createAppliedMarkings } from \"../security/applied-markings\"\nimport { registerAppliedMarkings } from \"../security/applied-markings-host\"\nimport {\n createDatasetVersionMarkings,\n type DatasetVersionMarkings,\n registerDatasetVersionMarkings,\n} from \"../security/dataset-version-markings\"\nimport { assertViewConditionsReadable } from \"../security/view-conditions\"\nimport type { ParamsConfig } from \"../shared/params/types\"\nimport type { ShareDefinition } from \"../shares\"\nimport type { Storage } from \"../storage\"\nimport type { SyncDefinition } from \"../syncs\"\nimport type { RegisteredWebhook } from \"../webhooks\"\nimport { WebhookRegistry, WebhookValidationError } from \"../webhooks\"\nimport type { WorkflowDefinition } from \"../workflows\"\nimport type { SixbDefinitions } from \"./definitions\"\nimport { RuntimeError } from \"./errors\"\nimport {\n canonicalLocale,\n canonicalTimeZone,\n DEFAULT_PROJECT_LOCALE,\n DEFAULT_PROJECT_TIME_ZONE,\n} from \"./locale\"\nimport {\n createOntologyMutationRuntime,\n registerOntologyMutationRuntime,\n} from \"./ontology-mutations\"\nimport { getApiPublicOrigin } from \"./public-origin\"\nimport { resolveDefinitions } from \"./resolve-definitions\"\nimport { createBoundSixb, type Sixb, type SixbDependencies } from \"./sixb\"\nimport { StorageReadiness } from \"./storage-readiness\"\nimport type { OntologySource, SixbHostContext, SixbRuntimeContext } from \"./types\"\n\nexport interface SixbHostOptions<in out TParams extends ParamsConfig = ParamsConfig> {\n id?: string\n /** BCP 47 language of the project. Defaults to `\"en\"`. */\n locale?: string\n /** IANA time zone of the project. Defaults to `\"UTC\"`. */\n timeZone?: string\n ontology: readonly OntologySource[]\n broker: Broker\n storage: Storage\n lakeStorage: LakeStorage\n blobStorage: BlobStorage\n queues: Queues\n sandboxes?: SandboxFactory<TParams>\n /** Optional process-level output provider. Omit for broker-only logging. */\n logger?: LoggerProvider\n /** Broker capture controls, independent from the output provider. */\n observability?: ObservabilityOptions\n /** Records visits and page views in the project's app. Off by default. */\n activity?: ActivityOptions\n /** Observes runtime failures without changing their outcome. */\n onError?: SixbErrorHandler\n /** Recovery and retention settings. The runtime constructor never starts maintenance timers. */\n ontologyMaintenance?: OntologyMaintenanceOptions\n projectRoot?: string\n actions?: readonly ActionDefinition[]\n datasets?: readonly DatasetDefinition[]\n /** Connector definitions registered with this host. */\n connectors?: readonly ConnectorDefinition[]\n /** Persistent connector connection settings. Required for OAuth with durable storage. */\n connectorConnections?: ConnectorConnectionOptions\n schedules?: readonly ScheduleDefinition[]\n syncs?: readonly SyncDefinition[]\n pipelines?: readonly PipelineDefinition[]\n projections?: readonly ProjectionDefinition[]\n rules?: readonly RuleDefinition[]\n workflows?: readonly WorkflowDefinition[]\n models?: ModelCatalogInput\n /** Project tools available to Agent runtimes. */\n tools?: readonly AgentToolDefinition[]\n /** The project files the Agent reads. createSixb() discovers them. */\n agent?: AgentDefinitionsInput\n markings?: readonly MarkingDefinition[]\n groups?: readonly GroupDefinition[]\n roles?: readonly RoleDefinition[]\n membershipPolicies?: readonly MembershipPolicyDefinition[]\n shares?: readonly ShareDefinition[]\n auth?: SixbAuthConfig\n}\n\n// Invariant by declaration, like `SixbHostOptions`: left to measurement, TypeScript probes `TParams`\n// through the whole bound SDK and overflows (TS2589) on code as ordinary as a function typed to\n// return `SixbHost` that returns `new SixbHost(options)`.\nexport class SixbHost<in out TParams extends ParamsConfig = ParamsConfig> {\n readonly projectId: string\n /** Canonical BCP 47 language of the project. */\n readonly locale: string\n /** Canonical IANA time zone of the project. */\n readonly timeZone: string\n private readonly webhookRegistry: WebhookRegistry\n private readonly hostContext: SixbHostContext\n private readonly committedFacts: OntologyOutboxDispatcher\n private readonly vectorIndexing?: VectorIndexingDispatcher\n private readonly eventService: DomainEventService\n private readonly ontologyMaintenance: OntologyMaintenance\n private readonly storageReadiness: StorageReadiness\n private readonly connectorService: ConnectorService\n private readonly materializer: OntologyMaterializerContract\n private readonly datasetVersionMarkings: DatasetVersionMarkings\n private readonly appliedMarkings: AppliedMarkings\n readonly sandboxDefinition?: SandboxDefinition\n readonly definitions: SixbDefinitions\n readonly broker: Broker\n readonly events: DomainEventLog\n readonly logging: LoggingService\n readonly activity: ActivityService\n readonly storage: Storage\n readonly lakeStorage: LakeStorage\n readonly blobStorage: BlobStorage\n readonly queues: Queues\n readonly sandboxes?: Pick<SandboxFactory, \"create\" | \"resume\">\n readonly projectRoot: string\n readonly scheduler: SchedulerController\n readonly auth: AuthRuntime\n\n constructor(options: SixbHostOptions<TParams>) {\n const errorReporter = attachSixbErrorReporter(this, options.onError)\n this.projectId = options.id ?? \"default\"\n this.locale = resolveProjectLocale(options.locale)\n this.timeZone = resolveProjectTimeZone(options.timeZone)\n this.broker = options.broker\n this.eventService = createDomainEventService({\n projectId: this.projectId,\n broker: this.broker,\n errorReporter,\n })\n this.events = this.eventService\n this.logging = new LoggingService({\n projectId: this.projectId,\n broker: this.broker,\n logger: options.logger,\n observability: options.observability?.logs,\n })\n this.storage = options.storage\n this.activity = new ActivityService(this.projectId, this.storage.activity, options.activity)\n this.storageReadiness = new StorageReadiness(this.storage)\n this.lakeStorage = options.lakeStorage\n this.blobStorage = options.blobStorage\n this.queues = options.queues\n this.sandboxes = options.sandboxes\n this.projectRoot = resolve(options.projectRoot ?? process.cwd())\n\n const definitions = resolveDefinitions(options)\n assertViewConditionsReadable({\n projectId: this.projectId,\n conditions: definitions.security.listViewConditions(),\n objectStorage: this.storage.objects,\n getSubTypes: (objectTypeId) => definitions.ontology.listSubTypes(objectTypeId),\n })\n this.definitions = definitions\n this.sandboxDefinition =\n options.sandboxes?.configuration === undefined\n ? undefined\n : createSandboxDefinition(options.sandboxes.configuration, definitions.ontology)\n assertSandboxCredentials(options.sandboxes)\n registerProjectionRegistry(this, definitions.projections)\n\n this.datasetVersionMarkings = createDatasetVersionMarkings({\n datasets: definitions.datasets,\n lakeStorage: this.lakeStorage,\n })\n registerDatasetVersionMarkings(this, this.datasetVersionMarkings)\n\n this.appliedMarkings = createAppliedMarkings({\n projectId: this.projectId,\n ontology: definitions.ontology,\n projections: definitions.projections,\n revisionOf: (projectionId) =>\n definitions.projections.resolveDispatch(projectionId).projectionRevision,\n pipelines: definitions.pipelines.list(),\n versionMarkings: this.datasetVersionMarkings,\n lakeStorage: this.lakeStorage,\n sources: this.storage.ontology.sources,\n })\n registerAppliedMarkings(this, this.appliedMarkings)\n\n this.auth = new AuthRuntime({\n projectId: this.projectId,\n storage: this.storage,\n security: definitions.security,\n config: options.auth,\n events: this.eventService,\n })\n validateAuthStrategySecurityReferences(this.auth.getStrategy(), definitions.security)\n const connectors = definitions.connectors.list()\n const hasOAuthConnectors = connectors.some(isOAuthConnectorDefinition)\n const credentialProtector =\n hasOAuthConnectors && options.connectorConnections?.encryptionKey !== undefined\n ? createConnectorCredentialProtectorFromKey(options.connectorConnections.encryptionKey)\n : undefined\n this.connectorService = new ConnectorService(this.projectId, connectors, {\n storage: this.storage,\n credentialProtector,\n })\n if (this.connectorService.connectionProcess) {\n registerConnectorConnectionCallbackProcess(\n this,\n this.connectorService.connectionProcess.callbackProcess\n )\n }\n assertWebhookRunStorage(connectors, this.storage)\n this.webhookRegistry = new WebhookRegistry({ connectors })\n\n this.materializer = createOntologyMaterializer({\n projectId: this.projectId,\n ontology: definitions.ontology,\n projections: definitions.projections,\n storage: this.storage,\n })\n this.committedFacts = new OntologyOutboxDispatcher({\n projectId: this.projectId,\n storage: this.storage,\n events: this.eventService,\n onDeliveryFailure: (error, failure) =>\n reportEventDeliveryFailure(errorReporter, error, {\n projectId: this.projectId,\n ...failure,\n }),\n })\n const vectorIndexing = this.storage.ontology.vectorIndexing\n if (\n vectorIndexing &&\n definitions.ontology\n .listObjectTypes()\n .some((type) => Object.keys(type.search?.vectors ?? {}).length > 0)\n ) {\n this.vectorIndexing = new VectorIndexingDispatcher(\n this.projectId,\n vectorIndexing,\n this.queues.vectorIndexing\n )\n }\n this.ontologyMaintenance = new OntologyMaintenance({\n projectId: this.projectId,\n storage: this.storage,\n dispatcher: this.committedFacts,\n vectorIndexing: this.vectorIndexing,\n blobStorage: this.blobStorage,\n options: options.ontologyMaintenance,\n })\n\n this.hostContext = {\n embeddingModels: definitions.models?.embedding,\n rerankingModels: definitions.models?.reranking,\n projectId: this.projectId,\n broker: this.broker,\n ontology: definitions.ontology,\n actionRegistry: definitions.actions,\n events: this.eventService,\n storage: this.storage,\n queues: this.queues,\n }\n registerProjectionRegistry(this.hostContext, definitions.projections)\n shareSixbErrorReporter(this, this.hostContext)\n // Bound SDKs run requested Actions through the context; the host drains them on shutdown.\n const executor = new ActionRunExecutor(this)\n registerActionRunExecutor(this, executor)\n registerActionRunExecutor(this.hostContext, executor)\n // Deciding on a held Agent call runs it under another execution than the decider's.\n const approvals = createAgentApprovalExecutor(this)\n registerAgentApprovalExecutor(this, approvals)\n registerAgentApprovalExecutor(this.hostContext, approvals)\n registerVectorIndexingRuntime(\n this,\n createVectorIndexingRuntime(this.hostContext, this.materializer)\n )\n this.scheduler = new SchedulerRuntime({\n schedules: definitions.schedules.list(),\n events: this.eventService,\n timeZone: this.timeZone,\n })\n }\n\n /** Bind an existing opaque scope. This method never creates or escalates authority. */\n withScope(scope: ExecutionScope): Sixb<InferSandboxParams<TParams>> {\n const capturedScope = captureExecutionScope(scope)\n const authorization = resolveExecutionScopeAuthorization(this.projectId, capturedScope)\n if (authorization.type === \"unrestricted\" && authorization.ref.type === \"kernel\") {\n throw new Error(\"[Sixb] Kernel authority cannot be bound to the domain SDK.\")\n }\n\n const modelExecution = new ModelExecutionSession(\n { ...this.hostContext, runtimeAuthorization: capturedScope.authorization },\n capturedScope.execution\n )\n const embeddingModels = bindEmbeddingModels(this.hostContext.embeddingModels, modelExecution)\n const rerankingModels = bindRerankingModels(this.hostContext.rerankingModels, modelExecution)\n const objectReader = createAuthorizedObjectReader({\n scope: capturedScope,\n ontology: this.hostContext.ontology,\n objectStorage: this.storage.objects,\n embeddingModels,\n rerankingModels,\n appliedMarkings: this.appliedMarkings,\n users: this.storage.auth?.users,\n })\n\n const runtime: SixbRuntimeContext = {\n ...this.hostContext,\n embeddingModels,\n rerankingModels,\n modelExecution,\n runtimeAuthorization: capturedScope.authorization,\n objectReader,\n ...(authorization.type === \"principal\" ? { authorization: authorization.context } : {}),\n }\n registerOntologyMutationRuntime(\n runtime,\n createOntologyMutationRuntime({\n materializer: this.materializer.withScope(capturedScope),\n notifyCommittedFacts: () => {\n this.committedFacts.notify()\n this.vectorIndexing?.notify()\n },\n // A projection this process applies is visible to its next read.\n onProjectionApplied: () => this.appliedMarkings.invalidate(),\n })\n )\n return createBoundSixb<InferSandboxParams<TParams>>(\n runtime,\n this.sixbDependencies(),\n capturedScope.execution\n )\n }\n\n get id(): string {\n return this.projectId\n }\n\n /** All webhook endpoints registered through connector adapters. */\n listWebhooks(): readonly RegisteredWebhook[] {\n return this.webhookRegistry.list()\n }\n\n /** Lookup a registered connector webhook by connector id and webhook id. */\n getWebhookById(connectorId: string, webhookId: string): RegisteredWebhook | null {\n return this.webhookRegistry.getById(connectorId, webhookId)\n }\n\n /** Start the API-owned recovery and retention loop. Embedded runtimes opt in explicitly. */\n startOntologyMaintenance(): Promise<OntologyMaintenanceHandle> {\n this.storageReadiness.startSchemaValidation()\n return this.ontologyMaintenance.start()\n }\n\n getOntologyOperationalStatus(): OntologyOperationalStatus {\n return this.ontologyMaintenance.getOperationalStatus()\n }\n\n async checkReadiness(): Promise<SixbReadiness> {\n return this.storageReadiness.check()\n }\n\n /** Flush and close the configured process logger provider. */\n async closeLogger(): Promise<void> {\n await this.logging.close()\n }\n\n /** Disconnect every lazily created connector client. */\n async closeConnectors(): Promise<void> {\n await this.connectorService.close()\n }\n\n /** Close blob-provider resources owned by this host. */\n async closeBlobs(): Promise<void> {\n await this.blobStorage.close?.()\n }\n\n /** Close the runtime broker provider if it owns external resources. */\n async closeBroker(): Promise<void> {\n await this.committedFacts.stop()\n await this.vectorIndexing?.stop()\n await this.ontologyMaintenance.stop()\n await this.broker.close?.()\n }\n\n private sixbDependencies(): SixbDependencies {\n return {\n definitions: this.definitions,\n sandbox: this.sandboxDefinition && {\n definition: this.sandboxDefinition,\n supportsPersistence: typeof this.sandboxes?.resume === \"function\",\n },\n logging: this.logging,\n activity: this.activity,\n connectorService: this.connectorService,\n ...(this.connectorService.connectionProcess === undefined\n ? {}\n : { connectorConnections: this.connectorService.connectionProcess }),\n blobStorage: this.blobStorage,\n apiPublicOrigin: () => getApiPublicOrigin(this),\n lakeStorage: this.lakeStorage,\n datasetVersionMarkings: this.datasetVersionMarkings,\n }\n }\n}\n\n/**\n * Ontology-agnostic host view for infrastructure that only composes providers and execution\n * boundaries. Authoring code should retain {@link SixbHost}'s inferred ontology parameter; CLI,\n * server, and worker infrastructure deliberately do not depend on it.\n */\nexport type SixbHostView = Omit<SixbHost, \"withScope\"> & {\n withScope(scope: ExecutionScope): object\n}\n\nfunction resolveProjectLocale(locale: unknown): string {\n if (locale === undefined) return DEFAULT_PROJECT_LOCALE\n const canonical = canonicalLocale(locale)\n if (canonical === undefined) {\n throw new RuntimeError(\n `[Sixb] 'locale' must be a BCP 47 language tag such as \"fr-FR\"; received ${JSON.stringify(locale)}.`\n )\n }\n return canonical\n}\n\nfunction resolveProjectTimeZone(timeZone: unknown): string {\n if (timeZone === undefined) return DEFAULT_PROJECT_TIME_ZONE\n const canonical = canonicalTimeZone(timeZone)\n if (canonical === undefined) {\n throw new RuntimeError(\n `[Sixb] 'timeZone' must be an IANA time zone such as \"Europe/Paris\"; received ${JSON.stringify(timeZone)}.`\n )\n }\n return canonical\n}\n\nfunction validateAuthStrategySecurityReferences(\n strategy: ReturnType<AuthRuntime[\"getStrategy\"]>,\n security: SecurityDefinitionCatalog\n): void {\n if (!isMagicLinkAuthStrategy(strategy) && !isOidcAuthStrategy(strategy)) {\n return\n }\n\n for (const groupId of strategy.bootstrapGroupIds ?? []) {\n if (!security.getGroupById(groupId)) {\n throw new AuthRuntimeError(\n \"invalid_auth_config\",\n `[Sixb] Auth bootstrapGroups references unknown group '${groupId}'. Add it to 'security/groups/' or pass it to createSixb({ groups }).`\n )\n }\n }\n}\n\nfunction assertWebhookRunStorage(\n connectors: readonly ConnectorDefinition[],\n storage: Storage\n): void {\n if (storage.webhookRuns !== undefined) {\n return\n }\n\n for (const connector of connectors) {\n const webhooks = connector.adapter.webhooks\n if (Array.isArray(webhooks) && webhooks.length > 0) {\n throw new WebhookValidationError(\n \"[Sixb] Webhooks require storage.webhookRuns to be configured.\"\n )\n }\n }\n}\n\n/** Reject source access the factory cannot provide: a run checks what `resolve` returns. */\nfunction assertSandboxCredentials<TParams extends ParamsConfig>(\n sandboxes: SandboxFactory<TParams> | undefined\n): void {\n if (!sandboxes) return\n\n const issue = sandboxCredentialIssue({\n supportsRequestCredentials: sandboxes.supportsRequestCredentials,\n auth: sandboxes.configuration?.auth,\n source: sandboxes.configuration?.source,\n })\n if (issue) throw new SandboxError(`[Sixb] ${issue}`)\n}\n",
|
|
12
12
|
"import { randomUUID } from \"node:crypto\"\nimport {\n ACTIVITY_ID_MAX_LENGTH,\n ACTIVITY_MAX_PAGE_SIZE,\n ACTIVITY_MAX_PERIOD_MS,\n ACTIVITY_MIN_IDLE_TIMEOUT_MS,\n ACTIVITY_VISIT_ID_PATTERN,\n validateActivityEvents,\n} from \"../storage/activity/policy\"\nimport type {\n ActivityActor,\n ActivityCursor,\n ActivityDay,\n ActivityEventInput,\n ActivityPeriodInput,\n ActivitySessionVisits,\n ActivityStorage,\n ActivitySummary,\n ActivityUsersPage,\n ActivityVisitsPage,\n ListActivitySessionVisitsInput,\n StoredActivityVisitPage,\n} from \"../storage/activity/types\"\nimport {\n type ActivityConnectionsCursor,\n type ActivityConnectionsQuery,\n decodeActivityConnectionsCursor,\n} from \"./connection\"\n\nexport interface ActivityOptions {\n /**\n * Record visits, page views and marked interactions in the project's app and its shared links.\n * Off by default.\n */\n readonly enabled?: boolean\n /** A new visit begins after this long without foreground activity. Default: 30 minutes. */\n readonly idleTimeoutMs?: number\n}\n\n/** What a browser needs to know before it sends anything. */\nexport interface ActivityCaptureOptions {\n readonly enabled: boolean\n readonly idleTimeoutMs: number\n}\n\nexport interface ActivityCaptureResult {\n readonly status: \"accepted\" | \"throttled\" | \"disabled\"\n readonly accepted: number\n}\n\n/** Visits active in `[from, to)`, at most 31 days, and the page views received in it. */\nexport interface ActivityPeriodQuery {\n readonly from: Date\n readonly to: Date\n /** Only this account's visits. */\n readonly userId?: string\n}\n\nexport interface ActivityPageQuery extends ActivityPeriodQuery {\n /** 1 to 100. Default: 50. */\n readonly limit?: number\n /** The last row of the previous page: its `lastSeenAt`, and its visit or user id. */\n readonly before?: ActivityCursor\n}\n\nexport interface ActivityCalendarQuery {\n readonly userId: string\n /** A UTC calendar year. */\n readonly year: number\n}\n\nexport interface ActivityCalendar {\n readonly userId: string\n readonly year: number\n readonly days: readonly ActivityDay[]\n}\n\n/** The session whose browser sent a batch, from its verified authorization. */\nexport interface ActivitySource {\n readonly actor: ActivityActor\n readonly sessionId: string\n}\n\nconst DEFAULT_IDLE_TIMEOUT_MS = 30 * 60_000\nconst ACTIVITY_CONNECTION_VISITS = 5\nconst MAX_IDLE_TIMEOUT_MS = 24 * 60 * 60_000\n\n/** Validates queries and holds the project's activity settings. Authorization is the caller's. */\nexport class ActivityService {\n readonly captureOptions: ActivityCaptureOptions\n\n constructor(\n private readonly projectId: string,\n private readonly storage: ActivityStorage | undefined,\n options: ActivityOptions = {},\n private readonly now = () => new Date()\n ) {\n const idleTimeoutMs = options.idleTimeoutMs ?? DEFAULT_IDLE_TIMEOUT_MS\n if (\n !Number.isSafeInteger(idleTimeoutMs) ||\n idleTimeoutMs < ACTIVITY_MIN_IDLE_TIMEOUT_MS ||\n idleTimeoutMs > MAX_IDLE_TIMEOUT_MS\n ) {\n throw new Error(\n `[Sixb] activity.idleTimeoutMs must be an integer between ${ACTIVITY_MIN_IDLE_TIMEOUT_MS} and ${MAX_IDLE_TIMEOUT_MS} milliseconds.`\n )\n }\n\n this.captureOptions = Object.freeze({ enabled: options.enabled === true, idleTimeoutMs })\n\n if (this.captureOptions.enabled && !storage) {\n throw new Error(\n \"[Sixb] activity.enabled needs a storage with an activity store, such as a migrated SQLite or PostgreSQL storage.\"\n )\n }\n }\n\n async capture(\n source: ActivitySource,\n events: readonly ActivityEventInput[]\n ): Promise<ActivityCaptureResult> {\n validateActivityEvents(events)\n\n if (!this.captureOptions.enabled) {\n return { status: \"disabled\", accepted: 0 }\n }\n\n return this.requireStorage().append({\n projectId: this.projectId,\n actor: source.actor,\n sessionId: source.sessionId,\n events,\n now: this.now(),\n idleTimeoutMs: this.captureOptions.idleTimeoutMs,\n newVisitId: `visit_${randomUUID()}`,\n })\n }\n\n list(query: ActivityPageQuery): Promise<ActivityVisitsPage> {\n return this.requireStorage().list({\n ...this.period(query),\n limit: pageLimit(query.limit),\n before: cursor(query.before),\n })\n }\n\n users(query: ActivityPageQuery): Promise<ActivityUsersPage> {\n return this.requireStorage().users({\n ...this.period(query),\n limit: pageLimit(query.limit),\n before: cursor(query.before),\n })\n }\n\n summarize(query: ActivityPeriodQuery): Promise<ActivitySummary> {\n return this.requireStorage().summarize(this.period(query))\n }\n\n async calendar(query: ActivityCalendarQuery): Promise<ActivityCalendar> {\n validateUserId(query.userId)\n\n if (!Number.isSafeInteger(query.year) || query.year < 1970 || query.year > 9998) {\n throw new Error(\"[Sixb] Activity calendar year must be between 1970 and 9998.\")\n }\n\n const days = await this.requireStorage().calendar({\n projectId: this.projectId,\n userId: query.userId,\n from: new Date(Date.UTC(query.year, 0, 1)),\n to: new Date(Date.UTC(query.year + 1, 0, 1)),\n })\n\n return { userId: query.userId, year: query.year, days }\n }\n\n /**\n * A visit, its first page views, and the session it belongs to: the timeline joins on it, and it\n * never leaves core.\n */\n readWithSession(input: {\n readonly id: string\n readonly limit: number\n }): Promise<StoredActivityVisitPage | null> {\n if (typeof input.id !== \"string\" || !ACTIVITY_VISIT_ID_PATTERN.test(input.id)) {\n throw new Error(\"[Sixb] Invalid activity visit id.\")\n }\n\n return this.requireStorage().read({\n projectId: this.projectId,\n id: input.id,\n limit: input.limit,\n })\n }\n\n connectionsQuery(query: ActivityConnectionsQuery): {\n readonly userId: string\n readonly limit: number\n readonly before?: ActivityConnectionsCursor\n } {\n validateUserId(query.userId)\n\n return {\n userId: query.userId,\n limit: pageLimit(query.limit ?? 20),\n ...(query.cursor === undefined\n ? {}\n : { before: decodeActivityConnectionsCursor(query.cursor) }),\n }\n }\n\n /** Each session's visit count and latest visits: a connection shows those, the calendar the rest. */\n sessionVisits(\n input: Omit<ListActivitySessionVisitsInput, \"projectId\" | \"limit\">\n ): Promise<readonly ActivitySessionVisits[]> {\n return this.requireStorage().sessionVisits({\n ...input,\n projectId: this.projectId,\n limit: ACTIVITY_CONNECTION_VISITS,\n })\n }\n\n private period(query: ActivityPeriodQuery): ActivityPeriodInput {\n if (query.userId !== undefined) {\n validateUserId(query.userId)\n }\n\n const from = query.from.getTime()\n const to = query.to.getTime()\n if (\n !Number.isFinite(from) ||\n !Number.isFinite(to) ||\n from >= to ||\n to - from > ACTIVITY_MAX_PERIOD_MS\n ) {\n throw new Error(\"[Sixb] Activity queries require an ordered period of at most 31 days.\")\n }\n\n return { projectId: this.projectId, from: query.from, to: query.to, userId: query.userId }\n }\n\n private requireStorage(): ActivityStorage {\n if (!this.storage) {\n throw new Error(\"[Sixb] This project's storage has no activity store.\")\n }\n return this.storage\n }\n}\n\nfunction validateUserId(value: string): void {\n if (typeof value !== \"string\" || !value.trim() || value.length > ACTIVITY_ID_MAX_LENGTH) {\n throw new Error(\n `[Sixb] Activity userId must be a nonempty user id of at most ${ACTIVITY_ID_MAX_LENGTH} characters.`\n )\n }\n}\n\nfunction cursor(value: ActivityCursor | undefined): ActivityCursor | undefined {\n if (\n value &&\n (!Number.isFinite(value.at.getTime()) ||\n !value.id.trim() ||\n value.id.length > ACTIVITY_ID_MAX_LENGTH)\n ) {\n throw new Error(\"[Sixb] Invalid activity cursor.\")\n }\n return value\n}\n\nfunction pageLimit(value = 50): number {\n if (!Number.isSafeInteger(value) || value < 1 || value > ACTIVITY_MAX_PAGE_SIZE) {\n throw new Error(`[Sixb] Activity page size must be between 1 and ${ACTIVITY_MAX_PAGE_SIZE}.`)\n }\n return value\n}\n",
|
|
13
13
|
"import { createCipheriv, createDecipheriv, randomBytes } from \"node:crypto\"\nimport { createConnectorCodedError } from \"./errors\"\n\nexport type ConnectorCredentialPurpose = \"oauth-authorization\" | \"pkce-verifier\"\n\n/** Immutable identity authenticated alongside one sealed connector credential. */\nexport interface ConnectorCredentialContext {\n readonly projectId: string\n readonly connectorId: string\n readonly recordId: string\n readonly purpose: ConnectorCredentialPurpose\n}\n\n/** Versioned AEAD envelope safe to persist. */\nexport interface SealedConnectorCredential {\n readonly version: 1\n readonly algorithm: \"A256GCM\"\n readonly nonce: string\n readonly ciphertext: string\n readonly tag: string\n}\n\n/** Pluggable at-rest protection for connector OAuth credentials and transient PKCE secrets. */\nexport interface ConnectorCredentialProtector {\n seal(\n plaintext: Uint8Array,\n context: ConnectorCredentialContext\n ): Promise<SealedConnectorCredential>\n open(\n envelope: SealedConnectorCredential,\n context: ConnectorCredentialContext\n ): Promise<Uint8Array>\n}\n\n/** Create credential protection from the base64url key exposed by Sixb configuration. */\nexport function createConnectorCredentialProtectorFromKey(\n encodedKey: string\n): ConnectorCredentialProtector {\n let key: Buffer\n try {\n key = decodeBase64Url(encodedKey)\n } catch (error) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"connectorConnections.encryptionKey must be canonical base64url encoding.\",\n { cause: error }\n )\n }\n if (key.byteLength !== 32) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"connectorConnections.encryptionKey must encode exactly 32 random bytes.\"\n )\n }\n return createAesGcmConnectorCredentialProtector(key)\n}\n\nfunction createAesGcmConnectorCredentialProtector(\n encryptionKey: Uint8Array\n): ConnectorCredentialProtector {\n if (encryptionKey.byteLength !== 32) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"Connector credential encryption key must contain exactly 32 bytes.\"\n )\n }\n const key = Buffer.from(encryptionKey)\n\n return {\n async seal(plaintext, context) {\n assertCredentialContext(context)\n const nonce = randomBytes(12)\n const cipher = createCipheriv(\"aes-256-gcm\", key, nonce)\n cipher.setAAD(credentialAad(context))\n const ciphertext = Buffer.concat([cipher.update(plaintext), cipher.final()])\n return {\n version: 1,\n algorithm: \"A256GCM\",\n nonce: nonce.toString(\"base64url\"),\n ciphertext: ciphertext.toString(\"base64url\"),\n tag: cipher.getAuthTag().toString(\"base64url\"),\n }\n },\n async open(envelope, context) {\n assertCredentialContext(context)\n if (envelope.version !== 1 || envelope.algorithm !== \"A256GCM\") {\n throw createConnectorCodedError(\n \"connector.credentials_unavailable\",\n \"Connector credential envelope format is not supported.\"\n )\n }\n try {\n const nonce = decodeBase64Url(envelope.nonce)\n const ciphertext = decodeBase64Url(envelope.ciphertext)\n const tag = decodeBase64Url(envelope.tag)\n if (nonce.byteLength !== 12 || tag.byteLength !== 16) throw new Error(\"invalid envelope\")\n const decipher = createDecipheriv(\"aes-256-gcm\", key, nonce)\n decipher.setAAD(credentialAad(context))\n decipher.setAuthTag(tag)\n return Buffer.concat([decipher.update(ciphertext), decipher.final()])\n } catch (error) {\n throw createConnectorCodedError(\n \"connector.credentials_unavailable\",\n \"Connector credential envelope authentication failed.\",\n { cause: error }\n )\n }\n },\n }\n}\n\nfunction decodeBase64Url(value: string): Buffer {\n if (!/^[A-Za-z0-9_-]*$/.test(value)) throw new Error(\"invalid base64url\")\n const decoded = Buffer.from(value, \"base64url\")\n if (decoded.toString(\"base64url\") !== value) throw new Error(\"non-canonical base64url\")\n return decoded\n}\n\nexport function createEphemeralConnectorCredentialProtector(): ConnectorCredentialProtector {\n return createAesGcmConnectorCredentialProtector(randomBytes(32))\n}\n\nfunction credentialAad(context: ConnectorCredentialContext): Buffer {\n return Buffer.from(\n JSON.stringify({\n version: 1,\n projectId: context.projectId,\n connectorId: context.connectorId,\n recordId: context.recordId,\n purpose: context.purpose,\n })\n )\n}\n\nfunction assertCredentialContext(context: ConnectorCredentialContext): void {\n assertNonblank(context.projectId, \"context projectId\")\n assertNonblank(context.connectorId, \"context connectorId\")\n assertNonblank(context.recordId, \"context recordId\")\n}\n\nfunction assertNonblank(value: string, field: string): string {\n if (!value.trim()) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n `Connector credential ${field} must not be empty.`\n )\n }\n return value\n}\n",
|
|
14
14
|
"import { randomUUID } from \"node:crypto\"\nimport { isSixbError } from \"../../errors/internal\"\nimport type {\n ConnectorConnectionRecord,\n ConnectorConnectionStorage,\n PutConnectorConnectionResult,\n Storage,\n} from \"../../storage\"\nimport {\n type ConnectorCredentialProtector,\n createEphemeralConnectorCredentialProtector,\n} from \"../credentials\"\nimport {\n createConnectorCodedError,\n isConnectorStorageError,\n providerBoundaryError,\n providerFailureCode,\n storageBoundaryError,\n} from \"../errors\"\nimport type {\n ConnectorClient,\n ConnectorConnectionSelector,\n ConnectorDefinition,\n OAuthConnectorAdapter,\n} from \"../types\"\nimport { isOAuthConnectorDefinition } from \"../types\"\nimport {\n assertConnectorAuthorizationActor,\n DefaultConnectorAuthorizationLifecycle,\n} from \"./authorizations\"\nimport { requireConnectorConnectionCommandActor } from \"./command-context\"\nimport type {\n AddConnectorConnectionInput,\n CompleteConnectorAuthorizationInput,\n CompleteConnectorAuthorizationResult,\n CompleteConnectorConnectionRunInput,\n CompleteConnectorConnectionRunResult,\n ConnectorConnectionCallbackProcess,\n ConnectorConnectionCommandContext,\n ConnectorConnectionProcess,\n ConnectorConnectionRunView,\n ConnectorConnectionView,\n RevokeConnectorAuthorizationResult,\n SelectConnectorAccountInput,\n SelectConnectorConnectionRunAccountInput,\n StartConnectorAuthorizationInput,\n StartConnectorAuthorizationResult,\n StartConnectorConnectionRunInput,\n StartConnectorConnectionRunResult,\n} from \"./contracts\"\nimport { connectorAuthorizationStatusError } from \"./credential-mutations\"\nimport { runBoundedConnectorProviderOperation } from \"./provider-operation\"\nimport { ConnectorAuthorizationRequestHandler } from \"./request\"\nimport { ConnectorConnectionRunService } from \"./runs\"\nimport { withConnectorStorageBoundary } from \"./storage-boundary\"\nimport { nonblank, positiveDuration } from \"./validation\"\nimport { assertConnectorConnectionSelector, connectorConnectionView } from \"./views\"\n\nconst DEFAULT_ATTEMPT_TTL_MS = 10 * 60_000\nconst DEFAULT_SELECTION_TTL_MS = 15 * 60_000\nconst DEFAULT_CREDENTIAL_MUTATION_LEASE_MS = 30_000\nconst DEFAULT_PROVIDER_OPERATION_TIMEOUT_MS = 2 * 60_000\nconst DEFAULT_REFRESH_SKEW_MS = 60_000\n\nexport interface ConnectorConnectionServiceOptions {\n readonly storage?: Storage\n readonly credentialProtector?: ConnectorCredentialProtector\n readonly authorizationAttemptTtlMs?: number\n /** @deprecated Selection no longer expires; retained for legacy storage metadata only. */\n readonly accountSelectionTtlMs?: number\n readonly credentialMutationLeaseMs?: number\n readonly providerOperationTimeoutMs?: number\n readonly connectionRunProcessingTtlMs?: number\n readonly refreshSkewMs?: number\n readonly now?: () => Date\n}\n\n/** Process-owned composition of connector connection lookup and OAuth lifecycle state. */\nexport class ConnectorConnectionService implements ConnectorConnectionProcess {\n private readonly definitionsById: ReadonlyMap<string, ConnectorDefinition>\n private abortController = new AbortController()\n private readonly connectionStorage: ConnectorConnectionStorage\n private readonly providerOperationTimeoutMs: number\n private readonly authorizations: DefaultConnectorAuthorizationLifecycle\n private readonly requests: ConnectorAuthorizationRequestHandler\n private readonly runs: ConnectorConnectionRunService\n readonly callbackProcess: ConnectorConnectionCallbackProcess\n\n constructor(\n private readonly projectId: string,\n definitions: readonly ConnectorDefinition[],\n options: ConnectorConnectionServiceOptions = {}\n ) {\n this.definitionsById = new Map(definitions.map((definition) => [definition.id, definition]))\n const storage = requireConnectionStorage(options.storage)\n this.connectionStorage = storage.connectorConnections\n const credentialProtector = credentialProtectorFor(storage.connectorConnections, options)\n const resolveDefinition = (connectorId: string) => this.requireOAuthDefinition(connectorId)\n const hostSignal = () => this.abortController.signal\n const now = options.now ?? (() => new Date())\n const accountSelectionTtlMs = options.accountSelectionTtlMs ?? DEFAULT_SELECTION_TTL_MS\n const providerOperationTimeoutMs = positiveDuration(\n options.providerOperationTimeoutMs ?? DEFAULT_PROVIDER_OPERATION_TIMEOUT_MS,\n \"provider operation timeout\"\n )\n this.providerOperationTimeoutMs = providerOperationTimeoutMs\n\n this.authorizations = new DefaultConnectorAuthorizationLifecycle({\n projectId,\n storage: storage.connectorConnections,\n credentialProtector,\n resolveDefinition,\n hostSignal,\n accountSelectionTtlMs,\n credentialMutationLeaseMs:\n options.credentialMutationLeaseMs ?? DEFAULT_CREDENTIAL_MUTATION_LEASE_MS,\n providerOperationTimeoutMs,\n refreshSkewMs: options.refreshSkewMs ?? DEFAULT_REFRESH_SKEW_MS,\n now,\n })\n this.requests = new ConnectorAuthorizationRequestHandler({\n projectId,\n storage: storage.root,\n credentialProtector,\n authorizationAttemptTtlMs: options.authorizationAttemptTtlMs ?? DEFAULT_ATTEMPT_TTL_MS,\n providerOperationTimeoutMs,\n resolveDefinition,\n lifecycle: this.authorizations,\n hostSignal,\n })\n this.runs = new ConnectorConnectionRunService({\n projectId,\n storage: storage.root,\n requestHandler: this.requests,\n authorizations: this.authorizations,\n resolveDefinition,\n processingTtlMs:\n options.connectionRunProcessingTtlMs ?? providerOperationTimeoutMs * 2 + 30_000,\n selectionTtlMs: accountSelectionTtlMs,\n now,\n })\n this.callbackProcess = Object.freeze({\n completeConnectionRun: (input: CompleteConnectorConnectionRunInput) =>\n this.completeConnectionRun(input),\n })\n }\n\n async connectConnection<TAdapter extends OAuthConnectorAdapter>(\n definition: ConnectorDefinition<string, TAdapter>,\n selector: ConnectorConnectionSelector\n ): Promise<ConnectorClient<TAdapter>> {\n this.assertOAuthRegistered(definition)\n assertConnectorConnectionSelector(selector)\n const connection = await withConnectorStorageBoundary(\n \"Connector connection could not be read.\",\n () =>\n this.connectionStorage.getConnection({\n projectId: this.projectId,\n connectorId: definition.id,\n ...selector,\n })\n )\n if (!connection) {\n throw createConnectorCodedError(\n \"connector.not_found\",\n `Connector '${definition.id}' has no connection for project slot '${selector.slot}'.`\n )\n }\n\n return this.connectExecutionConnection(definition, connection)\n }\n\n /** Snapshot the connected records that one trusted primitive execution may consume. */\n async listExecutionConnections<TAdapter extends OAuthConnectorAdapter>(\n definition: ConnectorDefinition<string, TAdapter>\n ): Promise<readonly ConnectorConnectionRecord[]> {\n this.assertOAuthRegistered(definition)\n const connections = await withConnectorStorageBoundary(\n \"Connector connections could not be listed.\",\n () =>\n this.connectionStorage.listConnections({\n projectId: this.projectId,\n connectorId: definition.id,\n })\n )\n return connections\n .filter((connection) => connection.status === \"connected\")\n .sort((left, right) => left.id.localeCompare(right.id))\n }\n\n /** Resolve a client from an immutable connection snapshot captured for one execution. */\n async connectExecutionConnection<TAdapter extends OAuthConnectorAdapter>(\n definition: ConnectorDefinition<string, TAdapter>,\n connection: ConnectorConnectionRecord,\n signal: AbortSignal = this.abortController.signal\n ): Promise<ConnectorClient<TAdapter>> {\n this.assertOAuthRegistered(definition)\n if (\n connection.projectId !== this.projectId ||\n connection.connectorId !== definition.id ||\n connection.status !== \"connected\"\n ) {\n throw createConnectorCodedError(\n \"connector.not_found\",\n `Connector '${definition.id}' connection '${connection.id}' is not active in this project.`\n )\n }\n\n const authorization = await this.authorizations.requireStableActiveAuthorization(\n definition,\n connection.authorizationId\n )\n const hostSignal = this.abortController.signal\n const operationSignal =\n signal === hostSignal ? hostSignal : AbortSignal.any([hostSignal, signal])\n try {\n return (await runBoundedConnectorProviderOperation(\n {\n hostSignal: operationSignal,\n timeoutMs: this.providerOperationTimeoutMs,\n },\n (providerSignal) => {\n const clientSignal = AbortSignal.any([operationSignal, providerSignal])\n return definition.adapter.connect({\n projectId: this.projectId,\n connectorId: definition.id,\n connectionId: connection.id,\n account: connection.account,\n tokenSource: this.authorizations.createTokenSource(definition, authorization.id),\n signal: clientSignal,\n })\n },\n () => connectorClientInterruptionError(operationSignal)\n )) as ConnectorClient<TAdapter>\n } catch (error) {\n if (operationSignal.aborted) throw error\n throw providerBoundaryError(\n error,\n providerFailureCode(error),\n \"Connector connection client creation failed.\"\n )\n }\n }\n\n async listConnections(\n command: ConnectorConnectionCommandContext,\n connectorId: string\n ): Promise<readonly ConnectorConnectionView[]> {\n const definition = this.requireOAuthDefinition(connectorId)\n requireConnectorConnectionCommandActor(command.execution, this.projectId)\n let connections: readonly ConnectorConnectionRecord[]\n try {\n connections = await this.connectionStorage.listConnections({\n projectId: this.projectId,\n connectorId: definition.id,\n })\n } catch (error) {\n throw storageBoundaryError(error, \"Connector connections could not be listed.\")\n }\n return withConnectorStorageBoundary(\"Connector authorizations could not be read.\", () =>\n Promise.all(\n connections.map(async (connection) => {\n const authorization = await this.connectionStorage.getAuthorization({\n projectId: this.projectId,\n connectorId: definition.id,\n authorizationId: connection.authorizationId,\n })\n if (!authorization) {\n throw createConnectorCodedError(\n \"internal.unexpected\",\n \"Connector connection references an unavailable authorization.\"\n )\n }\n return connectorConnectionView(connection, authorization.status)\n })\n )\n )\n }\n\n startConnectionRun(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n input: StartConnectorConnectionRunInput\n ): Promise<StartConnectorConnectionRunResult> {\n return this.runs.start(command, connectorId, input)\n }\n\n async addConnection(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n input: AddConnectorConnectionInput\n ): Promise<ConnectorConnectionRunView> {\n const definition = this.requireOAuthDefinition(connectorId)\n const actor = requireConnectorConnectionCommandActor(command.execution, this.projectId)\n assertConnectorConnectionSelector(input)\n const source = await withConnectorStorageBoundary(\n \"Source connector connection could not be read.\",\n () =>\n this.connectionStorage.getConnectionById({\n projectId: this.projectId,\n connectorId: definition.id,\n connectionId: nonblank(input.fromConnectionId, \"source connection id\"),\n })\n )\n if (!source) {\n throw createConnectorCodedError(\"connector.not_found\", \"Source connection was not found.\")\n }\n if (source.status !== \"connected\") {\n throw createConnectorCodedError(\n \"connector.authorization_required\",\n \"Source connection is disconnected.\"\n )\n }\n const authorization = await this.authorizations.requireStableActiveAuthorization(\n definition,\n source.authorizationId\n )\n assertConnectorAuthorizationActor(authorization, actor.principal)\n return this.runs.startSelection(command, definition.id, {\n owner: input.owner,\n slot: input.slot,\n authorizationId: authorization.id,\n })\n }\n\n listPendingConnectionRuns(command: ConnectorConnectionCommandContext, connectorId: string) {\n this.requireOAuthDefinition(connectorId)\n return this.runs.listPending(command, connectorId)\n }\n\n getConnectionRun(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n runId: string\n ): Promise<ConnectorConnectionRunView | null> {\n this.requireOAuthDefinition(connectorId)\n return this.runs.get(command, connectorId, runId)\n }\n\n selectConnectionRunAccount(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n input: SelectConnectorConnectionRunAccountInput\n ): Promise<ConnectorConnectionRunView> {\n return this.runs.selectAccount(command, connectorId, input)\n }\n\n async startReauthorization(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n connectionId: string,\n input: Pick<StartConnectorConnectionRunInput, \"redirectUri\" | \"returnTo\">\n ): Promise<StartConnectorConnectionRunResult> {\n const definition = this.requireOAuthDefinition(connectorId)\n requireConnectorConnectionCommandActor(command.execution, this.projectId)\n const connection = await withConnectorStorageBoundary(\n \"Connector connection could not be read.\",\n () =>\n this.connectionStorage.getConnectionById({\n projectId: this.projectId,\n connectorId: definition.id,\n connectionId: nonblank(connectionId, \"connection id\"),\n })\n )\n if (!connection) {\n throw createConnectorCodedError(\"connector.not_found\", \"Connector connection was not found.\")\n }\n if (connection.status !== \"connected\") {\n throw createConnectorCodedError(\n \"connector.authorization_required\",\n \"Disconnected connector connections cannot be reauthorized; start a new connection.\"\n )\n }\n return this.runs.start(command, definition.id, {\n owner: connection.owner,\n slot: connection.slot,\n redirectUri: input.redirectUri,\n returnTo: input.returnTo,\n reauthorizationId: connection.authorizationId,\n })\n }\n\n async revokeConnection(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n connectionId: string\n ): Promise<RevokeConnectorAuthorizationResult> {\n const definition = this.requireOAuthDefinition(connectorId)\n requireConnectorConnectionCommandActor(command.execution, this.projectId)\n const authorization = await withConnectorStorageBoundary(\n \"Connector authorization could not be resolved from its connection.\",\n () =>\n this.connectionStorage.getAuthorizationByConnectionId({\n projectId: this.projectId,\n connectorId: definition.id,\n connectionId: nonblank(connectionId, \"connection id\"),\n })\n )\n if (!authorization) {\n throw createConnectorCodedError(\"connector.not_found\", \"Connector connection was not found.\")\n }\n return this.revokeAuthorization(command, definition.id, authorization.id)\n }\n\n completeConnectionRun(\n input: CompleteConnectorConnectionRunInput\n ): Promise<CompleteConnectorConnectionRunResult> {\n return this.runs.complete(input)\n }\n\n startAuthorization(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n input: StartConnectorAuthorizationInput\n ): Promise<StartConnectorAuthorizationResult> {\n return this.requests.startAuthorization(command, connectorId, input)\n }\n\n completeAuthorization(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n input: CompleteConnectorAuthorizationInput\n ): Promise<CompleteConnectorAuthorizationResult> {\n return this.requests.completeAuthorization(command, connectorId, input)\n }\n\n async selectAccount(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n input: SelectConnectorAccountInput\n ): Promise<ConnectorConnectionView> {\n const definition = this.requireOAuthDefinition(connectorId)\n const actor = requireConnectorConnectionCommandActor(command.execution, this.projectId)\n assertConnectorConnectionSelector(input)\n const authorization = await this.authorizations.requireAuthorization(\n definition.id,\n input.authorizationId\n )\n if (authorization.status !== \"pending_selection\" && authorization.status !== \"active\") {\n throw connectorAuthorizationStatusError(authorization.status)\n }\n assertConnectorAuthorizationActor(authorization, actor.principal)\n const account = authorization.accounts.find((candidate) => candidate.id === input.accountId)\n if (!account) {\n throw createConnectorCodedError(\n \"connector.not_found\",\n `Account '${input.accountId}' is not exposed by this connector authorization.`\n )\n }\n\n let result: PutConnectorConnectionResult\n try {\n result = await this.connectionStorage.putConnection({\n id: `ccn_${randomUUID()}`,\n projectId: this.projectId,\n connectorId: definition.id,\n owner: input.owner,\n slot: input.slot,\n authorizationId: authorization.id,\n account,\n replace: input.replace === true,\n })\n } catch (error) {\n if (isConnectorStorageError(error, \"authorization_conflict\")) {\n await this.continueRevocationIfPending(definition, authorization.id)\n throw createConnectorCodedError(\n \"connector.operation_conflict\",\n \"Connector authorization cannot be selected in its current state.\",\n { cause: error }\n )\n }\n if (isConnectorStorageError(error, \"connection_conflict\")) {\n throw createConnectorCodedError(\n \"connector.operation_conflict\",\n \"Connector slot is already occupied; explicit replacement is required.\",\n { cause: error }\n )\n }\n throw storageBoundaryError(error, \"Connector account selection could not be persisted.\")\n }\n if (result.revocationPendingAuthorizationId) {\n await this.continuePendingRevocation(definition, result.revocationPendingAuthorizationId)\n }\n return connectorConnectionView(result.connection, result.authorization.status)\n }\n\n async disconnect(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n connectionId: string\n ): Promise<ConnectorConnectionView | null> {\n const definition = this.requireOAuthDefinition(connectorId)\n requireConnectorConnectionCommandActor(command.execution, this.projectId)\n const normalizedConnectionId = nonblank(connectionId, \"connection id\")\n try {\n const disconnected = await this.connectionStorage.disconnectConnection({\n projectId: this.projectId,\n connectorId: definition.id,\n connectionId: normalizedConnectionId,\n })\n if (!disconnected) return null\n if (disconnected.revocationPendingAuthorizationId) {\n await this.continuePendingRevocation(\n definition,\n disconnected.revocationPendingAuthorizationId\n )\n }\n return connectorConnectionView(disconnected.connection, disconnected.authorization.status)\n } catch (error) {\n if (isConnectorStorageError(error, \"authorization_conflict\")) {\n throw createConnectorCodedError(\n \"connector.operation_conflict\",\n \"Connector connection cannot be disconnected while its authorization is changing.\",\n { cause: error }\n )\n }\n throw storageBoundaryError(error, \"Connector disconnection could not be persisted.\")\n }\n }\n\n async revokeAuthorization(\n command: ConnectorConnectionCommandContext,\n connectorId: string,\n authorizationId: string\n ): Promise<RevokeConnectorAuthorizationResult> {\n const definition = this.requireOAuthDefinition(connectorId)\n const actor = requireConnectorConnectionCommandActor(command.execution, this.projectId)\n const revoked = await this.authorizations.revokeAuthorization({\n definition,\n authorizationId: nonblank(\n authorizationId,\n \"authorization id\",\n \"connector.authorization_invalid\"\n ),\n principal: actor.principal,\n })\n return {\n affectedConnections: revoked.disconnected.map((connection) =>\n connectorConnectionView(connection, \"revoked\")\n ),\n }\n }\n\n async close(): Promise<void> {\n this.runs.close()\n this.abortController.abort()\n this.abortController = new AbortController()\n }\n\n private assertOAuthRegistered(\n definition: ConnectorDefinition\n ): asserts definition is ConnectorDefinition<string, OAuthConnectorAdapter> {\n const registered = this.requireOAuthDefinition(definition.id)\n if (registered !== definition) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n `Connector '${definition.id}' is not the registered definition instance.`\n )\n }\n }\n\n private requireOAuthDefinition(\n connectorId: string\n ): ConnectorDefinition<string, OAuthConnectorAdapter> {\n const definition = this.definitionsById.get(nonblank(connectorId, \"connector id\"))\n if (!definition) {\n throw createConnectorCodedError(\"connector.not_found\", `Unknown connector '${connectorId}'.`)\n }\n if (!isOAuthConnectorDefinition(definition)) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n `Connector '${connectorId}' does not use OAuth authentication.`\n )\n }\n return definition\n }\n\n private async continueRevocationIfPending(\n definition: ConnectorDefinition<string, OAuthConnectorAdapter>,\n authorizationId: string\n ): Promise<void> {\n const authorization = await this.authorizations.requireAuthorization(\n definition.id,\n authorizationId\n )\n if (authorization.status !== \"revocation_pending\") return\n await this.continuePendingRevocation(definition, authorization.id)\n }\n\n private async continuePendingRevocation(\n definition: ConnectorDefinition<string, OAuthConnectorAdapter>,\n authorizationId: string\n ): Promise<void> {\n try {\n await this.authorizations.continuePendingRevocation(definition, authorizationId)\n } catch (error) {\n if (isSixbError(error) && error.code === \"connector.revocation_pending\") return\n throw error\n }\n }\n}\n\nfunction connectorClientInterruptionError(signal: AbortSignal): Error {\n if (signal.aborted) {\n if (signal.reason instanceof Error) return signal.reason\n const error = new Error(\"[Sixb] Connector client creation was cancelled.\")\n error.name = \"AbortError\"\n return error\n }\n return createConnectorCodedError(\n \"connector.provider_unavailable\",\n \"Connector client creation timed out.\"\n )\n}\n\nfunction requireConnectionStorage(storage: Storage | undefined): {\n readonly root: Storage\n readonly connectorConnections: ConnectorConnectionStorage\n} {\n const connectorConnections = storage?.connectorConnections\n if (!storage || !connectorConnections) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"OAuth connectors require storage.connectorConnections to be configured.\"\n )\n }\n if (\n connectorConnections.durability !== \"ephemeral\" &&\n connectorConnections.durability !== \"durable\"\n ) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"Connector connection storage must declare 'ephemeral' or 'durable' durability.\"\n )\n }\n return { root: storage, connectorConnections }\n}\n\nfunction credentialProtectorFor(\n storage: ConnectorConnectionStorage,\n options: ConnectorConnectionServiceOptions\n): ConnectorCredentialProtector {\n if (storage.durability === \"durable\" && !options.credentialProtector) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"Durable connector connection storage requires connectorConnections.encryptionKey to be configured.\"\n )\n }\n return options.credentialProtector ?? createEphemeralConnectorCredentialProtector()\n}\n",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"import type { DatasetDefinition } from \"../datasets/types\"\nimport type { OntologyDefinitionCatalog } from \"../ontology/registry\"\nimport type { ObjectType, Property } from \"../ontology/types\"\nimport type { PipelineDefinition } from \"../pipelines/types\"\nimport type { ProjectionDefinitionCatalog } from \"../projections/registry\"\nimport { SecurityValidationError } from \"./errors\"\nimport { MarkingPropagation, registeredSteps, runStepLineages } from \"./marking-propagation\"\nimport { validateProjectionMarkings } from \"./projection-markings\"\n\n/**\n * Check every marking once at startup.\n *\n * A marking is enforced at read time from the property or column definition and the lineage of\n * the version read, so each rule here closes a path that would otherwise return the value\n * unredacted or make enforcement ambiguous.\n *\n * Projections are checked against the markings columns declare or inherit through `run` steps.\n * What SQL steps derive needs the lake provider's analysis, which `checkPipelineMarkings` adds.\n */\nexport function validateMarkingsAtStartup(input: {\n readonly markingIds: ReadonlySet<string>\n readonly ontology: OntologyDefinitionCatalog\n readonly datasetsById: ReadonlyMap<string, DatasetDefinition>\n readonly pipelines: readonly PipelineDefinition[]\n readonly projections: ProjectionDefinitionCatalog\n}): void {\n validatePropertyMarkings(input.ontology, input.markingIds)\n validateColumnMarkings(input.datasetsById, input.markingIds)\n\n const runLineageOf = runStepLineages(input.datasetsById)\n const markings = new MarkingPropagation(\n input.datasetsById,\n registeredSteps(input.pipelines)\n ).derive((entry) => runLineageOf(entry) ?? null)\n\n validateProjectionMarkings(input.projections, input.ontology, markings)\n}\n\n// ── Declarations ────────────────────────────────────────────\n\nfunction validatePropertyMarkings(\n ontology: OntologyDefinitionCatalog,\n markingIds: ReadonlySet<string>\n): void {\n for (const objectType of ontology.listObjectTypes()) {\n for (const property of objectType.properties) {\n validateProperty(objectType, property, markingIds)\n }\n for (const link of objectType.links) {\n for (const property of link.properties ?? []) {\n if (property.markings !== undefined) {\n throw new SecurityValidationError(\n `[Sixb] Link property '${objectType.id}.${link.id}.${property.id}' cannot carry markings. Mark object properties instead.`\n )\n }\n }\n }\n assertSubtypeKeepsParentMarkings(objectType, ontology)\n }\n}\n\nfunction validateProperty(\n objectType: ObjectType,\n property: Property,\n markingIds: ReadonlySet<string>\n): void {\n if (property.markings === undefined) return\n const path = `${objectType.id}.${property.id}`\n assertMarkingList(property.markings, `Property '${path}'`, markingIds)\n\n // The primary id identifies the object in every response, link, and event.\n if (property.primary) {\n throw new SecurityValidationError(\n `[Sixb] Primary property '${path}' cannot carry markings: it identifies the object.`\n )\n }\n // Telemetry values also flow through history reads and telemetry events, which do not\n // enforce markings yet.\n if (property.mode === \"telemetry\") {\n throw new SecurityValidationError(\n `[Sixb] Telemetry property '${path}' cannot carry markings yet.`\n )\n }\n}\n\n/**\n * A subtype inherits its parent's properties and may redefine them. Subtype rows are returned by\n * parent-type reads, so a redefinition that dropped a marking would declassify the parent's data.\n */\nfunction assertSubtypeKeepsParentMarkings(\n objectType: ObjectType,\n ontology: OntologyDefinitionCatalog\n): void {\n if (!objectType.extends) return\n const parent = ontology.getObjectTypeById(objectType.extends)\n if (!parent) return\n\n // Indexed on the first marked parent property: most parents mark nothing.\n let propertiesById: Map<string, Property> | undefined\n for (const parentProperty of parent.properties) {\n const parentMarkings = parentProperty.markings\n if (!parentMarkings) continue\n\n if (!propertiesById) {\n propertiesById = new Map()\n for (const property of objectType.properties) {\n if (!propertiesById.has(property.id)) propertiesById.set(property.id, property)\n }\n }\n\n const missing = missingMarkings(parentMarkings, propertiesById.get(parentProperty.id)?.markings)\n if (missing.length > 0) {\n throw new SecurityValidationError(\n `[Sixb] Property '${objectType.id}.${parentProperty.id}' must keep the markings of '${parent.id}.${parentProperty.id}': add ${missing.map((markingId) => `'${markingId}'`).join(\", \")}.`\n )\n }\n }\n}\n\nfunction validateColumnMarkings(\n datasetsById: ReadonlyMap<string, DatasetDefinition>,\n markingIds: ReadonlySet<string>\n): void {\n for (const dataset of datasetsById.values()) {\n for (const column of dataset.schema.columns) {\n if (column.markings === undefined) continue\n assertMarkingList(\n column.markings,\n `Dataset column '${dataset.id}.${column.name}'`,\n markingIds\n )\n }\n }\n}\n\nfunction assertMarkingList(\n markings: unknown,\n subject: string,\n markingIds: ReadonlySet<string>\n): void {\n if (!Array.isArray(markings) || markings.length === 0) {\n throw new SecurityValidationError(\n `[Sixb] ${subject} markings must be a non-empty list of marking ids.`\n )\n }\n if (new Set(markings).size !== markings.length) {\n throw new SecurityValidationError(`[Sixb] ${subject} lists the same marking twice.`)\n }\n for (const markingId of markings) {\n if (typeof markingId !== \"string\" || !markingIds.has(markingId)) {\n throw new SecurityValidationError(\n `[Sixb] ${subject} references unknown marking '${String(markingId)}'. Add it to 'security/markings/' or pass it to createSixb({ markings }).`\n )\n }\n }\n}\n\nfunction missingMarkings(\n required: readonly string[] | undefined,\n declared: readonly string[] | undefined\n): readonly string[] {\n const present = new Set(declared ?? [])\n return (required ?? []).filter((markingId) => !present.has(markingId))\n}\n",
|
|
36
36
|
"import type { DatasetDefinition } from \"../datasets\"\nimport type { PipelineDefinition } from \"../pipelines\"\nimport type { TelemetryProjectionDefinition } from \"../projections\"\nimport { SyncValidationError } from \"./errors\"\nimport type { SyncDefinition } from \"./types\"\n\ninterface DatasetWriter {\n readonly datasetId: string\n readonly label: string\n}\n\nexport function validateKeyedDatasetWriterTopology(input: {\n readonly datasetsById: ReadonlyMap<string, DatasetDefinition>\n readonly syncs: readonly SyncDefinition[]\n readonly pipelines: readonly PipelineDefinition[]\n}): void {\n for (const sync of input.syncs) {\n const dataset = input.datasetsById.get(sync.target.dataset.id)\n if (sync.config.mode === \"merge\" && dataset?.primaryKey === undefined) {\n throw new SyncValidationError(\n `[Sixb] Merge sync '${sync.id}' targets dataset '${sync.target.dataset.id}', which must define a primaryKey.`\n )\n }\n }\n\n const firstWriterByDataset = new Map<string, DatasetWriter>()\n for (const writer of datasetWriters(input.syncs, input.pipelines)) {\n const dataset = input.datasetsById.get(writer.datasetId)\n if (dataset?.primaryKey === undefined) continue\n\n const first = firstWriterByDataset.get(writer.datasetId)\n if (!first) {\n firstWriterByDataset.set(writer.datasetId, writer)\n continue\n }\n\n throw new SyncValidationError(\n `[Sixb] Keyed dataset '${writer.datasetId}' has multiple registered writers: ${first.label} and ${writer.label}. V1 allows one writer per keyed dataset.`\n )\n }\n}\n\nexport function validateMergeSyncProjectionSafety(input: {\n readonly syncs: readonly SyncDefinition[]\n readonly telemetryProjections: readonly TelemetryProjectionDefinition[]\n}): void {\n const mergeSyncByDataset = new Map(\n input.syncs\n .filter((sync) => sync.config.mode === \"merge\")\n .map((sync) => [sync.target.dataset.id, sync] as const)\n )\n\n for (const projection of input.telemetryProjections) {\n const sync = mergeSyncByDataset.get(projection.datasetId)\n if (!sync) continue\n throw new SyncValidationError(\n `[Sixb] Telemetry projection '${projection.id}' cannot read merge-written dataset '${projection.datasetId}' from sync '${sync.id}'. V1 merge syncs support object and link replacement projections only.`\n )\n }\n}\n\nfunction* datasetWriters(\n syncs: readonly SyncDefinition[],\n pipelines: readonly PipelineDefinition[]\n): Iterable<DatasetWriter> {\n for (const sync of syncs) {\n yield { datasetId: sync.target.dataset.id, label: `sync '${sync.id}'` }\n }\n for (const pipeline of pipelines) {\n for (const node of pipeline.graph.nodes) {\n yield {\n datasetId: node.step.output.id,\n label: `pipeline '${pipeline.id}' step '${node.step.id}'`,\n }\n }\n }\n}\n",
|
|
37
37
|
"import type { ActionDefinitionCatalog } from \"../actions\"\nimport type { AgentDefinitions, AgentToolCatalog } from \"../agents\"\nimport type { ConnectorDefinition } from \"../connectors\"\nimport type { DatasetDefinition } from \"../datasets\"\nimport type { ModelCatalog } from \"../models\"\nimport type { OntologyDefinitionCatalog } from \"../ontology\"\nimport type { PipelineDefinition } from \"../pipelines\"\nimport type { ProjectionDefinitionCatalog } from \"../projections\"\nimport type { RuleDefinition } from \"../rules\"\nimport type { ScheduleDefinition } from \"../schedules\"\nimport type { SecurityDefinitionCatalog } from \"../security\"\nimport type { ShareDefinition } from \"../shares\"\nimport type { SyncDefinition } from \"../syncs\"\nimport type { WorkflowDefinition } from \"../workflows\"\n\n/** Immutable, host-owned catalog of validated project definitions. */\nexport interface DefinitionCatalog<TDefinition> {\n list(): readonly TDefinition[]\n getById(id: string): TDefinition | null\n}\n\n/** Definitions resolved and cross-validated while composing a {@link SixbHost}. */\nexport interface SixbDefinitions {\n readonly ontology: OntologyDefinitionCatalog\n readonly actions: ActionDefinitionCatalog\n readonly tools: AgentToolCatalog\n /** The project files the Agent reads: `skills/`, `SIXB.md`, and the docs of `ontology/`. */\n readonly agent: AgentDefinitions\n readonly connectors: DefinitionCatalog<ConnectorDefinition>\n readonly datasets: DefinitionCatalog<DatasetDefinition>\n /** Absent until a project configures `models` in createSixb(). */\n readonly models?: ModelCatalog\n readonly pipelines: DefinitionCatalog<PipelineDefinition>\n readonly projections: ProjectionDefinitionCatalog\n readonly rules: DefinitionCatalog<RuleDefinition>\n readonly schedules: DefinitionCatalog<ScheduleDefinition>\n readonly security: SecurityDefinitionCatalog\n readonly shares: DefinitionCatalog<ShareDefinition>\n readonly syncs: DefinitionCatalog<SyncDefinition>\n readonly workflows: DefinitionCatalog<WorkflowDefinition>\n}\n\n/** Build a read-only catalog over an already validated definition index. */\nexport function createDefinitionCatalog<TDefinition>(\n definitionsById: ReadonlyMap<string, TDefinition>\n): DefinitionCatalog<TDefinition> {\n return Object.freeze({\n list: () => [...definitionsById.values()],\n getById: (id: string) => definitionsById.get(id) ?? null,\n })\n}\n",
|
|
38
|
-
"import { ActionRegistry } from \"../actions\"\nimport type { ActionDefinition } from \"../actions/types\"\nimport type { AgentDefinitionsInput, AgentToolDefinition } from \"../agents\"\nimport { assertNoAgentDefinitions } from \"../agents/retired-config\"\nimport { createAgentSkillCatalog } from \"../agents/skills\"\nimport { createAgentToolCatalog } from \"../agents/tool-catalog\"\nimport type { ConnectorDefinition } from \"../connectors\"\nimport { isDatasetPick } from \"../datasets/builders\"\nimport { columnsByName } from \"../datasets/column-index\"\nimport type { DatasetDefinition } from \"../datasets/types\"\nimport { assertDatasetDefinition } from \"../datasets/validation\"\nimport { createModelCatalog, type ModelCatalogInput } from \"../models\"\nimport { sameEmbeddingModel } from \"../models/embedding-model\"\nimport { OntologyRegistry } from \"../ontology\"\nimport { createOntologyDocsCatalog } from \"../ontology/docs\"\nimport type { PipelineDefinition } from \"../pipelines/types\"\nimport { ProjectionRegistry } from \"../projections\"\nimport type { ProjectionDefinition } from \"../projections/types\"\nimport { type RuleDefinition, validateRulesAtStartup } from \"../rules\"\nimport { type ScheduleDefinition, validateSchedulesAtStartup } from \"../schedules\"\nimport {\n type GroupDefinition,\n type MarkingDefinition,\n type MembershipPolicyDefinition,\n type RoleDefinition,\n SecurityRegistry,\n} from \"../security\"\nimport { validateMarkingsAtStartup } from \"../security/markings\"\nimport { type ShareDefinition, validateSharesAtStartup } from \"../shares\"\nimport type { SyncDefinition } from \"../syncs\"\nimport {\n validateKeyedDatasetWriterTopology,\n validateMergeSyncProjectionSafety,\n} from \"../syncs/validation\"\nimport type { WorkflowDefinition } from \"../workflows\"\nimport { validateWorkflowAgentStepGroupReferences, validateWorkflowsAtStartup } from \"../workflows\"\nimport { createDefinitionCatalog, type SixbDefinitions } from \"./definitions\"\nimport { RuntimeError } from \"./errors\"\nimport type { OntologySource } from \"./types\"\n\ninterface DefinitionOptions {\n readonly ontology: readonly OntologySource[]\n readonly actions?: readonly ActionDefinition[]\n readonly connectors?: readonly ConnectorDefinition[]\n readonly datasets?: readonly DatasetDefinition[]\n readonly schedules?: readonly ScheduleDefinition[]\n readonly syncs?: readonly SyncDefinition[]\n readonly pipelines?: readonly PipelineDefinition[]\n readonly projections?: readonly ProjectionDefinition[]\n readonly rules?: readonly RuleDefinition[]\n readonly workflows?: readonly WorkflowDefinition[]\n readonly tools?: readonly AgentToolDefinition[]\n readonly agent?: AgentDefinitionsInput\n readonly models?: ModelCatalogInput\n readonly shares?: readonly ShareDefinition[]\n readonly markings?: readonly MarkingDefinition[]\n readonly groups?: readonly GroupDefinition[]\n readonly roles?: readonly RoleDefinition[]\n readonly membershipPolicies?: readonly MembershipPolicyDefinition[]\n}\n\ninterface ResolvedDefinitions extends SixbDefinitions {\n readonly ontology: OntologyRegistry\n readonly actions: ActionRegistry\n readonly projections: ProjectionRegistry\n readonly security: SecurityRegistry\n}\n\n/** Resolve and cross-validate every registered definition before runtime services are composed. */\nexport function resolveDefinitions(options: DefinitionOptions): ResolvedDefinitions {\n assertNoAgentDefinitions(options)\n const ontology = new OntologyRegistry({ sources: options.ontology })\n const actionRegistry = new ActionRegistry({ actions: options.actions ?? [], ontology })\n const registeredActionIds = new Set(actionRegistry.list().map((action) => action.id))\n const sharesById = validateSharesAtStartup({\n shares: options.shares ?? [],\n ontology,\n actions: actionRegistry,\n })\n\n const models = options.models === undefined ? undefined : createModelCatalog(options.models)\n for (const type of ontology.listObjectTypes()) {\n for (const [name, profile] of Object.entries(type.search?.vectors ?? {})) {\n const registered = models?.embedding.getByRef({\n provider: profile.model.providerId,\n modelId: profile.model.modelId,\n })\n if (!registered || !sameEmbeddingModel(registered.model, profile.model)) {\n throw new Error(\n \"[Sixb] Vector profile \" +\n type.id +\n \".\" +\n name +\n \" requires its model in models.embedding with matching identity and dimensions.\"\n )\n }\n }\n }\n const tools = createAgentToolCatalog(options.tools)\n const skills = createAgentSkillCatalog(options.agent?.skills)\n const ontologyDocs = createOntologyDocsCatalog({\n objectTypes: ontology.listObjectTypes(),\n ...(options.agent?.ontologyDocs === undefined ? {} : { docs: options.agent.ontologyDocs }),\n })\n const connectorsById = indexUniqueDefinitions(\"connector\", options.connectors ?? [])\n\n // Datasets resolve first because syncs, pipelines, projections, and security depend on them.\n const datasetsById = new Map<string, DatasetDefinition>()\n for (const dataset of options.datasets ?? []) {\n assertDatasetDefinition(dataset, (message) => new RuntimeError(message))\n assertUniqueDefinitionId(\"dataset\", dataset.id, datasetsById)\n datasetsById.set(dataset.id, dataset)\n }\n\n const schedulesById = indexUniqueDefinitions(\"schedule\", options.schedules ?? [])\n\n const syncsById = new Map<string, SyncDefinition>()\n for (const sync of options.syncs ?? []) {\n assertUniqueDefinitionId(\"sync\", sync.id, syncsById)\n\n const target = datasetsById.get(sync.target.dataset.id)\n if (!target) {\n throw new RuntimeError(\n `Sync '${sync.id}' targets unknown dataset '${sync.target.dataset.id}'. Add it to 'datasets' in createSixb() or export it from 'datasets/'.`\n )\n }\n\n assertRegisteredColumns(`Sync '${sync.id}' target '${target.id}'`, sync.target.dataset, target)\n\n syncsById.set(sync.id, sync)\n }\n\n const pipelinesById = new Map<string, PipelineDefinition>()\n for (const pipeline of options.pipelines ?? []) {\n assertUniqueDefinitionId(\"pipeline\", pipeline.id, pipelinesById)\n validatePipelineDatasets(pipeline, datasetsById)\n pipelinesById.set(pipeline.id, pipeline)\n }\n\n const schedules = [...schedulesById.values()]\n const syncs = [...syncsById.values()]\n const pipelines = [...pipelinesById.values()]\n\n validateKeyedDatasetWriterTopology({ datasetsById, syncs, pipelines })\n\n // Rules resolve against the complete ontology so inherited properties and links are available.\n const rules = options.rules ?? []\n validateRulesAtStartup(rules, ontology)\n const rulesById = indexUniqueDefinitions(\"rule\", rules)\n\n validateSchedulesAtStartup(schedules, ontology, {\n registeredRuleIds: new Set(rulesById.keys()),\n registeredDatasetIds: new Set(datasetsById.keys()),\n registeredSyncIds: new Set(syncsById.keys()),\n registeredPipelineIds: new Set(pipelinesById.keys()),\n })\n for (const sync of syncs) {\n validateScheduleReferences(\"Sync\", sync.id, sync.triggers, schedulesById)\n }\n for (const pipeline of pipelines) {\n validateScheduleReferences(\"Pipeline\", pipeline.id, pipeline.triggers, schedulesById)\n }\n\n const workflows = validateWorkflowsAtStartup({\n workflows: options.workflows ?? [],\n registeredSchedules: schedulesById,\n registeredActionIds,\n ...(models === undefined ? {} : { models }),\n tools,\n skills,\n })\n const workflowsById = indexUniqueDefinitions(\"workflow\", workflows)\n\n const security = new SecurityRegistry({\n markings: options.markings ?? [],\n groups: options.groups ?? [],\n roles: options.roles ?? [],\n membershipPolicies: options.membershipPolicies ?? [],\n objectTypeIds: new Set(ontology.getObjectTypesById().keys()),\n datasetIds: new Set(datasetsById.keys()),\n actionIds: registeredActionIds,\n workflowIds: new Set(workflowsById.keys()),\n syncIds: new Set(syncsById.keys()),\n pipelineIds: new Set(pipelinesById.keys()),\n agentAvailable: models?.language !== undefined,\n connectorIds: new Set(connectorsById.keys()),\n shareIds: new Set(sharesById.keys()),\n getSubTypes: (objectTypeId) => ontology.listSubTypes(objectTypeId),\n })\n validateWorkflowAgentStepGroupReferences(workflows, security)\n\n const projectionRegistry = new ProjectionRegistry({\n projections: options.projections ?? [],\n ontology,\n datasetsById,\n })\n validateMergeSyncProjectionSafety({\n syncs,\n telemetryProjections: projectionRegistry.listTelemetry(),\n })\n validateMarkingsAtStartup({\n markingIds: new Set(security.listMarkings().map((marking) => marking.id)),\n ontology,\n datasetsById,\n pipelines,\n projections: projectionRegistry,\n })\n\n return Object.freeze({\n ontology,\n actions: actionRegistry,\n tools,\n agent: Object.freeze({\n skills,\n ...(options.agent?.instructions === undefined\n ? {}\n : { instructions: options.agent.instructions }),\n ontologyDocs,\n }),\n connectors: createDefinitionCatalog(connectorsById),\n datasets: createDefinitionCatalog(datasetsById),\n ...(models === undefined ? {} : { models }),\n pipelines: createDefinitionCatalog(pipelinesById),\n projections: projectionRegistry,\n rules: createDefinitionCatalog(rulesById),\n schedules: createDefinitionCatalog(schedulesById),\n security,\n shares: createDefinitionCatalog(sharesById),\n syncs: createDefinitionCatalog(syncsById),\n workflows: createDefinitionCatalog(workflowsById),\n })\n}\n\nfunction indexUniqueDefinitions<TDefinition extends { readonly id: string }>(\n kind: \"schedule\" | \"workflow\" | \"agent\" | \"connector\" | \"rule\",\n definitions: readonly TDefinition[]\n): ReadonlyMap<string, TDefinition> {\n const definitionsById = new Map<string, TDefinition>()\n for (const definition of definitions) {\n assertUniqueDefinitionId(kind, definition.id, definitionsById)\n definitionsById.set(definition.id, definition)\n }\n return definitionsById\n}\n\nfunction assertUniqueDefinitionId(\n kind: \"dataset\" | \"schedule\" | \"sync\" | \"pipeline\" | \"workflow\" | \"agent\" | \"connector\" | \"rule\",\n id: string,\n definitionsById: ReadonlyMap<string, unknown>\n): void {\n if (definitionsById.has(id)) {\n throw new RuntimeError(`Duplicate ${kind} id: ${id}`)\n }\n}\n\nfunction validatePipelineDatasets(\n pipeline: PipelineDefinition,\n datasetsById: ReadonlyMap<string, DatasetDefinition>\n): void {\n if (pipeline.graph.nodes.length === 0) {\n throw new RuntimeError(`Pipeline '${pipeline.id}' must contain at least one step.`)\n }\n\n const stepIds = new Set<string>()\n for (const node of pipeline.graph.nodes) {\n const { step } = node\n if (stepIds.has(step.id)) {\n throw new RuntimeError(`Pipeline '${pipeline.id}' contains duplicate step id '${step.id}'.`)\n }\n stepIds.add(step.id)\n\n for (const [inputName, dataset] of Object.entries(step.inputs)) {\n const registered = datasetsById.get(dataset.id)\n if (!registered) {\n throw new RuntimeError(\n `Pipeline '${pipeline.id}' step '${step.id}' input '${inputName}' references unknown dataset '${dataset.id}'. Add it to 'datasets' in createSixb() or export it from 'datasets/'.`\n )\n }\n\n assertRegisteredColumns(\n `Pipeline '${pipeline.id}' step '${step.id}' input '${inputName}'`,\n dataset,\n registered,\n { pick: \"allowed\" }\n )\n }\n\n const output = datasetsById.get(step.output.id)\n if (!output) {\n throw new RuntimeError(\n `Pipeline '${pipeline.id}' step '${step.id}' outputs unknown dataset '${step.output.id}'. Add it to 'datasets' in createSixb() or export it from 'datasets/'.`\n )\n }\n\n assertRegisteredColumns(\n `Pipeline '${pipeline.id}' step '${step.id}' output '${output.id}'`,\n step.output,\n output\n )\n }\n}\n\n/**\n * A definition with a registered id stands for the whole dataset unless `pick()` made it, and only\n * a step input may be a pick. Comparing columns catches a stale copy of a definition, which would\n * read or write other columns than the registered ones.\n */\nfunction assertRegisteredColumns(\n subject: string,\n dataset: DatasetDefinition,\n registered: DatasetDefinition,\n options: { readonly pick?: \"allowed\" } = {}\n): void {\n // The registered definition itself, as almost every step and sync uses.\n if (dataset === registered) return\n\n const pick = isDatasetPick(dataset)\n if (pick && options.pick !== \"allowed\") {\n throw new RuntimeError(`${subject} must be the whole dataset, not a pick.`)\n }\n\n const registeredColumns = columnsByName(registered)\n for (const column of dataset.schema.columns) {\n const declared = registeredColumns.get(column.name)\n if (!declared) {\n throw new RuntimeError(\n `${subject} has column '${column.name}', which dataset '${registered.id}' does not declare. Use the registered definition.`\n )\n }\n\n if (declared.type !== column.type) {\n throw new RuntimeError(\n `${subject} has column '${column.name}' as '${column.type}', but dataset '${registered.id}' declares it as '${declared.type}'. Use the registered definition.`\n )\n }\n }\n\n if (!pick && dataset.schema.columns.length !== registeredColumns.size) {\n const hint = options.pick === \"allowed\" ? \", or .pick(...) to read some of its columns\" : \"\"\n throw new RuntimeError(\n `${subject} lacks columns of dataset '${registered.id}'. Use the registered definition${hint}.`\n )\n }\n}\n\nfunction validateScheduleReferences(\n consumerKind: \"Sync\" | \"Pipeline\",\n consumerId: string,\n references: readonly { readonly scheduleId: string }[],\n schedulesById: ReadonlyMap<string, ScheduleDefinition>\n): void {\n for (const reference of references) {\n if (!schedulesById.has(reference.scheduleId)) {\n throw new RuntimeError(\n `${consumerKind} '${consumerId}' references unknown schedule '${reference.scheduleId}'. Add it to 'schedules' in createSixb() or export it from 'schedules/'.`\n )\n }\n }\n}\n",
|
|
38
|
+
"import { ActionRegistry } from \"../actions\"\nimport type { ActionDefinition } from \"../actions/types\"\nimport type { AgentDefinitionsInput, AgentToolDefinition } from \"../agents\"\nimport { assertTurnModelRouting } from \"../agents/model-routing\"\nimport { assertNoAgentDefinitions } from \"../agents/retired-config\"\nimport { createAgentSkillCatalog } from \"../agents/skills\"\nimport { createAgentToolCatalog } from \"../agents/tool-catalog\"\nimport type { ConnectorDefinition } from \"../connectors\"\nimport { isDatasetPick } from \"../datasets/builders\"\nimport { columnsByName } from \"../datasets/column-index\"\nimport type { DatasetDefinition } from \"../datasets/types\"\nimport { assertDatasetDefinition } from \"../datasets/validation\"\nimport { createModelCatalog, type ModelCatalogInput } from \"../models\"\nimport { sameEmbeddingModel } from \"../models/embedding-model\"\nimport { OntologyRegistry } from \"../ontology\"\nimport { createOntologyDocsCatalog } from \"../ontology/docs\"\nimport type { PipelineDefinition } from \"../pipelines/types\"\nimport { ProjectionRegistry } from \"../projections\"\nimport type { ProjectionDefinition } from \"../projections/types\"\nimport { type RuleDefinition, validateRulesAtStartup } from \"../rules\"\nimport { type ScheduleDefinition, validateSchedulesAtStartup } from \"../schedules\"\nimport {\n type GroupDefinition,\n type MarkingDefinition,\n type MembershipPolicyDefinition,\n type RoleDefinition,\n SecurityRegistry,\n} from \"../security\"\nimport { validateMarkingsAtStartup } from \"../security/markings\"\nimport { type ShareDefinition, validateSharesAtStartup } from \"../shares\"\nimport type { SyncDefinition } from \"../syncs\"\nimport {\n validateKeyedDatasetWriterTopology,\n validateMergeSyncProjectionSafety,\n} from \"../syncs/validation\"\nimport type { WorkflowDefinition } from \"../workflows\"\nimport { validateWorkflowAgentStepGroupReferences, validateWorkflowsAtStartup } from \"../workflows\"\nimport { createDefinitionCatalog, type SixbDefinitions } from \"./definitions\"\nimport { RuntimeError } from \"./errors\"\nimport type { OntologySource } from \"./types\"\n\ninterface DefinitionOptions {\n readonly ontology: readonly OntologySource[]\n readonly actions?: readonly ActionDefinition[]\n readonly connectors?: readonly ConnectorDefinition[]\n readonly datasets?: readonly DatasetDefinition[]\n readonly schedules?: readonly ScheduleDefinition[]\n readonly syncs?: readonly SyncDefinition[]\n readonly pipelines?: readonly PipelineDefinition[]\n readonly projections?: readonly ProjectionDefinition[]\n readonly rules?: readonly RuleDefinition[]\n readonly workflows?: readonly WorkflowDefinition[]\n readonly tools?: readonly AgentToolDefinition[]\n readonly agent?: AgentDefinitionsInput\n readonly models?: ModelCatalogInput\n readonly shares?: readonly ShareDefinition[]\n readonly markings?: readonly MarkingDefinition[]\n readonly groups?: readonly GroupDefinition[]\n readonly roles?: readonly RoleDefinition[]\n readonly membershipPolicies?: readonly MembershipPolicyDefinition[]\n}\n\ninterface ResolvedDefinitions extends SixbDefinitions {\n readonly ontology: OntologyRegistry\n readonly actions: ActionRegistry\n readonly projections: ProjectionRegistry\n readonly security: SecurityRegistry\n}\n\n/** Resolve and cross-validate every registered definition before runtime services are composed. */\nexport function resolveDefinitions(options: DefinitionOptions): ResolvedDefinitions {\n assertNoAgentDefinitions(options)\n const ontology = new OntologyRegistry({ sources: options.ontology })\n const actionRegistry = new ActionRegistry({ actions: options.actions ?? [], ontology })\n const registeredActionIds = new Set(actionRegistry.list().map((action) => action.id))\n const sharesById = validateSharesAtStartup({\n shares: options.shares ?? [],\n ontology,\n actions: actionRegistry,\n })\n\n const models = options.models === undefined ? undefined : createModelCatalog(options.models)\n assertTurnModelRouting(models)\n for (const type of ontology.listObjectTypes()) {\n for (const [name, profile] of Object.entries(type.search?.vectors ?? {})) {\n const registered = models?.embedding.getByRef({\n provider: profile.model.providerId,\n modelId: profile.model.modelId,\n })\n if (!registered || !sameEmbeddingModel(registered.model, profile.model)) {\n throw new Error(\n \"[Sixb] Vector profile \" +\n type.id +\n \".\" +\n name +\n \" requires its model in models.embedding with matching identity and dimensions.\"\n )\n }\n }\n }\n const tools = createAgentToolCatalog(options.tools)\n const skills = createAgentSkillCatalog(options.agent?.skills)\n const ontologyDocs = createOntologyDocsCatalog({\n objectTypes: ontology.listObjectTypes(),\n ...(options.agent?.ontologyDocs === undefined ? {} : { docs: options.agent.ontologyDocs }),\n })\n const connectorsById = indexUniqueDefinitions(\"connector\", options.connectors ?? [])\n\n // Datasets resolve first because syncs, pipelines, projections, and security depend on them.\n const datasetsById = new Map<string, DatasetDefinition>()\n for (const dataset of options.datasets ?? []) {\n assertDatasetDefinition(dataset, (message) => new RuntimeError(message))\n assertUniqueDefinitionId(\"dataset\", dataset.id, datasetsById)\n datasetsById.set(dataset.id, dataset)\n }\n\n const schedulesById = indexUniqueDefinitions(\"schedule\", options.schedules ?? [])\n\n const syncsById = new Map<string, SyncDefinition>()\n for (const sync of options.syncs ?? []) {\n assertUniqueDefinitionId(\"sync\", sync.id, syncsById)\n\n const target = datasetsById.get(sync.target.dataset.id)\n if (!target) {\n throw new RuntimeError(\n `Sync '${sync.id}' targets unknown dataset '${sync.target.dataset.id}'. Add it to 'datasets' in createSixb() or export it from 'datasets/'.`\n )\n }\n\n assertRegisteredColumns(`Sync '${sync.id}' target '${target.id}'`, sync.target.dataset, target)\n\n syncsById.set(sync.id, sync)\n }\n\n const pipelinesById = new Map<string, PipelineDefinition>()\n for (const pipeline of options.pipelines ?? []) {\n assertUniqueDefinitionId(\"pipeline\", pipeline.id, pipelinesById)\n validatePipelineDatasets(pipeline, datasetsById)\n pipelinesById.set(pipeline.id, pipeline)\n }\n\n const schedules = [...schedulesById.values()]\n const syncs = [...syncsById.values()]\n const pipelines = [...pipelinesById.values()]\n\n validateKeyedDatasetWriterTopology({ datasetsById, syncs, pipelines })\n\n // Rules resolve against the complete ontology so inherited properties and links are available.\n const rules = options.rules ?? []\n validateRulesAtStartup(rules, ontology)\n const rulesById = indexUniqueDefinitions(\"rule\", rules)\n\n validateSchedulesAtStartup(schedules, ontology, {\n registeredRuleIds: new Set(rulesById.keys()),\n registeredDatasetIds: new Set(datasetsById.keys()),\n registeredSyncIds: new Set(syncsById.keys()),\n registeredPipelineIds: new Set(pipelinesById.keys()),\n })\n for (const sync of syncs) {\n validateScheduleReferences(\"Sync\", sync.id, sync.triggers, schedulesById)\n }\n for (const pipeline of pipelines) {\n validateScheduleReferences(\"Pipeline\", pipeline.id, pipeline.triggers, schedulesById)\n }\n\n const workflows = validateWorkflowsAtStartup({\n workflows: options.workflows ?? [],\n registeredSchedules: schedulesById,\n registeredActionIds,\n ...(models === undefined ? {} : { models }),\n tools,\n skills,\n })\n const workflowsById = indexUniqueDefinitions(\"workflow\", workflows)\n\n const security = new SecurityRegistry({\n markings: options.markings ?? [],\n groups: options.groups ?? [],\n roles: options.roles ?? [],\n membershipPolicies: options.membershipPolicies ?? [],\n objectTypeIds: new Set(ontology.getObjectTypesById().keys()),\n datasetIds: new Set(datasetsById.keys()),\n actionIds: registeredActionIds,\n workflowIds: new Set(workflowsById.keys()),\n syncIds: new Set(syncsById.keys()),\n pipelineIds: new Set(pipelinesById.keys()),\n agentAvailable: models?.language !== undefined,\n connectorIds: new Set(connectorsById.keys()),\n shareIds: new Set(sharesById.keys()),\n getSubTypes: (objectTypeId) => ontology.listSubTypes(objectTypeId),\n ontology,\n })\n validateWorkflowAgentStepGroupReferences(workflows, security)\n\n const projectionRegistry = new ProjectionRegistry({\n projections: options.projections ?? [],\n ontology,\n datasetsById,\n })\n validateMergeSyncProjectionSafety({\n syncs,\n telemetryProjections: projectionRegistry.listTelemetry(),\n })\n validateMarkingsAtStartup({\n markingIds: new Set(security.listMarkings().map((marking) => marking.id)),\n ontology,\n datasetsById,\n pipelines,\n projections: projectionRegistry,\n })\n\n return Object.freeze({\n ontology,\n actions: actionRegistry,\n tools,\n agent: Object.freeze({\n skills,\n ...(options.agent?.instructions === undefined\n ? {}\n : { instructions: options.agent.instructions }),\n ontologyDocs,\n }),\n connectors: createDefinitionCatalog(connectorsById),\n datasets: createDefinitionCatalog(datasetsById),\n ...(models === undefined ? {} : { models }),\n pipelines: createDefinitionCatalog(pipelinesById),\n projections: projectionRegistry,\n rules: createDefinitionCatalog(rulesById),\n schedules: createDefinitionCatalog(schedulesById),\n security,\n shares: createDefinitionCatalog(sharesById),\n syncs: createDefinitionCatalog(syncsById),\n workflows: createDefinitionCatalog(workflowsById),\n })\n}\n\nfunction indexUniqueDefinitions<TDefinition extends { readonly id: string }>(\n kind: \"schedule\" | \"workflow\" | \"agent\" | \"connector\" | \"rule\",\n definitions: readonly TDefinition[]\n): ReadonlyMap<string, TDefinition> {\n const definitionsById = new Map<string, TDefinition>()\n for (const definition of definitions) {\n assertUniqueDefinitionId(kind, definition.id, definitionsById)\n definitionsById.set(definition.id, definition)\n }\n return definitionsById\n}\n\nfunction assertUniqueDefinitionId(\n kind: \"dataset\" | \"schedule\" | \"sync\" | \"pipeline\" | \"workflow\" | \"agent\" | \"connector\" | \"rule\",\n id: string,\n definitionsById: ReadonlyMap<string, unknown>\n): void {\n if (definitionsById.has(id)) {\n throw new RuntimeError(`Duplicate ${kind} id: ${id}`)\n }\n}\n\nfunction validatePipelineDatasets(\n pipeline: PipelineDefinition,\n datasetsById: ReadonlyMap<string, DatasetDefinition>\n): void {\n if (pipeline.graph.nodes.length === 0) {\n throw new RuntimeError(`Pipeline '${pipeline.id}' must contain at least one step.`)\n }\n\n const stepIds = new Set<string>()\n for (const node of pipeline.graph.nodes) {\n const { step } = node\n if (stepIds.has(step.id)) {\n throw new RuntimeError(`Pipeline '${pipeline.id}' contains duplicate step id '${step.id}'.`)\n }\n stepIds.add(step.id)\n\n for (const [inputName, dataset] of Object.entries(step.inputs)) {\n const registered = datasetsById.get(dataset.id)\n if (!registered) {\n throw new RuntimeError(\n `Pipeline '${pipeline.id}' step '${step.id}' input '${inputName}' references unknown dataset '${dataset.id}'. Add it to 'datasets' in createSixb() or export it from 'datasets/'.`\n )\n }\n\n assertRegisteredColumns(\n `Pipeline '${pipeline.id}' step '${step.id}' input '${inputName}'`,\n dataset,\n registered,\n { pick: \"allowed\" }\n )\n }\n\n const output = datasetsById.get(step.output.id)\n if (!output) {\n throw new RuntimeError(\n `Pipeline '${pipeline.id}' step '${step.id}' outputs unknown dataset '${step.output.id}'. Add it to 'datasets' in createSixb() or export it from 'datasets/'.`\n )\n }\n\n assertRegisteredColumns(\n `Pipeline '${pipeline.id}' step '${step.id}' output '${output.id}'`,\n step.output,\n output\n )\n }\n}\n\n/**\n * A definition with a registered id stands for the whole dataset unless `pick()` made it, and only\n * a step input may be a pick. Comparing columns catches a stale copy of a definition, which would\n * read or write other columns than the registered ones.\n */\nfunction assertRegisteredColumns(\n subject: string,\n dataset: DatasetDefinition,\n registered: DatasetDefinition,\n options: { readonly pick?: \"allowed\" } = {}\n): void {\n // The registered definition itself, as almost every step and sync uses.\n if (dataset === registered) return\n\n const pick = isDatasetPick(dataset)\n if (pick && options.pick !== \"allowed\") {\n throw new RuntimeError(`${subject} must be the whole dataset, not a pick.`)\n }\n\n const registeredColumns = columnsByName(registered)\n for (const column of dataset.schema.columns) {\n const declared = registeredColumns.get(column.name)\n if (!declared) {\n throw new RuntimeError(\n `${subject} has column '${column.name}', which dataset '${registered.id}' does not declare. Use the registered definition.`\n )\n }\n\n if (declared.type !== column.type) {\n throw new RuntimeError(\n `${subject} has column '${column.name}' as '${column.type}', but dataset '${registered.id}' declares it as '${declared.type}'. Use the registered definition.`\n )\n }\n }\n\n if (!pick && dataset.schema.columns.length !== registeredColumns.size) {\n const hint = options.pick === \"allowed\" ? \", or .pick(...) to read some of its columns\" : \"\"\n throw new RuntimeError(\n `${subject} lacks columns of dataset '${registered.id}'. Use the registered definition${hint}.`\n )\n }\n}\n\nfunction validateScheduleReferences(\n consumerKind: \"Sync\" | \"Pipeline\",\n consumerId: string,\n references: readonly { readonly scheduleId: string }[],\n schedulesById: ReadonlyMap<string, ScheduleDefinition>\n): void {\n for (const reference of references) {\n if (!schedulesById.has(reference.scheduleId)) {\n throw new RuntimeError(\n `${consumerKind} '${consumerId}' references unknown schedule '${reference.scheduleId}'. Add it to 'schedules' in createSixb() or export it from 'schedules/'.`\n )\n }\n }\n}\n",
|
|
39
39
|
"import type { SixbReadiness } from \"../maintenance\"\nimport { checkStorageSchema, isMigrationCapableStorage, type Storage } from \"../storage\"\n\nconst DEFAULT_SCHEMA_RETRY_DELAY_MS = 60_000\n\ntype SchemaReadiness =\n | { readonly status: \"unchecked\" | \"checking\" }\n | { readonly status: \"valid\" }\n | { readonly status: \"invalid\"; readonly reason: string; readonly retryAt: number }\n\ninterface StorageReadinessOptions {\n readonly schemaRetryDelayMs?: number\n readonly now?: () => Date\n}\n\n/** Caches the process schema invariant while keeping each readiness probe lock-free. */\nexport class StorageReadiness {\n private schema: SchemaReadiness\n private readonly schemaRetryDelayMs: number\n private readonly now: () => Date\n\n constructor(\n private readonly storage: Storage,\n options: StorageReadinessOptions = {}\n ) {\n this.schemaRetryDelayMs = positiveInteger(\n options.schemaRetryDelayMs ?? DEFAULT_SCHEMA_RETRY_DELAY_MS,\n \"schemaRetryDelayMs\"\n )\n this.now = options.now ?? (() => new Date())\n this.schema = isMigrationCapableStorage(storage) ? { status: \"unchecked\" } : { status: \"valid\" }\n }\n\n startSchemaValidation(): void {\n if (this.schema.status === \"checking\" || this.schema.status === \"valid\") return\n if (this.schema.status === \"invalid\" && this.now().getTime() < this.schema.retryAt) return\n this.schema = { status: \"checking\" }\n void this.validateSchema()\n }\n\n async check(): Promise<SixbReadiness> {\n try {\n await this.storage.ping()\n } catch {\n return {\n status: \"unready\",\n storage: { reachable: false, schemaValid: false },\n reason: \"Storage is unreachable.\",\n }\n }\n\n this.startSchemaValidation()\n if (this.schema.status === \"valid\") {\n return { status: \"ready\", storage: { reachable: true, schemaValid: true } }\n }\n\n return {\n status: \"unready\",\n storage: { reachable: true, schemaValid: false },\n reason:\n this.schema.status === \"invalid\"\n ? this.schema.reason\n : \"Storage schema validation is in progress.\",\n }\n }\n\n private async validateSchema(): Promise<void> {\n // Shared with `sixb check`, so the panel an author reads before deploying and the\n // `/ready` a load balancer polls after cannot disagree about what \"usable\" means.\n const result = await checkStorageSchema(this.storage)\n\n this.schema = result.ok\n ? { status: \"valid\" }\n : this.invalidSchema(result.reason ?? \"Storage schema is not usable.\")\n }\n\n private invalidSchema(reason: string): SchemaReadiness {\n return {\n status: \"invalid\",\n reason,\n retryAt: this.now().getTime() + this.schemaRetryDelayMs,\n }\n }\n}\n\nfunction positiveInteger(value: number, name: string): number {\n if (!Number.isSafeInteger(value) || value <= 0) {\n throw new Error(`[Sixb] Storage readiness ${name} must be a positive integer.`)\n }\n return value\n}\n"
|
|
40
40
|
],
|
|
41
|
-
"mappings": "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",
|
|
42
|
-
"debugId": "
|
|
41
|
+
"mappings": "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",
|
|
42
|
+
"debugId": "35C27E1868EABFA564756E2164756E21",
|
|
43
43
|
"names": []
|
|
44
44
|
}
|