@sixb/core 0.1.20 → 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 +71 -60
- 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 +23 -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/connection.d.ts +62 -0
- package/dist/activity/connection.d.ts.map +1 -0
- package/dist/activity/device.d.ts +8 -0
- package/dist/activity/device.d.ts.map +1 -0
- package/dist/activity/execution.d.ts +48 -0
- package/dist/activity/execution.d.ts.map +1 -0
- package/dist/activity/service.d.ts +79 -0
- package/dist/activity/service.d.ts.map +1 -0
- package/dist/activity/shares.d.ts +24 -0
- package/dist/activity/shares.d.ts.map +1 -0
- package/dist/activity/timeline.d.ts +103 -0
- package/dist/activity/timeline.d.ts.map +1 -0
- 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 +20 -8
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +170 -84
- 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/skills.d.ts.map +1 -1
- 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 +8 -4
- 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 +6 -4
- 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 +31 -12
- 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/address.d.ts +48 -0
- package/dist/artifacts/address.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 +27 -0
- package/dist/artifacts/csv.d.ts.map +1 -0
- package/dist/artifacts/errors.d.ts +16 -0
- package/dist/artifacts/errors.d.ts.map +1 -0
- package/dist/artifacts/execution.d.ts +138 -0
- package/dist/artifacts/execution.d.ts.map +1 -0
- 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 +30 -0
- package/dist/artifacts/frames/assets.d.ts.map +1 -0
- 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 +37 -0
- package/dist/artifacts/frames/grants.d.ts.map +1 -0
- package/dist/artifacts/frames/index.d.ts +12 -0
- package/dist/artifacts/frames/index.d.ts.map +1 -0
- package/dist/artifacts/frames/index.js +1285 -0
- package/dist/artifacts/frames/index.js.map +16 -0
- package/dist/artifacts/frames/kit.d.ts +71 -0
- package/dist/artifacts/frames/kit.d.ts.map +1 -0
- package/dist/artifacts/frames/probe.d.ts +45 -0
- package/dist/artifacts/frames/probe.d.ts.map +1 -0
- package/dist/artifacts/frames/protocol.d.ts +167 -0
- package/dist/artifacts/frames/protocol.d.ts.map +1 -0
- package/dist/artifacts/frames/runtime.d.ts +31 -0
- package/dist/artifacts/frames/runtime.d.ts.map +1 -0
- package/dist/artifacts/html.d.ts +6 -0
- package/dist/artifacts/html.d.ts.map +1 -0
- package/dist/artifacts/ids.d.ts +5 -0
- package/dist/artifacts/ids.d.ts.map +1 -0
- package/dist/artifacts/index.d.ts +22 -0
- package/dist/artifacts/index.d.ts.map +1 -0
- package/dist/artifacts/index.js +247 -0
- package/dist/artifacts/index.js.map +10 -0
- package/dist/artifacts/kinds.d.ts +5 -0
- package/dist/artifacts/kinds.d.ts.map +1 -0
- package/dist/artifacts/limits.d.ts +58 -0
- package/dist/artifacts/limits.d.ts.map +1 -0
- 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 +70 -0
- package/dist/artifacts/outline.d.ts.map +1 -0
- package/dist/artifacts/publish/files.d.ts +15 -0
- package/dist/artifacts/publish/files.d.ts.map +1 -0
- package/dist/artifacts/publish/index.d.ts +7 -0
- package/dist/artifacts/publish/index.d.ts.map +1 -0
- package/dist/artifacts/publish/index.js +76 -0
- package/dist/{chunk-7n30ybym.js.map → artifacts/publish/index.js.map} +1 -1
- package/dist/artifacts/publish/publish.d.ts +84 -0
- package/dist/artifacts/publish/publish.d.ts.map +1 -0
- 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 +30 -0
- package/dist/artifacts/publish/references.d.ts.map +1 -0
- 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/document.d.ts +17 -0
- package/dist/artifacts/publish/validate/document.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/file.d.ts +8 -0
- package/dist/artifacts/publish/validate/file.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 +23 -0
- package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/slides.d.ts +15 -0
- package/dist/artifacts/publish/validate/slides.d.ts.map +1 -0
- package/dist/artifacts/queries.d.ts +95 -0
- package/dist/artifacts/queries.d.ts.map +1 -0
- package/dist/artifacts/references.d.ts +12 -0
- package/dist/artifacts/references.d.ts.map +1 -0
- package/dist/artifacts/resolve.d.ts +47 -0
- package/dist/artifacts/resolve.d.ts.map +1 -0
- 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/theme.d.ts +19 -0
- package/dist/artifacts/theme.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/warnings.d.ts +11 -0
- package/dist/artifacts/warnings.d.ts.map +1 -0
- package/dist/artifacts/workbook.d.ts +135 -0
- package/dist/artifacts/workbook.d.ts.map +1 -0
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +16 -13
- 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 +17 -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 +14 -9
- 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/blob-storage/browser.js +1 -1
- package/dist/blob-storage/index.js +2 -2
- package/dist/blob-storage/internal.d.ts +1 -1
- package/dist/blob-storage/internal.d.ts.map +1 -1
- package/dist/blob-storage/internal.js +11 -5
- package/dist/blob-storage/internal.js.map +1 -1
- package/dist/blob-storage/media-type.d.ts +12 -0
- package/dist/blob-storage/media-type.d.ts.map +1 -1
- package/dist/bootstrap/index.js +76 -66
- package/dist/bootstrap/index.js.map +2 -2
- package/dist/{chunk-tg2cw67r.js → chunk-02bzjgnt.js} +6 -6
- package/dist/{chunk-tg2cw67r.js.map → chunk-02bzjgnt.js.map} +1 -1
- package/dist/{chunk-mfs23znk.js → chunk-07kkp2e1.js} +1 -1
- package/dist/{chunk-6p49a5cq.js → chunk-098anw4f.js} +21 -19
- package/dist/chunk-098anw4f.js.map +12 -0
- package/dist/{chunk-fkgc1wt8.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-hkc3jct7.js → chunk-18sk89cg.js} +18 -10
- package/dist/chunk-18sk89cg.js.map +10 -0
- package/dist/{chunk-way52z4h.js → chunk-1t6k1avb.js} +6 -12
- package/dist/{chunk-way52z4h.js.map → chunk-1t6k1avb.js.map} +3 -4
- 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-3t2hgbgd.js → chunk-2fn60nvs.js} +40 -8
- package/dist/chunk-2fn60nvs.js.map +15 -0
- 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-3fqxbn31.js +107 -0
- package/dist/chunk-3fqxbn31.js.map +11 -0
- package/dist/{chunk-y0c4e6ex.js → chunk-3gbefjg5.js} +1 -1
- package/dist/{chunk-yzwja0mj.js → chunk-45ngkxkp.js} +52 -31
- package/dist/chunk-45ngkxkp.js.map +13 -0
- package/dist/{chunk-fa02jy15.js → chunk-48jezz3j.js} +1 -1
- package/dist/{chunk-ren4kg2j.js → chunk-4b26qwbg.js} +13 -13
- package/dist/{chunk-ren4kg2j.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-5tfev0fv.js +676 -0
- package/dist/chunk-5tfev0fv.js.map +15 -0
- package/dist/chunk-65abf64x.js +13 -0
- package/dist/chunk-65abf64x.js.map +10 -0
- package/dist/{chunk-hvsb78a1.js → chunk-65pyhyas.js} +114 -107
- package/dist/chunk-65pyhyas.js.map +20 -0
- package/dist/{chunk-1sr8ryzk.js → chunk-661ezhks.js} +303 -6
- package/dist/chunk-661ezhks.js.map +11 -0
- package/dist/{chunk-z3y5kg1x.js → chunk-6eqsgvxk.js} +3 -3
- package/dist/{chunk-z3y5kg1x.js.map → chunk-6eqsgvxk.js.map} +2 -2
- package/dist/{chunk-c85m1hyj.js → chunk-6n69k945.js} +2 -2
- package/dist/{chunk-xfs8x8m9.js → chunk-6p0pastb.js} +5 -5
- package/dist/{chunk-rrzt8jdy.js → chunk-6rrtzea3.js} +116 -110
- package/dist/chunk-6rrtzea3.js.map +14 -0
- package/dist/{chunk-t7x8dmn0.js → chunk-6y0mkhex.js} +3 -3
- package/dist/{chunk-es1gxsbf.js → chunk-73v685wb.js} +14 -16
- package/dist/chunk-73v685wb.js.map +12 -0
- package/dist/{chunk-6c6sn0bh.js → chunk-7gr4j2eq.js} +7930 -5973
- package/dist/chunk-7gr4j2eq.js.map +120 -0
- package/dist/{chunk-hjzdd750.js → chunk-7mc2wkre.js} +391 -91
- package/dist/chunk-7mc2wkre.js.map +50 -0
- package/dist/chunk-7z5p905k.js +1660 -0
- package/dist/chunk-7z5p905k.js.map +22 -0
- package/dist/{chunk-3zxk45er.js → chunk-8ncg20rd.js} +3 -68
- package/dist/{chunk-3zxk45er.js.map → chunk-8ncg20rd.js.map} +4 -5
- 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-a3faa34j.js +74 -0
- package/dist/chunk-a3faa34j.js.map +10 -0
- package/dist/chunk-az47zep4.js +41 -0
- package/dist/chunk-az47zep4.js.map +10 -0
- package/dist/{chunk-v9xd5wzd.js → chunk-bab05bhg.js} +1 -1
- package/dist/{chunk-5j58wjct.js → chunk-bktev1ds.js} +14 -11
- package/dist/{chunk-5j58wjct.js.map → chunk-bktev1ds.js.map} +3 -3
- package/dist/{chunk-b38szspf.js → chunk-c0vk1djt.js} +5 -3
- package/dist/chunk-c0vk1djt.js.map +11 -0
- package/dist/chunk-c69nj7se.js +3 -0
- package/dist/chunk-c69nj7se.js.map +9 -0
- package/dist/{chunk-0yh890a4.js → chunk-c844dkwd.js} +35 -7
- package/dist/{chunk-0yh890a4.js.map → chunk-c844dkwd.js.map} +3 -3
- package/dist/{chunk-d09tj99x.js → chunk-cdk3egjj.js} +24 -5
- 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-gc4ntf7d.js → chunk-cwdzcv37.js} +1 -1
- package/dist/chunk-d2m879s4.js +288 -0
- package/dist/chunk-d2m879s4.js.map +12 -0
- package/dist/chunk-d7vyc7k6.js +10 -0
- package/dist/chunk-d7vyc7k6.js.map +10 -0
- package/dist/{chunk-vyf9kfqf.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-bx9q3cwv.js → chunk-efmm01gj.js} +108 -1045
- package/dist/chunk-efmm01gj.js.map +18 -0
- package/dist/{chunk-tw03bsmb.js → chunk-eptrvnby.js} +224 -3
- package/dist/chunk-eptrvnby.js.map +12 -0
- package/dist/{chunk-n33z5bjw.js → chunk-ezne9wc9.js} +1762 -502
- package/dist/chunk-ezne9wc9.js.map +71 -0
- package/dist/chunk-fe8zwt8b.js +688 -0
- package/dist/chunk-fe8zwt8b.js.map +19 -0
- package/dist/chunk-ff5xkv0p.js +211 -0
- package/dist/chunk-ff5xkv0p.js.map +10 -0
- 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-1zq2p6g0.js → chunk-fp2kq35z.js} +26 -10
- package/dist/{chunk-1zq2p6g0.js.map → chunk-fp2kq35z.js.map} +5 -5
- package/dist/chunk-g5bvzyyr.js +32 -0
- package/dist/chunk-g5bvzyyr.js.map +10 -0
- package/dist/{chunk-9ybhtmg4.js → chunk-g663fahq.js} +2 -2
- package/dist/{chunk-k6q3n2sc.js → chunk-gvj5cd3b.js} +29 -13
- package/dist/chunk-gvj5cd3b.js.map +12 -0
- package/dist/{chunk-yevzdx4y.js → chunk-h33shhq6.js} +10 -12
- package/dist/{chunk-yevzdx4y.js.map → chunk-h33shhq6.js.map} +3 -4
- package/dist/{chunk-vpq4shxz.js → chunk-h3pbv7n8.js} +1771 -36
- package/dist/chunk-h3pbv7n8.js.map +48 -0
- package/dist/chunk-hke9aeen.js +9 -0
- package/dist/chunk-hke9aeen.js.map +10 -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-9w055r5b.js → chunk-hwarjrgf.js} +1 -1
- package/dist/{chunk-9dmt152s.js → chunk-hyesv9dv.js} +2 -2
- 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-jcfw4h7m.js +9 -0
- package/dist/chunk-jcfw4h7m.js.map +10 -0
- package/dist/chunk-kcqpk9w1.js +75 -0
- package/dist/chunk-kcqpk9w1.js.map +10 -0
- package/dist/{chunk-x6m907x7.js → chunk-m2nevja0.js} +6 -7
- package/dist/{chunk-x6m907x7.js.map → chunk-m2nevja0.js.map} +3 -3
- 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-dk8tkk5f.js → chunk-n9zpx9c6.js} +4 -4
- package/dist/{chunk-7t429e3f.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-z4m0yz8c.js → chunk-q4pmvkg0.js} +1 -1
- package/dist/chunk-qhqgp4jf.js +1418 -0
- package/dist/chunk-qhqgp4jf.js.map +22 -0
- package/dist/chunk-qx00vjrj.js +144 -0
- package/dist/chunk-qx00vjrj.js.map +13 -0
- package/dist/{chunk-5e43w60z.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-vabga7fk.js +176 -0
- package/dist/chunk-vabga7fk.js.map +12 -0
- package/dist/{chunk-gsjm1wms.js → chunk-vhbw5sqm.js} +33 -3
- package/dist/chunk-vhbw5sqm.js.map +10 -0
- package/dist/{chunk-tpn40322.js → chunk-vpgwq5nf.js} +104 -17
- package/dist/chunk-vpgwq5nf.js.map +21 -0
- package/dist/{chunk-0rbyz4qy.js → chunk-vyt322b6.js} +586 -171
- package/dist/{chunk-0rbyz4qy.js.map → chunk-vyt322b6.js.map} +12 -9
- package/dist/chunk-waqk73p1.js +2380 -0
- package/dist/chunk-waqk73p1.js.map +23 -0
- package/dist/{chunk-jhm3zsa7.js → chunk-wkv3h3q7.js} +64 -2
- package/dist/{chunk-jhm3zsa7.js.map → chunk-wkv3h3q7.js.map} +3 -3
- package/dist/chunk-wsc1brye.js +27 -0
- package/dist/chunk-wsc1brye.js.map +10 -0
- package/dist/chunk-x0v3jd47.js +124 -0
- package/dist/chunk-x0v3jd47.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-d0bqz29d.js → chunk-yc9ners4.js} +124 -19
- package/dist/{chunk-d0bqz29d.js.map → chunk-yc9ners4.js.map} +8 -8
- package/dist/{chunk-8mx7qw3y.js → chunk-zbc929zg.js} +29 -5
- 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/builders.d.ts +15 -2
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/column-index.d.ts +7 -0
- package/dist/datasets/column-index.d.ts.map +1 -0
- package/dist/datasets/execution.d.ts +3 -2
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/write.js +8 -8
- package/dist/error-reporting/internal.js +4 -4
- package/dist/errors/catalog.d.ts +26 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/internal.d.ts +1 -0
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +7 -4
- package/dist/errors/internal.js.map +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 +12 -2
- 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 +9 -11
- 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 +72 -59
- 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 +102 -12
- 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-clearance.d.ts +41 -0
- package/dist/execution/object-reader-clearance.d.ts.map +1 -0
- package/dist/execution/object-reader-ontology.d.ts +12 -0
- package/dist/execution/object-reader-ontology.d.ts.map +1 -0
- package/dist/execution/object-reader-security.d.ts +66 -0
- package/dist/execution/object-reader-security.d.ts.map +1 -0
- 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 +70 -59
- 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 +72 -57
- 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 +49 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +168 -142
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +1 -0
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +6 -3
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +21 -13
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/lineage.d.ts +94 -0
- package/dist/lake-storage/lineage.d.ts.map +1 -0
- package/dist/lake-storage/sql-transforms.d.ts +45 -0
- package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
- package/dist/lake-storage/types.d.ts +55 -1
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/lake-storage/version-inputs.d.ts +14 -3
- package/dist/lake-storage/version-inputs.d.ts.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- 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 +51 -46
- 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 +50 -39
- 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/clearance-redaction.d.ts +27 -0
- package/dist/objects/clearance-redaction.d.ts.map +1 -0
- 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 +77 -60
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/link/authorization.d.ts +11 -5
- 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/property-clearance.d.ts +47 -24
- package/dist/objects/property-clearance.d.ts.map +1 -1
- package/dist/objects/query/clearance-admission.d.ts +10 -0
- package/dist/objects/query/clearance-admission.d.ts.map +1 -0
- 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 +55 -49
- 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/link-query-clearance.d.ts +21 -0
- package/dist/objects/query/link-query-clearance.d.ts.map +1 -0
- 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/docs-markdown.d.ts +1 -1
- package/dist/ontology/docs-markdown.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 +13 -9
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/internal.js +9 -7
- 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.d.ts +2 -0
- package/dist/pipelines/index.d.ts.map +1 -1
- package/dist/pipelines/index.js +61 -46
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/lineage.d.ts +17 -0
- package/dist/pipelines/lineage.d.ts.map +1 -0
- package/dist/projections/internal.d.ts +2 -2
- package/dist/projections/internal.js +42 -38
- 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/create.d.ts +3 -0
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +6 -0
- 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.d.ts +2 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +58 -50
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/ontology-mutations.d.ts +2 -0
- package/dist/runtime/ontology-mutations.d.ts.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +10 -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/auth.d.ts +16 -0
- package/dist/sandboxes/auth.d.ts.map +1 -1
- package/dist/sandboxes/config.d.ts.map +1 -1
- package/dist/sandboxes/configuration.d.ts +26 -0
- package/dist/sandboxes/configuration.d.ts.map +1 -1
- package/dist/sandboxes/index.d.ts +1 -1
- package/dist/sandboxes/index.d.ts.map +1 -1
- package/dist/sandboxes/index.js +15 -13
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/sandboxes/sandbox.d.ts +28 -5
- package/dist/sandboxes/sandbox.d.ts.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/applied-markings-contribution.d.ts +58 -0
- package/dist/security/applied-markings-contribution.d.ts.map +1 -0
- package/dist/security/applied-markings-host.d.ts +10 -0
- package/dist/security/applied-markings-host.d.ts.map +1 -0
- package/dist/security/applied-markings-snapshot.d.ts +67 -0
- package/dist/security/applied-markings-snapshot.d.ts.map +1 -0
- package/dist/security/applied-markings.d.ts +73 -0
- package/dist/security/applied-markings.d.ts.map +1 -0
- package/dist/security/dataset-version-markings.d.ts +47 -0
- package/dist/security/dataset-version-markings.d.ts.map +1 -0
- package/dist/security/grants.d.ts +13 -4
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +2 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/internal.d.ts +15 -0
- package/dist/security/internal.d.ts.map +1 -0
- package/dist/security/internal.js +135 -0
- package/dist/security/internal.js.map +10 -0
- package/dist/security/marking-propagation.d.ts +62 -0
- package/dist/security/marking-propagation.d.ts.map +1 -0
- package/dist/security/marking-sets.d.ts +14 -0
- package/dist/security/marking-sets.d.ts.map +1 -0
- package/dist/security/markings.d.ts +6 -3
- package/dist/security/markings.d.ts.map +1 -1
- package/dist/security/pipeline-markings.d.ts +20 -0
- package/dist/security/pipeline-markings.d.ts.map +1 -0
- package/dist/security/project.d.ts +7 -0
- package/dist/security/project.d.ts.map +1 -0
- package/dist/security/projection-markings.d.ts +71 -0
- package/dist/security/projection-markings.d.ts.map +1 -0
- package/dist/security/public.js +2 -2
- package/dist/security/redactions.d.ts +4 -1
- package/dist/security/redactions.d.ts.map +1 -1
- package/dist/security/registry.d.ts +6 -0
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +64 -6
- 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 +40 -36
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +3 -3
- package/dist/storage/action-runs/in-memory.d.ts +4 -0
- package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/action-runs/provider.js +1 -1
- package/dist/storage/action-runs/types.d.ts +9 -1
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/activity/in-memory.d.ts +55 -0
- package/dist/storage/activity/in-memory.d.ts.map +1 -0
- package/dist/storage/activity/index.d.ts +3 -0
- package/dist/storage/activity/index.d.ts.map +1 -0
- package/dist/storage/activity/policy.d.ts +96 -0
- package/dist/storage/activity/policy.d.ts.map +1 -0
- package/dist/storage/activity/types.d.ts +191 -0
- package/dist/storage/activity/types.d.ts.map +1 -0
- 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 +124 -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 -8
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +573 -20
- 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 +6 -5
- 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 +18 -0
- package/dist/storage/artifacts/errors.d.ts.map +1 -0
- package/dist/storage/artifacts/in-memory.d.ts +55 -0
- package/dist/storage/artifacts/in-memory.d.ts.map +1 -0
- package/dist/storage/artifacts/index.d.ts +5 -0
- package/dist/storage/artifacts/index.d.ts.map +1 -0
- package/dist/storage/artifacts/record.d.ts +34 -0
- package/dist/storage/artifacts/record.d.ts.map +1 -0
- package/dist/storage/artifacts/types.d.ts +263 -0
- package/dist/storage/artifacts/types.d.ts.map +1 -0
- 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/sessions.d.ts +2 -1
- package/dist/storage/auth/in-memory/sessions.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 +59 -9
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +2 -2
- package/dist/storage/executions/in-memory.d.ts +3 -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/provider.d.ts +2 -0
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +9 -223
- package/dist/storage/executions/provider.js.map +3 -4
- package/dist/storage/executions/types.d.ts +46 -0
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.js +17 -14
- package/dist/storage/file-upload-sessions/provider.js.map +1 -1
- package/dist/storage/in-memory/index.d.ts +8 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +15 -11
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +78 -66
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +4 -1
- package/dist/storage/internal.d.ts.map +1 -1
- package/dist/storage/internal.js +80 -19
- 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/sources.d.ts +2 -1
- package/dist/storage/ontology/in-memory/sources.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 +5 -2
- 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/sources.d.ts +15 -0
- package/dist/storage/ontology/sources.d.ts.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 +3 -3
- package/dist/storage/share-grants/in-memory.d.ts +2 -1
- package/dist/storage/share-grants/in-memory.d.ts.map +1 -1
- package/dist/storage/share-grants/index.d.ts +1 -1
- package/dist/storage/share-grants/index.d.ts.map +1 -1
- package/dist/storage/share-grants/provider.js +4 -3
- package/dist/storage/share-grants/provider.js.map +1 -1
- package/dist/storage/share-grants/types.d.ts +6 -0
- package/dist/storage/share-grants/types.d.ts.map +1 -1
- package/dist/storage/types.d.ts +6 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/in-memory.d.ts +4 -0
- package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +18 -14
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/storage/workflow-runs/types.d.ts +5 -0
- package/dist/storage/workflow-runs/types.d.ts.map +1 -1
- package/dist/syncs/index.js +49 -45
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/action-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/activity-storage-contract.d.ts +14 -0
- package/dist/testing/activity-storage-contract.d.ts.map +1 -0
- 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 +13 -0
- package/dist/testing/artifact-storage-contract.d.ts.map +1 -0
- 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 +11 -5
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +9340 -3794
- package/dist/testing/index.js.map +32 -26
- package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
- package/dist/testing/lake-storage-contract.d.ts +2 -0
- 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 +42 -38
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +5 -7
- 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 +76 -66
- 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 +15 -2
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +7 -0
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +25 -1
- package/src/actions/commit-edits.ts +6 -1
- package/src/actions/execution.ts +55 -23
- package/src/actions/read-facade.ts +33 -0
- package/src/actions/request.ts +234 -66
- 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 +95 -0
- package/src/actions/types/context.ts +20 -3
- package/src/actions/validators.ts +19 -8
- package/src/activity/README.md +158 -0
- package/src/activity/connection.ts +217 -0
- package/src/activity/device.ts +41 -0
- package/src/activity/execution.ts +210 -0
- package/src/activity/service.ts +274 -0
- package/src/activity/shares.ts +62 -0
- package/src/activity/timeline.ts +385 -0
- 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 +63 -3
- 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 -64
- package/src/agents/run-scope.ts +134 -0
- package/src/agents/skills.ts +6 -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 +43 -18
- package/src/agents/validation.ts +4 -0
- package/src/artifacts/access.ts +125 -0
- package/src/artifacts/address.ts +132 -0
- package/src/artifacts/canvas.ts +369 -0
- package/src/artifacts/csv.ts +118 -0
- package/src/artifacts/errors.ts +32 -0
- package/src/artifacts/execution.ts +553 -0
- 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 +104 -0
- package/src/artifacts/frames/entries.ts +35 -0
- package/src/artifacts/frames/grants.ts +125 -0
- package/src/artifacts/frames/index.ts +21 -0
- package/src/artifacts/frames/kit.ts +569 -0
- package/src/artifacts/frames/probe.ts +357 -0
- package/src/artifacts/frames/protocol.ts +328 -0
- package/src/artifacts/frames/runtime.ts +458 -0
- package/src/artifacts/html.ts +25 -0
- package/src/artifacts/ids.ts +18 -0
- package/src/artifacts/index.ts +125 -0
- package/src/artifacts/kinds.ts +8 -0
- package/src/artifacts/limits.ts +58 -0
- package/src/artifacts/live-sheet.ts +345 -0
- package/src/artifacts/outline.ts +95 -0
- package/src/artifacts/publish/files.ts +87 -0
- package/src/artifacts/publish/index.ts +14 -0
- package/src/artifacts/publish/publish.ts +336 -0
- package/src/artifacts/publish/queries.ts +336 -0
- package/src/artifacts/publish/references.ts +135 -0
- package/src/artifacts/publish/validate/canvas.ts +118 -0
- package/src/artifacts/publish/validate/document.ts +114 -0
- package/src/artifacts/publish/validate/file.ts +19 -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 +297 -0
- package/src/artifacts/publish/validate/slides.ts +82 -0
- package/src/artifacts/queries.ts +512 -0
- package/src/artifacts/references.ts +11 -0
- package/src/artifacts/resolve.ts +112 -0
- 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/theme.ts +116 -0
- package/src/artifacts/tones.ts +20 -0
- package/src/artifacts/warnings.ts +10 -0
- package/src/artifacts/workbook.ts +674 -0
- 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 +52 -0
- package/src/authorization/event-visibility.ts +17 -16
- package/src/authorization/grant-kinds.ts +46 -2
- 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/blob-storage/internal.ts +1 -1
- package/src/blob-storage/media-type.ts +69 -0
- package/src/datasets/builders.ts +66 -2
- package/src/datasets/column-index.ts +19 -0
- package/src/datasets/execution.ts +23 -9
- package/src/errors/catalog.ts +26 -1
- package/src/errors/internal.ts +18 -8
- package/src/events/definitions.ts +26 -0
- package/src/events/execution.ts +171 -21
- 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 +486 -266
- package/src/execution/lineage.ts +14 -0
- package/src/execution/object-reader-clearance.ts +91 -0
- package/src/execution/object-reader-ontology.ts +60 -0
- package/src/execution/object-reader-security.ts +270 -0
- 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 +331 -7
- package/src/index.ts +169 -4
- package/src/lake-storage/in-memory.ts +26 -3
- package/src/lake-storage/index.ts +13 -1
- package/src/lake-storage/lineage.ts +385 -0
- package/src/lake-storage/sql-transforms.ts +45 -0
- package/src/lake-storage/types.ts +59 -1
- package/src/lake-storage/version-inputs.ts +35 -6
- package/src/maintenance/ontology-maintenance.ts +15 -0
- 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/clearance-redaction.ts +138 -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 +37 -8
- package/src/objects/link/endpoints.ts +42 -11
- package/src/objects/link/remove.ts +27 -12
- package/src/objects/link/upsert-batch.ts +9 -5
- package/src/objects/link/upsert.ts +20 -14
- package/src/objects/materializer-adapter.ts +55 -18
- package/src/objects/object/delete.ts +26 -7
- package/src/objects/object/upsert-batch.ts +46 -18
- package/src/objects/object/upsert.ts +25 -8
- package/src/objects/property-clearance.ts +171 -152
- package/src/objects/query/clearance-admission.ts +112 -0
- 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/link-query-clearance.ts +73 -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 +15 -1
- package/src/ontology/docs-markdown.ts +2 -1
- 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/pipelines/index.ts +2 -0
- package/src/pipelines/lineage.ts +45 -0
- package/src/projections/internal.ts +2 -2
- 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/create.ts +4 -0
- package/src/runtime/host.ts +73 -1
- package/src/runtime/index.ts +2 -0
- package/src/runtime/internal.ts +2 -0
- package/src/runtime/ontology-mutations.ts +19 -4
- package/src/runtime/resolve-definitions.ts +69 -3
- package/src/runtime/sixb.ts +53 -9
- package/src/runtime/types.ts +99 -9
- package/src/sandboxes/README.md +29 -7
- package/src/sandboxes/auth.ts +16 -0
- package/src/sandboxes/config.ts +2 -7
- package/src/sandboxes/configuration.ts +61 -7
- package/src/sandboxes/index.ts +1 -0
- package/src/sandboxes/sandbox.ts +27 -5
- 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/applied-markings-contribution.ts +277 -0
- package/src/security/applied-markings-host.ts +41 -0
- package/src/security/applied-markings-snapshot.ts +235 -0
- package/src/security/applied-markings.ts +405 -0
- package/src/security/dataset-version-markings.ts +163 -0
- package/src/security/grants.ts +191 -11
- package/src/security/index.ts +5 -0
- package/src/security/internal.ts +18 -0
- package/src/security/marking-propagation.ts +255 -0
- package/src/security/marking-sets.ts +42 -0
- package/src/security/markings.ts +29 -178
- package/src/security/pipeline-markings.ts +175 -0
- package/src/security/project.ts +13 -0
- package/src/security/projection-markings.ts +421 -0
- package/src/security/redactions.ts +7 -2
- package/src/security/registry.ts +32 -7
- package/src/security/types.ts +68 -5
- package/src/security/validation.ts +34 -11
- package/src/security/view-conditions.ts +215 -0
- package/src/shares/execution.ts +43 -10
- package/src/storage/action-runs/in-memory.ts +18 -0
- package/src/storage/action-runs/types.ts +10 -0
- package/src/storage/activity/in-memory.ts +374 -0
- package/src/storage/activity/index.ts +27 -0
- package/src/storage/activity/policy.ts +430 -0
- package/src/storage/activity/types.ts +211 -0
- package/src/storage/agents/errors.ts +3 -0
- package/src/storage/agents/in-memory.ts +789 -32
- package/src/storage/agents/index.ts +42 -0
- package/src/storage/agents/provider.ts +730 -16
- package/src/storage/agents/types.ts +628 -27
- 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 +28 -0
- package/src/storage/artifacts/in-memory.ts +388 -0
- package/src/storage/artifacts/index.ts +35 -0
- package/src/storage/artifacts/record.ts +260 -0
- package/src/storage/artifacts/types.ts +293 -0
- package/src/storage/auth/in-memory/auth-storage.ts +27 -2
- package/src/storage/auth/in-memory/sessions.ts +21 -0
- package/src/storage/auth/in-memory/users.ts +40 -6
- package/src/storage/auth/index.ts +3 -0
- package/src/storage/auth/types.ts +61 -7
- package/src/storage/executions/in-memory.ts +93 -1
- package/src/storage/executions/index.ts +5 -0
- package/src/storage/executions/provider.ts +12 -0
- package/src/storage/executions/types.ts +47 -0
- package/src/storage/in-memory/index.ts +16 -0
- package/src/storage/index.ts +132 -1
- package/src/storage/internal.ts +39 -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/sources.ts +23 -0
- package/src/storage/ontology/in-memory/unique-values.ts +62 -0
- package/src/storage/ontology/index.ts +12 -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/sources.ts +17 -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/share-grants/in-memory.ts +8 -0
- package/src/storage/share-grants/index.ts +1 -0
- package/src/storage/share-grants/types.ts +8 -0
- package/src/storage/types.ts +6 -0
- package/src/storage/workflow-runs/in-memory.ts +16 -0
- package/src/storage/workflow-runs/types.ts +5 -0
- package/src/testing/action-run-storage-contract.ts +25 -0
- package/src/testing/activity-storage-contract.ts +840 -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 +1206 -50
- 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 +851 -0
- package/src/testing/auth-storage-contract.ts +597 -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 +200 -1
- package/src/testing/file-upload-session-storage-contract.ts +12 -24
- package/src/testing/index.ts +26 -4
- package/src/testing/lake-merge-storage-contract.ts +38 -0
- package/src/testing/lake-storage-contract.ts +269 -30
- package/src/testing/materializer-storage-contract.ts +37 -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 +286 -22
- 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 +28 -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 +20 -0
- package/src/workflows/request.ts +46 -8
- package/src/workflows/types.ts +15 -2
- package/src/workflows/validation.ts +95 -9
- package/dist/chunk-1k89ecfr.js +0 -85
- package/dist/chunk-1k89ecfr.js.map +0 -10
- package/dist/chunk-1sr8ryzk.js.map +0 -11
- package/dist/chunk-29yx306f.js.map +0 -22
- package/dist/chunk-3t2hgbgd.js.map +0 -15
- package/dist/chunk-4as3wt1c.js.map +0 -12
- package/dist/chunk-4vyr1j8f.js +0 -128
- package/dist/chunk-4vyr1j8f.js.map +0 -11
- package/dist/chunk-5e43w60z.js.map +0 -10
- package/dist/chunk-6c6sn0bh.js.map +0 -106
- package/dist/chunk-6p49a5cq.js.map +0 -12
- 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-8mx7qw3y.js.map +0 -13
- package/dist/chunk-91mg3nj9.js.map +0 -12
- package/dist/chunk-96yw3pwd.js.map +0 -10
- package/dist/chunk-9gyp8hg1.js +0 -363
- package/dist/chunk-9gyp8hg1.js.map +0 -14
- package/dist/chunk-9k93ah50.js.map +0 -11
- package/dist/chunk-b38szspf.js.map +0 -11
- package/dist/chunk-bx9q3cwv.js.map +0 -19
- package/dist/chunk-d09tj99x.js.map +0 -12
- package/dist/chunk-ere85b8y.js.map +0 -15
- package/dist/chunk-es1gxsbf.js.map +0 -13
- package/dist/chunk-gsjm1wms.js.map +0 -10
- package/dist/chunk-hjzdd750.js.map +0 -49
- package/dist/chunk-hkc3jct7.js.map +0 -10
- package/dist/chunk-hvsb78a1.js.map +0 -20
- package/dist/chunk-k6q3n2sc.js.map +0 -12
- package/dist/chunk-n33z5bjw.js.map +0 -66
- 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-rrzt8jdy.js.map +0 -14
- package/dist/chunk-s16apyk9.js +0 -256
- package/dist/chunk-s16apyk9.js.map +0 -16
- package/dist/chunk-s54c868q.js +0 -307
- package/dist/chunk-s54c868q.js.map +0 -12
- package/dist/chunk-tpn40322.js.map +0 -19
- package/dist/chunk-tw03bsmb.js.map +0 -11
- package/dist/chunk-v4jbb3rs.js.map +0 -10
- package/dist/chunk-vpq4shxz.js.map +0 -39
- package/dist/chunk-yxd3nnqt.js.map +0 -11
- package/dist/chunk-yzwja0mj.js.map +0 -14
- 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-fkgc1wt8.js.map → chunk-0phpbbvm.js.map} +0 -0
- /package/dist/{chunk-y0c4e6ex.js.map → chunk-3gbefjg5.js.map} +0 -0
- /package/dist/{chunk-fa02jy15.js.map → chunk-48jezz3j.js.map} +0 -0
- /package/dist/{chunk-c85m1hyj.js.map → chunk-6n69k945.js.map} +0 -0
- /package/dist/{chunk-xfs8x8m9.js.map → chunk-6p0pastb.js.map} +0 -0
- /package/dist/{chunk-t7x8dmn0.js.map → chunk-6y0mkhex.js.map} +0 -0
- /package/dist/{chunk-v9xd5wzd.js.map → chunk-bab05bhg.js.map} +0 -0
- /package/dist/{chunk-gc4ntf7d.js.map → chunk-cwdzcv37.js.map} +0 -0
- /package/dist/{chunk-vyf9kfqf.js.map → chunk-dp0cdtj2.js.map} +0 -0
- /package/dist/{chunk-br3k6qbf.js.map → chunk-fm62y49k.js.map} +0 -0
- /package/dist/{chunk-9ybhtmg4.js.map → chunk-g663fahq.js.map} +0 -0
- /package/dist/{chunk-9w055r5b.js.map → chunk-hwarjrgf.js.map} +0 -0
- /package/dist/{chunk-9dmt152s.js.map → chunk-hyesv9dv.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-dk8tkk5f.js.map → chunk-n9zpx9c6.js.map} +0 -0
- /package/dist/{chunk-7t429e3f.js.map → chunk-npcr0228.js.map} +0 -0
- /package/dist/{chunk-z4m0yz8c.js.map → chunk-q4pmvkg0.js.map} +0 -0
package/src/agents/execution.ts
CHANGED
|
@@ -1,46 +1,95 @@
|
|
|
1
|
-
import { principalsEqual,
|
|
2
|
-
import { assertAuthorized, isRuntimeAllowed } from "../authorization"
|
|
1
|
+
import { principalsEqual, type UserPrincipal } from "../auth"
|
|
2
|
+
import { AuthorizationError, assertAuthorized, isRuntimeAllowed } from "../authorization"
|
|
3
|
+
import { isSixbError } from "../errors/internal"
|
|
3
4
|
import type { AuthorizablePrincipal, ExecutionContext } from "../execution"
|
|
5
|
+
import { canInheritAgentRequestAuthorization } from "../execution/agent"
|
|
4
6
|
import { resolveRuntimeAuthorizationForProject } from "../execution/authorization"
|
|
5
|
-
import type { ModelCatalog } from "../models"
|
|
6
|
-
import { resolveExecutionCosts } from "../runtime/ai-cost"
|
|
7
|
-
import { resolveExecutionUsage } from "../runtime/ai-usage"
|
|
7
|
+
import type { DecisionModelsRuntime, ModelCatalog } from "../models"
|
|
8
8
|
import type { SixbDependencies } from "../runtime/sixb"
|
|
9
9
|
import type { SixbRuntimeContext } from "../runtime/types"
|
|
10
|
+
import type { SecurityDefinitionCatalog } from "../security"
|
|
10
11
|
import type {
|
|
12
|
+
AgentApprovalMode,
|
|
13
|
+
AgentApprovalRecord,
|
|
14
|
+
AgentRunRecord,
|
|
15
|
+
AgentStorage,
|
|
11
16
|
AgentThreadRecord,
|
|
12
17
|
ConversationAgentRunRecord,
|
|
18
|
+
ListAgentApprovalsInput,
|
|
19
|
+
ListAgentApprovalsResult,
|
|
13
20
|
ListAgentRunsInput,
|
|
14
21
|
ListAgentRunsResult,
|
|
15
22
|
ListAgentThreadsInput,
|
|
16
23
|
ListAgentThreadsResult,
|
|
24
|
+
SubagentRunRecord,
|
|
17
25
|
} from "../storage/agents"
|
|
18
26
|
import type { AiCostSummary } from "../storage/ai-cost"
|
|
19
27
|
import type { AiModelCallUsage } from "../storage/ai-usage"
|
|
28
|
+
import { resolveTurnAccounting } from "./accounting"
|
|
29
|
+
import { type AgentApprovalResume, registerAgentTurnResume } from "./approval-continuation"
|
|
30
|
+
import { getAgentApprovalExecutor } from "./approval-executor"
|
|
31
|
+
import {
|
|
32
|
+
agentRunApprovalMode,
|
|
33
|
+
approvalModeAllows,
|
|
34
|
+
assertAgentApprovalMode,
|
|
35
|
+
decideAgentApproval,
|
|
36
|
+
defaultAgentApprovalMode,
|
|
37
|
+
isAwaitingApprovalRun,
|
|
38
|
+
leastApprovalModeAllowing,
|
|
39
|
+
listTurnApprovals,
|
|
40
|
+
type ResolvedAgentApprovalMode,
|
|
41
|
+
resolveAgentApprovalMode,
|
|
42
|
+
resumedApprovalMode,
|
|
43
|
+
stopAgentTurn,
|
|
44
|
+
} from "./approvals"
|
|
45
|
+
import { cancelAgentRun } from "./cancel"
|
|
46
|
+
import {
|
|
47
|
+
type AgentChildView,
|
|
48
|
+
cancelAgentChildRun,
|
|
49
|
+
listAgentChildren,
|
|
50
|
+
readAgentChild,
|
|
51
|
+
} from "./children"
|
|
20
52
|
import { AgentRequestError } from "./errors"
|
|
53
|
+
import { forkAgentThread } from "./fork"
|
|
21
54
|
import { createAgentThreadId, createAgentThreadSandboxName } from "./ids"
|
|
55
|
+
import { type AgentMemoryRuntime, createAgentMemoryRuntime } from "./memory-execution"
|
|
56
|
+
import { createTurnModelRouter } from "./model-routing"
|
|
57
|
+
import {
|
|
58
|
+
type AgentThreadParticipantInput,
|
|
59
|
+
addAgentThreadParticipants,
|
|
60
|
+
removeAgentThreadParticipant,
|
|
61
|
+
} from "./participants"
|
|
22
62
|
import {
|
|
23
63
|
type RequestAgentRunInput,
|
|
24
64
|
type RequestAgentRunResult,
|
|
25
65
|
requestAgentRun,
|
|
66
|
+
resumeAgentTurn,
|
|
26
67
|
retryAgentRun,
|
|
27
68
|
} from "./request"
|
|
28
69
|
import { assertNoAgentSelector } from "./retired-config"
|
|
29
70
|
import { normalizeSandboxBinding } from "./sandbox"
|
|
71
|
+
import { listSubagentThreadRuns } from "./subagent-runs"
|
|
72
|
+
import {
|
|
73
|
+
type AgentThreadView,
|
|
74
|
+
agentThreadViews,
|
|
75
|
+
assertConversationThread,
|
|
76
|
+
createAgentThreadAccessRule,
|
|
77
|
+
} from "./thread-access"
|
|
30
78
|
import type { AgentDescriptor } from "./types"
|
|
31
79
|
|
|
32
80
|
export type ExecutionAgentRequestInput = Omit<RequestAgentRunInput, "principal">
|
|
33
81
|
|
|
34
|
-
/** Execution ownership tokens never leave the storage/worker boundary. */
|
|
35
|
-
function publicThread(thread: AgentThreadRecord): AgentThreadRecord {
|
|
36
|
-
if (!thread.sandboxState) return thread
|
|
37
|
-
const { name, status, initialized } = thread.sandboxState
|
|
38
|
-
return { ...thread, sandboxState: { name, status, initialized } }
|
|
39
|
-
}
|
|
40
82
|
export type ListExecutionAgentThreadsInput = Omit<
|
|
41
83
|
ListAgentThreadsInput,
|
|
42
|
-
"projectId" | "ownerPrincipal"
|
|
43
|
-
>
|
|
84
|
+
"projectId" | "ownerPrincipal" | "participantPrincipal"
|
|
85
|
+
> & {
|
|
86
|
+
/** The threads other users added the caller to, instead of the caller's own. */
|
|
87
|
+
readonly sharedWithMe?: boolean
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface ListAgentThreadViewsResult extends Omit<ListAgentThreadsResult, "threads"> {
|
|
91
|
+
readonly threads: readonly AgentThreadView[]
|
|
92
|
+
}
|
|
44
93
|
|
|
45
94
|
export type CreateExecutionAgentThreadInput<
|
|
46
95
|
TParams extends Record<string, unknown> = Record<string, unknown>,
|
|
@@ -52,32 +101,208 @@ export type CreateExecutionAgentThreadInput<
|
|
|
52
101
|
|
|
53
102
|
export type AgentThreadsRuntime<TParams extends Record<string, unknown> = Record<string, unknown>> =
|
|
54
103
|
{
|
|
55
|
-
/** Start fresh after uncertain recovery; never deletes the previous sandbox. */
|
|
104
|
+
/** Start fresh after uncertain recovery; never deletes the previous sandbox. Owner only. */
|
|
56
105
|
recreateSandbox(
|
|
57
106
|
threadId: string,
|
|
58
107
|
input: { readonly expectedSandboxName: string }
|
|
59
|
-
): Promise<
|
|
60
|
-
create(input: CreateExecutionAgentThreadInput<TParams>): Promise<
|
|
61
|
-
|
|
62
|
-
|
|
108
|
+
): Promise<AgentThreadView>
|
|
109
|
+
create(input: CreateExecutionAgentThreadInput<TParams>): Promise<AgentThreadView>
|
|
110
|
+
/**
|
|
111
|
+
* Copy a thread of the caller's, or one shared with them, into a new one the caller owns alone,
|
|
112
|
+
* with a new sandbox. A turn still running is not copied.
|
|
113
|
+
*/
|
|
114
|
+
fork(threadId: string): Promise<AgentThreadView>
|
|
115
|
+
/** A thread the caller owns or takes part in. */
|
|
116
|
+
getById(threadId: string): Promise<AgentThreadView | null>
|
|
117
|
+
/** The caller's own threads, or with `sharedWithMe` the ones other users added it to. */
|
|
118
|
+
list(input?: ListExecutionAgentThreadsInput): Promise<ListAgentThreadViewsResult>
|
|
119
|
+
/**
|
|
120
|
+
* The sub-agents a conversation's turns spawned, oldest first, each the thread it works in with
|
|
121
|
+
* every run it took; `null` when the caller cannot read the conversation. `runId` keeps those
|
|
122
|
+
* one turn spawned. A sub-agent is visible exactly when its conversation is.
|
|
123
|
+
*/
|
|
124
|
+
listChildren(
|
|
125
|
+
threadId: string,
|
|
126
|
+
input?: ListAgentChildrenInput
|
|
127
|
+
): Promise<AgentChildListResult | null>
|
|
128
|
+
/** The sub-agent that works in a thread, read as `listChildren` lists it. */
|
|
129
|
+
getChild(threadId: string): Promise<AgentChildView | null>
|
|
130
|
+
/** Who else reads the conversation and talks in it. */
|
|
131
|
+
readonly participants: AgentThreadParticipantsRuntime
|
|
132
|
+
/**
|
|
133
|
+
* The caller's mode in a thread they read, and where it comes from: their choice there, else
|
|
134
|
+
* their default, else the fallback.
|
|
135
|
+
*/
|
|
136
|
+
getApprovalMode(threadId: string): Promise<ResolvedAgentApprovalMode | null>
|
|
137
|
+
/**
|
|
138
|
+
* Choose the caller's own mode for their next turns in a thread; `null` follows their default
|
|
139
|
+
* again. Others keep theirs.
|
|
140
|
+
*/
|
|
141
|
+
setApprovalMode(
|
|
142
|
+
threadId: string,
|
|
143
|
+
mode: AgentApprovalMode | null
|
|
144
|
+
): Promise<ResolvedAgentApprovalMode>
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* The calls the Agent held for approval. Whoever reads a thread reads its approvals; only whoever
|
|
149
|
+
* asked for the turn decides, since the call runs with their rights.
|
|
150
|
+
*/
|
|
151
|
+
export interface AgentApprovalsRuntime {
|
|
152
|
+
/**
|
|
153
|
+
* A thread's approvals, oldest first; without `threadId`, the caller's own in the threads they
|
|
154
|
+
* can open.
|
|
155
|
+
*/
|
|
156
|
+
list(input?: ListExecutionAgentApprovalsInput): Promise<ListAgentApprovalsResult>
|
|
157
|
+
getById(approvalId: string): Promise<AgentApprovalRecord | null>
|
|
158
|
+
/**
|
|
159
|
+
* Approve or deny a pending call. An approved call runs now, and the approval comes back with its
|
|
160
|
+
* outcome. Once every call the turn held is decided, the turn resumes: `run` is the turn that
|
|
161
|
+
* continues it, and the model reads how each call ended. `always` also sets the caller's mode in
|
|
162
|
+
* the thread to the least that runs such a call without asking, and approves the turn's other
|
|
163
|
+
* calls that mode runs.
|
|
164
|
+
*/
|
|
165
|
+
decide(
|
|
166
|
+
approvalId: string,
|
|
167
|
+
input: DecideExecutionAgentApprovalInput
|
|
168
|
+
): Promise<AgentApprovalDecision>
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export interface AgentApprovalDecision {
|
|
172
|
+
readonly approval: AgentApprovalRecord
|
|
173
|
+
/** The turn that resumed the paused one, when this decision was its last. */
|
|
174
|
+
readonly run?: ConversationAgentRunView
|
|
175
|
+
/**
|
|
176
|
+
* Present when the paused turn could not resume: the decision and the call's outcome stand.
|
|
177
|
+
* `retrying`: Sixb resumes it once it can, for example when an AI limit resets; otherwise the
|
|
178
|
+
* thread's next message tells the model how its calls ended.
|
|
179
|
+
*/
|
|
180
|
+
readonly resume?: {
|
|
181
|
+
readonly status: "refused"
|
|
182
|
+
readonly code: string
|
|
183
|
+
readonly message: string
|
|
184
|
+
readonly retrying: boolean
|
|
63
185
|
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export type ListExecutionAgentApprovalsInput = Omit<
|
|
189
|
+
ListAgentApprovalsInput,
|
|
190
|
+
"projectId" | "requestedBy" | "reported"
|
|
191
|
+
>
|
|
192
|
+
|
|
193
|
+
export interface DecideExecutionAgentApprovalInput {
|
|
194
|
+
readonly decision: "approve" | "deny"
|
|
195
|
+
readonly always?: boolean
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/** The caller's own Agent settings. */
|
|
199
|
+
export interface AgentPreferences {
|
|
200
|
+
/** The mode of the caller's turns in threads where they chose none. */
|
|
201
|
+
readonly approvalMode: AgentApprovalMode
|
|
202
|
+
/** `fallback` until the caller chooses a default. */
|
|
203
|
+
readonly approvalModeSource: "default" | "fallback"
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export interface AgentPreferencesRuntime {
|
|
207
|
+
get(): Promise<AgentPreferences>
|
|
208
|
+
update(input: { readonly approvalMode?: AgentApprovalMode }): Promise<AgentPreferences>
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Participants read the whole conversation, its files and its live stream, and send messages that
|
|
213
|
+
* run with their own rights. Nothing checks what they may see: the conversation holds what the
|
|
214
|
+
* Agent read with the rights of whoever asked.
|
|
215
|
+
*/
|
|
216
|
+
export interface AgentThreadParticipantsRuntime {
|
|
217
|
+
/**
|
|
218
|
+
* Add active users of the project, by id or by email; only the thread's owner can. Someone
|
|
219
|
+
* already taking part keeps when and by whom they were added. Returns the thread with every
|
|
220
|
+
* participant.
|
|
221
|
+
*/
|
|
222
|
+
add(threadId: string, users: readonly AgentThreadParticipantInput[]): Promise<AgentThreadView>
|
|
223
|
+
/**
|
|
224
|
+
* The owner removes anyone; a participant removes only themself, to leave. Removing someone who
|
|
225
|
+
* does not take part changes nothing.
|
|
226
|
+
*/
|
|
227
|
+
remove(threadId: string, user: UserPrincipal): Promise<void>
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Any user's conversation, read-only, for a caller with `can.observe(agent.threads)`. Nothing here
|
|
232
|
+
* checks who owns or takes part in a thread, and nothing writes: those stay on `threads` and `runs`.
|
|
233
|
+
*/
|
|
234
|
+
export interface ObservedAgentThreadsRuntime {
|
|
235
|
+
/** Throws an `AuthorizationError` without `can.observe(agent.threads)`. */
|
|
236
|
+
getById(threadId: string): Promise<AgentThreadView | null>
|
|
237
|
+
/** The thread's conversation runs; `null` when the thread does not exist. */
|
|
238
|
+
listRuns(
|
|
239
|
+
threadId: string,
|
|
240
|
+
input?: Omit<ListAgentRunsInput, "projectId" | "threadId">
|
|
241
|
+
): Promise<AgentRunListResult | null>
|
|
242
|
+
/** The sub-agents the thread's turns spawned; `null` when the thread is not a conversation. */
|
|
243
|
+
listChildren(
|
|
244
|
+
threadId: string,
|
|
245
|
+
input?: ListAgentChildrenInput
|
|
246
|
+
): Promise<AgentChildListResult | null>
|
|
247
|
+
/** The sub-agent that works in a thread; `null` when it is not a sub-agent's. */
|
|
248
|
+
getChild(threadId: string): Promise<AgentChildView | null>
|
|
249
|
+
}
|
|
64
250
|
|
|
65
251
|
export interface AgentRunsRuntime {
|
|
66
252
|
request(input: ExecutionAgentRequestInput): Promise<ExecutionAgentRunResult>
|
|
253
|
+
/**
|
|
254
|
+
* Retry a failed or interrupted turn; only whoever asked for it can, as it runs with their rights.
|
|
255
|
+
* A sub-agent's run is never retried: its turn decides whether to spawn it again.
|
|
256
|
+
*/
|
|
67
257
|
retry(runId: string): Promise<ExecutionAgentRunResult>
|
|
258
|
+
/**
|
|
259
|
+
* Stop a turn; whoever asked for it, or the thread's owner, can. A queued turn is cancelled when
|
|
260
|
+
* this returns; a running one is still running, with the stop signal sent to its worker. A turn
|
|
261
|
+
* paused for approval stays as it ended, with its held calls cancelled: it never resumes. A
|
|
262
|
+
* sub-agent's run stops as its turn would: whoever asked for that turn, or the conversation's
|
|
263
|
+
* owner, can, and its parent's `wait_agent` reads that it was stopped.
|
|
264
|
+
*/
|
|
265
|
+
cancel(runId: string): Promise<AgentRunView>
|
|
266
|
+
/** A turn, or a sub-agent's run, read through its thread. */
|
|
68
267
|
getById(runId: string): Promise<AgentRunView | null>
|
|
268
|
+
/** A conversation's turns, or the runs of a sub-agent's thread. */
|
|
69
269
|
listForThread(
|
|
70
270
|
threadId: string,
|
|
71
271
|
input?: Omit<ListAgentRunsInput, "projectId" | "threadId">
|
|
72
272
|
): Promise<AgentRunListResult | null>
|
|
73
273
|
}
|
|
74
274
|
|
|
75
|
-
|
|
76
|
-
|
|
275
|
+
export interface ListAgentChildrenInput {
|
|
276
|
+
/** Only those this turn of the conversation spawned. */
|
|
277
|
+
readonly runId?: string
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export interface AgentChildListResult {
|
|
281
|
+
/** Oldest first. */
|
|
282
|
+
readonly children: readonly AgentChildView[]
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Execution-facing run view with provenance resolved from the immutable execution ledger: a
|
|
287
|
+
* conversation turn, or a sub-agent's run.
|
|
288
|
+
*/
|
|
289
|
+
export type AgentRunView = ConversationAgentRunView | SubagentRunView
|
|
290
|
+
|
|
291
|
+
/** A conversation turn's view: what a request, a retry or a resume returns. */
|
|
292
|
+
export type ConversationAgentRunView = ConversationAgentRunRecord & AgentRunViewFields
|
|
293
|
+
|
|
294
|
+
/** A sub-agent's run, read through its thread. */
|
|
295
|
+
export type SubagentRunView = SubagentRunRecord & AgentRunViewFields
|
|
296
|
+
|
|
297
|
+
interface AgentRunViewFields {
|
|
77
298
|
readonly requestedBy?: AuthorizablePrincipal
|
|
78
|
-
/**
|
|
299
|
+
/**
|
|
300
|
+
* Derived from the model-call ledger; never persisted on the Agent run row. Covers the turn and
|
|
301
|
+
* everything below its execution: its children and what its tools ran, including what a workflow
|
|
302
|
+
* it started spends after the turn ends, as Activity counts it.
|
|
303
|
+
*/
|
|
79
304
|
readonly usage?: AiModelCallUsage
|
|
80
|
-
/** Preferred valuation
|
|
305
|
+
/** Preferred valuation of the same calls; omitted without calls or cost storage. */
|
|
81
306
|
readonly cost?: AiCostSummary
|
|
82
307
|
}
|
|
83
308
|
|
|
@@ -86,7 +311,7 @@ export interface AgentRunListResult extends Omit<ListAgentRunsResult, "runs"> {
|
|
|
86
311
|
}
|
|
87
312
|
|
|
88
313
|
export interface ExecutionAgentRunResult extends Omit<RequestAgentRunResult, "run"> {
|
|
89
|
-
readonly run:
|
|
314
|
+
readonly run: ConversationAgentRunView
|
|
90
315
|
}
|
|
91
316
|
|
|
92
317
|
export type AgentRuntime<TParams extends Record<string, unknown> = Record<string, unknown>> = {
|
|
@@ -94,6 +319,11 @@ export type AgentRuntime<TParams extends Record<string, unknown> = Record<string
|
|
|
94
319
|
get(): AgentDescriptor | null
|
|
95
320
|
readonly threads: AgentThreadsRuntime<TParams>
|
|
96
321
|
readonly runs: AgentRunsRuntime
|
|
322
|
+
/** Other users' conversations, read-only, with `can.observe(agent.threads)`. */
|
|
323
|
+
readonly observed: ObservedAgentThreadsRuntime
|
|
324
|
+
readonly memory: AgentMemoryRuntime
|
|
325
|
+
readonly approvals: AgentApprovalsRuntime
|
|
326
|
+
readonly preferences: AgentPreferencesRuntime
|
|
97
327
|
}
|
|
98
328
|
|
|
99
329
|
export function createAgentRuntime<
|
|
@@ -101,25 +331,22 @@ export function createAgentRuntime<
|
|
|
101
331
|
>(
|
|
102
332
|
runtime: SixbRuntimeContext,
|
|
103
333
|
execution: ExecutionContext,
|
|
104
|
-
models
|
|
105
|
-
|
|
334
|
+
models: ModelCatalog | undefined,
|
|
335
|
+
decision: DecisionModelsRuntime,
|
|
336
|
+
sandbox: SixbDependencies["sandbox"] | undefined,
|
|
337
|
+
security: SecurityDefinitionCatalog
|
|
106
338
|
): AgentRuntime<TParams> {
|
|
107
339
|
const authority = resolveRuntimeAuthorizationForProject(runtime)
|
|
108
|
-
const
|
|
340
|
+
const turnModels = {
|
|
341
|
+
language: models?.language,
|
|
342
|
+
router: createTurnModelRouter(models, decision),
|
|
343
|
+
}
|
|
344
|
+
const rule = createAgentThreadAccessRule(runtime, authority)
|
|
345
|
+
const principal = rule.caller
|
|
109
346
|
const allowed = () => isRuntimeAllowed(runtime, { kind: "agent.run" })
|
|
110
347
|
|
|
111
|
-
const getVisibleThreadRecord = async (threadId: string): Promise<
|
|
112
|
-
|
|
113
|
-
const thread =
|
|
114
|
-
(await runtime.storage.agents?.threads.getById({
|
|
115
|
-
projectId: runtime.projectId,
|
|
116
|
-
id: threadId,
|
|
117
|
-
})) ?? null
|
|
118
|
-
if (!thread || !allowed()) return null
|
|
119
|
-
return authority.type === "principal" && !principalsEqual(principal, thread.ownerPrincipal)
|
|
120
|
-
? null
|
|
121
|
-
: publicThread(thread)
|
|
122
|
-
}
|
|
348
|
+
const getVisibleThreadRecord = async (threadId: string): Promise<AgentThreadView | null> =>
|
|
349
|
+
(await rule.read(threadId))?.thread ?? null
|
|
123
350
|
|
|
124
351
|
const getAgent = (): AgentDescriptor | null => {
|
|
125
352
|
if (authority.type === "denied" || authority.type === "delegated") return null
|
|
@@ -131,14 +358,15 @@ export function createAgentRuntime<
|
|
|
131
358
|
}
|
|
132
359
|
}
|
|
133
360
|
|
|
134
|
-
|
|
361
|
+
/** A turn, or a sub-agent's run, when the caller reads its thread. */
|
|
362
|
+
const getVisibleRunRecord = async (runId: string): Promise<AgentRunRecord | null> => {
|
|
135
363
|
if (authority.type === "denied" || authority.type === "delegated") return null
|
|
136
364
|
const run =
|
|
137
365
|
(await runtime.storage.agents?.runs.getById({
|
|
138
366
|
projectId: runtime.projectId,
|
|
139
367
|
id: runId,
|
|
140
368
|
})) ?? null
|
|
141
|
-
if (!run
|
|
369
|
+
if (!run) return null
|
|
142
370
|
const thread = await getVisibleThreadRecord(run.threadId)
|
|
143
371
|
return thread ? run : null
|
|
144
372
|
}
|
|
@@ -148,13 +376,349 @@ export function createAgentRuntime<
|
|
|
148
376
|
return run ? attachRunView(runtime, run) : null
|
|
149
377
|
}
|
|
150
378
|
|
|
151
|
-
|
|
379
|
+
/**
|
|
380
|
+
* A turn the caller may stop or retry. Whoever asked for it may do both; the thread's owner may
|
|
381
|
+
* also stop any turn, but retrying one would run it again with the owner's rights on someone
|
|
382
|
+
* else's words. Code without a caller acts on every turn.
|
|
383
|
+
*/
|
|
384
|
+
const getControllableRun = async (
|
|
385
|
+
runId: string,
|
|
386
|
+
action: "cancel" | "retry"
|
|
387
|
+
): Promise<ConversationAgentRunRecord> => {
|
|
388
|
+
const run = await runtime.storage.agents?.runs.getById({
|
|
389
|
+
projectId: runtime.projectId,
|
|
390
|
+
id: runId,
|
|
391
|
+
})
|
|
392
|
+
const readable = run ? await rule.read(run.threadId) : null
|
|
393
|
+
if (!run || !readable) {
|
|
394
|
+
throw new AgentRequestError("run_not_found", `[Sixb] Agent run '${runId}' was not found.`)
|
|
395
|
+
}
|
|
396
|
+
if (run.kind !== "conversation") {
|
|
397
|
+
throw new AgentRequestError(
|
|
398
|
+
action === "retry" ? "run_not_retryable" : "run_not_found",
|
|
399
|
+
action === "retry"
|
|
400
|
+
? `[Sixb] Agent run '${runId}' is a sub-agent's: its turn spawns it again if it needs to.`
|
|
401
|
+
: `[Sixb] Agent run '${runId}' was not found.`
|
|
402
|
+
)
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
if (authority.type !== "principal") return run
|
|
406
|
+
if (action === "cancel" && readable.access === "owner") return run
|
|
407
|
+
|
|
408
|
+
const execution = await runtime.storage.executions.getById({
|
|
409
|
+
projectId: runtime.projectId,
|
|
410
|
+
id: run.executionId,
|
|
411
|
+
})
|
|
412
|
+
if (execution?.requestedBy && principalsEqual(execution.requestedBy, principal)) return run
|
|
413
|
+
|
|
414
|
+
throw new AgentRequestError(
|
|
415
|
+
"not_run_requester",
|
|
416
|
+
action === "cancel"
|
|
417
|
+
? `[Sixb] Only whoever asked for Agent run '${runId}', or the thread's owner, can stop it.`
|
|
418
|
+
: `[Sixb] Only whoever asked for Agent run '${runId}' can retry it: it runs again with their rights.`
|
|
419
|
+
)
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
const requireAgents = (): AgentStorage => {
|
|
423
|
+
const storage = runtime.storage.agents
|
|
424
|
+
if (!storage) {
|
|
425
|
+
throw new AgentRequestError("storage_unavailable", "[Sixb] Agent storage is not configured.")
|
|
426
|
+
}
|
|
427
|
+
return storage
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/** Settings belong to whoever calls: a shared link or a delegated execution has none. */
|
|
431
|
+
const settingsPrincipal = () => {
|
|
432
|
+
if (authority.type === "denied" || authority.type === "delegated") {
|
|
433
|
+
throw new AgentRequestError("agent_not_found", "[Sixb] The project Agent is unavailable.")
|
|
434
|
+
}
|
|
435
|
+
return principal
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
const getVisibleApproval = async (approvalId: string): Promise<AgentApprovalRecord | null> => {
|
|
439
|
+
if (authority.type === "denied" || authority.type === "delegated") return null
|
|
440
|
+
const approval = await runtime.storage.agents?.approvals.getById({
|
|
441
|
+
projectId: runtime.projectId,
|
|
442
|
+
id: approvalId,
|
|
443
|
+
})
|
|
444
|
+
return approval && (await rule.read(approval.threadId)) ? approval : null
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
const getThreadApprovalMode = async (
|
|
448
|
+
threadId: string
|
|
449
|
+
): Promise<ResolvedAgentApprovalMode | null> => {
|
|
450
|
+
const thread = await getVisibleThreadRecord(threadId)
|
|
451
|
+
if (!thread) return null
|
|
452
|
+
if (thread.kind === "subagent") {
|
|
453
|
+
// A child's mode is its run's, copied from the turn it works under, whoever reads it.
|
|
454
|
+
const latest = (
|
|
455
|
+
await listSubagentThreadRuns(requireAgents(), { projectId: runtime.projectId, threadId })
|
|
456
|
+
).at(-1)
|
|
457
|
+
return latest
|
|
458
|
+
? { approvalMode: agentRunApprovalMode(latest), approvalModeSource: "run" }
|
|
459
|
+
: null
|
|
460
|
+
}
|
|
461
|
+
return resolveAgentApprovalMode(requireAgents(), {
|
|
462
|
+
projectId: runtime.projectId,
|
|
463
|
+
principal: settingsPrincipal(),
|
|
464
|
+
threadId,
|
|
465
|
+
})
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
const setThreadApprovalMode = async (
|
|
469
|
+
threadId: string,
|
|
470
|
+
mode: AgentApprovalMode | null
|
|
471
|
+
): Promise<ResolvedAgentApprovalMode> => {
|
|
472
|
+
if (mode !== null) assertAgentApprovalMode(mode)
|
|
473
|
+
const thread = await getVisibleThreadRecord(threadId)
|
|
474
|
+
if (!thread) {
|
|
475
|
+
throw new AgentRequestError(
|
|
476
|
+
"thread_not_found",
|
|
477
|
+
`[Sixb] Agent thread '${threadId}' not found.`
|
|
478
|
+
)
|
|
479
|
+
}
|
|
480
|
+
assertConversationThread(thread)
|
|
481
|
+
const agents = requireAgents()
|
|
482
|
+
const scope = { projectId: runtime.projectId, principal: settingsPrincipal() }
|
|
483
|
+
await agents.approvalModes.setForThread({ ...scope, threadId, mode })
|
|
484
|
+
return resolveAgentApprovalMode(agents, { ...scope, threadId })
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
/** The caller's own approvals, in the threads they can still open. */
|
|
488
|
+
const listOwnApprovals = async (
|
|
489
|
+
storage: AgentStorage,
|
|
490
|
+
{ limit, offset = 0, ...input }: ListExecutionAgentApprovalsInput
|
|
491
|
+
): Promise<ListAgentApprovalsResult> => {
|
|
492
|
+
const { approvals } = await storage.approvals.list({
|
|
493
|
+
...input,
|
|
494
|
+
projectId: runtime.projectId,
|
|
495
|
+
requestedBy: principal,
|
|
496
|
+
})
|
|
497
|
+
const readable = new Map<string, Promise<boolean>>()
|
|
498
|
+
const canRead = (threadId: string) => {
|
|
499
|
+
const known = readable.get(threadId)
|
|
500
|
+
if (known) return known
|
|
501
|
+
const read = rule.read(threadId).then((thread) => thread !== null)
|
|
502
|
+
readable.set(threadId, read)
|
|
503
|
+
return read
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
const visible: AgentApprovalRecord[] = []
|
|
507
|
+
for (const approval of approvals) {
|
|
508
|
+
if (await canRead(approval.threadId)) visible.push(approval)
|
|
509
|
+
}
|
|
510
|
+
const end = limit === undefined ? visible.length : offset + limit
|
|
511
|
+
return {
|
|
512
|
+
approvals: visible.slice(offset, end),
|
|
513
|
+
hasMore: end < visible.length,
|
|
514
|
+
total: visible.length,
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
const approvals: AgentApprovalsRuntime = {
|
|
519
|
+
list: async (input = {}) => {
|
|
520
|
+
const none = { approvals: [], hasMore: false, total: 0 }
|
|
521
|
+
if (authority.type === "denied" || authority.type === "delegated") return none
|
|
522
|
+
const storage = runtime.storage.agents
|
|
523
|
+
if (!storage) return none
|
|
524
|
+
|
|
525
|
+
if (input.threadId === undefined) return listOwnApprovals(storage, input)
|
|
526
|
+
if (!(await getVisibleThreadRecord(input.threadId))) return none
|
|
527
|
+
return storage.approvals.list({ ...input, projectId: runtime.projectId })
|
|
528
|
+
},
|
|
529
|
+
getById: getVisibleApproval,
|
|
530
|
+
decide: async (approvalId, input) => {
|
|
531
|
+
const approval = await getVisibleApproval(approvalId)
|
|
532
|
+
if (!approval) {
|
|
533
|
+
throw new AgentRequestError(
|
|
534
|
+
"approval_not_found",
|
|
535
|
+
`[Sixb] Agent approval '${approvalId}' was not found.`
|
|
536
|
+
)
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
// The call runs with the deciding request's authority: it must be one a turn can inherit.
|
|
540
|
+
if (!canInheritAgentRequestAuthorization(runtime.runtimeAuthorization)) {
|
|
541
|
+
throw new AgentRequestError(
|
|
542
|
+
"authority_not_inheritable",
|
|
543
|
+
"[Sixb] Deciding on an Agent call requires an authenticated user request or disabled authorization."
|
|
544
|
+
)
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
// "Always allow" raises the thread's mode first: nothing has run yet if that fails.
|
|
548
|
+
const always = input.always === true && input.decision === "approve"
|
|
549
|
+
const raisedMode = always ? leastApprovalModeAllowing(approval.call) : undefined
|
|
550
|
+
if (raisedMode !== undefined && approval.status === "pending") {
|
|
551
|
+
await allowInThread(approval, raisedMode)
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
const decided = await decide(
|
|
555
|
+
approval,
|
|
556
|
+
input.decision === "approve" ? "approved" : "denied",
|
|
557
|
+
raisedMode
|
|
558
|
+
)
|
|
559
|
+
if (raisedMode !== undefined && decided.status === "approved") {
|
|
560
|
+
await approveAllowed(decided, raisedMode)
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
// The decision and the call's outcome stand from here: a resume that fails is reported.
|
|
564
|
+
const resume = await resumeDecidedTurn(decided.runId)
|
|
565
|
+
if (resume.status === "refused") return { approval: decided, resume }
|
|
566
|
+
if (resume.status !== "resumed") return { approval: decided }
|
|
567
|
+
|
|
568
|
+
// The resume reported it to the model.
|
|
569
|
+
const reported = await requireAgents().approvals.getById({
|
|
570
|
+
projectId: runtime.projectId,
|
|
571
|
+
id: decided.id,
|
|
572
|
+
})
|
|
573
|
+
return { approval: reported ?? decided, run: await attachRunView(runtime, resume.run) }
|
|
574
|
+
},
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
const decide = (
|
|
578
|
+
approval: AgentApprovalRecord,
|
|
579
|
+
decision: "approved" | "denied",
|
|
580
|
+
raisedMode?: AgentApprovalMode
|
|
581
|
+
) =>
|
|
582
|
+
decideAgentApproval(requireAgents(), getAgentApprovalExecutor(runtime), {
|
|
583
|
+
approval,
|
|
584
|
+
decision,
|
|
585
|
+
decidedBy: principal,
|
|
586
|
+
decider: { execution, authorization: runtime.runtimeAuthorization },
|
|
587
|
+
...(raisedMode === undefined ? {} : { raisedMode }),
|
|
588
|
+
broker: runtime.broker,
|
|
589
|
+
})
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* "Always allow": the caller's thread mode rises to the least that runs such a call, unless what
|
|
593
|
+
* they chose already runs it. The fallback is no choice: it would hide the raise.
|
|
594
|
+
*/
|
|
595
|
+
const allowInThread = async (
|
|
596
|
+
approval: AgentApprovalRecord,
|
|
597
|
+
raised: AgentApprovalMode
|
|
598
|
+
): Promise<void> => {
|
|
599
|
+
const current = await getThreadApprovalMode(approval.threadId)
|
|
600
|
+
const chosen = current?.approvalModeSource === "fallback" ? undefined : current?.approvalMode
|
|
601
|
+
if (chosen === undefined || !approvalModeAllows(chosen, approval.call)) {
|
|
602
|
+
await setThreadApprovalMode(approval.threadId, raised)
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
/** "Always allow" also approves the turn's other calls the raised mode runs. */
|
|
607
|
+
const approveAllowed = async (
|
|
608
|
+
approval: AgentApprovalRecord,
|
|
609
|
+
raised: AgentApprovalMode
|
|
610
|
+
): Promise<void> => {
|
|
611
|
+
const { approvals: waiting } = await requireAgents().approvals.list({
|
|
612
|
+
projectId: runtime.projectId,
|
|
613
|
+
runId: approval.runId,
|
|
614
|
+
requestedBy: principal,
|
|
615
|
+
statuses: ["pending"],
|
|
616
|
+
})
|
|
617
|
+
for (const other of waiting) {
|
|
618
|
+
if (!approvalModeAllows(raised, other.call)) continue
|
|
619
|
+
try {
|
|
620
|
+
await decide(other, "approved", raised)
|
|
621
|
+
} catch (error) {
|
|
622
|
+
// Decided, set aside or expired meanwhile: that outcome stands.
|
|
623
|
+
if (!(error instanceof AgentRequestError)) throw error
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
/**
|
|
629
|
+
* Resume a paused turn once its requester decided on every call it held, as that requester. It
|
|
630
|
+
* never throws: what keeps the turn from resuming comes back as `refused`, and unless Sixb can
|
|
631
|
+
* try again, the turn is stopped so that the thread's next message reports its calls.
|
|
632
|
+
*/
|
|
633
|
+
const resumeDecidedTurn = async (runId: string): Promise<AgentApprovalResume> => {
|
|
634
|
+
const agents = requireAgents()
|
|
635
|
+
const run = await agents.runs.getById({ projectId: runtime.projectId, id: runId })
|
|
636
|
+
if (run?.kind !== "conversation" || !isAwaitingApprovalRun(run)) return { status: "closed" }
|
|
637
|
+
|
|
638
|
+
const requester = (
|
|
639
|
+
await runtime.storage.executions.getById({
|
|
640
|
+
projectId: runtime.projectId,
|
|
641
|
+
id: run.executionId,
|
|
642
|
+
})
|
|
643
|
+
)?.requestedBy
|
|
644
|
+
if (authority.type === "principal" && !(requester && principalsEqual(requester, principal))) {
|
|
645
|
+
return { status: "closed" }
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
const stop = () => stopAgentTurn(agents, runtime.broker, run)
|
|
649
|
+
try {
|
|
650
|
+
// A requester who left the thread no longer runs turns in it.
|
|
651
|
+
if (!(await rule.read(run.threadId))) {
|
|
652
|
+
throw new AgentRequestError(
|
|
653
|
+
"thread_not_found",
|
|
654
|
+
`[Sixb] Agent thread '${run.threadId}' is no longer readable by whoever asked for its turn.`
|
|
655
|
+
)
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
const approvalMode = resumedApprovalMode(
|
|
659
|
+
agentRunApprovalMode(run),
|
|
660
|
+
await listTurnApprovals(agents, { projectId: runtime.projectId, runId: run.id }),
|
|
661
|
+
await agents.approvalModes.getForThread({
|
|
662
|
+
projectId: runtime.projectId,
|
|
663
|
+
threadId: run.threadId,
|
|
664
|
+
principal,
|
|
665
|
+
})
|
|
666
|
+
)
|
|
667
|
+
const resumed = await resumeAgentTurn(runtime, execution, models?.language, run, {
|
|
668
|
+
approvalMode,
|
|
669
|
+
principal,
|
|
670
|
+
})
|
|
671
|
+
if (resumed.status === "closed") await stop()
|
|
672
|
+
return resumed
|
|
673
|
+
} catch (error) {
|
|
674
|
+
const refused = refusedResume(error)
|
|
675
|
+
if (!refused.retrying) await stop()
|
|
676
|
+
return refused
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
const preferences: AgentPreferencesRuntime = {
|
|
681
|
+
get: async () => {
|
|
682
|
+
const { approvalMode, approvalModeSource } = await defaultAgentApprovalMode(requireAgents(), {
|
|
683
|
+
projectId: runtime.projectId,
|
|
684
|
+
principal: settingsPrincipal(),
|
|
685
|
+
})
|
|
686
|
+
return {
|
|
687
|
+
approvalMode,
|
|
688
|
+
approvalModeSource: approvalModeSource === "default" ? "default" : "fallback",
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
update: async (input) => {
|
|
692
|
+
if (input.approvalMode !== undefined) {
|
|
693
|
+
await requireAgents().approvalModes.setDefault({
|
|
694
|
+
projectId: runtime.projectId,
|
|
695
|
+
principal: settingsPrincipal(),
|
|
696
|
+
mode: assertAgentApprovalMode(input.approvalMode),
|
|
697
|
+
})
|
|
698
|
+
}
|
|
699
|
+
return preferences.get()
|
|
700
|
+
},
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
const agentRuntime: AgentRuntime<TParams> = {
|
|
152
704
|
get: getAgent,
|
|
705
|
+
memory: createAgentMemoryRuntime(runtime),
|
|
706
|
+
approvals,
|
|
707
|
+
preferences,
|
|
153
708
|
threads: {
|
|
154
709
|
recreateSandbox: async (threadId, input) => {
|
|
155
|
-
const
|
|
156
|
-
if (!
|
|
710
|
+
const readable = await rule.read(threadId)
|
|
711
|
+
if (!readable)
|
|
157
712
|
throw new AgentRequestError("thread_not_found", "[Sixb] Agent thread not found.")
|
|
713
|
+
assertConversationThread(readable.thread)
|
|
714
|
+
if (readable.access !== "owner") {
|
|
715
|
+
throw new AgentRequestError(
|
|
716
|
+
"not_thread_owner",
|
|
717
|
+
`[Sixb] Only the owner of Agent thread '${threadId}' can recreate its sandbox.`
|
|
718
|
+
)
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
const thread = readable.thread
|
|
158
722
|
const storage = runtime.storage.agents
|
|
159
723
|
if (!storage)
|
|
160
724
|
throw new AgentRequestError(
|
|
@@ -168,7 +732,8 @@ export function createAgentRuntime<
|
|
|
168
732
|
expectedSandboxName: input.expectedSandboxName,
|
|
169
733
|
name: createAgentThreadSandboxName(runtime.projectId, threadId),
|
|
170
734
|
})
|
|
171
|
-
|
|
735
|
+
const [view] = await agentThreadViews(runtime, [{ ...thread, sandboxState }])
|
|
736
|
+
return view ?? thread
|
|
172
737
|
},
|
|
173
738
|
create: async (input) => {
|
|
174
739
|
assertNoAgentSelector(input)
|
|
@@ -193,29 +758,84 @@ export function createAgentRuntime<
|
|
|
193
758
|
input.sandbox === undefined
|
|
194
759
|
? undefined
|
|
195
760
|
: normalizeSandboxBinding(sandbox?.definition, input.sandbox, runtime.ontology)
|
|
196
|
-
|
|
761
|
+
const created = await storage.threads.create({
|
|
197
762
|
...(binding === undefined ? {} : { sandboxParams: binding }),
|
|
198
763
|
id: input.id ?? createAgentThreadId(),
|
|
199
764
|
projectId: runtime.projectId,
|
|
200
765
|
ownerPrincipal: principal,
|
|
201
766
|
...(input.title === undefined ? {} : { title: input.title }),
|
|
202
767
|
})
|
|
768
|
+
return { ...created, participants: [] }
|
|
769
|
+
},
|
|
770
|
+
listChildren: async (threadId, { runId } = {}) => {
|
|
771
|
+
const thread = await getVisibleThreadRecord(threadId)
|
|
772
|
+
if (thread?.kind !== "conversation") return null
|
|
773
|
+
return {
|
|
774
|
+
children: await listAgentChildren(runtime, thread, {
|
|
775
|
+
...(runId === undefined ? {} : { spawnedBy: runId }),
|
|
776
|
+
}),
|
|
777
|
+
}
|
|
778
|
+
},
|
|
779
|
+
getChild: async (threadId) => {
|
|
780
|
+
const thread = await getVisibleThreadRecord(threadId)
|
|
781
|
+
const conversation = thread?.parent
|
|
782
|
+
? await getVisibleThreadRecord(thread.parent.threadId)
|
|
783
|
+
: null
|
|
784
|
+
return thread && conversation ? readAgentChild(runtime, conversation, thread) : null
|
|
785
|
+
},
|
|
786
|
+
fork: async (threadId) => {
|
|
787
|
+
// Checked before the copy's transaction: an access removed in between can still fork once.
|
|
788
|
+
const readable = await rule.read(threadId)
|
|
789
|
+
if (!readable) {
|
|
790
|
+
throw new AgentRequestError(
|
|
791
|
+
"thread_not_found",
|
|
792
|
+
`[Sixb] Agent thread '${threadId}' not found.`
|
|
793
|
+
)
|
|
794
|
+
}
|
|
795
|
+
// A sub-agent's work is continued by its conversation, never on its own.
|
|
796
|
+
assertConversationThread(readable.thread)
|
|
797
|
+
|
|
798
|
+
if (!getAgent()) {
|
|
799
|
+
throw new AgentRequestError("agent_not_found", "[Sixb] The project Agent is unavailable.")
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
const fork = await forkAgentThread(runtime, {
|
|
803
|
+
source: readable.thread,
|
|
804
|
+
ownerPrincipal: principal,
|
|
805
|
+
sandbox,
|
|
806
|
+
})
|
|
807
|
+
const [view] = await agentThreadViews(runtime, [fork])
|
|
808
|
+
return view ?? { ...fork, participants: [] }
|
|
203
809
|
},
|
|
204
810
|
getById: getVisibleThreadRecord,
|
|
205
|
-
list: async (input = {}) => {
|
|
811
|
+
list: async ({ sharedWithMe, ...input } = {}) => {
|
|
206
812
|
assertNoAgentSelector(input)
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
813
|
+
const none = { threads: [], hasMore: false, total: 0 }
|
|
814
|
+
if (authority.type === "denied" || authority.type === "delegated") return none
|
|
815
|
+
|
|
210
816
|
const storage = runtime.storage.agents
|
|
211
|
-
if (!storage || !allowed()) return
|
|
817
|
+
if (!storage || !allowed()) return none
|
|
818
|
+
|
|
819
|
+
// Code without a caller owns every thread, so nothing is shared with it.
|
|
820
|
+
const caller = authority.type === "principal" ? principal : undefined
|
|
821
|
+
if (sharedWithMe && caller?.type !== "user") return none
|
|
822
|
+
|
|
212
823
|
const result = await storage.threads.list({
|
|
213
824
|
...input,
|
|
214
825
|
projectId: runtime.projectId,
|
|
215
|
-
|
|
826
|
+
...(sharedWithMe && caller?.type === "user"
|
|
827
|
+
? { participantPrincipal: caller }
|
|
828
|
+
: { ownerPrincipal: caller }),
|
|
216
829
|
})
|
|
217
|
-
return { ...result, threads: result.threads
|
|
830
|
+
return { ...result, threads: await agentThreadViews(runtime, result.threads) }
|
|
218
831
|
},
|
|
832
|
+
participants: {
|
|
833
|
+
add: (threadId, users) =>
|
|
834
|
+
addAgentThreadParticipants(runtime, rule, security, threadId, users),
|
|
835
|
+
remove: (threadId, user) => removeAgentThreadParticipant(runtime, rule, threadId, user),
|
|
836
|
+
},
|
|
837
|
+
getApprovalMode: getThreadApprovalMode,
|
|
838
|
+
setApprovalMode: setThreadApprovalMode,
|
|
219
839
|
},
|
|
220
840
|
runs: {
|
|
221
841
|
request: async (input) => {
|
|
@@ -231,17 +851,14 @@ export function createAgentRuntime<
|
|
|
231
851
|
`[Sixb] Agent thread '${input.threadId}' not found.`
|
|
232
852
|
)
|
|
233
853
|
}
|
|
234
|
-
const result = await requestAgentRun(runtime, execution,
|
|
854
|
+
const result = await requestAgentRun(runtime, execution, turnModels, {
|
|
235
855
|
...input,
|
|
236
856
|
principal,
|
|
237
857
|
})
|
|
238
858
|
return { ...result, run: await attachRunView(runtime, result.run) }
|
|
239
859
|
},
|
|
240
860
|
retry: async (runId) => {
|
|
241
|
-
const failedRun = await
|
|
242
|
-
if (!failedRun) {
|
|
243
|
-
throw new AgentRequestError("run_not_found", `[Sixb] Agent run '${runId}' was not found.`)
|
|
244
|
-
}
|
|
861
|
+
const failedRun = await getControllableRun(runId, "retry")
|
|
245
862
|
const agent = getAgent()
|
|
246
863
|
if (!agent) {
|
|
247
864
|
throw new AgentRequestError("agent_not_found", "[Sixb] The project Agent is unavailable.")
|
|
@@ -249,43 +866,111 @@ export function createAgentRuntime<
|
|
|
249
866
|
const result = await retryAgentRun(runtime, execution, models?.language, failedRun)
|
|
250
867
|
return { ...result, run: await attachRunView(runtime, result.run) }
|
|
251
868
|
},
|
|
869
|
+
cancel: async (runId) => {
|
|
870
|
+
const run = await getVisibleRunRecord(runId)
|
|
871
|
+
if (run?.kind !== "subagent") {
|
|
872
|
+
const turn = await getControllableRun(runId, "cancel")
|
|
873
|
+
return attachRunView(runtime, await cancelAgentRun(runtime, turn))
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
// A sub-agent's run stops as the turn it works under would.
|
|
877
|
+
await getControllableRun(run.parentRunId, "cancel")
|
|
878
|
+
return attachRunView(runtime, await cancelAgentChildRun(runtime, run))
|
|
879
|
+
},
|
|
252
880
|
getById: getRun,
|
|
253
881
|
listForThread: async (threadId, input = {}) => {
|
|
254
882
|
assertNoAgentSelector(input)
|
|
255
|
-
const
|
|
256
|
-
if (!
|
|
257
|
-
|
|
258
|
-
...input,
|
|
259
|
-
projectId: runtime.projectId,
|
|
260
|
-
threadId,
|
|
261
|
-
})
|
|
262
|
-
return {
|
|
263
|
-
...result,
|
|
264
|
-
runs: await attachRunViews(
|
|
265
|
-
runtime,
|
|
266
|
-
result.runs.filter((run) => run.kind === "conversation")
|
|
267
|
-
),
|
|
268
|
-
}
|
|
883
|
+
const thread = await getVisibleThreadRecord(threadId)
|
|
884
|
+
if (!thread) return null
|
|
885
|
+
return listThreadRuns(runtime, thread, input)
|
|
269
886
|
},
|
|
270
887
|
},
|
|
888
|
+
observed: createObservedAgentThreadsRuntime(runtime),
|
|
271
889
|
}
|
|
890
|
+
registerAgentTurnResume(agentRuntime, resumeDecidedTurn)
|
|
891
|
+
return agentRuntime
|
|
272
892
|
}
|
|
273
893
|
|
|
274
|
-
|
|
894
|
+
function createObservedAgentThreadsRuntime(
|
|
895
|
+
runtime: SixbRuntimeContext
|
|
896
|
+
): ObservedAgentThreadsRuntime {
|
|
897
|
+
const getById = async (threadId: string): Promise<AgentThreadView | null> => {
|
|
898
|
+
assertAuthorized(runtime, { kind: "agentThreads.observe" })
|
|
899
|
+
|
|
900
|
+
const thread = await runtime.storage.agents?.threads.getById({
|
|
901
|
+
projectId: runtime.projectId,
|
|
902
|
+
id: threadId,
|
|
903
|
+
})
|
|
904
|
+
if (!thread) return null
|
|
905
|
+
|
|
906
|
+
const [view] = await agentThreadViews(runtime, [thread])
|
|
907
|
+
return view ?? null
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
return {
|
|
911
|
+
getById,
|
|
912
|
+
|
|
913
|
+
async listRuns(threadId, input = {}) {
|
|
914
|
+
assertNoAgentSelector(input)
|
|
915
|
+
const thread = await getById(threadId)
|
|
916
|
+
if (!thread) return null
|
|
917
|
+
return listThreadRuns(runtime, thread, input)
|
|
918
|
+
},
|
|
919
|
+
|
|
920
|
+
async getChild(threadId) {
|
|
921
|
+
const thread = await getById(threadId)
|
|
922
|
+
const conversation = thread?.parent ? await getById(thread.parent.threadId) : null
|
|
923
|
+
return thread && conversation ? readAgentChild(runtime, conversation, thread) : null
|
|
924
|
+
},
|
|
925
|
+
|
|
926
|
+
async listChildren(threadId, { runId } = {}) {
|
|
927
|
+
const thread = await getById(threadId)
|
|
928
|
+
if (thread?.kind !== "conversation") return null
|
|
929
|
+
return {
|
|
930
|
+
children: await listAgentChildren(runtime, thread, {
|
|
931
|
+
...(runId === undefined ? {} : { spawnedBy: runId }),
|
|
932
|
+
}),
|
|
933
|
+
}
|
|
934
|
+
},
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
/**
|
|
939
|
+
* A thread's runs with their views: a conversation's turns, or a sub-agent's runs. Whoever calls it
|
|
940
|
+
* has decided who may read them.
|
|
941
|
+
*/
|
|
942
|
+
async function listThreadRuns(
|
|
275
943
|
runtime: SixbRuntimeContext,
|
|
276
|
-
|
|
277
|
-
|
|
944
|
+
thread: Pick<AgentThreadRecord, "id" | "kind">,
|
|
945
|
+
input: Omit<ListAgentRunsInput, "projectId" | "threadId">
|
|
946
|
+
): Promise<AgentRunListResult | null> {
|
|
947
|
+
const storage = runtime.storage.agents
|
|
948
|
+
if (!storage) return null
|
|
949
|
+
|
|
950
|
+
const result = await storage.runs.list({
|
|
951
|
+
...input,
|
|
952
|
+
projectId: runtime.projectId,
|
|
953
|
+
threadId: thread.id,
|
|
954
|
+
kinds: [thread.kind],
|
|
955
|
+
})
|
|
956
|
+
return { ...result, runs: await attachRunViews(runtime, result.runs) }
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
async function attachRunView<TRun extends AgentRunRecord>(
|
|
960
|
+
runtime: SixbRuntimeContext,
|
|
961
|
+
run: TRun
|
|
962
|
+
): Promise<TRun & AgentRunViewFields> {
|
|
278
963
|
const [view] = await attachRunViews(runtime, [run])
|
|
279
964
|
if (!view) throw new Error(`[Sixb] Could not build Agent run '${run.id}' view.`)
|
|
280
965
|
return view
|
|
281
966
|
}
|
|
282
967
|
|
|
283
|
-
async function attachRunViews(
|
|
968
|
+
async function attachRunViews<TRun extends AgentRunRecord>(
|
|
284
969
|
runtime: SixbRuntimeContext,
|
|
285
|
-
runs: readonly
|
|
286
|
-
): Promise<readonly
|
|
970
|
+
runs: readonly TRun[]
|
|
971
|
+
): Promise<readonly (TRun & AgentRunViewFields)[]> {
|
|
287
972
|
const executionIds = runs.map((run) => run.executionId)
|
|
288
|
-
const [executions,
|
|
973
|
+
const [executions, accounting] = await Promise.all([
|
|
289
974
|
Promise.all(
|
|
290
975
|
runs.map((run) =>
|
|
291
976
|
runtime.storage.executions.getById({
|
|
@@ -294,16 +979,7 @@ async function attachRunViews(
|
|
|
294
979
|
})
|
|
295
980
|
)
|
|
296
981
|
),
|
|
297
|
-
|
|
298
|
-
storage: runtime.storage.aiUsage,
|
|
299
|
-
projectId: runtime.projectId,
|
|
300
|
-
executionIds,
|
|
301
|
-
}),
|
|
302
|
-
resolveExecutionCosts({
|
|
303
|
-
storage: runtime.storage.aiCosts,
|
|
304
|
-
projectId: runtime.projectId,
|
|
305
|
-
executionIds,
|
|
306
|
-
}),
|
|
982
|
+
resolveTurnAccounting(runtime, executionIds),
|
|
307
983
|
])
|
|
308
984
|
|
|
309
985
|
return runs.map((run, index) => {
|
|
@@ -313,8 +989,7 @@ async function attachRunViews(
|
|
|
313
989
|
`[Sixb] Agent run '${run.id}' references missing execution '${run.executionId}'.`
|
|
314
990
|
)
|
|
315
991
|
}
|
|
316
|
-
const usage =
|
|
317
|
-
const cost = usage === undefined ? undefined : costs[index]
|
|
992
|
+
const { usage, cost } = accounting[index] ?? {}
|
|
318
993
|
return {
|
|
319
994
|
...run,
|
|
320
995
|
...(execution.requestedBy === undefined
|
|
@@ -325,3 +1000,26 @@ async function attachRunViews(
|
|
|
325
1000
|
}
|
|
326
1001
|
})
|
|
327
1002
|
}
|
|
1003
|
+
|
|
1004
|
+
/**
|
|
1005
|
+
* Why a resume was refused. An AI limit, or a failure Sixb did not expect, is tried again by the
|
|
1006
|
+
* worker's repair pass; a lost grant, a thread left or a sandbox to recreate is not.
|
|
1007
|
+
*/
|
|
1008
|
+
function refusedResume(error: unknown): Extract<AgentApprovalResume, { status: "refused" }> {
|
|
1009
|
+
if (error instanceof AgentRequestError) {
|
|
1010
|
+
return { status: "refused", code: error.code, message: error.message, retrying: false }
|
|
1011
|
+
}
|
|
1012
|
+
if (error instanceof AuthorizationError) {
|
|
1013
|
+
return { status: "refused", code: "forbidden", message: error.message, retrying: false }
|
|
1014
|
+
}
|
|
1015
|
+
if (isSixbError(error)) {
|
|
1016
|
+
return { status: "refused", code: error.code, message: error.message, retrying: true }
|
|
1017
|
+
}
|
|
1018
|
+
console.error("[Sixb] Could not resume an Agent turn after its approvals; retrying later.", error)
|
|
1019
|
+
return {
|
|
1020
|
+
status: "refused",
|
|
1021
|
+
code: "internal.unexpected",
|
|
1022
|
+
message: "[Sixb] The Agent turn could not resume. Sixb tries again.",
|
|
1023
|
+
retrying: true,
|
|
1024
|
+
}
|
|
1025
|
+
}
|