@sixb/core 0.1.17 → 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 +56 -52
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +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/actions/validation.d.ts.map +1 -1
- package/dist/agents/adapters.d.ts +7 -0
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +7 -0
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/context/entries.d.ts +10 -1
- package/dist/agents/context/entries.d.ts.map +1 -1
- package/dist/agents/context/index.d.ts +1 -1
- package/dist/agents/context/index.d.ts.map +1 -1
- package/dist/agents/context/index.js +4 -2
- package/dist/agents/context/index.js.map +1 -1
- package/dist/agents/context-compaction.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +1 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/index.d.ts +6 -4
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +63 -59
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +8 -1
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/request.d.ts +19 -5
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/skills.d.ts +41 -0
- package/dist/agents/skills.d.ts.map +1 -0
- package/dist/agents/streams/index.js +2 -2
- package/dist/agents/streams/internal.js +2 -2
- package/dist/agents/types.d.ts +33 -4
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/auth/index.js +12 -9
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/types.d.ts +6 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/event-visibility.d.ts.map +1 -1
- package/dist/authorization/index.js +6 -4
- 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/authorization/types.d.ts +7 -0
- package/dist/authorization/types.d.ts.map +1 -1
- package/dist/blob-storage/browser.js +1 -1
- package/dist/blob-storage/execution.d.ts.map +1 -1
- package/dist/blob-storage/file-content.d.ts +18 -0
- package/dist/blob-storage/file-content.d.ts.map +1 -0
- package/dist/blob-storage/index.d.ts +1 -1
- package/dist/blob-storage/index.d.ts.map +1 -1
- package/dist/blob-storage/index.js +2 -2
- package/dist/blob-storage/internal.d.ts +2 -0
- package/dist/blob-storage/internal.d.ts.map +1 -1
- package/dist/blob-storage/internal.js +16 -4
- package/dist/blob-storage/internal.js.map +1 -1
- package/dist/blob-storage/media-type.d.ts +8 -0
- package/dist/blob-storage/media-type.d.ts.map +1 -0
- package/dist/blob-storage/types.d.ts +12 -1
- package/dist/blob-storage/types.d.ts.map +1 -1
- package/dist/blob-storage/validation.d.ts +6 -0
- package/dist/blob-storage/validation.d.ts.map +1 -1
- package/dist/bootstrap/agent-context.d.ts +33 -0
- package/dist/bootstrap/agent-context.d.ts.map +1 -0
- package/dist/bootstrap/discovery.d.ts +23 -3
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.d.ts +2 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +285 -77
- package/dist/bootstrap/index.js.map +4 -3
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/{chunk-t9shqx3w.js → chunk-1f7wpmyp.js} +143 -7
- package/dist/chunk-1f7wpmyp.js.map +14 -0
- package/dist/{chunk-jjrn5v0p.js → chunk-1k89ecfr.js} +1 -1
- package/dist/{chunk-9vx5e9g1.js → chunk-1sr8ryzk.js} +3 -3
- package/dist/chunk-1sr8ryzk.js.map +11 -0
- package/dist/{chunk-s7ftxrdr.js → chunk-29yx306f.js} +20 -3
- package/dist/{chunk-s7ftxrdr.js.map → chunk-29yx306f.js.map} +3 -3
- package/dist/{chunk-svabwqdq.js → chunk-3gnrh4ve.js} +44 -420
- package/dist/{chunk-svabwqdq.js.map → chunk-3gnrh4ve.js.map} +9 -13
- package/dist/{chunk-4ra628t7.js → chunk-3zxk45er.js} +70 -6
- package/dist/{chunk-4ra628t7.js.map → chunk-3zxk45er.js.map} +5 -4
- package/dist/{chunk-pja9jfz6.js → chunk-4tcx876c.js} +126 -64
- package/dist/chunk-4tcx876c.js.map +19 -0
- package/dist/{chunk-vre348sb.js → chunk-52bk93x8.js} +2 -2
- package/dist/{chunk-4gmng3vf.js → chunk-5e43w60z.js} +2 -2
- package/dist/{chunk-91kcnbf0.js → chunk-6gmfggss.js} +22 -9
- package/dist/chunk-6gmfggss.js.map +10 -0
- package/dist/{chunk-33saed7g.js → chunk-7kg3k1m9.js} +1 -1
- package/dist/{chunk-7ecp4v7a.js → chunk-7mbzgd9m.js} +10 -4
- package/dist/{chunk-7ecp4v7a.js.map → chunk-7mbzgd9m.js.map} +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-xcy5ddha.js → chunk-80mc0971.js} +356 -301
- package/dist/chunk-80mc0971.js.map +15 -0
- package/dist/{chunk-gf7yht60.js → chunk-85yvv5n0.js} +27 -10
- package/dist/chunk-85yvv5n0.js.map +12 -0
- 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-2am3db31.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-dam456ve.js → chunk-aff7cyea.js} +431 -70
- package/dist/{chunk-dam456ve.js.map → chunk-aff7cyea.js.map} +10 -7
- 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-xyvy73tj.js → chunk-bpgy64fw.js} +8 -3
- package/dist/chunk-bpgy64fw.js.map +12 -0
- package/dist/{chunk-rb143ggb.js → chunk-bwjcehza.js} +1 -1
- package/dist/{chunk-5thzcb8g.js → chunk-c85m1hyj.js} +2 -2
- package/dist/{chunk-e67ynxcr.js → chunk-d2ync1v3.js} +5 -5
- package/dist/{chunk-3rrezgyc.js → chunk-dnmadg9k.js} +2 -2
- package/dist/chunk-enpsx8k5.js +127 -0
- package/dist/chunk-enpsx8k5.js.map +10 -0
- package/dist/chunk-ey3pyej1.js +8807 -0
- package/dist/chunk-ey3pyej1.js.map +106 -0
- package/dist/{chunk-vjcd8d27.js → chunk-fa02jy15.js} +1 -1
- package/dist/{chunk-9se093qz.js → chunk-gc4ntf7d.js} +4 -4
- package/dist/{chunk-9se093qz.js.map → chunk-gc4ntf7d.js.map} +1 -1
- package/dist/{chunk-98cw09sw.js → chunk-hkc3jct7.js} +4 -2
- package/dist/chunk-hkc3jct7.js.map +10 -0
- package/dist/{chunk-rpxz486p.js → chunk-hvsb78a1.js} +24 -8
- package/dist/{chunk-rpxz486p.js.map → chunk-hvsb78a1.js.map} +3 -3
- package/dist/{chunk-5yd8cchh.js → chunk-j2bp5ryw.js} +55 -246
- package/dist/{chunk-5yd8cchh.js.map → chunk-j2bp5ryw.js.map} +4 -4
- package/dist/{chunk-h3v76ams.js → chunk-jhm3zsa7.js} +25 -2
- package/dist/chunk-jhm3zsa7.js.map +12 -0
- package/dist/{chunk-w9yycd3t.js → chunk-kg5j6fct.js} +4 -8
- package/dist/{chunk-w9yycd3t.js.map → chunk-kg5j6fct.js.map} +3 -3
- package/dist/{chunk-vp3z1ckh.js → chunk-kyzq4wy9.js} +7 -7
- 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-c2rga5cx.js → chunk-mfs23znk.js} +1 -1
- 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-a7er86jd.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-dmn70ztd.js → chunk-pfp1txq2.js} +25 -6
- package/dist/chunk-pfp1txq2.js.map +11 -0
- package/dist/chunk-pqajwytd.js.map +2 -2
- package/dist/{chunk-f1xh7a32.js → chunk-q1vkr2ys.js} +4 -4
- package/dist/chunk-rdghfsss.js.map +2 -2
- package/dist/{chunk-23xs4qp9.js → chunk-rhg02hxq.js} +4 -4
- package/dist/{chunk-cd234ba4.js → chunk-rz53yb4v.js} +10 -5
- package/dist/chunk-rz53yb4v.js.map +14 -0
- package/dist/{chunk-aq39q04r.js → chunk-s16apyk9.js} +104 -18
- package/dist/chunk-s16apyk9.js.map +16 -0
- package/dist/{chunk-69266efg.js → chunk-s54c868q.js} +12 -4
- package/dist/chunk-s54c868q.js.map +12 -0
- package/dist/{chunk-k4g51s47.js → chunk-t6vq7bff.js} +5 -5
- package/dist/{chunk-sk0hcjsz.js → chunk-tjb1mk5t.js} +3 -3
- package/dist/{chunk-cnb5kv05.js → chunk-tpn40322.js} +23 -8
- package/dist/chunk-tpn40322.js.map +19 -0
- package/dist/{chunk-rx7h5fdx.js → chunk-v9xd5wzd.js} +1 -1
- package/dist/{chunk-2vhg6ysa.js → chunk-vyf9kfqf.js} +1 -1
- package/dist/chunk-wwdfe68s.js +128 -0
- package/dist/chunk-wwdfe68s.js.map +11 -0
- package/dist/{chunk-jnfxmr3f.js → chunk-wz0xs816.js} +6 -6
- package/dist/{chunk-jnfxmr3f.js.map → chunk-wz0xs816.js.map} +1 -1
- package/dist/chunk-xt1zt7gv.js +471 -0
- package/dist/chunk-xt1zt7gv.js.map +13 -0
- package/dist/chunk-y0c4e6ex.js +16 -0
- package/dist/chunk-y0c4e6ex.js.map +10 -0
- package/dist/{chunk-5be2ath4.js → chunk-y7rqfrgg.js} +20 -138
- package/dist/{chunk-5be2ath4.js.map → chunk-y7rqfrgg.js.map} +8 -9
- package/dist/{chunk-z5rnrmz1.js → chunk-yw9pyg66.js} +5 -3
- package/dist/chunk-yw9pyg66.js.map +11 -0
- 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-fggq3d9k.js → chunk-zrmy8zvw.js} +66 -47
- package/dist/{chunk-fggq3d9k.js.map → chunk-zrmy8zvw.js.map} +4 -4
- package/dist/datasets/builders.d.ts +12 -1
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/execution.d.ts +27 -1
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/index.d.ts +1 -1
- package/dist/datasets/index.d.ts.map +1 -1
- package/dist/datasets/types.d.ts +2 -0
- package/dist/datasets/types.d.ts.map +1 -1
- package/dist/datasets/write.d.ts +5 -0
- package/dist/datasets/write.d.ts.map +1 -1
- package/dist/datasets/write.js +10 -5
- package/dist/datasets/write.js.map +1 -1
- 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/edits/properties.d.ts.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/execution.d.ts +2 -1
- package/dist/events/execution.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/events/types/objects.d.ts +5 -0
- package/dist/events/types/objects.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +10 -0
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +50 -48
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +6 -1
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/primitive.js +60 -88
- package/dist/execution/primitive.js.map +3 -4
- package/dist/execution/request.js +46 -46
- package/dist/execution/request.js.map +1 -1
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +12 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +120 -124
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/index.js +8 -5
- package/dist/lake-storage/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 +35 -32
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/models/catalog.d.ts +1 -1
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/execution/binding.d.ts +6 -0
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/index.js +26 -23
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +4 -0
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution.d.ts.map +1 -1
- package/dist/models/index.js +1 -1
- package/dist/models/language-model.d.ts +6 -0
- package/dist/models/language-model.d.ts.map +1 -1
- 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/context/index.d.ts +1 -1
- package/dist/objects/context/index.d.ts.map +1 -1
- package/dist/objects/context/types.d.ts +6 -0
- package/dist/objects/context/types.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +2 -3
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +49 -30
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/materializer-adapter.d.ts.map +1 -1
- package/dist/objects/object/upsert-batch.d.ts.map +1 -1
- package/dist/objects/object/upsert.d.ts.map +1 -1
- package/dist/objects/property-clearance.d.ts +41 -0
- package/dist/objects/property-clearance.d.ts.map +1 -0
- package/dist/objects/query/executor.d.ts +3 -0
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.js +34 -31
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/validate.d.ts +10 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/file-handle.d.ts +6 -0
- package/dist/objects/sdk/file-handle.d.ts.map +1 -0
- package/dist/objects/sdk/object-handle.d.ts +2 -2
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts +2 -0
- 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/builders.d.ts +12 -1
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/docs-markdown.d.ts +35 -0
- package/dist/ontology/docs-markdown.d.ts.map +1 -0
- package/dist/ontology/docs.d.ts +50 -0
- package/dist/ontology/docs.d.ts.map +1 -0
- package/dist/ontology/index.js +7 -4
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +19 -0
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +3 -1
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +276 -3
- package/dist/ontology/internal.js.map +4 -3
- package/dist/ontology/tokens.d.ts +8 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +5 -0
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/validation/index.d.ts +1 -1
- package/dist/ontology/validation/index.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts +7 -0
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/pipelines/index.js +34 -31
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +27 -24
- 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/create.d.ts +11 -2
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +3 -1
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +13 -2
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/internal.js +30 -28
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/locale.d.ts +9 -0
- package/dist/runtime/locale.d.ts.map +1 -0
- package/dist/runtime/resolve-definitions.d.ts +4 -2
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +46 -39
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/index.js +7 -6
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/scheduler/index.js +1 -1
- package/dist/scheduler/runtime.d.ts +3 -0
- package/dist/scheduler/runtime.d.ts.map +1 -1
- package/dist/schedules/builders.d.ts.map +1 -1
- package/dist/schedules/index.js +3 -3
- package/dist/schedules/runtime.d.ts.map +1 -1
- package/dist/schedules/validation.d.ts +0 -1
- package/dist/schedules/validation.d.ts.map +1 -1
- package/dist/security/builders.d.ts +11 -2
- package/dist/security/builders.d.ts.map +1 -1
- package/dist/security/every.d.ts +1 -1
- package/dist/security/index.d.ts +4 -4
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/markings.d.ts +19 -0
- package/dist/security/markings.d.ts.map +1 -0
- package/dist/security/redactions.d.ts +4 -0
- package/dist/security/redactions.d.ts.map +1 -0
- package/dist/security/registry.d.ts +7 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +25 -0
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +4 -1
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/internal.js +24 -21
- package/dist/shares/internal.js.map +2 -2
- 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/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +5 -4
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +15 -9
- package/dist/storage/agents/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 +12 -9
- package/dist/storage/file-upload-sessions/provider.js.map +1 -1
- package/dist/storage/index.d.ts +3 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +36 -34
- 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 +11 -13
- 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/objects/types.d.ts +7 -0
- package/dist/storage/objects/types.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 +12 -9
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +35 -32
- package/dist/syncs/index.js.map +1 -1
- 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 +3213 -2869
- 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 +29 -26
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +1 -1
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/index.js +55 -55
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +6 -3
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +2 -1
- package/dist/workflows/validation.d.ts.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/read-facade.ts +2 -1
- 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/actions/validation.ts +4 -1
- package/src/agents/adapters.ts +15 -0
- package/src/agents/authority.ts +15 -0
- package/src/agents/context/entries.ts +48 -4
- package/src/agents/context/index.ts +1 -0
- package/src/agents/context-compaction.ts +6 -0
- package/src/agents/errors.ts +3 -0
- package/src/agents/index.ts +13 -1
- package/src/agents/message.ts +9 -0
- package/src/agents/request.ts +178 -22
- package/src/agents/skills.ts +63 -0
- package/src/agents/types.ts +35 -5
- package/src/auth/runtime.ts +14 -0
- package/src/auth/types.ts +6 -0
- package/src/authorization/event-visibility.ts +0 -12
- package/src/authorization/resolve.ts +6 -1
- package/src/authorization/types.ts +7 -0
- package/src/blob-storage/execution.ts +12 -0
- package/src/blob-storage/file-content.ts +106 -0
- package/src/blob-storage/index.ts +1 -0
- package/src/blob-storage/internal.ts +7 -0
- package/src/blob-storage/media-type.ts +29 -0
- package/src/blob-storage/types.ts +13 -1
- package/src/blob-storage/validation.ts +13 -0
- package/src/bootstrap/agent-context.ts +356 -0
- package/src/bootstrap/discovery.ts +100 -33
- package/src/bootstrap/index.ts +1 -1
- package/src/bootstrap/ontology-type-manifest.ts +3 -38
- package/src/datasets/builders.ts +17 -1
- package/src/datasets/execution.ts +110 -2
- package/src/datasets/index.ts +7 -1
- package/src/datasets/types.ts +2 -0
- package/src/datasets/write.ts +21 -2
- 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/edits/properties.ts +3 -0
- 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/execution.ts +15 -16
- 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/events/types/objects.ts +5 -0
- package/src/execution/agent.ts +27 -0
- package/src/execution/authorization.ts +1 -0
- package/src/execution/authorized-object-reader.ts +96 -34
- package/src/execution/scopes.ts +2 -6
- package/src/http/api-routes.ts +4 -3
- package/src/index.ts +28 -21
- 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/catalog.ts +26 -2
- package/src/models/execution/README.md +4 -3
- package/src/models/execution/binding.ts +6 -0
- package/src/models/execution/model-call-recorder.ts +10 -0
- package/src/models/execution/session.ts +2 -2
- package/src/models/execution.ts +6 -2
- package/src/models/language-model.ts +6 -0
- 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/context/index.ts +1 -0
- package/src/objects/context/types.ts +7 -0
- package/src/objects/execution.ts +6 -3
- package/src/objects/materializer-adapter.ts +3 -0
- package/src/objects/object/upsert-batch.ts +4 -1
- package/src/objects/object/upsert.ts +3 -1
- package/src/objects/property-clearance.ts +209 -0
- package/src/objects/query/executor.ts +43 -36
- package/src/objects/query/validate.ts +133 -14
- package/src/objects/sdk/file-handle.ts +77 -0
- package/src/objects/sdk/object-handle.ts +11 -33
- package/src/objects/sdk/object-set.ts +10 -32
- package/src/objects/service/index.ts +0 -1
- package/src/ontology/builders.ts +18 -2
- package/src/ontology/docs-markdown.ts +394 -0
- package/src/ontology/docs.ts +196 -0
- package/src/ontology/inference/index.ts +25 -0
- package/src/ontology/internal.ts +7 -0
- package/src/ontology/tokens.ts +13 -2
- package/src/ontology/types.ts +5 -0
- package/src/ontology/validation/index.ts +1 -0
- package/src/ontology/validation/schema.ts +26 -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/create.ts +34 -4
- package/src/runtime/definitions.ts +3 -1
- package/src/runtime/host.ts +50 -1
- package/src/runtime/index.ts +3 -0
- package/src/runtime/locale.ts +26 -0
- package/src/runtime/resolve-definitions.ts +28 -2
- package/src/runtime/sixb.ts +1 -1
- package/src/runtime/types.ts +55 -48
- package/src/scheduler/runtime.ts +11 -2
- 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 +49 -5
- package/src/security/every.ts +1 -1
- package/src/security/index.ts +6 -1
- package/src/security/markings.ts +313 -0
- package/src/security/redactions.ts +6 -0
- package/src/security/registry.ts +21 -1
- package/src/security/types.ts +26 -0
- package/src/security/validation.ts +59 -2
- 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/provider.ts +11 -0
- package/src/storage/agents/types.ts +15 -7
- package/src/storage/index.ts +2 -9
- package/src/storage/internal.ts +1 -7
- package/src/storage/objects/execution-limits.ts +3 -2
- package/src/storage/objects/types.ts +7 -0
- 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/src/workflows/builders.ts +24 -1
- package/src/workflows/request.ts +3 -0
- package/src/workflows/types.ts +6 -3
- package/src/workflows/validation.ts +32 -4
- 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 -321
- package/dist/actions/worker.js.map +0 -11
- package/dist/chunk-10styjgk.js +0 -1572
- package/dist/chunk-10styjgk.js.map +0 -20
- package/dist/chunk-1hqwggsn.js.map +0 -12
- package/dist/chunk-52c5zb0z.js +0 -81
- package/dist/chunk-52c5zb0z.js.map +0 -10
- package/dist/chunk-69266efg.js.map +0 -12
- package/dist/chunk-6wbm6ymz.js +0 -4399
- package/dist/chunk-6wbm6ymz.js.map +0 -48
- package/dist/chunk-85cd7e8c.js +0 -51
- package/dist/chunk-85cd7e8c.js.map +0 -10
- package/dist/chunk-91kcnbf0.js.map +0 -10
- package/dist/chunk-98cw09sw.js.map +0 -10
- package/dist/chunk-9g6jz9kk.js +0 -592
- package/dist/chunk-9g6jz9kk.js.map +0 -15
- package/dist/chunk-9vx5e9g1.js.map +0 -11
- package/dist/chunk-aq39q04r.js.map +0 -15
- package/dist/chunk-cd234ba4.js.map +0 -14
- package/dist/chunk-cnb5kv05.js.map +0 -19
- package/dist/chunk-dfm066qg.js.map +0 -11
- package/dist/chunk-dmn70ztd.js.map +0 -11
- package/dist/chunk-fc5zfxy1.js.map +0 -11
- package/dist/chunk-gf7yht60.js.map +0 -12
- package/dist/chunk-h3v76ams.js.map +0 -11
- package/dist/chunk-pja9jfz6.js.map +0 -19
- package/dist/chunk-r2y23egw.js.map +0 -10
- package/dist/chunk-t9shqx3w.js.map +0 -12
- package/dist/chunk-tjjgy3z4.js +0 -1277
- package/dist/chunk-tjjgy3z4.js.map +0 -35
- package/dist/chunk-xcy5ddha.js.map +0 -15
- package/dist/chunk-xyvy73tj.js.map +0 -12
- package/dist/chunk-y2aq6ag9.js.map +0 -11
- package/dist/chunk-z5rnrmz1.js.map +0 -11
- 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-jjrn5v0p.js.map → chunk-1k89ecfr.js.map} +0 -0
- /package/dist/{chunk-vre348sb.js.map → chunk-52bk93x8.js.map} +0 -0
- /package/dist/{chunk-4gmng3vf.js.map → chunk-5e43w60z.js.map} +0 -0
- /package/dist/{chunk-33saed7g.js.map → chunk-7kg3k1m9.js.map} +0 -0
- /package/dist/{chunk-kkqwzy6h.js.map → chunk-7t429e3f.js.map} +0 -0
- /package/dist/{chunk-2am3db31.js.map → chunk-9gyp8hg1.js.map} +0 -0
- /package/dist/{chunk-4wn7bxxa.js.map → chunk-9ybhtmg4.js.map} +0 -0
- /package/dist/{chunk-rb143ggb.js.map → chunk-bwjcehza.js.map} +0 -0
- /package/dist/{chunk-5thzcb8g.js.map → chunk-c85m1hyj.js.map} +0 -0
- /package/dist/{chunk-e67ynxcr.js.map → chunk-d2ync1v3.js.map} +0 -0
- /package/dist/{chunk-3rrezgyc.js.map → chunk-dnmadg9k.js.map} +0 -0
- /package/dist/{chunk-vjcd8d27.js.map → chunk-fa02jy15.js.map} +0 -0
- /package/dist/{chunk-vp3z1ckh.js.map → chunk-kyzq4wy9.js.map} +0 -0
- /package/dist/{chunk-c2rga5cx.js.map → chunk-mfs23znk.js.map} +0 -0
- /package/dist/{chunk-a7er86jd.js.map → chunk-nre82s12.js.map} +0 -0
- /package/dist/{chunk-f1xh7a32.js.map → chunk-q1vkr2ys.js.map} +0 -0
- /package/dist/{chunk-23xs4qp9.js.map → chunk-rhg02hxq.js.map} +0 -0
- /package/dist/{chunk-k4g51s47.js.map → chunk-t6vq7bff.js.map} +0 -0
- /package/dist/{chunk-sk0hcjsz.js.map → chunk-tjb1mk5t.js.map} +0 -0
- /package/dist/{chunk-rx7h5fdx.js.map → chunk-v9xd5wzd.js.map} +0 -0
- /package/dist/{chunk-2vhg6ysa.js.map → chunk-vyf9kfqf.js.map} +0 -0
|
@@ -136,6 +136,7 @@ export function defineAgentStep<const TId extends string>(
|
|
|
136
136
|
const { model, reasoning, instructions } = config
|
|
137
137
|
const groupIds = groupIdsFromAgentStepConfig(id, config)
|
|
138
138
|
const toolNames = toolNamesFromAgentStepConfig(id, config)
|
|
139
|
+
const skillNames = skillNamesFromAgentStepConfig(id, config)
|
|
139
140
|
|
|
140
141
|
return {
|
|
141
142
|
input(input: RuntimeWorkflowInput): unknown {
|
|
@@ -154,6 +155,7 @@ export function defineAgentStep<const TId extends string>(
|
|
|
154
155
|
instructions,
|
|
155
156
|
groupIds,
|
|
156
157
|
toolNames,
|
|
158
|
+
skillNames,
|
|
157
159
|
input,
|
|
158
160
|
output,
|
|
159
161
|
prompt,
|
|
@@ -208,9 +210,30 @@ function toolNamesFromAgentStepConfig(
|
|
|
208
210
|
return Object.freeze(toolNames)
|
|
209
211
|
}
|
|
210
212
|
|
|
213
|
+
function skillNamesFromAgentStepConfig(
|
|
214
|
+
stepId: string,
|
|
215
|
+
config: DefineAgentStepConfig
|
|
216
|
+
): readonly string[] {
|
|
217
|
+
if (config.skills !== undefined && !Array.isArray(config.skills)) {
|
|
218
|
+
throw new WorkflowDefinitionError(
|
|
219
|
+
`Agent step "${stepId}" skills must be an array of Agent Skill names.`
|
|
220
|
+
)
|
|
221
|
+
}
|
|
222
|
+
const skillNames = Array.from(config.skills ?? [], (name) => {
|
|
223
|
+
if (typeof name !== "string" || !name.trim()) {
|
|
224
|
+
throw new WorkflowDefinitionError(
|
|
225
|
+
`Agent step "${stepId}" skills must contain only non-empty Agent Skill names.`
|
|
226
|
+
)
|
|
227
|
+
}
|
|
228
|
+
return name
|
|
229
|
+
})
|
|
230
|
+
assertUniqueAgentStepValues(stepId, "skill", skillNames)
|
|
231
|
+
return Object.freeze(skillNames)
|
|
232
|
+
}
|
|
233
|
+
|
|
211
234
|
function assertUniqueAgentStepValues(
|
|
212
235
|
stepId: string,
|
|
213
|
-
kind: "group" | "tool",
|
|
236
|
+
kind: "group" | "tool" | "skill",
|
|
214
237
|
values: readonly string[]
|
|
215
238
|
): void {
|
|
216
239
|
const seen = new Set<string>()
|
package/src/workflows/request.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
executionRecordInputFromRuntime,
|
|
7
7
|
} from "../execution/durable"
|
|
8
8
|
import type { ExecutionContext } from "../execution/types"
|
|
9
|
+
import { assertValidFileRefs } from "../ontology/validation"
|
|
9
10
|
import type { SixbRuntimeContext } from "../runtime/types"
|
|
10
11
|
import { dispatchWorkflowRun } from "./run-dispatch"
|
|
11
12
|
import type { WorkflowDefinition, WorkflowRunSource } from "./types"
|
|
@@ -49,6 +50,8 @@ export async function requestWorkflowRun(
|
|
|
49
50
|
authorization: runtime.runtimeAuthorization,
|
|
50
51
|
})
|
|
51
52
|
assertAuthorized(runtime, { kind: "workflow.run", workflowId: workflow.id })
|
|
53
|
+
// Only caller input: automatic runs carry stored data, which may predate the rule.
|
|
54
|
+
assertValidFileRefs(options.input, `Workflow "${workflow.id}" input`)
|
|
52
55
|
return dispatchWorkflowRun({
|
|
53
56
|
errorReporterHost: runtime,
|
|
54
57
|
projectId: runtime.projectId,
|
package/src/workflows/types.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type {
|
|
|
6
6
|
} from "../actions"
|
|
7
7
|
import type { ActionsRuntime } from "../actions/execution"
|
|
8
8
|
import type { AgentRuntime } from "../agents/execution"
|
|
9
|
-
import type {
|
|
9
|
+
import type { AgentReasoning, AgentToolDefinition } from "../agents/types"
|
|
10
10
|
import type { Principal } from "../auth"
|
|
11
11
|
import type { BlobsRuntime } from "../blob-storage/execution"
|
|
12
12
|
import type { ConnectorRuntime } from "../connectors/execution"
|
|
@@ -140,11 +140,13 @@ export type AgentStepPrompt<TInput extends Record<string, unknown>> = (
|
|
|
140
140
|
/** Runtime configuration owned directly by a workflow Agent step. */
|
|
141
141
|
export interface DefineAgentStepConfig {
|
|
142
142
|
readonly model?: LanguageModel
|
|
143
|
-
readonly reasoning?:
|
|
143
|
+
readonly reasoning?: AgentReasoning
|
|
144
144
|
readonly instructions: string
|
|
145
145
|
readonly groups?: readonly GroupDefinition[]
|
|
146
146
|
/** Project tools this workflow task may call. Defaults to none. */
|
|
147
147
|
readonly tools?: readonly AgentToolDefinition[]
|
|
148
|
+
/** Names of the project Agent Skills (`skills/<name>/`) this workflow task may use. Defaults to none. */
|
|
149
|
+
readonly skills?: readonly string[]
|
|
148
150
|
}
|
|
149
151
|
|
|
150
152
|
export interface AgentStepDefinition<
|
|
@@ -157,10 +159,11 @@ export interface AgentStepDefinition<
|
|
|
157
159
|
readonly kind: "agentStep"
|
|
158
160
|
readonly id: TId
|
|
159
161
|
readonly model?: LanguageModel
|
|
160
|
-
readonly reasoning?:
|
|
162
|
+
readonly reasoning?: AgentReasoning
|
|
161
163
|
readonly instructions: string
|
|
162
164
|
readonly groupIds: readonly string[]
|
|
163
165
|
readonly toolNames: readonly string[]
|
|
166
|
+
readonly skillNames: readonly string[]
|
|
164
167
|
readonly input: TInput
|
|
165
168
|
readonly output: TOutput
|
|
166
169
|
readonly prompt: AgentStepPrompt<Record<string, unknown>>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isActionDefinition } from "../actions"
|
|
2
|
-
import type { AgentToolCatalog } from "../agents"
|
|
2
|
+
import type { AgentSkillCatalog, AgentToolCatalog } from "../agents"
|
|
3
3
|
import type { ModelCatalog } from "../models"
|
|
4
|
-
import { isModelReasoning } from "../models/language-model"
|
|
4
|
+
import { isModelReasoning, modelReasoningSupportIssue } from "../models/language-model"
|
|
5
5
|
import type { SchemaOrRef, ValueType } from "../ontology"
|
|
6
6
|
import { validateSchemaOrRefValue } from "../ontology/refs"
|
|
7
7
|
import type { ScheduleDefinition } from "../schedules"
|
|
@@ -53,6 +53,7 @@ export function isAgentStepDefinition(value: unknown): value is AgentStepDefinit
|
|
|
53
53
|
typeof value.instructions === "string" &&
|
|
54
54
|
isStringArray(value.groupIds) &&
|
|
55
55
|
isStringArray(value.toolNames) &&
|
|
56
|
+
isStringArray(value.skillNames) &&
|
|
56
57
|
isRecord(value.input) &&
|
|
57
58
|
isRecord(value.output) &&
|
|
58
59
|
typeof value.prompt === "function"
|
|
@@ -120,6 +121,7 @@ export function validateWorkflowsAtStartup(options: {
|
|
|
120
121
|
registeredActionIds: ReadonlySet<string>
|
|
121
122
|
models?: ModelCatalog
|
|
122
123
|
tools: AgentToolCatalog
|
|
124
|
+
skills: AgentSkillCatalog
|
|
123
125
|
}): readonly WorkflowDefinition[] {
|
|
124
126
|
for (const workflow of options.workflows) {
|
|
125
127
|
validateWorkflowDefinition(workflow)
|
|
@@ -170,7 +172,11 @@ export function validateWorkflowAgentStepGroupReferences(
|
|
|
170
172
|
function validateWorkflowAgentStepRuntimeReferences(
|
|
171
173
|
workflowId: string,
|
|
172
174
|
step: AgentStepDefinition,
|
|
173
|
-
options: {
|
|
175
|
+
options: {
|
|
176
|
+
readonly models?: ModelCatalog
|
|
177
|
+
readonly tools: AgentToolCatalog
|
|
178
|
+
readonly skills: AgentSkillCatalog
|
|
179
|
+
}
|
|
174
180
|
): void {
|
|
175
181
|
if (step.model === undefined && options.models?.language === undefined) {
|
|
176
182
|
throw new WorkflowDefinitionError(
|
|
@@ -185,6 +191,20 @@ function validateWorkflowAgentStepRuntimeReferences(
|
|
|
185
191
|
)
|
|
186
192
|
}
|
|
187
193
|
}
|
|
194
|
+
// Same rule as a catalog default: checked against the capabilities the model declares, so an
|
|
195
|
+
// effort or token budget outside them fails at startup rather than on the step's first run.
|
|
196
|
+
const model = step.model ?? options.models?.language?.default?.model
|
|
197
|
+
if (step.reasoning !== undefined && model !== undefined) {
|
|
198
|
+
const issue = modelReasoningSupportIssue(
|
|
199
|
+
model.definition.capabilities.reasoning,
|
|
200
|
+
step.reasoning
|
|
201
|
+
)
|
|
202
|
+
if (issue !== undefined) {
|
|
203
|
+
throw new WorkflowDefinitionError(
|
|
204
|
+
`Workflow "${workflowId}" agent step "${step.id}" cannot use its reasoning with language model "${model.providerId}/${model.modelId}": ${issue}.`
|
|
205
|
+
)
|
|
206
|
+
}
|
|
207
|
+
}
|
|
188
208
|
for (const toolName of step.toolNames) {
|
|
189
209
|
if (options.tools.getByName(toolName) === null) {
|
|
190
210
|
throw new WorkflowDefinitionError(
|
|
@@ -192,6 +212,13 @@ function validateWorkflowAgentStepRuntimeReferences(
|
|
|
192
212
|
)
|
|
193
213
|
}
|
|
194
214
|
}
|
|
215
|
+
for (const skillName of step.skillNames) {
|
|
216
|
+
if (options.skills.getByName(skillName) === null) {
|
|
217
|
+
throw new WorkflowDefinitionError(
|
|
218
|
+
`Workflow "${workflowId}" agent step "${step.id}" uses unknown Agent Skill "${skillName}". Add it as 'skills/${skillName}/SKILL.md'.`
|
|
219
|
+
)
|
|
220
|
+
}
|
|
221
|
+
}
|
|
195
222
|
}
|
|
196
223
|
|
|
197
224
|
export function validateWorkflowInput(params: {
|
|
@@ -385,6 +412,7 @@ function validateAgentNodeDefinition(workflowId: string, node: WorkflowAgentNode
|
|
|
385
412
|
}
|
|
386
413
|
assertUniqueNonEmptyAgentStepValues(workflowId, node.id, "group", node.agentStep.groupIds)
|
|
387
414
|
assertUniqueNonEmptyAgentStepValues(workflowId, node.id, "tool", node.agentStep.toolNames)
|
|
415
|
+
assertUniqueNonEmptyAgentStepValues(workflowId, node.id, "skill", node.agentStep.skillNames)
|
|
388
416
|
if (node.mapper !== undefined && typeof node.mapper !== "function") {
|
|
389
417
|
throw new WorkflowDefinitionError(
|
|
390
418
|
`Workflow "${workflowId}" agent node "${node.id}" mapper must be a function.`
|
|
@@ -395,7 +423,7 @@ function validateAgentNodeDefinition(workflowId: string, node: WorkflowAgentNode
|
|
|
395
423
|
function assertUniqueNonEmptyAgentStepValues(
|
|
396
424
|
workflowId: string,
|
|
397
425
|
stepId: string,
|
|
398
|
-
kind: "group" | "tool",
|
|
426
|
+
kind: "group" | "tool" | "skill",
|
|
399
427
|
values: readonly string[]
|
|
400
428
|
): void {
|
|
401
429
|
const seen = new Set<string>()
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { DomainEventLog } from "../events";
|
|
2
|
-
import type { Queues } from "../queues";
|
|
3
|
-
import type { ActionRunParams, ActionRunRecord, CreateExecutionInput, Storage } from "../storage";
|
|
4
|
-
import type { RequestActionResult } from "./request";
|
|
5
|
-
import type { ActionSubject } from "./types";
|
|
6
|
-
interface DispatchActionRunInput {
|
|
7
|
-
readonly errorReporterHost: object;
|
|
8
|
-
readonly projectId: string;
|
|
9
|
-
readonly storage: Storage;
|
|
10
|
-
readonly queue: Queues["actions"];
|
|
11
|
-
readonly events: DomainEventLog;
|
|
12
|
-
readonly actionId: string;
|
|
13
|
-
readonly subject: ActionSubject;
|
|
14
|
-
readonly params: ActionRunParams;
|
|
15
|
-
readonly runId?: string;
|
|
16
|
-
readonly createExecution: (executionId: string, runId: string) => Promise<CreateExecutionInput>;
|
|
17
|
-
/** Runs before payload comparison or retry so an existing run cannot cross authority owners. */
|
|
18
|
-
readonly assertCanReuseExisting?: (storage: Storage, run: ActionRunRecord) => void | Promise<void>;
|
|
19
|
-
/** Checks that hold only for a run this call creates; a replayed run keeps its accepted params. */
|
|
20
|
-
readonly assertNewRun?: () => Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
/** Persist an Action execution and run before publishing its queue job. */
|
|
23
|
-
export declare function dispatchActionRun(input: DispatchActionRunInput): Promise<RequestActionResult>;
|
|
24
|
-
export {};
|
|
25
|
-
//# sourceMappingURL=run-dispatch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-dispatch.d.ts","sourceRoot":"","sources":["../../src/actions/run-dispatch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,OAAO,EACR,MAAM,YAAY,CAAA;AAInB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC/F,gGAAgG;IAChG,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClG,mGAAmG;IACnG,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5C;AAiBD,2EAA2E;AAC3E,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAK9B"}
|
package/dist/actions/worker.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/actions/worker.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/actions/worker.js
DELETED
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import"../chunk-z3y5kg1x.js";
|
|
3
|
-
import {
|
|
4
|
-
normalizeObjectProperties2,
|
|
5
|
-
assertKnownProperties2,
|
|
6
|
-
assertRequiredProperties2,
|
|
7
|
-
validateObjectProperties2,
|
|
8
|
-
validatePropertyValue2
|
|
9
|
-
} from "../chunk-rpxz486p.js";
|
|
10
|
-
import {
|
|
11
|
-
EditBatchError2
|
|
12
|
-
} from "../chunk-zvx7h87b.js";
|
|
13
|
-
import {
|
|
14
|
-
OntologyValidationError2
|
|
15
|
-
} from "../chunk-cqr3acm1.js";
|
|
16
|
-
|
|
17
|
-
// src/edits/recorder.ts
|
|
18
|
-
import { createHash } from "crypto";
|
|
19
|
-
|
|
20
|
-
// src/edits/properties.ts
|
|
21
|
-
function normalizeObjectEditProperties(params) {
|
|
22
|
-
const { objectType, properties, valueTypesById, path } = params;
|
|
23
|
-
assertKnownProperties2(objectType, properties);
|
|
24
|
-
assertNoTelemetryProperties(objectType.properties, properties, path);
|
|
25
|
-
validateObjectProperties2(objectType, properties, valueTypesById);
|
|
26
|
-
return normalizeObjectProperties2(objectType.properties, properties, valueTypesById, path);
|
|
27
|
-
}
|
|
28
|
-
function normalizeLinkEditProperties(params) {
|
|
29
|
-
const { sourceObjectTypeId, linkId, linkDefinition, properties, valueTypesById } = params;
|
|
30
|
-
const linkProperties = linkDefinition.properties ?? [];
|
|
31
|
-
if (linkProperties.length === 0 && Object.keys(properties).length > 0) {
|
|
32
|
-
throw new OntologyValidationError2(`[Sixb] Link ${sourceObjectTypeId}.${linkId} does not define link properties`);
|
|
33
|
-
}
|
|
34
|
-
const knownPropertyIds = new Set(linkProperties.map((property) => property.id));
|
|
35
|
-
for (const propertyId of Object.keys(properties)) {
|
|
36
|
-
if (!knownPropertyIds.has(propertyId)) {
|
|
37
|
-
throw new OntologyValidationError2(`[Sixb] Unknown link property '${propertyId}' for link '${sourceObjectTypeId}.${linkId}'`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
assertNoTelemetryProperties(linkProperties, properties, `${sourceObjectTypeId}.${linkId}`);
|
|
41
|
-
for (const [propertyId, value] of Object.entries(properties)) {
|
|
42
|
-
const property = linkProperties.find((candidate) => candidate.id === propertyId);
|
|
43
|
-
if (!property)
|
|
44
|
-
continue;
|
|
45
|
-
validatePropertyValue2(property, value, `${sourceObjectTypeId}.${linkId}.${propertyId}`, valueTypesById);
|
|
46
|
-
}
|
|
47
|
-
return normalizeObjectProperties2(linkProperties, properties, valueTypesById, `${sourceObjectTypeId}.${linkId}`);
|
|
48
|
-
}
|
|
49
|
-
function getPrimaryProperty(objectType) {
|
|
50
|
-
const primaryProperty = objectType.properties.find((property) => property.primary);
|
|
51
|
-
if (!primaryProperty) {
|
|
52
|
-
throw new OntologyValidationError2(`[Sixb] Object type '${objectType.id}' has no primary property`);
|
|
53
|
-
}
|
|
54
|
-
return primaryProperty;
|
|
55
|
-
}
|
|
56
|
-
function assertPrimaryPropertyNotUpdated(objectType, properties) {
|
|
57
|
-
const primaryProperty = getPrimaryProperty(objectType);
|
|
58
|
-
if (Object.hasOwn(properties, primaryProperty.id)) {
|
|
59
|
-
throw new EditBatchError2(`[Sixb] EditBatch cannot update primary property '${objectType.id}.${primaryProperty.id}'.`);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
function normalizeEditablePropertyIds(params) {
|
|
63
|
-
const { objectType, propertyIds, operation } = params;
|
|
64
|
-
const primaryProperty = getPrimaryProperty(objectType);
|
|
65
|
-
const normalized = [];
|
|
66
|
-
const seen = new Set;
|
|
67
|
-
for (const propertyId of propertyIds) {
|
|
68
|
-
if (typeof propertyId !== "string" || !propertyId.trim()) {
|
|
69
|
-
throw new EditBatchError2(`[Sixb] EditBatch ${objectType.id}.${operation} property id must be a non-empty string.`);
|
|
70
|
-
}
|
|
71
|
-
const property = objectType.properties.find((candidate) => candidate.id === propertyId);
|
|
72
|
-
if (!property) {
|
|
73
|
-
throw new EditBatchError2(`[Sixb] EditBatch ${operation} references unknown property '${objectType.id}.${propertyId}'.`);
|
|
74
|
-
}
|
|
75
|
-
if (property.id === primaryProperty.id) {
|
|
76
|
-
throw new EditBatchError2(`[Sixb] EditBatch cannot ${operation} primary property '${objectType.id}.${propertyId}'.`);
|
|
77
|
-
}
|
|
78
|
-
if (property.mode === "telemetry") {
|
|
79
|
-
throw new EditBatchError2(`[Sixb] EditBatch cannot ${operation} telemetry property '${objectType.id}.${propertyId}'.`);
|
|
80
|
-
}
|
|
81
|
-
if (seen.has(propertyId))
|
|
82
|
-
continue;
|
|
83
|
-
seen.add(propertyId);
|
|
84
|
-
normalized.push(propertyId);
|
|
85
|
-
}
|
|
86
|
-
if (normalized.length === 0) {
|
|
87
|
-
throw new EditBatchError2(`[Sixb] EditBatch ${objectType.id}.${operation} requires at least one property id.`);
|
|
88
|
-
}
|
|
89
|
-
return normalized;
|
|
90
|
-
}
|
|
91
|
-
function assertNoTelemetryProperties(definitions, properties, path) {
|
|
92
|
-
for (const propertyId of Object.keys(properties)) {
|
|
93
|
-
const property = definitions.find((candidate) => candidate.id === propertyId);
|
|
94
|
-
if (property?.mode === "telemetry") {
|
|
95
|
-
throw new EditBatchError2(`[Sixb] EditBatch cannot edit telemetry property '${path}.${propertyId}' in the MVP.`);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// src/edits/recorder.ts
|
|
101
|
-
var EMPTY_VALUE_TYPES = new Map;
|
|
102
|
-
async function recordEdits(options, handler) {
|
|
103
|
-
const recorder = createEditRecorder(options);
|
|
104
|
-
await handler({ objects: recorder.objects });
|
|
105
|
-
return recorder.toEditBatch();
|
|
106
|
-
}
|
|
107
|
-
function createEditRecorder(options) {
|
|
108
|
-
if (!options.runId.trim()) {
|
|
109
|
-
throw new EditBatchError2("[Sixb] recordEdits requires a non-empty runId.");
|
|
110
|
-
}
|
|
111
|
-
const operations = [];
|
|
112
|
-
const valueTypesById = options.valueTypesById ?? EMPTY_VALUE_TYPES;
|
|
113
|
-
function objects(objectType) {
|
|
114
|
-
return {
|
|
115
|
-
byId(primaryId) {
|
|
116
|
-
return createObjectHandle(objectType, createRef(objectType.id, primaryId));
|
|
117
|
-
},
|
|
118
|
-
create(properties) {
|
|
119
|
-
const operationPath = String(operations.length);
|
|
120
|
-
const primaryProperty = getPrimaryProperty(objectType);
|
|
121
|
-
const rawProperties = assertRecord(properties, `${objectType.id}.create.properties`);
|
|
122
|
-
const primaryValue = rawProperties[primaryProperty.id] ?? generatePrimaryId({
|
|
123
|
-
runId: options.runId,
|
|
124
|
-
operationPath,
|
|
125
|
-
objectTypeId: objectType.id
|
|
126
|
-
});
|
|
127
|
-
if (typeof primaryValue !== "string" || !primaryValue.trim()) {
|
|
128
|
-
throw new EditBatchError2(`[Sixb] EditBatch create '${objectType.id}' primary property '${primaryProperty.id}' must be a non-empty string.`);
|
|
129
|
-
}
|
|
130
|
-
const normalizedProperties = normalizeObjectEditProperties({
|
|
131
|
-
objectType,
|
|
132
|
-
properties: {
|
|
133
|
-
...rawProperties,
|
|
134
|
-
[primaryProperty.id]: primaryValue
|
|
135
|
-
},
|
|
136
|
-
valueTypesById,
|
|
137
|
-
path: `${objectType.id}.create`
|
|
138
|
-
});
|
|
139
|
-
assertRequiredProperties2(objectType, normalizedProperties);
|
|
140
|
-
operations.push({
|
|
141
|
-
kind: "object.create",
|
|
142
|
-
objectTypeId: objectType.id,
|
|
143
|
-
primaryId: primaryValue,
|
|
144
|
-
properties: withoutPrimaryProperty(normalizedProperties, primaryProperty.id)
|
|
145
|
-
});
|
|
146
|
-
return createObjectHandle(objectType, {
|
|
147
|
-
objectTypeId: objectType.id,
|
|
148
|
-
primaryId: primaryValue
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
function toEditBatch() {
|
|
154
|
-
return { operations: [...operations] };
|
|
155
|
-
}
|
|
156
|
-
function createObjectHandle(objectType, ref) {
|
|
157
|
-
const handle = {
|
|
158
|
-
objectTypeId: ref.objectTypeId,
|
|
159
|
-
primaryId: ref.primaryId
|
|
160
|
-
};
|
|
161
|
-
Object.defineProperties(handle, {
|
|
162
|
-
objectType: {
|
|
163
|
-
value: objectType
|
|
164
|
-
},
|
|
165
|
-
update: {
|
|
166
|
-
value(properties) {
|
|
167
|
-
const normalizedProperties = normalizeObjectEditProperties({
|
|
168
|
-
objectType,
|
|
169
|
-
properties: assertRecord(properties, `${objectType.id}.update.properties`),
|
|
170
|
-
valueTypesById,
|
|
171
|
-
path: `${objectType.id}.update`
|
|
172
|
-
});
|
|
173
|
-
assertPrimaryPropertyNotUpdated(objectType, normalizedProperties);
|
|
174
|
-
if (Object.keys(normalizedProperties).length === 0) {
|
|
175
|
-
throw new EditBatchError2(`[Sixb] EditBatch update '${objectType.id}:${ref.primaryId}' must set at least one property.`);
|
|
176
|
-
}
|
|
177
|
-
operations.push({
|
|
178
|
-
kind: "object.update",
|
|
179
|
-
objectTypeId: ref.objectTypeId,
|
|
180
|
-
primaryId: ref.primaryId,
|
|
181
|
-
properties: normalizedProperties
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
},
|
|
185
|
-
unset: {
|
|
186
|
-
value(...propertyIds) {
|
|
187
|
-
operations.push({
|
|
188
|
-
kind: "object.unset",
|
|
189
|
-
objectTypeId: ref.objectTypeId,
|
|
190
|
-
primaryId: ref.primaryId,
|
|
191
|
-
propertyIds: normalizeEditablePropertyIds({
|
|
192
|
-
objectType,
|
|
193
|
-
propertyIds,
|
|
194
|
-
operation: "unset"
|
|
195
|
-
})
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
},
|
|
199
|
-
reset: {
|
|
200
|
-
value(...propertyIds) {
|
|
201
|
-
operations.push({
|
|
202
|
-
kind: "object.reset",
|
|
203
|
-
objectTypeId: ref.objectTypeId,
|
|
204
|
-
primaryId: ref.primaryId,
|
|
205
|
-
propertyIds: normalizeEditablePropertyIds({
|
|
206
|
-
objectType,
|
|
207
|
-
propertyIds,
|
|
208
|
-
operation: "reset"
|
|
209
|
-
})
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
},
|
|
213
|
-
delete: {
|
|
214
|
-
value() {
|
|
215
|
-
operations.push({
|
|
216
|
-
kind: "object.delete",
|
|
217
|
-
objectTypeId: ref.objectTypeId,
|
|
218
|
-
primaryId: ref.primaryId
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
},
|
|
222
|
-
restore: {
|
|
223
|
-
value() {
|
|
224
|
-
operations.push({
|
|
225
|
-
kind: "object.restore",
|
|
226
|
-
objectTypeId: ref.objectTypeId,
|
|
227
|
-
primaryId: ref.primaryId
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
},
|
|
231
|
-
link: {
|
|
232
|
-
value(link, target, linkOptions) {
|
|
233
|
-
assertLinkTokenSource(ref, link);
|
|
234
|
-
const properties = linkOptions?.properties === undefined ? undefined : normalizeLinkEditProperties({
|
|
235
|
-
sourceObjectTypeId: ref.objectTypeId,
|
|
236
|
-
linkId: link.id,
|
|
237
|
-
linkDefinition: link.link,
|
|
238
|
-
properties: linkOptions.properties,
|
|
239
|
-
valueTypesById
|
|
240
|
-
});
|
|
241
|
-
operations.push({
|
|
242
|
-
kind: "link.upsert",
|
|
243
|
-
source: toPlainRef(ref),
|
|
244
|
-
linkId: link.id,
|
|
245
|
-
target: toPlainRef(target),
|
|
246
|
-
...properties !== undefined ? { properties } : {}
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
},
|
|
250
|
-
unlink: {
|
|
251
|
-
value(link, target) {
|
|
252
|
-
assertLinkTokenSource(ref, link);
|
|
253
|
-
operations.push({
|
|
254
|
-
kind: "link.delete",
|
|
255
|
-
source: toPlainRef(ref),
|
|
256
|
-
linkId: link.id,
|
|
257
|
-
target: toPlainRef(target)
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
},
|
|
261
|
-
resetLink: {
|
|
262
|
-
value(link, target) {
|
|
263
|
-
assertLinkTokenSource(ref, link);
|
|
264
|
-
operations.push({
|
|
265
|
-
kind: "link.reset",
|
|
266
|
-
source: toPlainRef(ref),
|
|
267
|
-
linkId: link.id,
|
|
268
|
-
target: toPlainRef(target)
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
});
|
|
273
|
-
return handle;
|
|
274
|
-
}
|
|
275
|
-
return {
|
|
276
|
-
objects,
|
|
277
|
-
toEditBatch
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
function assertLinkTokenSource(source, link) {
|
|
281
|
-
if (source.objectTypeId !== link.objectTypeId) {
|
|
282
|
-
throw new OntologyValidationError2(`[Sixb] Link token ${link.objectTypeId}.${link.id} cannot be used with ${source.objectTypeId}`);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
function createRef(objectTypeId, primaryId) {
|
|
286
|
-
return {
|
|
287
|
-
objectTypeId: assertNonEmptyString(objectTypeId, "objectTypeId"),
|
|
288
|
-
primaryId: assertNonEmptyString(primaryId, `${objectTypeId}.primaryId`)
|
|
289
|
-
};
|
|
290
|
-
}
|
|
291
|
-
function generatePrimaryId(params) {
|
|
292
|
-
const hash = createHash("sha256").update(`${params.runId}:${params.operationPath}:${params.objectTypeId}`).digest("hex").slice(0, 24);
|
|
293
|
-
return `edit_${hash}`;
|
|
294
|
-
}
|
|
295
|
-
function withoutPrimaryProperty(properties, primaryPropertyId) {
|
|
296
|
-
const { [primaryPropertyId]: _primary, ...rest } = properties;
|
|
297
|
-
return rest;
|
|
298
|
-
}
|
|
299
|
-
function assertRecord(value, label) {
|
|
300
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
301
|
-
throw new EditBatchError2(`[Sixb] EditBatch ${label} must be an object.`);
|
|
302
|
-
}
|
|
303
|
-
return value;
|
|
304
|
-
}
|
|
305
|
-
function assertNonEmptyString(value, label) {
|
|
306
|
-
if (typeof value !== "string" || !value.trim()) {
|
|
307
|
-
throw new EditBatchError2(`[Sixb] EditBatch ${label} must be a non-empty string.`);
|
|
308
|
-
}
|
|
309
|
-
return value;
|
|
310
|
-
}
|
|
311
|
-
function toPlainRef(ref) {
|
|
312
|
-
return {
|
|
313
|
-
objectTypeId: ref.objectTypeId,
|
|
314
|
-
primaryId: ref.primaryId
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
export {
|
|
318
|
-
recordEdits
|
|
319
|
-
};
|
|
320
|
-
|
|
321
|
-
//# debugId=BB6D6702A9DC58F164756E2164756E21
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/edits/recorder.ts", "../src/edits/properties.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import { createHash } from \"node:crypto\"\nimport type { ObjectLink, ValueType } from \"../ontology\"\nimport { OntologyValidationError } from \"../ontology/errors\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport { assertRequiredProperties } from \"../ontology/validation\"\nimport { EditBatchError } from \"./errors\"\nimport {\n assertPrimaryPropertyNotUpdated,\n getPrimaryProperty,\n normalizeEditablePropertyIds,\n normalizeLinkEditProperties,\n normalizeObjectEditProperties,\n} from \"./properties\"\nimport type {\n EditBatch,\n EditObjectHandle,\n EditObjectProperties,\n EditObjectRef,\n EditOperation,\n RecordEditsContext,\n RecordEditsHandler,\n RecordEditsOptions,\n} from \"./types\"\n\nexport type { RecordEditsHandler, RecordEditsOptions } from \"./types\"\n\nconst EMPTY_VALUE_TYPES = new Map<string, ValueType>()\n\ntype RuntimeEditRecorder = {\n readonly objects: (objectType: ObjectTypeWithPropertyTokens) => unknown\n toEditBatch(): EditBatch\n}\n\nexport async function recordEdits(\n options: RecordEditsOptions,\n handler: RecordEditsHandler\n): Promise<EditBatch> {\n const recorder = createEditRecorder(options)\n await handler({ objects: recorder.objects } as RecordEditsContext)\n return recorder.toEditBatch()\n}\n\nfunction createEditRecorder(options: RecordEditsOptions): RuntimeEditRecorder {\n if (!options.runId.trim()) {\n throw new EditBatchError(\"[Sixb] recordEdits requires a non-empty runId.\")\n }\n\n const operations: EditOperation[] = []\n const valueTypesById = options.valueTypesById ?? EMPTY_VALUE_TYPES\n\n function objects(objectType: ObjectTypeWithPropertyTokens) {\n return {\n byId(primaryId: string) {\n return createObjectHandle(objectType, createRef(objectType.id, primaryId))\n },\n\n create(properties: unknown) {\n const operationPath = String(operations.length)\n const primaryProperty = getPrimaryProperty(objectType)\n const rawProperties = assertRecord(properties, `${objectType.id}.create.properties`)\n const primaryValue =\n rawProperties[primaryProperty.id] ??\n generatePrimaryId({\n runId: options.runId,\n operationPath,\n objectTypeId: objectType.id,\n })\n\n if (typeof primaryValue !== \"string\" || !primaryValue.trim()) {\n throw new EditBatchError(\n `[Sixb] EditBatch create '${objectType.id}' primary property '${primaryProperty.id}' must be a non-empty string.`\n )\n }\n\n const normalizedProperties = normalizeObjectEditProperties({\n objectType,\n properties: {\n ...rawProperties,\n [primaryProperty.id]: primaryValue,\n },\n valueTypesById,\n path: `${objectType.id}.create`,\n })\n assertRequiredProperties(objectType, normalizedProperties)\n\n operations.push({\n kind: \"object.create\",\n objectTypeId: objectType.id,\n primaryId: primaryValue,\n properties: withoutPrimaryProperty(normalizedProperties, primaryProperty.id),\n })\n return createObjectHandle(objectType, {\n objectTypeId: objectType.id,\n primaryId: primaryValue,\n })\n },\n }\n }\n\n function toEditBatch(): EditBatch {\n return { operations: [...operations] }\n }\n\n function createObjectHandle(\n objectType: ObjectTypeWithPropertyTokens,\n ref: EditObjectRef\n ): EditObjectHandle<ObjectTypeWithPropertyTokens> {\n const handle = {\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n }\n\n Object.defineProperties(handle, {\n objectType: {\n value: objectType,\n },\n update: {\n value(properties: Readonly<Record<string, unknown>>) {\n const normalizedProperties = normalizeObjectEditProperties({\n objectType,\n properties: assertRecord(properties, `${objectType.id}.update.properties`),\n valueTypesById,\n path: `${objectType.id}.update`,\n })\n assertPrimaryPropertyNotUpdated(objectType, normalizedProperties)\n // An empty patch resolves to a null override and commits as `unchanged`, so a handler\n // that built its update conditionally would report a successful run that wrote nothing.\n if (Object.keys(normalizedProperties).length === 0) {\n throw new EditBatchError(\n `[Sixb] EditBatch update '${objectType.id}:${ref.primaryId}' must set at least one property.`\n )\n }\n\n operations.push({\n kind: \"object.update\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n properties: normalizedProperties,\n })\n },\n },\n unset: {\n value(...propertyIds: readonly unknown[]) {\n operations.push({\n kind: \"object.unset\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n propertyIds: normalizeEditablePropertyIds({\n objectType,\n propertyIds,\n operation: \"unset\",\n }),\n })\n },\n },\n reset: {\n value(...propertyIds: readonly unknown[]) {\n operations.push({\n kind: \"object.reset\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n propertyIds: normalizeEditablePropertyIds({\n objectType,\n propertyIds,\n operation: \"reset\",\n }),\n })\n },\n },\n delete: {\n value() {\n operations.push({\n kind: \"object.delete\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n })\n },\n },\n restore: {\n value() {\n operations.push({\n kind: \"object.restore\",\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n })\n },\n },\n link: {\n value(\n link: { objectTypeId: string; id: string; link: ObjectLink },\n target: EditObjectRef,\n linkOptions?: { readonly properties?: Readonly<Record<string, unknown>> }\n ) {\n assertLinkTokenSource(ref, link)\n\n const properties =\n linkOptions?.properties === undefined\n ? undefined\n : normalizeLinkEditProperties({\n sourceObjectTypeId: ref.objectTypeId,\n linkId: link.id,\n linkDefinition: link.link,\n properties: linkOptions.properties,\n valueTypesById,\n })\n\n operations.push({\n kind: \"link.upsert\",\n source: toPlainRef(ref),\n linkId: link.id,\n target: toPlainRef(target),\n ...(properties !== undefined ? { properties } : {}),\n })\n },\n },\n unlink: {\n value(link: { objectTypeId: string; id: string; link: ObjectLink }, target: EditObjectRef) {\n assertLinkTokenSource(ref, link)\n\n operations.push({\n kind: \"link.delete\",\n source: toPlainRef(ref),\n linkId: link.id,\n target: toPlainRef(target),\n })\n },\n },\n resetLink: {\n value(link: { objectTypeId: string; id: string; link: ObjectLink }, target: EditObjectRef) {\n assertLinkTokenSource(ref, link)\n\n operations.push({\n kind: \"link.reset\",\n source: toPlainRef(ref),\n linkId: link.id,\n target: toPlainRef(target),\n })\n },\n },\n })\n\n return handle as EditObjectHandle<ObjectTypeWithPropertyTokens>\n }\n\n return {\n objects,\n toEditBatch,\n }\n}\n\nfunction assertLinkTokenSource(\n source: EditObjectRef,\n link: { readonly objectTypeId: string; readonly id: string }\n): void {\n if (source.objectTypeId !== link.objectTypeId) {\n throw new OntologyValidationError(\n `[Sixb] Link token ${link.objectTypeId}.${link.id} cannot be used with ${source.objectTypeId}`\n )\n }\n}\n\nfunction createRef<TObjectTypeId extends string>(\n objectTypeId: TObjectTypeId,\n primaryId: string\n): EditObjectRef<TObjectTypeId> {\n return {\n objectTypeId: assertNonEmptyString(objectTypeId, \"objectTypeId\") as TObjectTypeId,\n primaryId: assertNonEmptyString(primaryId, `${objectTypeId}.primaryId`),\n }\n}\n\nfunction generatePrimaryId(params: {\n readonly runId: string\n readonly operationPath: string\n readonly objectTypeId: string\n}): string {\n const hash = createHash(\"sha256\")\n .update(`${params.runId}:${params.operationPath}:${params.objectTypeId}`)\n .digest(\"hex\")\n .slice(0, 24)\n return `edit_${hash}`\n}\n\n/** Primary identity lives in the object ref; managed authority never stores it as a property. */\nfunction withoutPrimaryProperty(\n properties: EditObjectProperties,\n primaryPropertyId: string\n): EditObjectProperties {\n const { [primaryPropertyId]: _primary, ...rest } = properties\n return rest\n}\n\nfunction assertRecord(value: unknown, label: string): Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new EditBatchError(`[Sixb] EditBatch ${label} must be an object.`)\n }\n return value as Record<string, unknown>\n}\n\nfunction assertNonEmptyString(value: unknown, label: string): string {\n if (typeof value !== \"string\" || !value.trim()) {\n throw new EditBatchError(`[Sixb] EditBatch ${label} must be a non-empty string.`)\n }\n return value\n}\n\nfunction toPlainRef(ref: EditObjectRef): EditObjectRef {\n return {\n objectTypeId: ref.objectTypeId,\n primaryId: ref.primaryId,\n }\n}\n",
|
|
6
|
-
"import type { ObjectLink, Property, ValueType } from \"../ontology\"\nimport { OntologyValidationError } from \"../ontology/errors\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport {\n assertKnownProperties,\n normalizeObjectProperties,\n validateObjectProperties,\n validatePropertyValue,\n} from \"../ontology/validation\"\nimport { EditBatchError } from \"./errors\"\nimport type { EditObjectProperties } from \"./types\"\n\nexport function normalizeObjectEditProperties(params: {\n readonly objectType: ObjectTypeWithPropertyTokens\n readonly properties: Record<string, unknown>\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n readonly path: string\n}): EditObjectProperties {\n const { objectType, properties, valueTypesById, path } = params\n assertKnownProperties(objectType, properties)\n assertNoTelemetryProperties(objectType.properties, properties, path)\n validateObjectProperties(objectType, properties, valueTypesById)\n return normalizeObjectProperties(objectType.properties, properties, valueTypesById, path)\n}\n\nexport function normalizeLinkEditProperties(params: {\n readonly sourceObjectTypeId: string\n readonly linkId: string\n readonly linkDefinition: ObjectLink\n readonly properties: Readonly<Record<string, unknown>>\n readonly valueTypesById: ReadonlyMap<string, ValueType>\n}): EditObjectProperties {\n const { sourceObjectTypeId, linkId, linkDefinition, properties, valueTypesById } = params\n const linkProperties = linkDefinition.properties ?? []\n\n if (linkProperties.length === 0 && Object.keys(properties).length > 0) {\n throw new OntologyValidationError(\n `[Sixb] Link ${sourceObjectTypeId}.${linkId} does not define link properties`\n )\n }\n\n const knownPropertyIds = new Set(linkProperties.map((property) => property.id))\n for (const propertyId of Object.keys(properties)) {\n if (!knownPropertyIds.has(propertyId)) {\n throw new OntologyValidationError(\n `[Sixb] Unknown link property '${propertyId}' for link '${sourceObjectTypeId}.${linkId}'`\n )\n }\n }\n\n assertNoTelemetryProperties(linkProperties, properties, `${sourceObjectTypeId}.${linkId}`)\n\n for (const [propertyId, value] of Object.entries(properties)) {\n const property = linkProperties.find((candidate) => candidate.id === propertyId)\n if (!property) continue\n validatePropertyValue(\n property,\n value,\n `${sourceObjectTypeId}.${linkId}.${propertyId}`,\n valueTypesById\n )\n }\n\n return normalizeObjectProperties(\n linkProperties,\n properties,\n valueTypesById,\n `${sourceObjectTypeId}.${linkId}`\n )\n}\n\nexport function getPrimaryProperty(objectType: ObjectTypeWithPropertyTokens): Property {\n const primaryProperty = objectType.properties.find((property) => property.primary)\n if (!primaryProperty) {\n throw new OntologyValidationError(\n `[Sixb] Object type '${objectType.id}' has no primary property`\n )\n }\n return primaryProperty\n}\n\nexport function assertPrimaryPropertyNotUpdated(\n objectType: ObjectTypeWithPropertyTokens,\n properties: EditObjectProperties\n): void {\n const primaryProperty = getPrimaryProperty(objectType)\n if (Object.hasOwn(properties, primaryProperty.id)) {\n throw new EditBatchError(\n `[Sixb] EditBatch cannot update primary property '${objectType.id}.${primaryProperty.id}'.`\n )\n }\n}\n\n/** Validates `unset`/`reset` targets: known, non-primary, and not telemetry-backed. */\nexport function normalizeEditablePropertyIds(params: {\n readonly objectType: ObjectTypeWithPropertyTokens\n readonly propertyIds: readonly unknown[]\n readonly operation: \"unset\" | \"reset\"\n}): readonly string[] {\n const { objectType, propertyIds, operation } = params\n const primaryProperty = getPrimaryProperty(objectType)\n const normalized: string[] = []\n const seen = new Set<string>()\n\n for (const propertyId of propertyIds) {\n if (typeof propertyId !== \"string\" || !propertyId.trim()) {\n throw new EditBatchError(\n `[Sixb] EditBatch ${objectType.id}.${operation} property id must be a non-empty string.`\n )\n }\n const property = objectType.properties.find((candidate) => candidate.id === propertyId)\n if (!property) {\n throw new EditBatchError(\n `[Sixb] EditBatch ${operation} references unknown property '${objectType.id}.${propertyId}'.`\n )\n }\n if (property.id === primaryProperty.id) {\n throw new EditBatchError(\n `[Sixb] EditBatch cannot ${operation} primary property '${objectType.id}.${propertyId}'.`\n )\n }\n if (property.mode === \"telemetry\") {\n throw new EditBatchError(\n `[Sixb] EditBatch cannot ${operation} telemetry property '${objectType.id}.${propertyId}'.`\n )\n }\n if (seen.has(propertyId)) continue\n seen.add(propertyId)\n normalized.push(propertyId)\n }\n\n if (normalized.length === 0) {\n throw new EditBatchError(\n `[Sixb] EditBatch ${objectType.id}.${operation} requires at least one property id.`\n )\n }\n return normalized\n}\n\nfunction assertNoTelemetryProperties(\n definitions: readonly Property[],\n properties: Readonly<Record<string, unknown>>,\n path: string\n): void {\n for (const propertyId of Object.keys(properties)) {\n const property = definitions.find((candidate) => candidate.id === propertyId)\n if (property?.mode === \"telemetry\") {\n throw new EditBatchError(\n `[Sixb] EditBatch cannot edit telemetry property '${path}.${propertyId}' in the MVP.`\n )\n }\n }\n}\n"
|
|
7
|
-
],
|
|
8
|
-
"mappings": "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",
|
|
9
|
-
"debugId": "BB6D6702A9DC58F164756E2164756E21",
|
|
10
|
-
"names": []
|
|
11
|
-
}
|