@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAClD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,YAAY,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC5F,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,6BAA6B,EAC7B,cAAc,EACd,QAAQ,EACR,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,GAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,oCAAoC,GACrC,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DatasetDefinition } from "../datasets/types";
|
|
2
|
+
import type { OntologyDefinitionCatalog } from "../ontology/registry";
|
|
3
|
+
import type { PipelineDefinition } from "../pipelines/types";
|
|
4
|
+
import type { ProjectionDefinitionCatalog } from "../projections/registry";
|
|
5
|
+
/**
|
|
6
|
+
* Check every marking once at startup.
|
|
7
|
+
*
|
|
8
|
+
* A marking is enforced at read time from the property or column definition alone, so each rule
|
|
9
|
+
* here closes a path that would otherwise return the value unredacted or make enforcement
|
|
10
|
+
* ambiguous.
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateMarkingsAtStartup(input: {
|
|
13
|
+
readonly markingIds: ReadonlySet<string>;
|
|
14
|
+
readonly ontology: OntologyDefinitionCatalog;
|
|
15
|
+
readonly datasetsById: ReadonlyMap<string, DatasetDefinition>;
|
|
16
|
+
readonly pipelines: readonly PipelineDefinition[];
|
|
17
|
+
readonly projections: ProjectionDefinitionCatalog;
|
|
18
|
+
}): void;
|
|
19
|
+
//# sourceMappingURL=markings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markings.d.ts","sourceRoot":"","sources":["../../src/security/markings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAI1E;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAA;IAC5C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC7D,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACjD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAA;CAClD,GAAG,IAAI,CAKP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redactions.d.ts","sourceRoot":"","sources":["../../src/security/redactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,sFAAsF;AACtF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAE5E"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type ResolvedRole } from "../authorization";
|
|
2
|
-
import type { GroupDefinition, MembershipPolicyDefinition, RoleDefinition } from "./types";
|
|
2
|
+
import type { GroupDefinition, MarkingDefinition, MembershipPolicyDefinition, RoleDefinition } from "./types";
|
|
3
3
|
/** Read-only access to validated security definitions and resolved role grants. */
|
|
4
4
|
export interface SecurityDefinitionCatalog {
|
|
5
|
+
listMarkings(): readonly MarkingDefinition[];
|
|
6
|
+
getMarkingById(markingId: string): MarkingDefinition | null;
|
|
5
7
|
listGroups(): readonly GroupDefinition[];
|
|
6
8
|
getGroupById(groupId: string): GroupDefinition | null;
|
|
7
9
|
listRoles(): readonly RoleDefinition[];
|
|
@@ -11,6 +13,7 @@ export interface SecurityDefinitionCatalog {
|
|
|
11
13
|
getMembershipPolicyById(policyId: string): MembershipPolicyDefinition | null;
|
|
12
14
|
}
|
|
13
15
|
export interface SecurityRegistryOptions {
|
|
16
|
+
readonly markings?: readonly MarkingDefinition[];
|
|
14
17
|
readonly groups?: readonly GroupDefinition[];
|
|
15
18
|
readonly roles?: readonly RoleDefinition[];
|
|
16
19
|
readonly membershipPolicies?: readonly MembershipPolicyDefinition[];
|
|
@@ -27,11 +30,14 @@ export interface SecurityRegistryOptions {
|
|
|
27
30
|
readonly getSubTypes?: (objectTypeId: string) => readonly string[];
|
|
28
31
|
}
|
|
29
32
|
export declare class SecurityRegistry implements SecurityDefinitionCatalog {
|
|
33
|
+
private readonly markingsById;
|
|
30
34
|
private readonly groupsById;
|
|
31
35
|
private readonly rolesById;
|
|
32
36
|
private readonly membershipPoliciesById;
|
|
33
37
|
private readonly resolvedRoles;
|
|
34
38
|
constructor(input: SecurityRegistryOptions);
|
|
39
|
+
listMarkings(): readonly MarkingDefinition[];
|
|
40
|
+
getMarkingById(markingId: string): MarkingDefinition | null;
|
|
35
41
|
listGroups(): readonly GroupDefinition[];
|
|
36
42
|
getGroupById(groupId: string): GroupDefinition | null;
|
|
37
43
|
listRoles(): readonly RoleDefinition[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/security/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,kBAAkB,CAAA;AAEvE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/security/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/security/types.d.ts
CHANGED
|
@@ -5,6 +5,27 @@ export interface GroupDefinition<TId extends string = string> {
|
|
|
5
5
|
readonly label?: string;
|
|
6
6
|
readonly description?: string;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* A classification carried by sensitive properties and dataset columns.
|
|
10
|
+
*
|
|
11
|
+
* A principal reads a marked value only when one of its roles lists the marking in `clearances`.
|
|
12
|
+
* No grant bypasses a marking.
|
|
13
|
+
*/
|
|
14
|
+
export interface MarkingDefinition<TId extends string = string> {
|
|
15
|
+
readonly kind: "marking";
|
|
16
|
+
readonly id: TId;
|
|
17
|
+
readonly label?: string;
|
|
18
|
+
readonly description?: string;
|
|
19
|
+
}
|
|
20
|
+
/** Why a value was omitted from a read. */
|
|
21
|
+
export type RedactionReason = "missing_clearance";
|
|
22
|
+
/**
|
|
23
|
+
* Values omitted from a read, keyed by property id or column name. A redacted value is absent,
|
|
24
|
+
* never `null`.
|
|
25
|
+
*/
|
|
26
|
+
export type Redactions = Readonly<Record<string, {
|
|
27
|
+
readonly reason: RedactionReason;
|
|
28
|
+
}>>;
|
|
8
29
|
/**
|
|
9
30
|
* A group named either by its definition or by its id.
|
|
10
31
|
*
|
|
@@ -122,6 +143,8 @@ export interface RoleDefinition<TId extends string = string> {
|
|
|
122
143
|
readonly description?: string;
|
|
123
144
|
readonly grantedToGroupIds: readonly string[];
|
|
124
145
|
readonly grants: readonly GrantDefinition[];
|
|
146
|
+
/** Ids of the markings this role's members may read. Absent means none. */
|
|
147
|
+
readonly clearances?: readonly string[];
|
|
125
148
|
}
|
|
126
149
|
export type MembershipOperation = "invite" | "assignGroups" | "suspend";
|
|
127
150
|
export interface MembershipPolicyDefinition<TId extends string = string> {
|
|
@@ -132,6 +155,8 @@ export interface MembershipPolicyDefinition<TId extends string = string> {
|
|
|
132
155
|
readonly can: readonly MembershipOperation[];
|
|
133
156
|
}
|
|
134
157
|
export interface RegisteredSecurityDefinitions {
|
|
158
|
+
readonly markings: readonly MarkingDefinition[];
|
|
159
|
+
readonly markingsById: ReadonlyMap<string, MarkingDefinition>;
|
|
135
160
|
readonly groups: readonly GroupDefinition[];
|
|
136
161
|
readonly groupsById: ReadonlyMap<string, GroupDefinition>;
|
|
137
162
|
readonly roles: readonly RoleDefinition[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type { GrantDefinition, GroupDefinition, MembershipPolicyDefinition, RegisteredSecurityDefinitions, RoleDefinition } from "./types";
|
|
1
|
+
import type { GrantDefinition, GroupDefinition, MarkingDefinition, MembershipPolicyDefinition, RegisteredSecurityDefinitions, RoleDefinition } from "./types";
|
|
2
2
|
export type CreateSecurityError = (message: string) => Error;
|
|
3
3
|
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
4
4
|
export declare function assertNonEmptyString(value: unknown, field: string, createError?: CreateSecurityError): asserts value is string;
|
|
5
5
|
export declare function assertOptionalString(value: unknown, field: string, createError?: CreateSecurityError): asserts value is string | undefined;
|
|
6
|
+
export declare function assertMarkingDefinition(value: unknown, createError?: CreateSecurityError): asserts value is MarkingDefinition;
|
|
7
|
+
export declare function isMarkingDefinition(value: unknown): value is MarkingDefinition;
|
|
6
8
|
export declare function assertGroupDefinition(value: unknown, createError?: CreateSecurityError): asserts value is GroupDefinition;
|
|
7
9
|
export declare function isGroupDefinition(value: unknown): value is GroupDefinition;
|
|
8
10
|
export declare function assertMembershipPolicyDefinition(value: unknown, createError?: CreateSecurityError): asserts value is MembershipPolicyDefinition;
|
|
@@ -11,6 +13,7 @@ export declare function assertGrantDefinition(value: unknown, field: string, cre
|
|
|
11
13
|
export declare function assertRoleDefinition(value: unknown, createError?: CreateSecurityError): asserts value is RoleDefinition;
|
|
12
14
|
export declare function isRoleDefinition(value: unknown): value is RoleDefinition;
|
|
13
15
|
export declare function validateSecurityDefinitionsAtStartup(input: {
|
|
16
|
+
readonly markings?: readonly MarkingDefinition[];
|
|
14
17
|
readonly groups: readonly GroupDefinition[];
|
|
15
18
|
readonly membershipPolicies: readonly MembershipPolicyDefinition[];
|
|
16
19
|
readonly roles?: readonly RoleDefinition[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/security/validation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,6BAA6B,EAC7B,cAAc,EAEf,MAAM,SAAS,CAAA;AAkChB,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAA;AAI5D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,mBAAuE,GACnF,OAAO,CAAC,KAAK,IAAI,MAAM,CAIzB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,mBAAuE,GACnF,OAAO,CAAC,KAAK,IAAI,MAAM,GAAG,SAAS,CAQrC;AA2DD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,WAAW,GAAE,mBAAuE,GACnF,OAAO,CAAC,KAAK,IAAI,eAAe,CAYlC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAO1E;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,EACd,WAAW,GAAE,mBAAuE,GACnF,OAAO,CAAC,KAAK,IAAI,0BAA0B,CAiB7C;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,0BAA0B,CAOhG;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,mBAAuE,GACnF,OAAO,CAAC,KAAK,IAAI,eAAe,CA+ClC;AAqBD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,WAAW,GAAE,mBAAuE,GACnF,OAAO,CAAC,KAAK,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/security/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/shares/internal.js
CHANGED
|
@@ -1,53 +1,56 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../chunk-
|
|
2
|
+
import"../chunk-a40ad1ft.js";
|
|
3
|
+
import"../chunk-8mx7qw3y.js";
|
|
3
4
|
import"../chunk-z3y5kg1x.js";
|
|
4
|
-
import"../chunk-
|
|
5
|
-
import"../chunk-fc5zfxy1.js";
|
|
5
|
+
import"../chunk-b38szspf.js";
|
|
6
6
|
import {
|
|
7
7
|
formatSessionCookieValue2,
|
|
8
8
|
parseSessionCookieValue2
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import"../chunk-
|
|
9
|
+
} from "../chunk-3gnrh4ve.js";
|
|
10
|
+
import"../chunk-enpsx8k5.js";
|
|
11
|
+
import"../chunk-y7rqfrgg.js";
|
|
11
12
|
import"../chunk-v4jbb3rs.js";
|
|
12
|
-
import"../chunk-
|
|
13
|
-
import"../chunk-
|
|
13
|
+
import"../chunk-jhm3zsa7.js";
|
|
14
|
+
import"../chunk-hvsb78a1.js";
|
|
15
|
+
import"../chunk-xt1zt7gv.js";
|
|
16
|
+
import"../chunk-v9xd5wzd.js";
|
|
14
17
|
import"../chunk-2jntasmh.js";
|
|
15
18
|
import"../chunk-pqajwytd.js";
|
|
16
|
-
import"../chunk-
|
|
19
|
+
import"../chunk-29yx306f.js";
|
|
17
20
|
import"../chunk-gfdh9kqa.js";
|
|
18
|
-
import"../chunk-
|
|
19
|
-
import"../chunk-
|
|
21
|
+
import"../chunk-gc4ntf7d.js";
|
|
22
|
+
import"../chunk-s54c868q.js";
|
|
20
23
|
import"../chunk-ere85b8y.js";
|
|
21
24
|
import"../chunk-4as3wt1c.js";
|
|
22
25
|
import"../chunk-h89wz928.js";
|
|
23
|
-
import"../chunk-
|
|
26
|
+
import"../chunk-7kg3k1m9.js";
|
|
24
27
|
import"../chunk-tw03bsmb.js";
|
|
25
|
-
import"../chunk-
|
|
26
|
-
import"../chunk-
|
|
27
|
-
import"../chunk-
|
|
28
|
-
import"../chunk-
|
|
28
|
+
import"../chunk-bpgy64fw.js";
|
|
29
|
+
import"../chunk-7n440zgt.js";
|
|
30
|
+
import"../chunk-j2bp5ryw.js";
|
|
31
|
+
import"../chunk-pbcbn83d.js";
|
|
29
32
|
import"../chunk-qczk96d9.js";
|
|
30
33
|
import"../chunk-mmagke4x.js";
|
|
31
34
|
import"../chunk-hn2r7z41.js";
|
|
32
|
-
import"../chunk-
|
|
35
|
+
import"../chunk-9ybhtmg4.js";
|
|
33
36
|
import"../chunk-jmfet9r4.js";
|
|
34
37
|
import"../chunk-qf954wje.js";
|
|
35
|
-
import"../chunk-
|
|
38
|
+
import"../chunk-1f7wpmyp.js";
|
|
36
39
|
import {
|
|
37
40
|
intersectShareAccessPlans
|
|
38
41
|
} from "../chunk-x9v4cx1d.js";
|
|
39
42
|
import {
|
|
40
43
|
compileShareAccessPlan
|
|
41
|
-
} from "../chunk-
|
|
44
|
+
} from "../chunk-52bk93x8.js";
|
|
42
45
|
import {
|
|
43
46
|
snapshotShareAccessPlan
|
|
44
47
|
} from "../chunk-br3k6qbf.js";
|
|
45
48
|
import {
|
|
46
49
|
ShareSessionStorageError2
|
|
47
50
|
} from "../chunk-z8fx5cgb.js";
|
|
48
|
-
import"../chunk-
|
|
51
|
+
import"../chunk-s16apyk9.js";
|
|
49
52
|
import"../chunk-rj69qcrd.js";
|
|
50
|
-
import"../chunk-
|
|
53
|
+
import"../chunk-c85m1hyj.js";
|
|
51
54
|
|
|
52
55
|
// src/shares/session-protocol.ts
|
|
53
56
|
import { createHash, randomBytes, randomUUID, timingSafeEqual } from "crypto";
|
|
@@ -231,4 +234,4 @@ export {
|
|
|
231
234
|
SharedSessionProtocol
|
|
232
235
|
};
|
|
233
236
|
|
|
234
|
-
//# debugId=
|
|
237
|
+
//# debugId=34911D02E010DC8E64756E2164756E21
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { createHash, randomBytes, randomUUID, timingSafeEqual } from \"node:crypto\"\nimport { formatSessionCookieValue, parseSessionCookieValue } from \"../auth/sessions\"\nimport type { SixbHostView } from \"../runtime\"\nimport type { ShareGrantRecord, ShareSessionRecord, Storage } from \"../storage\"\nimport { ShareSessionStorageError } from \"../storage\"\nimport { type ShareAccessPlan, snapshotShareAccessPlan } from \"./access-plan\"\nimport { compileShareAccessPlan } from \"./compiler\"\nimport { intersectShareAccessPlans } from \"./intersection\"\n\nexport const DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS = 15 * 60_000\n\nconst MAX_CREATE_ATTEMPTS = 5\nconst SECRET_PATTERN = /^[A-Za-z0-9_-]{43}$/\n\nexport interface SharedSessionContext {\n readonly grantId: string\n readonly sessionId: string\n readonly destinationPath: string\n readonly access: ShareAccessPlan\n readonly expiresAt: Date\n readonly absoluteExpiresAt: Date\n}\n\nexport interface SharedSessionCredential {\n readonly context: SharedSessionContext\n /** Opaque value for the HttpOnly shared-session cookie. */\n readonly cookieValue: string\n}\n\nexport interface SharedSessionProtocolOptions {\n readonly host: SixbHostView\n readonly inactivityTtlMs?: number\n readonly now?: () => Date\n}\n\n/**\n * Framework-owned shared-session lifecycle.\n *\n * Link and session secrets are verified here. Callers receive only an effective access plan built\n * from the issued snapshot intersected with the Share definition registered now.\n */\nexport class SharedSessionProtocol {\n private readonly host: SixbHostView\n private readonly inactivityTtlMs: number\n private readonly now: () => Date\n\n constructor(options: SharedSessionProtocolOptions) {\n if (!options.host.storage.shareGrants || !options.host.storage.shareSessions) {\n throw new Error(\"[Sixb] Shared sessions require share grant and session storage.\")\n }\n const inactivityTtlMs = options.inactivityTtlMs ?? DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS\n if (!Number.isSafeInteger(inactivityTtlMs) || inactivityTtlMs <= 0) {\n throw new Error(\"[Sixb] Shared session inactivity TTL must be a positive integer.\")\n }\n this.host = options.host\n this.inactivityTtlMs = inactivityTtlMs\n this.now = options.now ?? (() => new Date())\n }\n\n async exchange(grantId: string, secret: string): Promise<SharedSessionCredential | null> {\n if (!validIdentifier(grantId) || !validSecret(secret)) return null\n const now = this.currentTime()\n\n for (let attempt = 0; attempt < MAX_CREATE_ATTEMPTS; attempt += 1) {\n const sessionSecret = randomBytes(32).toString(\"base64url\")\n const sessionId = `shs_${randomUUID()}`\n try {\n const result = await this.host.storage.transaction(async (tx) => {\n const grant = await activeGrant(tx, this.host.projectId, grantId, now)\n const secretMatches = secretMatchesHash(secret, grant?.tokenHash ?? \"\")\n if (!grant || !secretMatches) return null\n const sessions = requireSessions(tx)\n const absoluteExpiresAt = new Date(grant.expiresAt)\n const session = await sessions.create({\n id: sessionId,\n projectId: this.host.projectId,\n grantId: grant.id,\n tokenHash: sha256(sessionSecret),\n createdAt: now,\n expiresAt: inactivityDeadline(now, absoluteExpiresAt, this.inactivityTtlMs),\n absoluteExpiresAt,\n })\n return { grant, session }\n })\n if (!result) return null\n return {\n context: this.context(result.grant, result.session),\n cookieValue: formatSessionCookieValue(sessionId, sessionSecret),\n }\n } catch (error) {\n if (\n error instanceof ShareSessionStorageError &&\n error.code === \"duplicate\" &&\n attempt < MAX_CREATE_ATTEMPTS - 1\n ) {\n continue\n }\n throw error\n }\n }\n\n return null\n }\n\n async resolve(\n grantId: string,\n cookieValue: string | undefined,\n options: { readonly activity?: \"background\" | \"foreground\" } = {}\n ): Promise<SharedSessionContext | null> {\n if (!validIdentifier(grantId) || !validCookieValue(cookieValue)) return null\n const credential = parseSessionCookieValue(cookieValue)\n if (\n !credential ||\n !validIdentifier(credential.sessionId) ||\n !validSecret(credential.sessionSecret)\n ) {\n return null\n }\n const now = this.currentTime()\n const tokenHash = sha256(credential.sessionSecret)\n\n const result = await this.host.storage.transaction(async (tx) => {\n const sessions = requireSessions(tx)\n const current = await sessions.getById({\n projectId: this.host.projectId,\n id: credential.sessionId,\n })\n const secretMatches = secretMatchesHash(credential.sessionSecret, current?.tokenHash ?? \"\")\n if (\n !current ||\n current.grantId !== grantId ||\n current.revokedAt !== undefined ||\n current.expiresAt.getTime() <= now.getTime() ||\n current.absoluteExpiresAt.getTime() <= now.getTime() ||\n !secretMatches\n ) {\n return null\n }\n\n const grant = await activeGrant(tx, this.host.projectId, grantId, now)\n if (!grant || current.absoluteExpiresAt.getTime() !== grant.expiresAt.getTime()) {\n return null\n }\n\n if (options.activity !== \"foreground\") return { grant, session: current }\n\n const renewed = await sessions.renewIfValid({\n projectId: this.host.projectId,\n id: current.id,\n grantId,\n tokenHash,\n now,\n expiresAt: inactivityDeadline(now, current.absoluteExpiresAt, this.inactivityTtlMs),\n })\n return renewed ? { grant, session: renewed } : null\n })\n\n return result ? this.context(result.grant, result.session) : null\n }\n\n async revoke(context: Pick<SharedSessionContext, \"grantId\" | \"sessionId\">): Promise<void> {\n const revokedAt = this.currentTime()\n await this.host.storage.transaction(async (tx) => {\n const session = await requireSessions(tx).getById({\n projectId: this.host.projectId,\n id: context.sessionId,\n })\n if (!session || session.grantId !== context.grantId) return\n await requireSessions(tx).revoke({\n projectId: this.host.projectId,\n id: context.sessionId,\n revokedAt,\n })\n })\n }\n\n private context(grant: ShareGrantRecord, session: ShareSessionRecord): SharedSessionContext {\n return {\n grantId: grant.id,\n sessionId: session.id,\n destinationPath: grant.destinationPath,\n access: effectiveAccess(this.host, grant),\n expiresAt: new Date(session.expiresAt),\n absoluteExpiresAt: new Date(session.absoluteExpiresAt),\n }\n }\n\n private currentTime(): Date {\n const now = this.now()\n if (!(now instanceof Date) || !Number.isFinite(now.getTime())) {\n throw new Error(\"[Sixb] Shared session clock returned an invalid date.\")\n }\n return new Date(now)\n }\n}\n\nfunction effectiveAccess(host: SixbHostView, grant: ShareGrantRecord): ShareAccessPlan {\n const definition = host.definitions.shares.getById(grant.definitionId)\n if (!definition || definition.target.objectTypeId !== grant.target.objectTypeId) {\n return snapshotShareAccessPlan({ grants: [] })\n }\n const current = compileShareAccessPlan({\n share: definition,\n target: grant.target,\n ontology: host.definitions.ontology,\n actions: host.definitions.actions,\n })\n return intersectShareAccessPlans(grant.authoritySnapshot.access, current)\n}\n\nasync function activeGrant(\n storage: Storage,\n projectId: string,\n grantId: string,\n now: Date\n): Promise<ShareGrantRecord | null> {\n const grant = await storage.shareGrants?.getById({ projectId, id: grantId })\n return !grant || grant.revokedAt !== undefined || grant.expiresAt.getTime() <= now.getTime()\n ? null\n : grant\n}\n\nfunction requireSessions(storage: Storage): NonNullable<Storage[\"shareSessions\"]> {\n if (!storage.shareSessions) {\n throw new Error(\"[Sixb] Shared session storage is not configured.\")\n }\n return storage.shareSessions\n}\n\nfunction inactivityDeadline(now: Date, absolute: Date, ttlMs: number): Date {\n return new Date(Math.min(absolute.getTime(), now.getTime() + ttlMs))\n}\n\nfunction secretMatchesHash(secret: string, expectedHash: string): boolean {\n const actual = createHash(\"sha256\").update(secret).digest()\n const expected = /^[0-9a-f]{64}$/.test(expectedHash)\n ? Buffer.from(expectedHash, \"hex\")\n : Buffer.alloc(actual.length)\n return timingSafeEqual(actual, expected)\n}\n\nfunction sha256(value: string): string {\n return createHash(\"sha256\").update(value).digest(\"hex\")\n}\n\nfunction validIdentifier(value: unknown): value is string {\n return (\n typeof value === \"string\" && value.length > 0 && value.length <= 128 && value.trim() === value\n )\n}\n\nfunction validSecret(value: unknown): value is string {\n return typeof value === \"string\" && SECRET_PATTERN.test(value)\n}\n\nfunction validCookieValue(value: unknown): value is string {\n return typeof value === \"string\" && value.length <= 256\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "34911D02E010DC8E64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import {
|
|
3
3
|
serializeActionRunFailure2,
|
|
4
4
|
parseActionRunFailure2
|
|
5
|
-
} from "../../chunk-
|
|
6
|
-
import"../../chunk-
|
|
5
|
+
} from "../../chunk-b38szspf.js";
|
|
6
|
+
import"../../chunk-8mx7qw3y.js";
|
|
7
7
|
import"../../chunk-z3y5kg1x.js";
|
|
8
8
|
export {
|
|
9
9
|
parseActionRunFailure2 as parseActionRunFailure,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { ActionSubject } from "../../actions";
|
|
2
|
-
import type { ActionRunEffectsRecord,
|
|
2
|
+
import type { ActionRunEffectsRecord, ActionRunRecord, ActionRunWritebackRecord } from "./types";
|
|
3
3
|
export declare function actionSubjectsEqual(left: ActionSubject, right: ActionSubject): boolean;
|
|
4
4
|
export declare function actionRunParamsEqual(left: unknown, right: unknown): boolean;
|
|
5
|
+
/** Whether two runs carry the same request: the same Action, subject, and params. */
|
|
6
|
+
export declare function actionRunRequestsEqual(left: Pick<ActionRunRecord, "actionId" | "subject" | "params">, right: Pick<ActionRunRecord, "actionId" | "subject" | "params">): boolean;
|
|
5
7
|
export type ActionRunPhaseRecord = ActionRunWritebackRecord | ActionRunEffectsRecord;
|
|
6
8
|
export declare function actionRunPhaseRecordsEqual(left: ActionRunPhaseRecord, right: ActionRunPhaseRecord): boolean;
|
|
7
|
-
export declare function finishActionRunPhase(input: FinishActionRunInput, current: ActionRunPhase | null | undefined): ActionRunPhase;
|
|
8
|
-
export declare function canRequeueActionRunAfterEnqueueFailure(existing: ActionRunRecord, input: QueueActionRunInput): boolean;
|
|
9
|
-
export declare function isTerminalActionRun(record: Pick<ActionRunRecord, "status">): boolean;
|
|
10
9
|
//# sourceMappingURL=idempotency.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEhG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAKtF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAE3E;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,EAC9D,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,GAC9D,OAAO,CAMT;AAED,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,sBAAsB,CAAA;AAEpF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAET"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExecutionStorage } from "../executions";
|
|
2
|
-
import type { ActionRunRecord, ActionRunStorage,
|
|
2
|
+
import type { ActionRunRecord, ActionRunStorage, ListActionRunsInput, ListActionRunsResult, RecordActionEffectsInput, RecordActionRunInput } from "./types";
|
|
3
3
|
type RunRootOperation = <T>(run: () => Promise<T> | T) => Promise<T>;
|
|
4
4
|
export declare class InMemoryActionRunStorage implements ActionRunStorage {
|
|
5
5
|
private readonly executions;
|
|
@@ -10,20 +10,13 @@ export declare class InMemoryActionRunStorage implements ActionRunStorage {
|
|
|
10
10
|
});
|
|
11
11
|
snapshot(): InMemoryActionRunStorageSnapshot;
|
|
12
12
|
restore(snapshot: InMemoryActionRunStorageSnapshot): void;
|
|
13
|
-
|
|
14
|
-
queue(input: QueueActionRunInput): Promise<ActionRunRecord>;
|
|
15
|
-
start(input: StartActionRunInput): Promise<ActionRunRecord>;
|
|
16
|
-
enterPhase(input: EnterActionRunPhaseInput): Promise<ActionRunRecord>;
|
|
17
|
-
recordWriteback(input: RecordActionWritebackInput): Promise<ActionRunRecord>;
|
|
13
|
+
record(input: RecordActionRunInput): Promise<ActionRunRecord>;
|
|
18
14
|
recordEffects(input: RecordActionEffectsInput): Promise<ActionRunRecord>;
|
|
19
|
-
finish(input: FinishActionRunInput): Promise<ActionRunRecord>;
|
|
20
|
-
private requireRunningRun;
|
|
21
15
|
getById(params: {
|
|
22
16
|
projectId: string;
|
|
23
17
|
id: string;
|
|
24
18
|
}): Promise<ActionRunRecord | null>;
|
|
25
19
|
list(input: ListActionRunsInput): Promise<ListActionRunsResult>;
|
|
26
|
-
private requireMaterializationRun;
|
|
27
20
|
}
|
|
28
21
|
export type InMemoryActionRunStorageSnapshot = Map<string, ActionRunRecord>;
|
|
29
22
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/in-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"in-memory.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/in-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKrD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,KAAK,gBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAyBpE,qBAAa,wBAAyB,YAAW,gBAAgB;IAK7D,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;gBAGhC,UAAU,EAAE,gBAAgB,EAC7C,KAAK,GAAE;QAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KAAO;IAK9D,QAAQ,IAAI,gCAAgC;IAI5C,OAAO,CAAC,QAAQ,EAAE,gCAAgC,GAAG,IAAI;IAOnD,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IA+B7D,aAAa,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IAYxE,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAOnF,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA6CtE;AAED,MAAM,MAAM,gCAAgC,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export { ActionRunError } from "./errors";
|
|
2
|
-
export type { ActionRunPhaseRecord } from "./idempotency";
|
|
3
|
-
export { actionRunParamsEqual, actionRunPhaseRecordsEqual, actionSubjectsEqual, canRequeueActionRunAfterEnqueueFailure, finishActionRunPhase, isTerminalActionRun, } from "./idempotency";
|
|
4
2
|
export { InMemoryActionRunStorage } from "./in-memory";
|
|
5
|
-
export type { ActionRunEffectsRecord, ActionRunFailure, ActionRunFailureCode, ActionRunFailureDetails, ActionRunParams, ActionRunPhase,
|
|
3
|
+
export type { ActionRunEffectsRecord, ActionRunFailure, ActionRunFailureCode, ActionRunFailureDetails, ActionRunParams, ActionRunPhase, ActionRunRecord, ActionRunStatus, ActionRunStorage, ActionRunWritebackRecord, ListActionRunsInput, ListActionRunsResult, RecordActionEffectsInput, RecordActionRunInput, } from "./types";
|
|
6
4
|
export { ACTION_RUN_FAILURE_CODES, ACTION_RUN_PHASES } from "./types";
|
|
7
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ActionRunEffectsRecord, ActionRunRecord, RecordActionEffectsInput, RecordActionRunInput } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Validate a terminal run record before a provider inserts it, and detach it from the caller.
|
|
4
|
+
*
|
|
5
|
+
* Every provider records through this, so a stored run always reads back as the record that was
|
|
6
|
+
* written: a failed run carries the failure of the phase it ended in, and a succeeded one none. A
|
|
7
|
+
* run is recorded before its effects run, so no record starts in the `effects` phase.
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizeRecordActionRunInput(input: RecordActionRunInput): RecordActionRunInput;
|
|
10
|
+
/**
|
|
11
|
+
* Resolve what recording effects does to the stored run: write `effects`, or nothing (`null`) when
|
|
12
|
+
* an equal outcome is already recorded.
|
|
13
|
+
*
|
|
14
|
+
* Effects run only after a succeeded run committed its edits, and their outcome is recorded once.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveActionRunEffects(existing: ActionRunRecord | null, input: RecordActionEffectsInput): {
|
|
17
|
+
readonly run: ActionRunRecord;
|
|
18
|
+
readonly effects: ActionRunEffectsRecord | null;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/record.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EAEf,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAGhB;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAmD/F;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,GAAG,IAAI,EAChC,KAAK,EAAE,wBAAwB,GAC9B;IAAE,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAA;CAAE,CAsBpF"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import type { ActionSubject } from "../../actions";
|
|
2
2
|
import type { SixbFailure } from "../../errors/types";
|
|
3
3
|
import type { JsonValue } from "../../json";
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* How a run ended. A run is recorded once, when it ends: while it executes, the request that runs
|
|
6
|
+
* it is its only state.
|
|
7
|
+
*/
|
|
8
|
+
export type ActionRunStatus = "succeeded" | "failed";
|
|
9
|
+
/** The phases of a run, in the order it reaches them. */
|
|
10
|
+
export declare const ACTION_RUN_PHASES: readonly ["validation", "writeback", "edits", "commit", "effects"];
|
|
6
11
|
export type ActionRunPhase = (typeof ACTION_RUN_PHASES)[number];
|
|
7
12
|
export type ActionRunParams = Readonly<Record<string, JsonValue>>;
|
|
8
|
-
export type ActionRunPhaseStatus = "succeeded" | "failed";
|
|
9
13
|
/** Error codes an action run or phase record can persist and expose. */
|
|
10
|
-
export declare const ACTION_RUN_FAILURE_CODES: readonly ["internal.unexpected", "runtime.cancelled", "
|
|
14
|
+
export declare const ACTION_RUN_FAILURE_CODES: readonly ["internal.unexpected", "runtime.cancelled", "action.phase_failed", "action.read_conflict", "action.timeout"];
|
|
11
15
|
export type ActionRunFailureCode = (typeof ACTION_RUN_FAILURE_CODES)[number];
|
|
12
16
|
export interface ActionRunFailureDetails<TPhase extends ActionRunPhase = ActionRunPhase> {
|
|
13
17
|
readonly actionId: string;
|
|
@@ -38,56 +42,34 @@ export type ActionRunEffectsRecord = {
|
|
|
38
42
|
readonly completedAt: Date;
|
|
39
43
|
readonly error: ActionRunFailure<"effects">;
|
|
40
44
|
};
|
|
41
|
-
|
|
45
|
+
interface ActionRunRecordFields {
|
|
42
46
|
readonly id: string;
|
|
43
47
|
readonly projectId: string;
|
|
44
48
|
readonly executionId: string;
|
|
45
49
|
readonly actionId: string;
|
|
46
50
|
readonly subject: ActionSubject;
|
|
47
|
-
|
|
48
|
-
readonly phase
|
|
49
|
-
readonly
|
|
50
|
-
readonly
|
|
51
|
-
readonly finishedAt?: Date;
|
|
51
|
+
/** The last phase the run reached. */
|
|
52
|
+
readonly phase: ActionRunPhase;
|
|
53
|
+
readonly startedAt: Date;
|
|
54
|
+
readonly finishedAt: Date;
|
|
52
55
|
readonly params: ActionRunParams;
|
|
53
56
|
readonly idempotencyKey: string;
|
|
54
57
|
readonly writeback?: ActionRunWritebackRecord;
|
|
55
|
-
readonly effects?: ActionRunEffectsRecord;
|
|
56
|
-
readonly error?: ActionRunFailure;
|
|
57
|
-
}
|
|
58
|
-
export interface QueueActionRunInput {
|
|
59
|
-
readonly id: string;
|
|
60
|
-
readonly projectId: string;
|
|
61
|
-
readonly executionId: string;
|
|
62
|
-
readonly actionId: string;
|
|
63
|
-
readonly subject: ActionSubject;
|
|
64
|
-
readonly params: ActionRunParams;
|
|
65
|
-
readonly idempotencyKey: string;
|
|
66
|
-
readonly queuedAt?: Date;
|
|
67
|
-
}
|
|
68
|
-
export interface StartActionRunInput {
|
|
69
|
-
readonly id: string;
|
|
70
|
-
readonly projectId: string;
|
|
71
|
-
readonly startedAt?: Date;
|
|
72
|
-
readonly phase?: Extract<ActionRunPhase, "validation">;
|
|
73
|
-
}
|
|
74
|
-
export interface EnterActionRunPhaseInput {
|
|
75
|
-
readonly id: string;
|
|
76
|
-
readonly projectId: string;
|
|
77
|
-
readonly phase: Extract<ActionRunPhase, "validation" | "writeback" | "edits" | "commit" | "effects">;
|
|
78
58
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
readonly projectId: string;
|
|
59
|
+
/** A run's terminal record, as it is written once when the run ends. */
|
|
60
|
+
export type RecordActionRunInput = (ActionRunRecordFields & {
|
|
82
61
|
readonly status: "succeeded";
|
|
83
|
-
readonly
|
|
84
|
-
|
|
85
|
-
} | {
|
|
86
|
-
readonly id: string;
|
|
87
|
-
readonly projectId: string;
|
|
62
|
+
readonly error?: never;
|
|
63
|
+
}) | (ActionRunRecordFields & {
|
|
88
64
|
readonly status: "failed";
|
|
89
|
-
readonly
|
|
90
|
-
|
|
65
|
+
readonly error: ActionRunFailure;
|
|
66
|
+
});
|
|
67
|
+
/**
|
|
68
|
+
* A recorded run. Its effects run after its record is written, so their outcome is the one part
|
|
69
|
+
* recorded later, on a succeeded run that committed edits.
|
|
70
|
+
*/
|
|
71
|
+
export type ActionRunRecord = RecordActionRunInput & {
|
|
72
|
+
readonly effects?: ActionRunEffectsRecord;
|
|
91
73
|
};
|
|
92
74
|
export type RecordActionEffectsInput = {
|
|
93
75
|
readonly id: string;
|
|
@@ -101,19 +83,6 @@ export type RecordActionEffectsInput = {
|
|
|
101
83
|
readonly completedAt?: Date;
|
|
102
84
|
readonly error: ActionRunFailure<"effects">;
|
|
103
85
|
};
|
|
104
|
-
export type FinishActionRunInput = {
|
|
105
|
-
readonly id: string;
|
|
106
|
-
readonly projectId: string;
|
|
107
|
-
readonly status: "succeeded";
|
|
108
|
-
readonly finishedAt?: Date;
|
|
109
|
-
readonly phase?: ActionRunPhase;
|
|
110
|
-
} | {
|
|
111
|
-
readonly id: string;
|
|
112
|
-
readonly projectId: string;
|
|
113
|
-
readonly status: "failed" | "cancelled";
|
|
114
|
-
readonly finishedAt?: Date;
|
|
115
|
-
readonly error: ActionRunFailure;
|
|
116
|
-
};
|
|
117
86
|
export interface ListActionRunsInput {
|
|
118
87
|
readonly projectId: string;
|
|
119
88
|
readonly actionId?: string;
|
|
@@ -134,24 +103,26 @@ export interface ListActionRunsResult {
|
|
|
134
103
|
readonly hasMore: boolean;
|
|
135
104
|
readonly total: number;
|
|
136
105
|
}
|
|
137
|
-
export interface LockActionMaterializationRunInput {
|
|
138
|
-
readonly projectId: string;
|
|
139
|
-
readonly actionId: string;
|
|
140
|
-
readonly runId: string;
|
|
141
|
-
}
|
|
142
106
|
export interface ActionRunStorage {
|
|
143
|
-
/**
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
107
|
+
/**
|
|
108
|
+
* Insert a run's terminal record.
|
|
109
|
+
*
|
|
110
|
+
* A run is recorded once: a run id that already has a record is refused with an
|
|
111
|
+
* `ActionRunError`, and so is an execution that already recorded another run. The execution must
|
|
112
|
+
* be the trusted primitive execution created for this run.
|
|
113
|
+
*/
|
|
114
|
+
record(input: RecordActionRunInput): Promise<ActionRunRecord>;
|
|
115
|
+
/**
|
|
116
|
+
* Record the outcome of the effects of a succeeded run that committed edits, once. Recording an
|
|
117
|
+
* equal outcome again returns the run unchanged.
|
|
118
|
+
*/
|
|
149
119
|
recordEffects(input: RecordActionEffectsInput): Promise<ActionRunRecord>;
|
|
150
|
-
finish(input: FinishActionRunInput): Promise<ActionRunRecord>;
|
|
151
120
|
getById(params: {
|
|
152
121
|
projectId: string;
|
|
153
122
|
id: string;
|
|
154
123
|
}): Promise<ActionRunRecord | null>;
|
|
124
|
+
/** Runs ordered by `startedAt`, then id. */
|
|
155
125
|
list(input: ListActionRunsInput): Promise<ListActionRunsResult>;
|
|
156
126
|
}
|
|
127
|
+
export {};
|
|
157
128
|
//# sourceMappingURL=types.d.ts.map
|