@sixb/core 0.1.18 → 0.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -6
- package/dist/actions/commit-edits.d.ts +7 -19
- package/dist/actions/commit-edits.d.ts.map +1 -1
- package/dist/actions/errors.d.ts +0 -3
- package/dist/actions/errors.d.ts.map +1 -1
- package/dist/actions/execution.d.ts +10 -3
- package/dist/actions/execution.d.ts.map +1 -1
- package/dist/actions/index.d.ts +6 -9
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +51 -50
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/request.d.ts +14 -25
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run/context.d.ts +40 -0
- package/dist/actions/run/context.d.ts.map +1 -0
- package/dist/actions/run/edits-commit.d.ts +31 -0
- package/dist/actions/run/edits-commit.d.ts.map +1 -0
- package/dist/actions/run/effects.d.ts +23 -0
- package/dist/actions/run/effects.d.ts.map +1 -0
- package/dist/actions/run/execute.d.ts +30 -0
- package/dist/actions/run/execute.d.ts.map +1 -0
- package/dist/actions/run/executor.d.ts +95 -0
- package/dist/actions/run/executor.d.ts.map +1 -0
- package/dist/actions/run/normalize.d.ts +36 -0
- package/dist/actions/run/normalize.d.ts.map +1 -0
- package/dist/actions/run/phase-types.d.ts +18 -0
- package/dist/actions/run/phase-types.d.ts.map +1 -0
- package/dist/actions/run/phases.d.ts +20 -0
- package/dist/actions/run/phases.d.ts.map +1 -0
- package/dist/actions/run/run-action.d.ts +25 -0
- package/dist/actions/run/run-action.d.ts.map +1 -0
- package/dist/actions/run/signals.d.ts +67 -0
- package/dist/actions/run/signals.d.ts.map +1 -0
- package/dist/actions/run/state.d.ts +47 -0
- package/dist/actions/run/state.d.ts.map +1 -0
- package/dist/actions/run/types.d.ts +54 -0
- package/dist/actions/run/types.d.ts.map +1 -0
- package/dist/actions/run/writeback.d.ts +17 -0
- package/dist/actions/run/writeback.d.ts.map +1 -0
- package/dist/actions/run-authorization.d.ts +1 -1
- package/dist/actions/run-authorization.d.ts.map +1 -1
- package/dist/actions/run-persistence.d.ts +53 -0
- package/dist/actions/run-persistence.d.ts.map +1 -0
- package/dist/actions/types/context.d.ts +10 -0
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/agents/index.js +52 -55
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/streams/index.js +2 -2
- package/dist/agents/streams/internal.js +2 -2
- package/dist/auth/cookies.d.ts +2 -4
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/index.d.ts +0 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +15 -21
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts +8 -10
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/session-cache.d.ts +1 -5
- package/dist/auth/session-cache.d.ts.map +1 -1
- package/dist/auth/strategy.js +1 -1
- package/dist/auth/types.d.ts +4 -8
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/validation.d.ts +0 -1
- package/dist/auth/validation.d.ts.map +1 -1
- package/dist/authorization/decision.d.ts +0 -4
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/event-visibility.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +6 -8
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +0 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +5 -9
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +1 -1
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/bootstrap/index.js +50 -53
- package/dist/bootstrap/index.js.map +2 -2
- package/dist/{chunk-vz3gc1tm.js → chunk-0rbyz4qy.js} +67 -69
- package/dist/{chunk-vz3gc1tm.js.map → chunk-0rbyz4qy.js.map} +4 -4
- package/dist/{chunk-rz53yb4v.js → chunk-0yh890a4.js} +1 -1
- package/dist/{chunk-vgk3hknm.js → chunk-1k89ecfr.js} +1 -1
- package/dist/{chunk-ny3xyvcn.js → chunk-1zq2p6g0.js} +3 -3
- package/dist/{chunk-dnmadg9k.js → chunk-3t2hgbgd.js} +2 -2
- package/dist/{chunk-k6hrnf35.js → chunk-4vyr1j8f.js} +51 -4
- package/dist/chunk-4vyr1j8f.js.map +11 -0
- package/dist/{chunk-22v5bpz3.js → chunk-5e43w60z.js} +1 -1
- package/dist/{chunk-de4z2bj6.js → chunk-5j58wjct.js} +17 -17
- package/dist/chunk-5j58wjct.js.map +18 -0
- package/dist/{chunk-fe52eczz.js → chunk-6c6sn0bh.js} +6352 -2127
- package/dist/chunk-6c6sn0bh.js.map +106 -0
- package/dist/{chunk-7hpdd6r9.js → chunk-6p49a5cq.js} +4 -4
- package/dist/{chunk-b9affek3.js → chunk-7n440zgt.js} +30 -30
- package/dist/{chunk-b9affek3.js.map → chunk-7n440zgt.js.map} +4 -4
- package/dist/{chunk-kkqwzy6h.js → chunk-7t429e3f.js} +1 -1
- package/dist/{chunk-6fsr7y93.js → chunk-8mx7qw3y.js} +14 -13
- package/dist/{chunk-6fsr7y93.js.map → chunk-8mx7qw3y.js.map} +4 -4
- package/dist/{chunk-kpx7jrmn.js → chunk-91mg3nj9.js} +59 -59
- package/dist/{chunk-kpx7jrmn.js.map → chunk-91mg3nj9.js.map} +5 -5
- package/dist/{chunk-ex496vct.js → chunk-9dmt152s.js} +1 -1
- package/dist/{chunk-48e3cn2d.js → chunk-9gyp8hg1.js} +2 -2
- package/dist/{chunk-ewqa58h9.js → chunk-9k93ah50.js} +4 -4
- package/dist/{chunk-ewqa58h9.js.map → chunk-9k93ah50.js.map} +1 -1
- package/dist/{chunk-zxawp1n2.js → chunk-9w055r5b.js} +1 -1
- package/dist/{chunk-4wn7bxxa.js → chunk-9ybhtmg4.js} +1 -1
- package/dist/{chunk-fc5zfxy1.js → chunk-a40ad1ft.js} +5 -13
- package/dist/chunk-a40ad1ft.js.map +10 -0
- package/dist/{chunk-y2aq6ag9.js → chunk-b38szspf.js} +5 -14
- package/dist/chunk-b38szspf.js.map +11 -0
- package/dist/{chunk-r2y23egw.js → chunk-bkpke1sg.js} +1 -10
- package/dist/chunk-bkpke1sg.js.map +10 -0
- package/dist/{chunk-htr6wjmv.js → chunk-bx9q3cwv.js} +22 -22
- package/dist/{chunk-htr6wjmv.js.map → chunk-bx9q3cwv.js.map} +1 -1
- package/dist/{chunk-vx2yp45y.js → chunk-c85m1hyj.js} +2 -2
- package/dist/{chunk-bs7sqkre.js → chunk-d09tj99x.js} +2 -2
- package/dist/{chunk-qkbx3tf6.js → chunk-d0bqz29d.js} +27 -47
- package/dist/chunk-d0bqz29d.js.map +23 -0
- package/dist/{chunk-zb77kjth.js → chunk-dk8tkk5f.js} +4 -4
- package/dist/{chunk-xt1zt7gv.js → chunk-es1gxsbf.js} +24 -15
- package/dist/chunk-es1gxsbf.js.map +13 -0
- package/dist/{chunk-vjcd8d27.js → chunk-fa02jy15.js} +1 -1
- package/dist/{chunk-za5yd58j.js → chunk-fkgc1wt8.js} +2 -2
- package/dist/{chunk-enpsx8k5.js → chunk-gsjm1wms.js} +16 -20
- package/dist/chunk-gsjm1wms.js.map +10 -0
- package/dist/{chunk-2jntasmh.js → chunk-hcbyfxbe.js} +25 -49
- package/dist/chunk-hcbyfxbe.js.map +12 -0
- package/dist/{chunk-p0dqwj3n.js → chunk-hjzdd750.js} +66 -47
- package/dist/{chunk-p0dqwj3n.js.map → chunk-hjzdd750.js.map} +4 -4
- package/dist/chunk-hkc3jct7.js.map +1 -1
- package/dist/{chunk-y05543x6.js → chunk-hvsb78a1.js} +4 -4
- package/dist/{chunk-y05543x6.js.map → chunk-hvsb78a1.js.map} +1 -1
- package/dist/{chunk-1b1f2d5f.js → chunk-k6q3n2sc.js} +9 -9
- package/dist/{chunk-1b1f2d5f.js.map → chunk-k6q3n2sc.js.map} +1 -1
- package/dist/{chunk-wr8qp979.js → chunk-m427qgq0.js} +9 -5
- package/dist/{chunk-wr8qp979.js.map → chunk-m427qgq0.js.map} +4 -3
- package/dist/{chunk-qq90g05n.js → chunk-n33z5bjw.js} +50 -240
- package/dist/{chunk-qq90g05n.js.map → chunk-n33z5bjw.js.map} +4 -4
- package/dist/{chunk-e1c18xjx.js → chunk-nq6gpjt7.js} +4 -45
- package/dist/{chunk-e1c18xjx.js.map → chunk-nq6gpjt7.js.map} +5 -5
- package/dist/{chunk-1hqwggsn.js → chunk-nzapm6p0.js} +1 -2
- package/dist/chunk-nzapm6p0.js.map +12 -0
- package/dist/{chunk-wt4szfec.js → chunk-pbcbn83d.js} +4 -4
- package/dist/{chunk-wt4szfec.js.map → chunk-pbcbn83d.js.map} +1 -1
- package/dist/{chunk-s4jhg8a3.js → chunk-ren4kg2j.js} +15 -15
- package/dist/{chunk-s4jhg8a3.js.map → chunk-ren4kg2j.js.map} +1 -1
- package/dist/{chunk-d0eb5yy6.js → chunk-rrzt8jdy.js} +5 -5
- package/dist/{chunk-d0eb5yy6.js.map → chunk-rrzt8jdy.js.map} +1 -1
- package/dist/{chunk-y9jmd7e5.js → chunk-s16apyk9.js} +102 -16
- package/dist/chunk-s16apyk9.js.map +16 -0
- package/dist/{chunk-6gmfggss.js → chunk-t7x8dmn0.js} +2 -2
- package/dist/{chunk-f1zxad2t.js → chunk-tg2cw67r.js} +6 -6
- package/dist/{chunk-f1zxad2t.js.map → chunk-tg2cw67r.js.map} +1 -1
- package/dist/{chunk-p844e0rn.js → chunk-tpn40322.js} +2 -2
- package/dist/{chunk-rt9p8m9t.js → chunk-v9xd5wzd.js} +1 -1
- package/dist/{chunk-6h5m9xjx.js → chunk-vpq4shxz.js} +49 -113
- package/dist/chunk-vpq4shxz.js.map +39 -0
- package/dist/{chunk-2vhg6ysa.js → chunk-vyf9kfqf.js} +1 -1
- package/dist/{chunk-bwjcehza.js → chunk-way52z4h.js} +1 -1
- package/dist/{chunk-qkvz64nd.js → chunk-x6m907x7.js} +3 -3
- package/dist/{chunk-yv9czyfr.js → chunk-xfs8x8m9.js} +5 -5
- package/dist/chunk-y0c4e6ex.js +16 -0
- package/dist/chunk-y0c4e6ex.js.map +10 -0
- package/dist/{chunk-v6xpd60t.js → chunk-yevzdx4y.js} +5 -5
- package/dist/{chunk-dfm066qg.js → chunk-yxd3nnqt.js} +2 -29
- package/dist/chunk-yxd3nnqt.js.map +11 -0
- package/dist/{chunk-70jmg2zx.js → chunk-yzwja0mj.js} +4 -19
- package/dist/{chunk-70jmg2zx.js.map → chunk-yzwja0mj.js.map} +3 -3
- package/dist/{chunk-qmnnhde6.js → chunk-z4m0yz8c.js} +1 -1
- package/dist/datasets/write.js +5 -5
- package/dist/deploy/index.d.ts +1 -1
- package/dist/deploy/index.d.ts.map +1 -1
- package/dist/deploy/internal.js +13 -10
- package/dist/deploy/internal.js.map +4 -4
- package/dist/deploy/services.d.ts +1 -2
- package/dist/deploy/services.d.ts.map +1 -1
- package/dist/deploy/types.d.ts +7 -7
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/validation.d.ts.map +1 -1
- package/dist/edits/index.js +3 -5
- package/dist/edits/index.js.map +1 -1
- package/dist/error-reporting/internal.js +3 -3
- package/dist/error-reporting/types.d.ts +2 -9
- package/dist/error-reporting/types.d.ts.map +1 -1
- package/dist/errors/catalog.d.ts +12 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/internal.js +1 -1
- package/dist/events/definitions.d.ts +0 -5
- package/dist/events/definitions.d.ts.map +1 -1
- package/dist/events/index.d.ts +3 -3
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +6 -8
- package/dist/events/index.js.map +1 -1
- package/dist/events/scope.d.ts +0 -1
- package/dist/events/scope.d.ts.map +1 -1
- package/dist/events/scope.js +1 -1
- package/dist/events/selectors/builder.d.ts +1 -8
- 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/predicate.d.ts.map +1 -1
- package/dist/events/selectors/types.d.ts +2 -33
- package/dist/events/selectors/types.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +1 -12
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/execution/agent.js +41 -44
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/primitive.js +60 -91
- package/dist/execution/primitive.js.map +3 -4
- package/dist/execution/request.js +40 -43
- package/dist/execution/request.js.map +2 -2
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +105 -127
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/index.js +5 -5
- package/dist/materialization/index.js +3 -3
- package/dist/materialization/index.js.map +1 -1
- package/dist/materialization/model.d.ts +19 -6
- package/dist/materialization/model.d.ts.map +1 -1
- package/dist/materializer/index.js +31 -31
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/models/execution/index.js +21 -21
- package/dist/objects/action/errors.d.ts +0 -9
- package/dist/objects/action/errors.d.ts.map +1 -1
- package/dist/objects/action/index.d.ts +3 -3
- package/dist/objects/action/index.d.ts.map +1 -1
- package/dist/objects/action/request.d.ts +2 -8
- package/dist/objects/action/request.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +0 -2
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +44 -29
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/query/index.js +29 -29
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/service/index.d.ts +0 -1
- package/dist/objects/service/index.d.ts.map +1 -1
- package/dist/objects/vectors/handle.d.ts.map +1 -1
- package/dist/objects/vectors/profile.d.ts +5 -0
- package/dist/objects/vectors/profile.d.ts.map +1 -1
- package/dist/ontology/index.js +6 -6
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/internal.js +2 -2
- package/dist/pipelines/index.js +28 -28
- package/dist/projections/internal.js +22 -22
- package/dist/projections/internal.js.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +1 -2
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.d.ts +1 -1
- package/dist/queues/index.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +0 -7
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/internal.js +27 -28
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +16 -36
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/index.js +5 -5
- 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 +0 -1
- package/dist/schedules/validation.d.ts.map +1 -1
- package/dist/security/builders.d.ts.map +1 -1
- package/dist/security/every.d.ts +2 -5
- package/dist/security/every.d.ts.map +1 -1
- package/dist/security/grants.d.ts +2 -4
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +1 -2
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/membership-policies.d.ts.map +1 -1
- package/dist/security/public.d.ts +10 -0
- package/dist/security/public.d.ts.map +1 -0
- package/dist/security/public.js +10 -0
- package/dist/security/public.js.map +9 -0
- package/dist/security/registry.d.ts +0 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +13 -18
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +0 -6
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/internal.js +20 -20
- package/dist/storage/action-runs/failure.js +2 -2
- package/dist/storage/action-runs/idempotency.d.ts +3 -4
- package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
- package/dist/storage/action-runs/in-memory.d.ts +2 -9
- package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/action-runs/index.d.ts +1 -3
- package/dist/storage/action-runs/index.d.ts.map +1 -1
- package/dist/storage/action-runs/provider.js +1 -1
- package/dist/storage/action-runs/record.d.ts +20 -0
- package/dist/storage/action-runs/record.d.ts.map +1 -0
- package/dist/storage/action-runs/types.d.ts +39 -68
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/agents/types.d.ts +1 -1
- package/dist/storage/ai-limits/enforcement.js +2 -2
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/magic-links.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/oidc-attempts.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/sessions.d.ts +0 -10
- package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/shared.d.ts +1 -2
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +1 -17
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +1 -1
- package/dist/storage/file-upload-sessions/provider.js +10 -10
- package/dist/storage/index.d.ts +2 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +21 -22
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +1 -1
- package/dist/storage/internal.d.ts.map +1 -1
- package/dist/storage/internal.js +9 -12
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/objects/execution-limits.d.ts +1 -1
- package/dist/storage/objects/execution-limits.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +2 -2
- package/dist/storage/projection-runs/provider.js +2 -2
- package/dist/storage/types.d.ts +1 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +10 -10
- package/dist/syncs/index.js +29 -29
- package/dist/testing/action-execution.d.ts +34 -4
- package/dist/testing/action-execution.d.ts.map +1 -1
- package/dist/testing/action-run-storage-contract.d.ts +11 -0
- package/dist/testing/action-run-storage-contract.d.ts.map +1 -0
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.d.ts +2 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3205 -2946
- package/dist/testing/index.js.map +9 -8
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +26 -26
- package/dist/webhooks/internal.js.map +1 -1
- package/dist/workers/index.js +1 -1
- package/dist/workflows/index.js +48 -51
- package/dist/workflows/index.js.map +1 -1
- package/package.json +8 -8
- package/src/actions/commit-edits.ts +9 -37
- package/src/actions/errors.ts +0 -4
- package/src/actions/execution.ts +10 -10
- package/src/actions/index.ts +5 -24
- package/src/actions/request.ts +157 -295
- package/src/actions/run/context.ts +193 -0
- package/src/actions/run/edits-commit.ts +102 -0
- package/src/actions/run/effects.ts +105 -0
- package/src/actions/run/execute.ts +113 -0
- package/src/actions/run/executor.ts +314 -0
- package/src/actions/run/normalize.ts +142 -0
- package/src/actions/run/phase-types.ts +20 -0
- package/src/actions/run/phases.ts +150 -0
- package/src/actions/run/run-action.ts +170 -0
- package/src/actions/run/signals.ts +118 -0
- package/src/actions/run/state.ts +95 -0
- package/src/actions/run/types.ts +61 -0
- package/src/actions/run/writeback.ts +79 -0
- package/src/actions/run-authorization.ts +1 -1
- package/src/actions/run-persistence.ts +105 -0
- package/src/actions/types/context.ts +10 -0
- package/src/auth/cookies.ts +3 -20
- package/src/auth/index.ts +0 -6
- package/src/auth/runtime.ts +59 -76
- package/src/auth/session-cache.ts +2 -9
- package/src/auth/types.ts +4 -8
- package/src/auth/validation.ts +0 -2
- package/src/authorization/decision.ts +8 -23
- package/src/authorization/event-visibility.ts +0 -12
- package/src/authorization/grant-kinds.ts +20 -27
- package/src/authorization/index.ts +0 -1
- package/src/authorization/resolve.ts +10 -6
- package/src/deploy/index.ts +0 -1
- package/src/deploy/services.ts +2 -12
- package/src/deploy/types.ts +7 -8
- package/src/deploy/validation.ts +15 -7
- package/src/error-reporting/types.ts +2 -10
- package/src/errors/catalog.ts +13 -0
- package/src/events/definitions.ts +0 -17
- package/src/events/index.ts +0 -14
- package/src/events/scope.ts +0 -12
- package/src/events/selectors/builder.ts +0 -51
- package/src/events/selectors/index.ts +0 -6
- package/src/events/selectors/predicate.ts +0 -2
- package/src/events/selectors/types.ts +7 -65
- package/src/events/types/index.ts +0 -11
- package/src/execution/authorization.ts +11 -5
- package/src/index.ts +2 -33
- package/src/materialization/model.ts +26 -9
- package/src/materializer/README.md +6 -1
- package/src/materializer/edits/commit.ts +42 -32
- package/src/materializer/shared/normalize.ts +25 -14
- package/src/models/execution/embedding.ts +6 -6
- package/src/objects/action/errors.ts +0 -12
- package/src/objects/action/index.ts +3 -3
- package/src/objects/action/request.ts +2 -29
- package/src/objects/execution.ts +2 -2
- package/src/objects/sdk/object-handle.ts +3 -29
- package/src/objects/sdk/object-set.ts +5 -30
- package/src/objects/service/index.ts +0 -1
- package/src/objects/vectors/README.md +4 -0
- package/src/objects/vectors/handle.ts +11 -2
- package/src/objects/vectors/indexing-generate.ts +2 -2
- package/src/objects/vectors/profile.ts +5 -0
- package/src/queues/in-memory.ts +0 -6
- package/src/queues/index.ts +0 -2
- package/src/queues/types.ts +0 -11
- package/src/runtime/host.ts +5 -0
- package/src/runtime/resolve-definitions.ts +0 -1
- package/src/runtime/types.ts +16 -45
- package/src/schedules/builders.ts +1 -4
- package/src/schedules/runtime.ts +0 -41
- package/src/schedules/validation.ts +2 -16
- package/src/security/builders.ts +7 -2
- package/src/security/every.ts +1 -5
- package/src/security/grants.ts +5 -25
- package/src/security/index.ts +0 -3
- package/src/security/membership-policies.ts +3 -1
- package/src/security/public.ts +10 -0
- package/src/security/registry.ts +0 -8
- package/src/security/types.ts +19 -25
- package/src/security/validation.ts +19 -17
- package/src/storage/action-runs/idempotency.ts +13 -41
- package/src/storage/action-runs/in-memory.ts +20 -311
- package/src/storage/action-runs/index.ts +1 -16
- package/src/storage/action-runs/record.ts +130 -0
- package/src/storage/action-runs/types.ts +37 -92
- package/src/storage/agents/types.ts +1 -1
- package/src/storage/auth/in-memory/auth-storage.ts +0 -18
- package/src/storage/auth/in-memory/magic-links.ts +0 -3
- package/src/storage/auth/in-memory/oidc-attempts.ts +0 -3
- package/src/storage/auth/in-memory/sessions.ts +1 -25
- package/src/storage/auth/in-memory/shared.ts +1 -10
- package/src/storage/auth/types.ts +2 -18
- package/src/storage/index.ts +1 -9
- package/src/storage/internal.ts +1 -7
- package/src/storage/objects/execution-limits.ts +3 -2
- package/src/storage/types.ts +2 -4
- package/src/testing/action-execution.ts +73 -13
- package/src/testing/action-run-storage-contract.ts +335 -0
- package/src/testing/auth-storage-contract.ts +14 -107
- package/src/testing/execution-storage-contract.ts +0 -2
- package/src/testing/index.ts +8 -1
- package/src/testing/materializer-storage-contract.ts +174 -18
- package/src/testing/queues-contract.ts +0 -18
- package/dist/actions/run-dispatch.d.ts +0 -25
- package/dist/actions/run-dispatch.d.ts.map +0 -1
- package/dist/actions/worker.d.ts +0 -3
- package/dist/actions/worker.d.ts.map +0 -1
- package/dist/actions/worker.js +0 -325
- package/dist/actions/worker.js.map +0 -11
- package/dist/auth/audience.d.ts +0 -8
- package/dist/auth/audience.d.ts.map +0 -1
- package/dist/authorization/application-access.d.ts +0 -18
- package/dist/authorization/application-access.d.ts.map +0 -1
- package/dist/chunk-1hqwggsn.js.map +0 -12
- package/dist/chunk-2jntasmh.js.map +0 -13
- package/dist/chunk-6h5m9xjx.js.map +0 -40
- package/dist/chunk-85cd7e8c.js +0 -51
- package/dist/chunk-85cd7e8c.js.map +0 -10
- package/dist/chunk-de4z2bj6.js.map +0 -18
- package/dist/chunk-dfm066qg.js.map +0 -11
- package/dist/chunk-enpsx8k5.js.map +0 -10
- package/dist/chunk-fc5zfxy1.js.map +0 -11
- package/dist/chunk-fe52eczz.js.map +0 -49
- package/dist/chunk-fx93hd2n.js +0 -1614
- package/dist/chunk-fx93hd2n.js.map +0 -20
- package/dist/chunk-k6hrnf35.js.map +0 -10
- package/dist/chunk-qkbx3tf6.js.map +0 -24
- package/dist/chunk-qxvp5epv.js +0 -1329
- package/dist/chunk-qxvp5epv.js.map +0 -36
- package/dist/chunk-r2y23egw.js.map +0 -10
- package/dist/chunk-tffvfy6s.js +0 -593
- package/dist/chunk-tffvfy6s.js.map +0 -15
- package/dist/chunk-xt1zt7gv.js.map +0 -13
- package/dist/chunk-y2aq6ag9.js.map +0 -11
- package/dist/chunk-y9jmd7e5.js.map +0 -15
- package/dist/chunk-zvx7h87b.js +0 -12
- package/dist/chunk-zvx7h87b.js.map +0 -10
- package/dist/events/types/actions.d.ts +0 -39
- package/dist/events/types/actions.d.ts.map +0 -1
- package/dist/objects/service/action-service.d.ts +0 -13
- package/dist/objects/service/action-service.d.ts.map +0 -1
- package/dist/security/applications.d.ts +0 -15
- package/dist/security/applications.d.ts.map +0 -1
- package/src/actions/run-dispatch.ts +0 -282
- package/src/actions/worker.ts +0 -2
- package/src/auth/audience.ts +0 -28
- package/src/authorization/application-access.ts +0 -34
- package/src/events/types/actions.ts +0 -42
- package/src/objects/service/action-service.ts +0 -43
- package/src/security/applications.ts +0 -11
- /package/dist/{chunk-rz53yb4v.js.map → chunk-0yh890a4.js.map} +0 -0
- /package/dist/{chunk-vgk3hknm.js.map → chunk-1k89ecfr.js.map} +0 -0
- /package/dist/{chunk-ny3xyvcn.js.map → chunk-1zq2p6g0.js.map} +0 -0
- /package/dist/{chunk-dnmadg9k.js.map → chunk-3t2hgbgd.js.map} +0 -0
- /package/dist/{chunk-22v5bpz3.js.map → chunk-5e43w60z.js.map} +0 -0
- /package/dist/{chunk-7hpdd6r9.js.map → chunk-6p49a5cq.js.map} +0 -0
- /package/dist/{chunk-kkqwzy6h.js.map → chunk-7t429e3f.js.map} +0 -0
- /package/dist/{chunk-ex496vct.js.map → chunk-9dmt152s.js.map} +0 -0
- /package/dist/{chunk-48e3cn2d.js.map → chunk-9gyp8hg1.js.map} +0 -0
- /package/dist/{chunk-zxawp1n2.js.map → chunk-9w055r5b.js.map} +0 -0
- /package/dist/{chunk-4wn7bxxa.js.map → chunk-9ybhtmg4.js.map} +0 -0
- /package/dist/{chunk-vx2yp45y.js.map → chunk-c85m1hyj.js.map} +0 -0
- /package/dist/{chunk-bs7sqkre.js.map → chunk-d09tj99x.js.map} +0 -0
- /package/dist/{chunk-zb77kjth.js.map → chunk-dk8tkk5f.js.map} +0 -0
- /package/dist/{chunk-vjcd8d27.js.map → chunk-fa02jy15.js.map} +0 -0
- /package/dist/{chunk-za5yd58j.js.map → chunk-fkgc1wt8.js.map} +0 -0
- /package/dist/{chunk-6gmfggss.js.map → chunk-t7x8dmn0.js.map} +0 -0
- /package/dist/{chunk-p844e0rn.js.map → chunk-tpn40322.js.map} +0 -0
- /package/dist/{chunk-rt9p8m9t.js.map → chunk-v9xd5wzd.js.map} +0 -0
- /package/dist/{chunk-2vhg6ysa.js.map → chunk-vyf9kfqf.js.map} +0 -0
- /package/dist/{chunk-bwjcehza.js.map → chunk-way52z4h.js.map} +0 -0
- /package/dist/{chunk-qkvz64nd.js.map → chunk-x6m907x7.js.map} +0 -0
- /package/dist/{chunk-yv9czyfr.js.map → chunk-xfs8x8m9.js.map} +0 -0
- /package/dist/{chunk-v6xpd60t.js.map → chunk-yevzdx4y.js.map} +0 -0
- /package/dist/{chunk-qmnnhde6.js.map → chunk-z4m0yz8c.js.map} +0 -0
package/src/objects/execution.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { shareActionRunExecutor } from "../actions/run/executor"
|
|
1
2
|
import type { BlobStorage } from "../blob-storage"
|
|
2
3
|
import { shareSixbErrorReporter } from "../error-reporting/capability"
|
|
3
4
|
import type { ExecutionContext } from "../execution"
|
|
@@ -86,7 +87,6 @@ export interface ExecutionObjectByIdHandle<TObjectType extends ObjectTypeWithPro
|
|
|
86
87
|
extends ObjectReadByIdHandle<TObjectType> {
|
|
87
88
|
vector: ObjectByIdHandle<TObjectType>["vector"]
|
|
88
89
|
requestAction: ObjectByIdHandle<TObjectType>["requestAction"]
|
|
89
|
-
requestActionAndWait: ObjectByIdHandle<TObjectType>["requestActionAndWait"]
|
|
90
90
|
link: ObjectByIdHandle<TObjectType>["link"]
|
|
91
91
|
unlink: ObjectByIdHandle<TObjectType>["unlink"]
|
|
92
92
|
delete: ObjectByIdHandle<TObjectType>["delete"]
|
|
@@ -97,7 +97,6 @@ export interface ExecutionObjectByIdHandle<TObjectType extends ObjectTypeWithPro
|
|
|
97
97
|
export interface ExecutionObjectSet<TObjectType extends ObjectTypeWithPropertyTokens>
|
|
98
98
|
extends ObjectReadSet<TObjectType> {
|
|
99
99
|
requestAction: ObjectSet<TObjectType>["requestAction"]
|
|
100
|
-
requestActionAndWait: ObjectSet<TObjectType>["requestActionAndWait"]
|
|
101
100
|
upsert: ObjectSet<TObjectType>["upsert"]
|
|
102
101
|
upsertLink: ObjectSet<TObjectType>["upsertLink"]
|
|
103
102
|
removeLink: ObjectSet<TObjectType>["removeLink"]
|
|
@@ -173,6 +172,7 @@ export function createObjectsRuntime(
|
|
|
173
172
|
}
|
|
174
173
|
shareOntologyMutationRuntime(runtime, capturedRuntime)
|
|
175
174
|
shareSixbErrorReporter(runtime, capturedRuntime)
|
|
175
|
+
shareActionRunExecutor(runtime, capturedRuntime)
|
|
176
176
|
Object.freeze(capturedRuntime)
|
|
177
177
|
const ontologyView = () => getAuthorizedOntologyView(objectReader)
|
|
178
178
|
const objects = Object.assign(
|
|
@@ -10,10 +10,7 @@ import { OntologyValidationError } from "../../ontology/errors"
|
|
|
10
10
|
import type { LinkToken, ObjectTypeWithPropertyTokens, PropertyToken } from "../../ontology/tokens"
|
|
11
11
|
import { assertLinkTokenBelongsToObjectType } from "../../ontology/validation"
|
|
12
12
|
import type { ObjectByIdHandle, TwinObject } from "../../runtime/types"
|
|
13
|
-
import {
|
|
14
|
-
requestActionAndWait as requestActionAndWaitLeaf,
|
|
15
|
-
requestAction as requestActionLeaf,
|
|
16
|
-
} from "../action"
|
|
13
|
+
import { requestAction as requestActionLeaf } from "../action"
|
|
17
14
|
import type { ObjectSetContext, ResolvedLinkContext } from "../context"
|
|
18
15
|
import { removeLink as removeLinkLeaf, upsertLink as upsertLinkLeaf } from "../link"
|
|
19
16
|
import { deleteObject, restoreObject } from "../object"
|
|
@@ -91,6 +88,7 @@ export function createObjectByIdHandle<TObjectType extends ObjectTypeWithPropert
|
|
|
91
88
|
actionId?: string
|
|
92
89
|
params?: Record<string, unknown>
|
|
93
90
|
runId?: string
|
|
91
|
+
signal?: AbortSignal
|
|
94
92
|
}) => {
|
|
95
93
|
const actionId = input.action?.id ?? input.actionId
|
|
96
94
|
if (!actionId) {
|
|
@@ -102,31 +100,7 @@ export function createObjectByIdHandle<TObjectType extends ObjectTypeWithPropert
|
|
|
102
100
|
primaryId,
|
|
103
101
|
actionId,
|
|
104
102
|
params: input.params,
|
|
105
|
-
options: { runId: input.runId },
|
|
106
|
-
})
|
|
107
|
-
},
|
|
108
|
-
|
|
109
|
-
requestActionAndWait: async (input: {
|
|
110
|
-
action?: ActionDefinition
|
|
111
|
-
actionId?: string
|
|
112
|
-
params?: Record<string, unknown>
|
|
113
|
-
timeoutMs?: number
|
|
114
|
-
signal?: AbortSignal
|
|
115
|
-
}) => {
|
|
116
|
-
const actionId = input.action?.id ?? input.actionId
|
|
117
|
-
if (!actionId) {
|
|
118
|
-
throw new OntologyValidationError(
|
|
119
|
-
"[Sixb] requestActionAndWait requires either 'action' or 'actionId'"
|
|
120
|
-
)
|
|
121
|
-
}
|
|
122
|
-
return requestActionAndWaitLeaf(ctx, {
|
|
123
|
-
primaryId,
|
|
124
|
-
actionId,
|
|
125
|
-
params: input.params,
|
|
126
|
-
options: {
|
|
127
|
-
timeoutMs: input.timeoutMs,
|
|
128
|
-
signal: input.signal,
|
|
129
|
-
},
|
|
103
|
+
options: { runId: input.runId, signal: input.signal },
|
|
130
104
|
})
|
|
131
105
|
},
|
|
132
106
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import type { ActionDefinition } from "../../actions"
|
|
8
|
+
import { shareActionRunExecutor } from "../../actions/run/executor"
|
|
8
9
|
import type { AuthorizationContext } from "../../authorization"
|
|
9
10
|
import type { BlobStorage } from "../../blob-storage"
|
|
10
11
|
import { shareSixbErrorReporter } from "../../error-reporting/capability"
|
|
@@ -19,10 +20,7 @@ import type {
|
|
|
19
20
|
SixbRuntimeContext,
|
|
20
21
|
TwinObject,
|
|
21
22
|
} from "../../runtime/types"
|
|
22
|
-
import {
|
|
23
|
-
requestActionAndWait as requestActionAndWaitLeaf,
|
|
24
|
-
requestAction as requestActionLeaf,
|
|
25
|
-
} from "../action"
|
|
23
|
+
import { requestAction as requestActionLeaf } from "../action"
|
|
26
24
|
import type { ObjectSetContext, ResolvedLinkContext } from "../context"
|
|
27
25
|
import { requireLinkDefinition } from "../context"
|
|
28
26
|
import { removeLink as removeLinkLeaf, upsertLink as upsertLinkLeaf } from "../link"
|
|
@@ -88,6 +86,7 @@ export function createObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
|
|
|
88
86
|
}
|
|
89
87
|
shareOntologyMutationRuntime(params, resolvedCtx)
|
|
90
88
|
shareSixbErrorReporter(params, resolvedCtx)
|
|
89
|
+
shareActionRunExecutor(params, resolvedCtx)
|
|
91
90
|
|
|
92
91
|
const objectSet = {
|
|
93
92
|
get: async (id: string) => {
|
|
@@ -149,6 +148,7 @@ export function createObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
|
|
|
149
148
|
actionId?: string
|
|
150
149
|
params?: Record<string, unknown>
|
|
151
150
|
runId?: string
|
|
151
|
+
signal?: AbortSignal
|
|
152
152
|
}) => {
|
|
153
153
|
const actionId = input.action?.id ?? input.actionId
|
|
154
154
|
if (!actionId) {
|
|
@@ -160,32 +160,7 @@ export function createObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
|
|
|
160
160
|
primaryId: input.id,
|
|
161
161
|
actionId,
|
|
162
162
|
params: input.params,
|
|
163
|
-
options: { runId: input.runId },
|
|
164
|
-
})
|
|
165
|
-
},
|
|
166
|
-
|
|
167
|
-
requestActionAndWait: async (input: {
|
|
168
|
-
id: string
|
|
169
|
-
action?: ActionDefinition
|
|
170
|
-
actionId?: string
|
|
171
|
-
params?: Record<string, unknown>
|
|
172
|
-
timeoutMs?: number
|
|
173
|
-
signal?: AbortSignal
|
|
174
|
-
}) => {
|
|
175
|
-
const actionId = input.action?.id ?? input.actionId
|
|
176
|
-
if (!actionId) {
|
|
177
|
-
throw new OntologyValidationError(
|
|
178
|
-
"[Sixb] requestActionAndWait requires either 'action' or 'actionId'"
|
|
179
|
-
)
|
|
180
|
-
}
|
|
181
|
-
return requestActionAndWaitLeaf(resolvedCtx, {
|
|
182
|
-
primaryId: input.id,
|
|
183
|
-
actionId,
|
|
184
|
-
params: input.params,
|
|
185
|
-
options: {
|
|
186
|
-
timeoutMs: input.timeoutMs,
|
|
187
|
-
signal: input.signal,
|
|
188
|
-
},
|
|
163
|
+
options: { runId: input.runId, signal: input.signal },
|
|
189
164
|
})
|
|
190
165
|
},
|
|
191
166
|
|
|
@@ -5,6 +5,10 @@ A named profile identifies a derived representation, separate from object proper
|
|
|
5
5
|
Indexing sends embedding purpose `document`; search sends `query`. The execution wrapper preserves
|
|
6
6
|
that role through model resolution, admission and accounting. Symmetric providers may ignore it.
|
|
7
7
|
|
|
8
|
+
Each caller sets its own deadline; the execution wrapper adds none. A search has someone waiting
|
|
9
|
+
and gives up after 30 seconds. Indexing, automatic or explicit, waits five minutes: the provider
|
|
10
|
+
bills a call whose response is abandoned, and an abandoned automatic call is a terminal failure.
|
|
11
|
+
|
|
8
12
|
Vector candidates may come from filters, traversals, explicit refs or set operations. Canonical
|
|
9
13
|
validation requires one concrete result type and admits every intermediate type, edge and source
|
|
10
14
|
property. Model lookup uses that resolved result type, not the query's initial type. SQL ranks the
|
|
@@ -6,7 +6,12 @@ import type { PreparedObjectVector } from "../../materialization/vectors"
|
|
|
6
6
|
import { sameEmbeddingModel } from "../../models/embedding-model"
|
|
7
7
|
import { getOntologyMutationRuntime } from "../../runtime/ontology-mutations"
|
|
8
8
|
import type { ExecutionObjectContext } from "../context"
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
INDEXING_EMBEDDING_TIMEOUT_MS,
|
|
11
|
+
normalizeVector,
|
|
12
|
+
vectorConfiguration,
|
|
13
|
+
vectorSources,
|
|
14
|
+
} from "./profile"
|
|
10
15
|
import type { ObjectVectorHandle } from "./types"
|
|
11
16
|
|
|
12
17
|
export function createObjectVectorHandle(
|
|
@@ -65,7 +70,11 @@ export function createObjectVectorHandle(
|
|
|
65
70
|
}
|
|
66
71
|
|
|
67
72
|
// Network work never holds a storage transaction or retries an obsolete computation.
|
|
68
|
-
const result = await model.embed({
|
|
73
|
+
const result = await model.embed({
|
|
74
|
+
texts: [input.text],
|
|
75
|
+
purpose: "document",
|
|
76
|
+
signal: AbortSignal.timeout(INDEXING_EMBEDDING_TIMEOUT_MS),
|
|
77
|
+
})
|
|
69
78
|
if (!Array.isArray(result?.vectors) || result.vectors.length !== 1) {
|
|
70
79
|
throw new MaterializationValidationError(
|
|
71
80
|
"Embedding model must return exactly one vector for one input text."
|
|
@@ -11,7 +11,7 @@ import { ModelExecutionSession } from "../../models/execution/session"
|
|
|
11
11
|
import type { SixbHostContext } from "../../runtime/types"
|
|
12
12
|
import type { VectorIndexingWork } from "../../storage/ontology/vector-indexing"
|
|
13
13
|
import { fail, retryAt, VectorIndexingDeferred } from "./indexing-shared"
|
|
14
|
-
import { normalizeVector } from "./profile"
|
|
14
|
+
import { INDEXING_EMBEDDING_TIMEOUT_MS, normalizeVector } from "./profile"
|
|
15
15
|
|
|
16
16
|
export interface PreparedIndexingWork {
|
|
17
17
|
readonly work: VectorIndexingWork
|
|
@@ -66,7 +66,7 @@ export async function generateVectors(
|
|
|
66
66
|
const result = await model.embed({
|
|
67
67
|
texts: entries.map((entry) => entry.input.text),
|
|
68
68
|
purpose: "document",
|
|
69
|
-
signal,
|
|
69
|
+
signal: AbortSignal.any([signal, AbortSignal.timeout(INDEXING_EMBEDDING_TIMEOUT_MS)]),
|
|
70
70
|
})
|
|
71
71
|
const values = normalizeEmbeddingResult(
|
|
72
72
|
result,
|
|
@@ -4,6 +4,11 @@ import type { ObjectVectorSearchProfile } from "../../ontology/types"
|
|
|
4
4
|
|
|
5
5
|
export const MAX_VECTOR_K = 1000
|
|
6
6
|
export const VECTOR_INPUT_VERSION = 1
|
|
7
|
+
/**
|
|
8
|
+
* Nobody waits on indexing, and the provider bills a call whose response is abandoned. The
|
|
9
|
+
* deadline only frees the worker from a dead connection, so it is far longer than a search's.
|
|
10
|
+
*/
|
|
11
|
+
export const INDEXING_EMBEDDING_TIMEOUT_MS = 5 * 60_000
|
|
7
12
|
|
|
8
13
|
export function vectorConfiguration(profile: ObjectVectorSearchProfile): string {
|
|
9
14
|
return sha256Canonical({
|
package/src/queues/in-memory.ts
CHANGED
|
@@ -3,8 +3,6 @@ import type { SixbErrorCode } from "../errors/types"
|
|
|
3
3
|
import { QueueError } from "./errors"
|
|
4
4
|
import { IndexedHeap } from "./indexed-heap"
|
|
5
5
|
import type {
|
|
6
|
-
ActionQueueJobFailureCode,
|
|
7
|
-
ActionRunRequestedQueueJob,
|
|
8
6
|
AgentQueueJob,
|
|
9
7
|
AgentQueueJobFailureCode,
|
|
10
8
|
ClaimedQueueJob,
|
|
@@ -458,10 +456,6 @@ export class InMemoryQueues implements Queues {
|
|
|
458
456
|
this.store,
|
|
459
457
|
"workflow.runs"
|
|
460
458
|
)
|
|
461
|
-
readonly actions = new InMemoryQueue<ActionRunRequestedQueueJob, ActionQueueJobFailureCode>(
|
|
462
|
-
this.store,
|
|
463
|
-
"action.runs"
|
|
464
|
-
)
|
|
465
459
|
readonly agents = new InMemoryQueue<AgentQueueJob, AgentQueueJobFailureCode>(
|
|
466
460
|
this.store,
|
|
467
461
|
"agent.runs"
|
package/src/queues/index.ts
CHANGED
|
@@ -15,8 +15,6 @@ export type { ProviderScope } from "../provider-scope"
|
|
|
15
15
|
export { QueueError } from "./errors"
|
|
16
16
|
export { InMemoryQueues } from "./in-memory"
|
|
17
17
|
export type {
|
|
18
|
-
ActionQueueJobFailureCode,
|
|
19
|
-
ActionRunRequestedQueueJob,
|
|
20
18
|
AgentAiUsageRecordRequestedQueueJob,
|
|
21
19
|
AgentQueueJob,
|
|
22
20
|
AgentQueueJobFailureCode,
|
package/src/queues/types.ts
CHANGED
|
@@ -6,7 +6,6 @@ import type {
|
|
|
6
6
|
} from "../models/execution/types"
|
|
7
7
|
import type { ProjectionRunFailureCode } from "../projections/types"
|
|
8
8
|
import type { ProviderScope } from "../provider-scope"
|
|
9
|
-
import type { ActionRunFailureCode } from "../storage/action-runs/types"
|
|
10
9
|
import type { AgentRunFailureCode } from "../storage/agents/types"
|
|
11
10
|
import type { PipelineRunFailureCode } from "../storage/pipeline-runs/types"
|
|
12
11
|
import type { SyncRunFailureCode } from "../storage/sync-runs/types"
|
|
@@ -48,7 +47,6 @@ export type SyncQueueJobFailureCode = SyncRunFailureCode
|
|
|
48
47
|
export type PipelineQueueJobFailureCode = PipelineRunFailureCode
|
|
49
48
|
export type ProjectionQueueJobFailureCode = ProjectionRunFailureCode
|
|
50
49
|
export type WorkflowQueueJobFailureCode = WorkflowRunFailureCode
|
|
51
|
-
export type ActionQueueJobFailureCode = ActionRunFailureCode
|
|
52
50
|
export type AgentQueueJobFailureCode = AgentRunFailureCode
|
|
53
51
|
|
|
54
52
|
export interface ClaimedQueueJob<TQueueJob extends QueueJob = QueueJob> {
|
|
@@ -176,14 +174,6 @@ export interface WorkflowRunResumeRequestedQueueJob
|
|
|
176
174
|
|
|
177
175
|
export type WorkflowQueueJob = WorkflowRunRequestedQueueJob | WorkflowRunResumeRequestedQueueJob
|
|
178
176
|
|
|
179
|
-
export interface ActionRunRequestedQueueJob
|
|
180
|
-
extends QueueJob<
|
|
181
|
-
"action.run.requested",
|
|
182
|
-
{
|
|
183
|
-
readonly runId: string
|
|
184
|
-
}
|
|
185
|
-
> {}
|
|
186
|
-
|
|
187
177
|
/**
|
|
188
178
|
* An agent turn is requested for a thread. The payload points to the durable queued run created
|
|
189
179
|
* with the user message; the worker transitions it to running and installs the delivery's execution
|
|
@@ -245,7 +235,6 @@ export interface Queues {
|
|
|
245
235
|
readonly pipelines: Queue<PipelineRunRequestedQueueJob, PipelineQueueJobFailureCode>
|
|
246
236
|
readonly projections: Queue<ProjectionRunRequestedQueueJob, ProjectionQueueJobFailureCode>
|
|
247
237
|
readonly workflows: Queue<WorkflowQueueJob, WorkflowQueueJobFailureCode>
|
|
248
|
-
readonly actions: Queue<ActionRunRequestedQueueJob, ActionQueueJobFailureCode>
|
|
249
238
|
readonly agents: Queue<AgentQueueJob, AgentQueueJobFailureCode>
|
|
250
239
|
/** Internal capacity reserved for headless child runs. */
|
|
251
240
|
readonly agentChildren: Queue<SubagentQueueJob, AgentQueueJobFailureCode>
|
package/src/runtime/host.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { resolve } from "node:path"
|
|
9
|
+
import { ActionRunExecutor, registerActionRunExecutor } from "../actions/run/executor"
|
|
9
10
|
import type { ActionDefinition } from "../actions/types"
|
|
10
11
|
import type { AgentDefinitionsInput, AgentToolDefinition } from "../agents"
|
|
11
12
|
import {
|
|
@@ -294,6 +295,10 @@ export class SixbHost<in out TParams extends ParamsConfig = ParamsConfig> {
|
|
|
294
295
|
}
|
|
295
296
|
registerProjectionRegistry(this.hostContext, definitions.projections)
|
|
296
297
|
shareSixbErrorReporter(this, this.hostContext)
|
|
298
|
+
// Bound SDKs run requested Actions through the context; the host drains them on shutdown.
|
|
299
|
+
const executor = new ActionRunExecutor(this)
|
|
300
|
+
registerActionRunExecutor(this, executor)
|
|
301
|
+
registerActionRunExecutor(this.hostContext, executor)
|
|
297
302
|
registerVectorIndexingRuntime(
|
|
298
303
|
this,
|
|
299
304
|
createVectorIndexingRuntime(this.hostContext, this.materializer)
|
|
@@ -145,7 +145,6 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
|
|
|
145
145
|
|
|
146
146
|
validateSchedulesAtStartup(schedules, ontology, {
|
|
147
147
|
registeredRuleIds: new Set(rulesById.keys()),
|
|
148
|
-
registeredActionIds,
|
|
149
148
|
registeredDatasetIds: new Set(datasetsById.keys()),
|
|
150
149
|
registeredSyncIds: new Set(syncsById.keys()),
|
|
151
150
|
registeredPipelineIds: new Set(pipelinesById.keys()),
|
package/src/runtime/types.ts
CHANGED
|
@@ -5,12 +5,7 @@
|
|
|
5
5
|
* Each level narrows generic parameters so downstream code stays type-safe.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import type {
|
|
9
|
-
ActionDefinitionCatalog,
|
|
10
|
-
ActionParamsConfig,
|
|
11
|
-
InferActionParams,
|
|
12
|
-
RequestActionResult,
|
|
13
|
-
} from "../actions"
|
|
8
|
+
import type { ActionDefinitionCatalog, ActionParamsConfig, InferActionParams } from "../actions"
|
|
14
9
|
import type { AuthorizationContext } from "../authorization"
|
|
15
10
|
import type { OpenedFileRef } from "../blob-storage"
|
|
16
11
|
import type { Broker } from "../broker"
|
|
@@ -860,36 +855,25 @@ export interface ObjectByIdHandle<TObjectType extends ObjectTypeWithPropertyToke
|
|
|
860
855
|
target: ObjectRef<ResolveTargetTypeId<TLinkToken["targetObjectTypeId"]>>
|
|
861
856
|
): Promise<void>
|
|
862
857
|
|
|
863
|
-
/**
|
|
858
|
+
/**
|
|
859
|
+
* Run an action on this object by id (dynamic / server contexts) and return its terminal run.
|
|
860
|
+
* A failed run resolves with status `failed`.
|
|
861
|
+
*/
|
|
864
862
|
requestAction(input: {
|
|
865
863
|
actionId: string
|
|
866
864
|
params?: Record<string, unknown>
|
|
867
865
|
runId?: string
|
|
868
|
-
|
|
866
|
+
signal?: AbortSignal
|
|
867
|
+
}): Promise<ActionRunRecord>
|
|
869
868
|
|
|
870
869
|
/**
|
|
871
|
-
*
|
|
870
|
+
* Run an action on this object using a typed action reference, and return its terminal run.
|
|
872
871
|
* Params are inferred from the action's declared shape.
|
|
873
872
|
*/
|
|
874
873
|
requestAction<const TAction extends TypedActionReference>(input: {
|
|
875
874
|
action: TAction
|
|
876
875
|
params: NoInfer<TypedActionParams<TAction>>
|
|
877
876
|
runId?: string
|
|
878
|
-
}): Promise<RequestActionResult>
|
|
879
|
-
|
|
880
|
-
/** Request an action and wait for the terminal lifecycle event. */
|
|
881
|
-
requestActionAndWait(input: {
|
|
882
|
-
actionId: string
|
|
883
|
-
params?: Record<string, unknown>
|
|
884
|
-
timeoutMs?: number
|
|
885
|
-
signal?: AbortSignal
|
|
886
|
-
}): Promise<ActionRunRecord>
|
|
887
|
-
|
|
888
|
-
/** Request a typed action and wait for the terminal lifecycle event. */
|
|
889
|
-
requestActionAndWait<const TAction extends TypedActionReference>(input: {
|
|
890
|
-
action: TAction
|
|
891
|
-
params: NoInfer<TypedActionParams<TAction>>
|
|
892
|
-
timeoutMs?: number
|
|
893
877
|
signal?: AbortSignal
|
|
894
878
|
}): Promise<ActionRunRecord>
|
|
895
879
|
|
|
@@ -931,40 +915,27 @@ export interface ObjectSet<TObjectType extends ObjectTypeWithPropertyTokens>
|
|
|
931
915
|
}[]
|
|
932
916
|
): Promise<void>
|
|
933
917
|
|
|
934
|
-
/**
|
|
918
|
+
/**
|
|
919
|
+
* Run an action on an object of this type by id (dynamic / server contexts) and return its
|
|
920
|
+
* terminal run. A failed run resolves with status `failed`.
|
|
921
|
+
*/
|
|
935
922
|
requestAction(input: {
|
|
936
923
|
id: string
|
|
937
924
|
actionId: string
|
|
938
925
|
params?: Record<string, unknown>
|
|
939
926
|
runId?: string
|
|
940
|
-
|
|
927
|
+
signal?: AbortSignal
|
|
928
|
+
}): Promise<ActionRunRecord>
|
|
941
929
|
|
|
942
930
|
/**
|
|
943
|
-
*
|
|
944
|
-
* Params are inferred from the action's declared shape.
|
|
931
|
+
* Run an action on an object of this type using a typed action reference, and return its
|
|
932
|
+
* terminal run. Params are inferred from the action's declared shape.
|
|
945
933
|
*/
|
|
946
934
|
requestAction<const TAction extends TypedActionReference>(input: {
|
|
947
935
|
id: string
|
|
948
936
|
action: TAction
|
|
949
937
|
params: NoInfer<TypedActionParams<TAction>>
|
|
950
938
|
runId?: string
|
|
951
|
-
}): Promise<RequestActionResult>
|
|
952
|
-
|
|
953
|
-
/** Request an action on an object and wait for the terminal lifecycle event. */
|
|
954
|
-
requestActionAndWait(input: {
|
|
955
|
-
id: string
|
|
956
|
-
actionId: string
|
|
957
|
-
params?: Record<string, unknown>
|
|
958
|
-
timeoutMs?: number
|
|
959
|
-
signal?: AbortSignal
|
|
960
|
-
}): Promise<ActionRunRecord>
|
|
961
|
-
|
|
962
|
-
/** Request a typed action and wait for the terminal lifecycle event. */
|
|
963
|
-
requestActionAndWait<const TAction extends TypedActionReference>(input: {
|
|
964
|
-
id: string
|
|
965
|
-
action: TAction
|
|
966
|
-
params: NoInfer<TypedActionParams<TAction>>
|
|
967
|
-
timeoutMs?: number
|
|
968
939
|
signal?: AbortSignal
|
|
969
940
|
}): Promise<ActionRunRecord>
|
|
970
941
|
|
|
@@ -169,9 +169,6 @@ function assertEventSource(source: EventSelectorSpec): void {
|
|
|
169
169
|
case "rules":
|
|
170
170
|
assertNonEmpty(source.ruleId ?? "", "event source ruleId")
|
|
171
171
|
return
|
|
172
|
-
case "actions":
|
|
173
|
-
assertNonEmpty(source.actionId ?? "", "event source actionId")
|
|
174
|
-
return
|
|
175
172
|
case "datasets":
|
|
176
173
|
assertNonEmpty(source.datasetId ?? "", "event source datasetId")
|
|
177
174
|
return
|
|
@@ -183,7 +180,7 @@ function assertEventSource(source: EventSelectorSpec): void {
|
|
|
183
180
|
return
|
|
184
181
|
default:
|
|
185
182
|
throw new ScheduleValidationError(
|
|
186
|
-
"Schedule event source must select object, link, rule,
|
|
183
|
+
"Schedule event source must select object, link, rule, dataset, sync, or pipeline events."
|
|
187
184
|
)
|
|
188
185
|
}
|
|
189
186
|
}
|
package/src/schedules/runtime.ts
CHANGED
|
@@ -100,26 +100,6 @@ export function buildEventScheduleContext(event: DomainEvent): RuntimeEventSched
|
|
|
100
100
|
primaryId: event.payload.subject.primaryId,
|
|
101
101
|
},
|
|
102
102
|
}
|
|
103
|
-
case "action.requested":
|
|
104
|
-
return {
|
|
105
|
-
actionId: event.payload.actionId,
|
|
106
|
-
runId: event.payload.runId,
|
|
107
|
-
...actionSubjectContext(event.payload.subject),
|
|
108
|
-
params: { ...event.payload.params },
|
|
109
|
-
}
|
|
110
|
-
case "action.completed":
|
|
111
|
-
return {
|
|
112
|
-
actionId: event.payload.actionId,
|
|
113
|
-
runId: event.payload.runId,
|
|
114
|
-
...actionSubjectContext(event.payload.subject),
|
|
115
|
-
}
|
|
116
|
-
case "action.failed":
|
|
117
|
-
return {
|
|
118
|
-
actionId: event.payload.actionId,
|
|
119
|
-
runId: event.payload.runId,
|
|
120
|
-
...actionSubjectContext(event.payload.subject),
|
|
121
|
-
error: event.payload.error,
|
|
122
|
-
}
|
|
123
103
|
case "dataset.version.committed":
|
|
124
104
|
return { ...event.payload }
|
|
125
105
|
case "sync.run.finished":
|
|
@@ -131,27 +111,6 @@ export function buildEventScheduleContext(event: DomainEvent): RuntimeEventSched
|
|
|
131
111
|
}
|
|
132
112
|
}
|
|
133
113
|
|
|
134
|
-
function actionSubjectContext(subject: {
|
|
135
|
-
readonly kind: "none" | "object"
|
|
136
|
-
readonly objectTypeId?: string
|
|
137
|
-
readonly primaryId?: string
|
|
138
|
-
}): { readonly subject?: { readonly objectTypeId: string; readonly primaryId: string } } {
|
|
139
|
-
if (
|
|
140
|
-
subject.kind !== "object" ||
|
|
141
|
-
subject.objectTypeId === undefined ||
|
|
142
|
-
subject.primaryId === undefined
|
|
143
|
-
) {
|
|
144
|
-
return {}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
return {
|
|
148
|
-
subject: {
|
|
149
|
-
objectTypeId: subject.objectTypeId,
|
|
150
|
-
primaryId: subject.primaryId,
|
|
151
|
-
},
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
114
|
function fieldsForEvent(event: DomainEvent): Readonly<Record<string, unknown>> {
|
|
156
115
|
if (event.topic !== "links") {
|
|
157
116
|
return {}
|
|
@@ -8,7 +8,6 @@ import type { EventScheduleCondition, EventScheduleDefinition, ScheduleDefinitio
|
|
|
8
8
|
const objectEventTypes = new Set(["object.created", "object.updated", "object.deleted"])
|
|
9
9
|
const linkEventTypes = new Set(["link.created", "link.updated", "link.deleted"])
|
|
10
10
|
const ruleEventTypes = new Set(["rule.triggered", "rule.resolved"])
|
|
11
|
-
const actionEventTypes = new Set(["action.requested", "action.completed", "action.failed"])
|
|
12
11
|
const datasetEventTypes = new Set(["dataset.version.committed"])
|
|
13
12
|
const syncEventTypes = new Set(["sync.run.finished"])
|
|
14
13
|
const pipelineEventTypes = new Set(["pipeline.run.finished"])
|
|
@@ -17,7 +16,6 @@ const linkIdentityFields = new Set(["target.objectTypeId", "target.primaryId"])
|
|
|
17
16
|
|
|
18
17
|
export interface ValidateSchedulesAtStartupOptions {
|
|
19
18
|
readonly registeredRuleIds?: ReadonlySet<string>
|
|
20
|
-
readonly registeredActionIds?: ReadonlySet<string>
|
|
21
19
|
readonly registeredDatasetIds?: ReadonlySet<string>
|
|
22
20
|
readonly registeredSyncIds?: ReadonlySet<string>
|
|
23
21
|
readonly registeredPipelineIds?: ReadonlySet<string>
|
|
@@ -138,9 +136,6 @@ function assertEventSourceShape(
|
|
|
138
136
|
case "rules":
|
|
139
137
|
assertNonEmptyString(value.ruleId, `${path} ruleId`, createError)
|
|
140
138
|
return
|
|
141
|
-
case "actions":
|
|
142
|
-
assertNonEmptyString(value.actionId, `${path} actionId`, createError)
|
|
143
|
-
return
|
|
144
139
|
case "datasets":
|
|
145
140
|
assertNonEmptyString(value.datasetId, `${path} datasetId`, createError)
|
|
146
141
|
return
|
|
@@ -154,7 +149,7 @@ function assertEventSourceShape(
|
|
|
154
149
|
return
|
|
155
150
|
default:
|
|
156
151
|
throw createError(
|
|
157
|
-
`${path} must select object, link, rule,
|
|
152
|
+
`${path} must select object, link, rule, dataset, sync, or pipeline events.`
|
|
158
153
|
)
|
|
159
154
|
}
|
|
160
155
|
}
|
|
@@ -212,15 +207,6 @@ function validateEventSchedule(
|
|
|
212
207
|
"rule"
|
|
213
208
|
)
|
|
214
209
|
return
|
|
215
|
-
case "actions":
|
|
216
|
-
validateRegisteredSource(
|
|
217
|
-
schedule,
|
|
218
|
-
source.actionId,
|
|
219
|
-
options.registeredActionIds,
|
|
220
|
-
actionEventTypes,
|
|
221
|
-
"action"
|
|
222
|
-
)
|
|
223
|
-
return
|
|
224
210
|
case "datasets":
|
|
225
211
|
validateRegisteredSource(
|
|
226
212
|
schedule,
|
|
@@ -294,7 +280,7 @@ function validateRegisteredSource(
|
|
|
294
280
|
sourceId: string | undefined,
|
|
295
281
|
registeredIds: ReadonlySet<string> | undefined,
|
|
296
282
|
supportedTypes: ReadonlySet<string>,
|
|
297
|
-
sourceKind: "rule" | "
|
|
283
|
+
sourceKind: "rule" | "dataset" | "sync" | "pipeline"
|
|
298
284
|
): void {
|
|
299
285
|
validateEventTypes(schedule, supportedTypes, sourceKind)
|
|
300
286
|
if (!registeredIds?.has(sourceId ?? "")) {
|
package/src/security/builders.ts
CHANGED
|
@@ -39,7 +39,12 @@ export interface DefineMembershipPolicyOptions {
|
|
|
39
39
|
readonly can: readonly MembershipOperation[]
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
const MEMBERSHIP_OPERATIONS = new Set<MembershipOperation>([
|
|
42
|
+
const MEMBERSHIP_OPERATIONS = new Set<MembershipOperation>([
|
|
43
|
+
"invite",
|
|
44
|
+
"assignGroups",
|
|
45
|
+
"suspend",
|
|
46
|
+
"serviceAccounts",
|
|
47
|
+
])
|
|
43
48
|
|
|
44
49
|
function assertNonEmptyArray<T>(value: readonly T[], field: string): void {
|
|
45
50
|
if (value.length === 0) {
|
|
@@ -65,7 +70,7 @@ function membershipOperationsFrom(
|
|
|
65
70
|
return operations.map((operation) => {
|
|
66
71
|
if (!MEMBERSHIP_OPERATIONS.has(operation)) {
|
|
67
72
|
throw new SecurityValidationError(
|
|
68
|
-
`[Sixb] ${field} must contain only membership operations: invite, assignGroups, suspend.`
|
|
73
|
+
`[Sixb] ${field} must contain only membership operations: invite, assignGroups, suspend, serviceAccounts.`
|
|
69
74
|
)
|
|
70
75
|
}
|
|
71
76
|
|
package/src/security/every.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* They live under one `every` namespace on purpose. Spending seven of the best identifiers in
|
|
10
10
|
* `@sixb/core` — `actions`, `workflows`, `syncs`, … — on an auxiliary subsystem collided with the
|
|
11
|
-
* primitives themselves and with
|
|
11
|
+
* primitives themselves and with client builders such as `logs.actions()`.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import type { ActionDefinition } from "../actions/types"
|
|
@@ -20,7 +20,6 @@ import type { ShareDefinition } from "../shares"
|
|
|
20
20
|
import type { SyncDefinition } from "../syncs"
|
|
21
21
|
import type { WorkflowDefinition } from "../workflows/types"
|
|
22
22
|
import { SecurityValidationError } from "./errors"
|
|
23
|
-
import type { ApplicationDefinition } from "./types"
|
|
24
23
|
|
|
25
24
|
/** Capability targets a breadth selector can range over. */
|
|
26
25
|
export const BREADTH_TARGETS = [
|
|
@@ -30,7 +29,6 @@ export const BREADTH_TARGETS = [
|
|
|
30
29
|
"workflow",
|
|
31
30
|
"sync",
|
|
32
31
|
"pipeline",
|
|
33
|
-
"application",
|
|
34
32
|
"connector",
|
|
35
33
|
"share",
|
|
36
34
|
] as const
|
|
@@ -44,7 +42,6 @@ interface BreadthTargetInput {
|
|
|
44
42
|
workflow: WorkflowDefinition
|
|
45
43
|
sync: SyncDefinition
|
|
46
44
|
pipeline: PipelineDefinition
|
|
47
|
-
application: ApplicationDefinition
|
|
48
45
|
connector: ConnectorDefinition
|
|
49
46
|
share: ShareDefinition
|
|
50
47
|
}
|
|
@@ -106,7 +103,6 @@ export const every = {
|
|
|
106
103
|
workflow: (): BreadthSelector<"workflow"> => all("workflow"),
|
|
107
104
|
sync: (): BreadthSelector<"sync"> => all("sync"),
|
|
108
105
|
pipeline: (): BreadthSelector<"pipeline"> => all("pipeline"),
|
|
109
|
-
application: (): BreadthSelector<"application"> => all("application"),
|
|
110
106
|
connector: (): BreadthSelector<"connector"> => all("connector"),
|
|
111
107
|
share: (): BreadthSelector<"share"> => all("share"),
|
|
112
108
|
}
|