@sixb/core 0.1.18 → 0.1.19
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/index.js +11 -11
- package/dist/auth/index.js.map +1 -1
- package/dist/authorization/event-visibility.d.ts.map +1 -1
- package/dist/authorization/index.js +3 -3
- package/dist/bootstrap/index.js +46 -49
- package/dist/bootstrap/index.js.map +2 -2
- package/dist/{chunk-d0eb5yy6.js → chunk-1f7wpmyp.js} +5 -5
- package/dist/{chunk-d0eb5yy6.js.map → chunk-1f7wpmyp.js.map} +1 -1
- package/dist/{chunk-vgk3hknm.js → chunk-1k89ecfr.js} +1 -1
- package/dist/{chunk-6h5m9xjx.js → chunk-3gnrh4ve.js} +6 -10
- package/dist/{chunk-6h5m9xjx.js.map → chunk-3gnrh4ve.js.map} +4 -4
- package/dist/{chunk-htr6wjmv.js → chunk-4tcx876c.js} +15 -15
- package/dist/{chunk-htr6wjmv.js.map → chunk-4tcx876c.js.map} +1 -1
- package/dist/{chunk-za5yd58j.js → chunk-52bk93x8.js} +2 -2
- package/dist/{chunk-22v5bpz3.js → chunk-5e43w60z.js} +1 -1
- package/dist/{chunk-zxawp1n2.js → chunk-7kg3k1m9.js} +1 -1
- package/dist/{chunk-ny3xyvcn.js → chunk-7mbzgd9m.js} +3 -3
- 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-s4jhg8a3.js → chunk-80mc0971.js} +13 -13
- package/dist/{chunk-s4jhg8a3.js.map → chunk-80mc0971.js.map} +1 -1
- package/dist/{chunk-1b1f2d5f.js → chunk-85yvv5n0.js} +8 -8
- package/dist/{chunk-1b1f2d5f.js.map → chunk-85yvv5n0.js.map} +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-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-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-vz3gc1tm.js → chunk-aff7cyea.js} +62 -64
- package/dist/{chunk-vz3gc1tm.js.map → chunk-aff7cyea.js.map} +4 -4
- 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-bs7sqkre.js → chunk-bpgy64fw.js} +1 -1
- package/dist/{chunk-vx2yp45y.js → chunk-c85m1hyj.js} +2 -2
- package/dist/{chunk-v6xpd60t.js → chunk-d2ync1v3.js} +5 -5
- package/dist/{chunk-fe52eczz.js → chunk-ey3pyej1.js} +6345 -2125
- package/dist/chunk-ey3pyej1.js.map +106 -0
- package/dist/{chunk-vjcd8d27.js → chunk-fa02jy15.js} +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-qq90g05n.js → chunk-j2bp5ryw.js} +53 -244
- package/dist/{chunk-qq90g05n.js.map → chunk-j2bp5ryw.js.map} +3 -3
- package/dist/{chunk-qmnnhde6.js → chunk-kg5j6fct.js} +1 -1
- package/dist/{chunk-de4z2bj6.js → chunk-kyzq4wy9.js} +6 -6
- 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-e1c18xjx.js → chunk-nq6gpjt7.js} +4 -45
- package/dist/{chunk-e1c18xjx.js.map → chunk-nq6gpjt7.js.map} +5 -5
- package/dist/{chunk-ex496vct.js → chunk-nre82s12.js} +1 -1
- 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-7hpdd6r9.js → chunk-q1vkr2ys.js} +4 -4
- package/dist/{chunk-zb77kjth.js → chunk-rhg02hxq.js} +3 -3
- package/dist/{chunk-y9jmd7e5.js → chunk-s16apyk9.js} +102 -16
- package/dist/chunk-s16apyk9.js.map +16 -0
- package/dist/{chunk-yv9czyfr.js → chunk-t6vq7bff.js} +5 -5
- package/dist/{chunk-qkvz64nd.js → chunk-tjb1mk5t.js} +2 -2
- package/dist/{chunk-p844e0rn.js → chunk-tpn40322.js} +2 -2
- package/dist/{chunk-rt9p8m9t.js → chunk-v9xd5wzd.js} +1 -1
- package/dist/{chunk-2vhg6ysa.js → chunk-vyf9kfqf.js} +1 -1
- package/dist/{chunk-k6hrnf35.js → chunk-wwdfe68s.js} +51 -4
- package/dist/chunk-wwdfe68s.js.map +11 -0
- package/dist/{chunk-f1zxad2t.js → chunk-wz0xs816.js} +6 -6
- package/dist/{chunk-f1zxad2t.js.map → chunk-wz0xs816.js.map} +1 -1
- package/dist/chunk-y0c4e6ex.js +16 -0
- package/dist/chunk-y0c4e6ex.js.map +10 -0
- package/dist/{chunk-qkbx3tf6.js → chunk-y7rqfrgg.js} +6 -13
- package/dist/{chunk-qkbx3tf6.js.map → chunk-y7rqfrgg.js.map} +4 -4
- 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-p0dqwj3n.js → chunk-zrmy8zvw.js} +66 -47
- package/dist/{chunk-p0dqwj3n.js.map → chunk-zrmy8zvw.js.map} +4 -4
- package/dist/deploy/index.d.ts +1 -1
- package/dist/deploy/index.d.ts.map +1 -1
- package/dist/deploy/internal.js +10 -8
- 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 +6 -5
- 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/primitive.js +57 -88
- package/dist/execution/primitive.js.map +3 -4
- package/dist/execution/request.js +35 -38
- package/dist/execution/request.js.map +2 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -120
- package/dist/index.js.map +1 -1
- 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 +18 -18
- 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/ontology/index.js +5 -5
- 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 +24 -25
- 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/every.d.ts +1 -1
- package/dist/shares/internal.js +17 -17
- 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/ai-limits/enforcement.js +2 -2
- package/dist/storage/connector-connections/provider.js +1 -1
- package/dist/storage/file-upload-sessions/provider.js +9 -9
- package/dist/storage/index.d.ts +2 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +30 -31
- 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 +9 -9
- 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/index.d.ts +2 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3202 -2860
- package/dist/testing/index.js.map +7 -6
- 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 +23 -23
- 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 +1 -7
- 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/authorization/event-visibility.ts +0 -12
- package/src/deploy/index.ts +0 -1
- package/src/deploy/services.ts +2 -11
- package/src/deploy/types.ts +6 -6
- package/src/deploy/validation.ts +12 -6
- 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/index.ts +1 -19
- 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/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/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/every.ts +1 -1
- 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/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/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/chunk-1hqwggsn.js.map +0 -12
- package/dist/chunk-85cd7e8c.js +0 -51
- package/dist/chunk-85cd7e8c.js.map +0 -10
- package/dist/chunk-dfm066qg.js.map +0 -11
- 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-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-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/src/actions/run-dispatch.ts +0 -282
- package/src/actions/worker.ts +0 -2
- package/src/events/types/actions.ts +0 -42
- package/src/objects/service/action-service.ts +0 -43
- /package/dist/{chunk-vgk3hknm.js.map → chunk-1k89ecfr.js.map} +0 -0
- /package/dist/{chunk-za5yd58j.js.map → chunk-52bk93x8.js.map} +0 -0
- /package/dist/{chunk-22v5bpz3.js.map → chunk-5e43w60z.js.map} +0 -0
- /package/dist/{chunk-zxawp1n2.js.map → chunk-7kg3k1m9.js.map} +0 -0
- /package/dist/{chunk-ny3xyvcn.js.map → chunk-7mbzgd9m.js.map} +0 -0
- /package/dist/{chunk-kkqwzy6h.js.map → chunk-7t429e3f.js.map} +0 -0
- /package/dist/{chunk-48e3cn2d.js.map → chunk-9gyp8hg1.js.map} +0 -0
- /package/dist/{chunk-4wn7bxxa.js.map → chunk-9ybhtmg4.js.map} +0 -0
- /package/dist/{chunk-bs7sqkre.js.map → chunk-bpgy64fw.js.map} +0 -0
- /package/dist/{chunk-vx2yp45y.js.map → chunk-c85m1hyj.js.map} +0 -0
- /package/dist/{chunk-v6xpd60t.js.map → chunk-d2ync1v3.js.map} +0 -0
- /package/dist/{chunk-vjcd8d27.js.map → chunk-fa02jy15.js.map} +0 -0
- /package/dist/{chunk-qmnnhde6.js.map → chunk-kg5j6fct.js.map} +0 -0
- /package/dist/{chunk-de4z2bj6.js.map → chunk-kyzq4wy9.js.map} +0 -0
- /package/dist/{chunk-ex496vct.js.map → chunk-nre82s12.js.map} +0 -0
- /package/dist/{chunk-7hpdd6r9.js.map → chunk-q1vkr2ys.js.map} +0 -0
- /package/dist/{chunk-zb77kjth.js.map → chunk-rhg02hxq.js.map} +0 -0
- /package/dist/{chunk-yv9czyfr.js.map → chunk-t6vq7bff.js.map} +0 -0
- /package/dist/{chunk-qkvz64nd.js.map → chunk-tjb1mk5t.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
|
@@ -9,7 +9,7 @@ import type {
|
|
|
9
9
|
OntologyMaterializationOrigin,
|
|
10
10
|
OntologyOperationOutcome,
|
|
11
11
|
} from "../../materialization/model"
|
|
12
|
-
import type { Storage } from "../../storage"
|
|
12
|
+
import type { RecordActionRunInput, Storage } from "../../storage"
|
|
13
13
|
import type { MaterializationSession, OntologyCommitWrite } from "../../storage/ontology"
|
|
14
14
|
import type { MaterializerContext, MaterializerStorage } from "../context"
|
|
15
15
|
import { replayCommit, withSerializationRetry } from "../execution/commit-lifecycle"
|
|
@@ -67,7 +67,7 @@ async function prepareEditCommit(
|
|
|
67
67
|
const identity = createTimedCommitIdentity({
|
|
68
68
|
projectId: context.projectId,
|
|
69
69
|
idempotencyKey,
|
|
70
|
-
normalizedCallerIntent: input,
|
|
70
|
+
normalizedCallerIntent: editIntent(input),
|
|
71
71
|
now: context.clock(),
|
|
72
72
|
})
|
|
73
73
|
return {
|
|
@@ -86,24 +86,15 @@ function editIdempotencyKey(input: NormalizedEditCommit): string {
|
|
|
86
86
|
return createRuntimeIdempotencyKey(input.source.requestId)
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
):
|
|
95
|
-
if (
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
"Storage does not provide Action run capabilities required by this commit."
|
|
99
|
-
)
|
|
100
|
-
}
|
|
101
|
-
const run = await storage.actionRuns.lockForMaterialization({
|
|
102
|
-
projectId,
|
|
103
|
-
actionId: input.source.actionId,
|
|
104
|
-
runId: input.source.runId,
|
|
105
|
-
})
|
|
106
|
-
assertMaterializerRunExecution(execution, run.executionId, `Action run '${run.id}'`)
|
|
89
|
+
/**
|
|
90
|
+
* What a replay of the commit must repeat: its edits, without the run record an Action commit
|
|
91
|
+
* carries. That record is written by the commit that inserts it, and its timestamps differ on
|
|
92
|
+
* every attempt.
|
|
93
|
+
*/
|
|
94
|
+
function editIntent(input: NormalizedEditCommit): unknown {
|
|
95
|
+
if (!("run" in input)) return input
|
|
96
|
+
const { run: _run, ...intent } = input
|
|
97
|
+
return intent
|
|
107
98
|
}
|
|
108
99
|
|
|
109
100
|
async function validateMutationExecution(
|
|
@@ -122,24 +113,48 @@ async function validateMutationExecution(
|
|
|
122
113
|
id: input.source.actionId,
|
|
123
114
|
runId: input.source.runId,
|
|
124
115
|
})
|
|
125
|
-
|
|
116
|
+
const run = requireActionRun(input)
|
|
117
|
+
if (run.projectId !== projectId || run.id !== input.source.runId) {
|
|
126
118
|
throw new MaterializationValidationError(
|
|
127
|
-
|
|
119
|
+
`The record carried by Action run '${input.source.runId}' belongs to another run.`
|
|
128
120
|
)
|
|
129
121
|
}
|
|
130
|
-
const run = await storage.actionRuns.getById({ projectId, id: input.source.runId })
|
|
131
|
-
if (!run) {
|
|
132
|
-
throw new MaterializationValidationError(`Action run '${input.source.runId}' was not found.`)
|
|
133
|
-
}
|
|
134
122
|
if (run.actionId !== input.source.actionId) {
|
|
135
123
|
throw new MaterializationConflictError(
|
|
136
124
|
"run-correlation",
|
|
137
125
|
`Action run '${run.id}' does not belong to action '${input.source.actionId}'.`
|
|
138
126
|
)
|
|
139
127
|
}
|
|
128
|
+
if (run.status !== "succeeded" || run.phase !== "commit") {
|
|
129
|
+
throw new MaterializationValidationError(
|
|
130
|
+
`Action run '${run.id}' commits its edits only as a succeeded run in its commit phase.`
|
|
131
|
+
)
|
|
132
|
+
}
|
|
140
133
|
assertMaterializerRunExecution(execution, run.executionId, `Action run '${run.id}'`)
|
|
141
134
|
}
|
|
142
135
|
|
|
136
|
+
/**
|
|
137
|
+
* Insert the run that made these edits, in the commit's transaction: the edits, their outbox facts,
|
|
138
|
+
* and the run record land together or not at all. A run already recorded fails the commit, since a
|
|
139
|
+
* run id is recorded once.
|
|
140
|
+
*/
|
|
141
|
+
async function recordActionRun(storage: Storage, input: NormalizedEditCommit): Promise<void> {
|
|
142
|
+
if (input.source.kind !== "action") return
|
|
143
|
+
if (!storage.actionRuns) {
|
|
144
|
+
throw new MaterializationValidationError(
|
|
145
|
+
"Storage does not provide Action run capabilities required by this commit."
|
|
146
|
+
)
|
|
147
|
+
}
|
|
148
|
+
await storage.actionRuns.record(requireActionRun(input))
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
function requireActionRun(input: NormalizedEditCommit): RecordActionRunInput {
|
|
152
|
+
if (!("run" in input)) {
|
|
153
|
+
throw new MaterializationValidationError("An Action commit must carry its run's record.")
|
|
154
|
+
}
|
|
155
|
+
return input.run
|
|
156
|
+
}
|
|
157
|
+
|
|
143
158
|
async function executeEditCommit(
|
|
144
159
|
context: MaterializerContext,
|
|
145
160
|
command: PreparedEditCommit
|
|
@@ -167,12 +182,7 @@ async function executeEditTransaction(
|
|
|
167
182
|
)
|
|
168
183
|
if (replay) return replay
|
|
169
184
|
|
|
170
|
-
await
|
|
171
|
-
storage,
|
|
172
|
-
context.projectId,
|
|
173
|
-
command.input,
|
|
174
|
-
command.execution
|
|
175
|
-
)
|
|
185
|
+
await recordActionRun(storage, command.input)
|
|
176
186
|
|
|
177
187
|
const session = await beginEditMaterialization(context, storage, command)
|
|
178
188
|
const workingState = await loadEditWorkingState(
|
|
@@ -284,17 +284,6 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
|
|
|
284
284
|
})
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
const source =
|
|
288
|
-
input.source.kind === "action"
|
|
289
|
-
? Object.freeze({
|
|
290
|
-
kind: "action" as const,
|
|
291
|
-
actionId: normalizeNonblank(input.source.actionId, "Action id"),
|
|
292
|
-
runId: normalizeNonblank(input.source.runId, "Action run id"),
|
|
293
|
-
})
|
|
294
|
-
: Object.freeze({
|
|
295
|
-
kind: "runtime" as const,
|
|
296
|
-
requestId: normalizeNonblank(input.source.requestId, "Runtime request id"),
|
|
297
|
-
})
|
|
298
287
|
if (input.vectorWrites?.length && (operations.length || input.source.kind !== "runtime")) {
|
|
299
288
|
throw new MaterializationValidationError(
|
|
300
289
|
"Vector writes require a dedicated atomic runtime commit."
|
|
@@ -305,12 +294,11 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
|
|
|
305
294
|
const expectedLinks = input.expectedLinks.map(normalizeExpectedLink)
|
|
306
295
|
const expectedLinkScopes = input.expectedLinkScopes.map(normalizeExpectedLinkScope)
|
|
307
296
|
|
|
308
|
-
|
|
309
|
-
mode: "atomic",
|
|
297
|
+
const atomic = {
|
|
298
|
+
mode: "atomic" as const,
|
|
310
299
|
...(input.vectorWrites === undefined
|
|
311
300
|
? {}
|
|
312
301
|
: { vectorWrites: structuredClone(input.vectorWrites) }),
|
|
313
|
-
source,
|
|
314
302
|
operations: Object.freeze(operations),
|
|
315
303
|
expectedObjects: deduplicateExpectations(
|
|
316
304
|
expectedObjects,
|
|
@@ -327,6 +315,29 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
|
|
|
327
315
|
(value) => linkScopeKey(value.source, value.linkId),
|
|
328
316
|
"Expected link scopes"
|
|
329
317
|
),
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
if (input.source.kind === "action") {
|
|
321
|
+
if (!("run" in input) || input.run === undefined) {
|
|
322
|
+
throw new MaterializationValidationError("An Action commit must carry its run's record.")
|
|
323
|
+
}
|
|
324
|
+
return Object.freeze({
|
|
325
|
+
...atomic,
|
|
326
|
+
source: Object.freeze({
|
|
327
|
+
kind: "action" as const,
|
|
328
|
+
actionId: normalizeNonblank(input.source.actionId, "Action id"),
|
|
329
|
+
runId: normalizeNonblank(input.source.runId, "Action run id"),
|
|
330
|
+
}),
|
|
331
|
+
// Validated by the Action run storage when the commit inserts it.
|
|
332
|
+
run: structuredClone(input.run),
|
|
333
|
+
})
|
|
334
|
+
}
|
|
335
|
+
return Object.freeze({
|
|
336
|
+
...atomic,
|
|
337
|
+
source: Object.freeze({
|
|
338
|
+
kind: "runtime" as const,
|
|
339
|
+
requestId: normalizeNonblank(input.source.requestId, "Runtime request id"),
|
|
340
|
+
}),
|
|
330
341
|
})
|
|
331
342
|
}
|
|
332
343
|
|
|
@@ -42,15 +42,3 @@ export class ActionRunFailedError extends Error {
|
|
|
42
42
|
this.finishedAt = payload.finishedAt
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
|
|
46
|
-
export class ActionRunTimeoutError extends Error {
|
|
47
|
-
readonly name = "ActionRunTimeoutError"
|
|
48
|
-
readonly runId: string
|
|
49
|
-
readonly timeoutMs: number
|
|
50
|
-
|
|
51
|
-
constructor(params: { runId: string; timeoutMs: number }) {
|
|
52
|
-
super(`Action run '${params.runId}' did not finish within ${params.timeoutMs}ms.`)
|
|
53
|
-
this.runId = params.runId
|
|
54
|
-
this.timeoutMs = params.timeoutMs
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { ActionRunFailedError,
|
|
2
|
-
export type {
|
|
3
|
-
export { requestAction
|
|
1
|
+
export { ActionRunFailedError, ActionValidationError } from "./errors"
|
|
2
|
+
export type { RequestActionOptions } from "./request"
|
|
3
|
+
export { requestAction } from "./request"
|
|
@@ -5,16 +5,13 @@
|
|
|
5
5
|
* helpers delegate here by supplying an object subject.
|
|
6
6
|
*/
|
|
7
7
|
import {
|
|
8
|
-
type RequestActionAndWaitOptions,
|
|
9
8
|
type RequestActionOptions,
|
|
10
|
-
type RequestActionResult,
|
|
11
9
|
requestAction as requestRuntimeAction,
|
|
12
|
-
requestActionAndWait as requestRuntimeActionAndWait,
|
|
13
10
|
} from "../../actions/request"
|
|
14
11
|
import type { ActionRunRecord } from "../../storage"
|
|
15
12
|
import type { ExecutionObjectContext } from "../context"
|
|
16
13
|
|
|
17
|
-
export type {
|
|
14
|
+
export type { RequestActionOptions }
|
|
18
15
|
|
|
19
16
|
export async function requestAction(
|
|
20
17
|
ctx: ExecutionObjectContext,
|
|
@@ -24,30 +21,8 @@ export async function requestAction(
|
|
|
24
21
|
params?: Record<string, unknown>
|
|
25
22
|
options?: RequestActionOptions
|
|
26
23
|
}
|
|
27
|
-
): Promise<RequestActionResult> {
|
|
28
|
-
return requestRuntimeAction(ctx, ctx.execution, {
|
|
29
|
-
actionId: params.actionId,
|
|
30
|
-
subject: {
|
|
31
|
-
kind: "object",
|
|
32
|
-
objectTypeId: ctx.objectType.id,
|
|
33
|
-
primaryId: params.primaryId,
|
|
34
|
-
},
|
|
35
|
-
params: params.params,
|
|
36
|
-
runId: params.options?.runId,
|
|
37
|
-
signal: params.options?.signal,
|
|
38
|
-
})
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export async function requestActionAndWait(
|
|
42
|
-
ctx: ExecutionObjectContext,
|
|
43
|
-
params: {
|
|
44
|
-
primaryId: string
|
|
45
|
-
actionId: string
|
|
46
|
-
params?: Record<string, unknown>
|
|
47
|
-
options?: RequestActionAndWaitOptions
|
|
48
|
-
}
|
|
49
24
|
): Promise<ActionRunRecord> {
|
|
50
|
-
return
|
|
25
|
+
return requestRuntimeAction(ctx, ctx.execution, {
|
|
51
26
|
actionId: params.actionId,
|
|
52
27
|
subject: {
|
|
53
28
|
kind: "object",
|
|
@@ -56,8 +31,6 @@ export async function requestActionAndWait(
|
|
|
56
31
|
},
|
|
57
32
|
params: params.params,
|
|
58
33
|
runId: params.options?.runId,
|
|
59
|
-
timeoutMs: params.options?.timeoutMs,
|
|
60
34
|
signal: params.options?.signal,
|
|
61
|
-
onRequested: params.options?.onRequested,
|
|
62
35
|
})
|
|
63
36
|
}
|
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
|
|
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
|
}
|