@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
package/src/agents/types.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ActionsRuntime } from "../actions/execution"
|
|
2
|
+
import type { BlobBody, FileRef, OpenedFileRef } from "../blob-storage"
|
|
2
3
|
import type { ConnectorRuntime } from "../connectors"
|
|
3
4
|
import type { JsonPrimitive, JsonValue, ReadonlyJsonValue } from "../json"
|
|
4
5
|
import type { Logger } from "../logging"
|
|
5
6
|
import { type LanguageModelRef, MODEL_REASONING_LEVELS, type ModelReasoning } from "../models"
|
|
7
|
+
import type { ModelsRuntime } from "../models/generation-types"
|
|
6
8
|
import type { InferSchema } from "../ontology/inference"
|
|
7
9
|
import type { Schema } from "../ontology/types"
|
|
10
|
+
import type { ObjectReader } from "../runtime/types"
|
|
8
11
|
|
|
9
12
|
export type {
|
|
10
13
|
AgentContextEntryInput,
|
|
@@ -32,9 +35,6 @@ export interface AgentDescriptor {
|
|
|
32
35
|
|
|
33
36
|
export type AgentReasoning = ModelReasoning
|
|
34
37
|
|
|
35
|
-
/** @deprecated Use {@link AgentReasoning}. */
|
|
36
|
-
export type AgentReasoningLevel = AgentReasoning
|
|
37
|
-
|
|
38
38
|
export const AGENT_REASONING_LEVELS = MODEL_REASONING_LEVELS
|
|
39
39
|
|
|
40
40
|
type Simplify<T> = { [K in keyof T]: T[K] } & {}
|
|
@@ -98,6 +98,19 @@ export interface AgentToolArtifacts {
|
|
|
98
98
|
put(input: AgentToolArtifactPutInput): Promise<AgentToolArtifact>
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
/**
|
|
102
|
+
* The files attached to the run that invoked a tool: the messages of a chat's thread, or the input
|
|
103
|
+
* files of a workflow AI task. A child Agent has none.
|
|
104
|
+
*/
|
|
105
|
+
export interface AgentToolAttachments {
|
|
106
|
+
/**
|
|
107
|
+
* Open an attachment by the `key` the Agent sees in `$SIXB_ATTACHMENTS`. Returns null when its
|
|
108
|
+
* stored file is gone, and throws an `AgentToolPublicError` for a key that is not one of this
|
|
109
|
+
* run's attachments.
|
|
110
|
+
*/
|
|
111
|
+
open(key: string): Promise<OpenedFileRef | null>
|
|
112
|
+
}
|
|
113
|
+
|
|
101
114
|
export type AgentToolTextContent = {
|
|
102
115
|
readonly type: "text"
|
|
103
116
|
readonly text: string
|
|
@@ -120,6 +133,22 @@ export type AgentToolResult = {
|
|
|
120
133
|
readonly content: readonly AgentToolContent[]
|
|
121
134
|
}
|
|
122
135
|
|
|
136
|
+
/**
|
|
137
|
+
* The run's domain SDK as an agent tool sees it. Unlike workflow steps and actions, it acts as the
|
|
138
|
+
* run's requester: the signed-in user in a chat, that same user in a child Agent, and the step's
|
|
139
|
+
* groups in a workflow AI task.
|
|
140
|
+
*
|
|
141
|
+
* A structural view of the public `Sixb` SDK, like `WorkflowRuntimeFacade`: the handler receives the
|
|
142
|
+
* run's bound SDK, and this type guides it to what a tool should do. It reads objects and changes
|
|
143
|
+
* them by requesting actions, which validate and record the change. Authority comes from the run,
|
|
144
|
+
* not from this view.
|
|
145
|
+
*/
|
|
146
|
+
export interface AgentToolRuntimeFacade extends ObjectReader {
|
|
147
|
+
readonly actions: ActionsRuntime
|
|
148
|
+
readonly models: ModelsRuntime
|
|
149
|
+
readonly connector: ConnectorRuntime
|
|
150
|
+
}
|
|
151
|
+
|
|
123
152
|
/** The narrow, run-scoped surface passed to an agent tool handler. */
|
|
124
153
|
export interface AgentToolRunContext<
|
|
125
154
|
TInput extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>,
|
|
@@ -128,9 +157,10 @@ export interface AgentToolRunContext<
|
|
|
128
157
|
readonly toolCallId: string
|
|
129
158
|
readonly signal: AbortSignal
|
|
130
159
|
readonly run: AgentToolRunInfo
|
|
131
|
-
readonly
|
|
160
|
+
readonly sixb: AgentToolRuntimeFacade
|
|
132
161
|
readonly logger: Logger
|
|
133
162
|
readonly artifacts: AgentToolArtifacts
|
|
163
|
+
readonly attachments: AgentToolAttachments
|
|
134
164
|
}
|
|
135
165
|
|
|
136
166
|
/** Agent tool handlers may return only values safe to persist in agent messages. */
|
package/src/auth/runtime.ts
CHANGED
|
@@ -655,6 +655,7 @@ export class AuthRuntime {
|
|
|
655
655
|
caller: AuthenticatedUserRequestSession,
|
|
656
656
|
input: CreatePersonalAccessTokenInput
|
|
657
657
|
): Promise<CreateAccessTokenResult> {
|
|
658
|
+
assertSessionCaller(caller)
|
|
658
659
|
const storage = this.requireAuthStorage()
|
|
659
660
|
// A personal token can only carry groups the caller currently belongs to.
|
|
660
661
|
const groupIds = constrainRequestedGroupIds(input.groupIds, caller.groupIds, {
|
|
@@ -815,6 +816,7 @@ export class AuthRuntime {
|
|
|
815
816
|
caller: AuthenticatedUserRequestSession,
|
|
816
817
|
input: CreateServiceAccountAccessTokenInput
|
|
817
818
|
): Promise<CreateServiceAccountAccessTokenResult> {
|
|
819
|
+
assertSessionCaller(caller)
|
|
818
820
|
const storage = this.requireAuthStorage()
|
|
819
821
|
const { serviceAccount, groupIds: serviceAccountGroupIds } =
|
|
820
822
|
await this.requireManageableServiceAccount(storage, caller.groupIds, input.serviceAccountId)
|
|
@@ -1564,6 +1566,18 @@ function callerSessionId(caller: AuthenticatedRequestAuthSession): string | unde
|
|
|
1564
1566
|
return caller.credentialSource === "session" ? caller.session.id : undefined
|
|
1565
1567
|
}
|
|
1566
1568
|
|
|
1569
|
+
// Access tokens are created only by a signed-in person, never by another access token. A token
|
|
1570
|
+
// minting one could hand out more groups or a later expiry than it carries, and what it minted
|
|
1571
|
+
// would outlive its own revocation.
|
|
1572
|
+
function assertSessionCaller(caller: AuthenticatedUserRequestSession): void {
|
|
1573
|
+
if (caller.credentialSource !== "session") {
|
|
1574
|
+
throw new AuthRuntimeError(
|
|
1575
|
+
"authorization_denied",
|
|
1576
|
+
"[Sixb] Access tokens can only be created from a signed-in session, not with another access token."
|
|
1577
|
+
)
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1567
1581
|
function constrainTokenGroupIds(
|
|
1568
1582
|
principalGroupIds: readonly string[],
|
|
1569
1583
|
accessToken: AccessTokenRecord
|
package/src/auth/types.ts
CHANGED
|
@@ -190,6 +190,12 @@ export interface OidcStartSignInInput {
|
|
|
190
190
|
|
|
191
191
|
export interface OidcStartSignInResult {
|
|
192
192
|
readonly redirectTo: string
|
|
193
|
+
/**
|
|
194
|
+
* The `state` sent to the provider. The server keeps it in a cookie until `expiresAt` and
|
|
195
|
+
* completes the callback only in the browser that holds it.
|
|
196
|
+
*/
|
|
197
|
+
readonly state: string
|
|
198
|
+
readonly expiresAt: Date
|
|
193
199
|
}
|
|
194
200
|
|
|
195
201
|
export interface OidcCallbackInput {
|
|
@@ -38,18 +38,6 @@ export function canViewEvent(
|
|
|
38
38
|
}) &&
|
|
39
39
|
isAllowed(authorization, { kind: "object.view", objectTypeId: event.payload.targetTypeId })
|
|
40
40
|
)
|
|
41
|
-
case "actions": {
|
|
42
|
-
// Apply is necessary; for object-bound actions the principal must also be
|
|
43
|
-
// able to view the subject type, or the event would leak a hidden
|
|
44
|
-
// object's id/type — mirroring the rule in `canListAction`.
|
|
45
|
-
if (!isAllowed(authorization, { kind: "action.apply", actionId: event.payload.actionId })) {
|
|
46
|
-
return false
|
|
47
|
-
}
|
|
48
|
-
const subject = event.payload.subject
|
|
49
|
-
return subject.kind === "object"
|
|
50
|
-
? isAllowed(authorization, { kind: "object.view", objectTypeId: subject.objectTypeId })
|
|
51
|
-
: true
|
|
52
|
-
}
|
|
53
41
|
case "workflows":
|
|
54
42
|
return isAllowed(authorization, {
|
|
55
43
|
kind: "workflow.run",
|
|
@@ -70,7 +70,7 @@ function expandSelection(
|
|
|
70
70
|
*
|
|
71
71
|
* Pure set-union over pre-resolved roles: roles match when their grantedTo
|
|
72
72
|
* groups intersect the principal's memberships, and their concrete id sets
|
|
73
|
-
* union into the principal's
|
|
73
|
+
* and clearances union into the principal's context.
|
|
74
74
|
*/
|
|
75
75
|
export function resolveAuthorizationContext(input: {
|
|
76
76
|
readonly principal: Principal
|
|
@@ -81,6 +81,7 @@ export function resolveAuthorizationContext(input: {
|
|
|
81
81
|
const memberGroupIds = new Set(input.groupIds)
|
|
82
82
|
const roleIds: string[] = []
|
|
83
83
|
const grants = emptyGrantSets()
|
|
84
|
+
const clearances = new Set<string>()
|
|
84
85
|
|
|
85
86
|
for (const role of input.roles) {
|
|
86
87
|
if (!role.grantedToGroupIds.some((groupId) => memberGroupIds.has(groupId))) {
|
|
@@ -96,6 +97,9 @@ export function resolveAuthorizationContext(input: {
|
|
|
96
97
|
grants[kind].add(id)
|
|
97
98
|
}
|
|
98
99
|
}
|
|
100
|
+
for (const markingId of role.clearances ?? []) {
|
|
101
|
+
clearances.add(markingId)
|
|
102
|
+
}
|
|
99
103
|
}
|
|
100
104
|
|
|
101
105
|
return {
|
|
@@ -104,5 +108,6 @@ export function resolveAuthorizationContext(input: {
|
|
|
104
108
|
groupIds: input.groupIds,
|
|
105
109
|
roleIds,
|
|
106
110
|
grants,
|
|
111
|
+
clearances,
|
|
107
112
|
}
|
|
108
113
|
}
|
|
@@ -42,6 +42,8 @@ export interface ResolvedRole {
|
|
|
42
42
|
readonly id: string
|
|
43
43
|
readonly grantedToGroupIds: readonly string[]
|
|
44
44
|
readonly grants: GrantIndex
|
|
45
|
+
/** Marking ids this role clears. Absent means none. */
|
|
46
|
+
readonly clearances?: ReadonlySet<string>
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
export interface AuthorizationContext {
|
|
@@ -51,4 +53,9 @@ export interface AuthorizationContext {
|
|
|
51
53
|
/** Roles whose grantedTo groups intersect the principal's memberships. */
|
|
52
54
|
readonly roleIds: readonly string[]
|
|
53
55
|
readonly grants: GrantIndex
|
|
56
|
+
/**
|
|
57
|
+
* Marking ids the principal may read, unioned from its roles. Absent means none: a context built
|
|
58
|
+
* without clearances reads no marked property.
|
|
59
|
+
*/
|
|
60
|
+
readonly clearances?: ReadonlySet<string>
|
|
54
61
|
}
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
type FileDownloadUrlContext,
|
|
9
9
|
revokeFileDownloadUrl,
|
|
10
10
|
} from "./download-urls"
|
|
11
|
+
import { canonicalMediaType } from "./media-type"
|
|
11
12
|
import type {
|
|
12
13
|
AbortBlobUploadInput,
|
|
13
14
|
BlobByteRange,
|
|
@@ -60,6 +61,7 @@ export function createBlobsRuntime(
|
|
|
60
61
|
const executionBlobs: BlobsRuntime = {
|
|
61
62
|
put: (input) => {
|
|
62
63
|
assertAccess()
|
|
64
|
+
assertMediaType("put", input.mediaType)
|
|
63
65
|
return blobStorage.put(input)
|
|
64
66
|
},
|
|
65
67
|
open: (blobId) => {
|
|
@@ -89,6 +91,7 @@ export function createBlobsRuntime(
|
|
|
89
91
|
if (supportsDirectUpload(blobStorage)) {
|
|
90
92
|
executionBlobs.createUpload = (input) => {
|
|
91
93
|
assertAccess()
|
|
94
|
+
assertMediaType("createUpload", input.mediaType)
|
|
92
95
|
return blobStorage.createUpload(input)
|
|
93
96
|
}
|
|
94
97
|
executionBlobs.signUploadPart = (input) => {
|
|
@@ -97,6 +100,7 @@ export function createBlobsRuntime(
|
|
|
97
100
|
}
|
|
98
101
|
executionBlobs.completeUpload = (input) => {
|
|
99
102
|
assertAccess()
|
|
103
|
+
assertMediaType("completeUpload", input.mediaType)
|
|
100
104
|
return blobStorage.completeUpload(input)
|
|
101
105
|
}
|
|
102
106
|
executionBlobs.abortUpload = (input) => {
|
|
@@ -107,3 +111,11 @@ export function createBlobsRuntime(
|
|
|
107
111
|
|
|
108
112
|
return Object.freeze(executionBlobs)
|
|
109
113
|
}
|
|
114
|
+
|
|
115
|
+
function assertMediaType(method: string, mediaType: string | undefined): void {
|
|
116
|
+
if (mediaType !== undefined && canonicalMediaType(mediaType) === null) {
|
|
117
|
+
throw new Error(
|
|
118
|
+
`[Sixb] blobs.${method}() mediaType must be one media type, such as "application/pdf". Received ${JSON.stringify(mediaType)}.`
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { BlobInfo, BlobStorage, FileRef, OpenedFileRef } from "./types"
|
|
2
|
+
import { isFileRef } from "./validation"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A file is served only through the record that references it: the caller reads that record with
|
|
6
|
+
* its own authority, resolves the FileRef inside it, then checks the FileRef against the stored
|
|
7
|
+
* blob. File content routes and the SDK's `file().open()` share these steps.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/** The FileRef at a JSON Pointer in an authorized record, or null when none is there. */
|
|
11
|
+
export function resolveFileRefAtPath(root: unknown, path: string): FileRef | null {
|
|
12
|
+
const value = resolveJsonPointer(root, path)
|
|
13
|
+
return isFileRef(value) ? value : null
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** The stored blob a FileRef names, or null when it is absent or no longer matches it. */
|
|
17
|
+
export async function statFileRef(
|
|
18
|
+
blobStorage: Pick<BlobStorage, "stat">,
|
|
19
|
+
fileRef: FileRef
|
|
20
|
+
): Promise<BlobInfo | null> {
|
|
21
|
+
const stat = await blobStorage.stat(fileRef.blobId)
|
|
22
|
+
return stat &&
|
|
23
|
+
stat.blobId === fileRef.blobId &&
|
|
24
|
+
stat.digest === fileRef.digest &&
|
|
25
|
+
stat.sizeBytes === fileRef.sizeBytes
|
|
26
|
+
? stat
|
|
27
|
+
: null
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Open a FileRef resolved from an authorized record, or return null when its blob is gone. The
|
|
32
|
+
* blob itself is opened on the body's first read, so a body nobody reads holds nothing.
|
|
33
|
+
*/
|
|
34
|
+
export async function openFileRef(
|
|
35
|
+
blobStorage: Pick<BlobStorage, "stat" | "open">,
|
|
36
|
+
fileRef: FileRef
|
|
37
|
+
): Promise<OpenedFileRef | null> {
|
|
38
|
+
const stat = await statFileRef(blobStorage, fileRef)
|
|
39
|
+
if (!stat) return null
|
|
40
|
+
return { fileRef, body: openOnFirstRead(blobStorage, fileRef.blobId) }
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function openOnFirstRead(
|
|
44
|
+
blobStorage: Pick<BlobStorage, "open">,
|
|
45
|
+
blobId: string
|
|
46
|
+
): ReadableStream<Uint8Array> {
|
|
47
|
+
let reader: ReadableStreamDefaultReader<Uint8Array> | undefined
|
|
48
|
+
return new ReadableStream<Uint8Array>(
|
|
49
|
+
{
|
|
50
|
+
async pull(controller) {
|
|
51
|
+
reader ??= (await blobStorage.open(blobId)).getReader()
|
|
52
|
+
const { done, value } = await reader.read()
|
|
53
|
+
if (done) controller.close()
|
|
54
|
+
else controller.enqueue(value)
|
|
55
|
+
},
|
|
56
|
+
async cancel(reason) {
|
|
57
|
+
await reader?.cancel(reason)
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
// No read-ahead: the first pull waits for the first read.
|
|
61
|
+
{ highWaterMark: 0 }
|
|
62
|
+
)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Escape one segment of a JSON Pointer. */
|
|
66
|
+
export function jsonPointerSegment(segment: string | number): string {
|
|
67
|
+
return String(segment).replaceAll("~", "~0").replaceAll("/", "~1")
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function resolveJsonPointer(root: unknown, pointer: string): unknown {
|
|
71
|
+
if (pointer === "") {
|
|
72
|
+
return root
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (!pointer.startsWith("/")) {
|
|
76
|
+
return undefined
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
let current = root
|
|
80
|
+
for (const rawSegment of pointer.slice(1).split("/")) {
|
|
81
|
+
const segment = decodeJsonPointerSegment(rawSegment)
|
|
82
|
+
if (Array.isArray(current)) {
|
|
83
|
+
const index = Number.parseInt(segment, 10)
|
|
84
|
+
if (!Number.isInteger(index) || index < 0 || index.toString() !== segment) {
|
|
85
|
+
return undefined
|
|
86
|
+
}
|
|
87
|
+
if (!Object.hasOwn(current, segment)) {
|
|
88
|
+
return undefined
|
|
89
|
+
}
|
|
90
|
+
current = current[index]
|
|
91
|
+
continue
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (typeof current !== "object" || current === null || !Object.hasOwn(current, segment)) {
|
|
95
|
+
return undefined
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
current = (current as Record<string, unknown>)[segment]
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return current
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function decodeJsonPointerSegment(segment: string): string {
|
|
105
|
+
return segment.replaceAll("~1", "/").replaceAll("~0", "~")
|
|
106
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// One media type as RFC 9110 defines it: `type/subtype`, each a token, then optional
|
|
2
|
+
// `;name=value` parameters whose value is a token or a quoted string. Stricter than the RFC where
|
|
3
|
+
// leniency only invites a second reading: no surrounding whitespace, no empty parameters, no
|
|
4
|
+
// escapes, and no comma anywhere. Browsers read a comma-separated value as a list of types and
|
|
5
|
+
// use the last valid one, so a value with a comma can mean something other than its first type.
|
|
6
|
+
const TOKEN = "[!#$%&'*+.^_`|~0-9A-Za-z-]+"
|
|
7
|
+
const QUOTED_STRING = '"[\\t\\x20\\x21\\x23-\\x2b\\x2d-\\x5b\\x5d-\\x7e]*"'
|
|
8
|
+
const PARAMETER = `[\\t ]*;[\\t ]*(${TOKEN})=(${TOKEN}|${QUOTED_STRING})`
|
|
9
|
+
const MEDIA_TYPE_PATTERN = new RegExp(`^(${TOKEN})/(${TOKEN})((?:${PARAMETER})*)$`)
|
|
10
|
+
const PARAMETER_PATTERN = new RegExp(PARAMETER, "g")
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The canonical form of a single well-formed media type, or `null` for anything else.
|
|
14
|
+
*
|
|
15
|
+
* Type, subtype, and parameter names are case-insensitive, so they are lowercased; parameter
|
|
16
|
+
* values keep their case. `"Text/Plain; Charset=UTF-8"` becomes `"text/plain;charset=UTF-8"`.
|
|
17
|
+
*/
|
|
18
|
+
export function canonicalMediaType(value: unknown): string | null {
|
|
19
|
+
if (typeof value !== "string") return null
|
|
20
|
+
const match = MEDIA_TYPE_PATTERN.exec(value)
|
|
21
|
+
if (!match) return null
|
|
22
|
+
|
|
23
|
+
const [, type, subtype, parameters] = match
|
|
24
|
+
let canonical = `${type.toLowerCase()}/${subtype.toLowerCase()}`
|
|
25
|
+
for (const [, name, parameterValue] of parameters.matchAll(PARAMETER_PATTERN)) {
|
|
26
|
+
canonical += `;${name.toLowerCase()}=${parameterValue}`
|
|
27
|
+
}
|
|
28
|
+
return canonical
|
|
29
|
+
}
|
|
@@ -7,7 +7,9 @@ export type BlobDigest = `sha256:${string}`
|
|
|
7
7
|
* `blobId` is always `blob_<sha256 hex>` derived from `digest`. `fileName`,
|
|
8
8
|
* `mediaType`, and `logicalPath` are caller-supplied per-reference metadata (not
|
|
9
9
|
* part of blob identity) and are untrusted — consumers must sanitize them before
|
|
10
|
-
* using them for paths, headers, or rendering.
|
|
10
|
+
* using them for paths, headers, or rendering. A caller storing a reference must give a
|
|
11
|
+
* single media type such as `image/png` (`isValidFileRef`); references stored earlier may
|
|
12
|
+
* hold anything, so file routes re-parse it before serving.
|
|
11
13
|
*/
|
|
12
14
|
export interface FileRef {
|
|
13
15
|
readonly blobId: string
|
|
@@ -20,6 +22,16 @@ export interface FileRef {
|
|
|
20
22
|
|
|
21
23
|
export type BlobBody = ArrayBuffer | Uint8Array | Blob | ReadableStream<Uint8Array>
|
|
22
24
|
|
|
25
|
+
/** A FileRef opened through the record that references it. */
|
|
26
|
+
export interface OpenedFileRef {
|
|
27
|
+
readonly fileRef: FileRef
|
|
28
|
+
/**
|
|
29
|
+
* The file's bytes. The stored blob is opened on the first read: read the body to its end or
|
|
30
|
+
* cancel it, and a body never read holds nothing.
|
|
31
|
+
*/
|
|
32
|
+
readonly body: ReadableStream<Uint8Array>
|
|
33
|
+
}
|
|
34
|
+
|
|
23
35
|
export interface PutBlobInput {
|
|
24
36
|
readonly body: BlobBody
|
|
25
37
|
/** Reject the write when the consumed byte count differs from this value. */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isPlainRecord } from "../json"
|
|
2
2
|
import { blobIdFromDigest } from "./derive"
|
|
3
|
+
import { canonicalMediaType } from "./media-type"
|
|
3
4
|
import type {
|
|
4
5
|
BlobDigest,
|
|
5
6
|
BlobStorage,
|
|
@@ -30,6 +31,18 @@ export function isFileRef(value: unknown): value is FileRef {
|
|
|
30
31
|
)
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
/**
|
|
35
|
+
* `isFileRef`, plus a `mediaType` that, when present, is exactly one media type. Paths that store
|
|
36
|
+
* a reference a caller hands them use this. Reads keep `isFileRef`, so references stored before
|
|
37
|
+
* the rule still load; file routes re-parse the type before serving it.
|
|
38
|
+
*/
|
|
39
|
+
export function isValidFileRef(value: unknown): value is FileRef {
|
|
40
|
+
return (
|
|
41
|
+
isFileRef(value) &&
|
|
42
|
+
(value.mediaType === undefined || canonicalMediaType(value.mediaType) !== null)
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
|
|
33
46
|
export function supportsDirectUpload(
|
|
34
47
|
storage: BlobStorage
|
|
35
48
|
): storage is BlobStorage & DirectUploadBlobStorage {
|