@sixb/core 0.1.19 → 0.1.21
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/dist/actions/execution.d.ts.map +1 -1
- package/dist/actions/index.js +54 -47
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-authorization.d.ts +9 -0
- package/dist/actions/run-authorization.d.ts.map +1 -1
- package/dist/activity/connection.d.ts +62 -0
- package/dist/activity/connection.d.ts.map +1 -0
- package/dist/activity/device.d.ts +8 -0
- package/dist/activity/device.d.ts.map +1 -0
- package/dist/activity/execution.d.ts +48 -0
- package/dist/activity/execution.d.ts.map +1 -0
- package/dist/activity/service.d.ts +79 -0
- package/dist/activity/service.d.ts.map +1 -0
- package/dist/activity/shares.d.ts +24 -0
- package/dist/activity/shares.d.ts.map +1 -0
- package/dist/activity/timeline.d.ts +96 -0
- package/dist/activity/timeline.d.ts.map +1 -0
- package/dist/agents/index.d.ts +2 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +63 -50
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/skills.d.ts.map +1 -1
- package/dist/agents/streams/index.js +3 -3
- package/dist/agents/streams/internal.js +3 -3
- package/dist/agents/types.d.ts +8 -8
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/validation.d.ts +1 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/artifacts/address.d.ts +48 -0
- package/dist/artifacts/address.d.ts.map +1 -0
- package/dist/artifacts/csv.d.ts +22 -0
- package/dist/artifacts/csv.d.ts.map +1 -0
- package/dist/artifacts/errors.d.ts +11 -0
- package/dist/artifacts/errors.d.ts.map +1 -0
- package/dist/artifacts/execution.d.ts +43 -0
- package/dist/artifacts/execution.d.ts.map +1 -0
- package/dist/artifacts/frames/assets.d.ts +28 -0
- package/dist/artifacts/frames/assets.d.ts.map +1 -0
- package/dist/artifacts/frames/grants.d.ts +37 -0
- package/dist/artifacts/frames/grants.d.ts.map +1 -0
- package/dist/artifacts/frames/index.d.ts +10 -0
- package/dist/artifacts/frames/index.d.ts.map +1 -0
- package/dist/artifacts/frames/index.js +892 -0
- package/dist/artifacts/frames/index.js.map +14 -0
- package/dist/artifacts/frames/kit.d.ts +66 -0
- package/dist/artifacts/frames/kit.d.ts.map +1 -0
- package/dist/artifacts/frames/probe.d.ts +41 -0
- package/dist/artifacts/frames/probe.d.ts.map +1 -0
- package/dist/artifacts/frames/protocol.d.ts +98 -0
- package/dist/artifacts/frames/protocol.d.ts.map +1 -0
- package/dist/artifacts/frames/runtime.d.ts +13 -0
- package/dist/artifacts/frames/runtime.d.ts.map +1 -0
- package/dist/artifacts/html.d.ts +6 -0
- package/dist/artifacts/html.d.ts.map +1 -0
- package/dist/artifacts/ids.d.ts +5 -0
- package/dist/artifacts/ids.d.ts.map +1 -0
- package/dist/artifacts/index.d.ts +16 -0
- package/dist/artifacts/index.d.ts.map +1 -0
- package/dist/artifacts/index.js +125 -0
- package/dist/artifacts/index.js.map +10 -0
- package/dist/artifacts/kinds.d.ts +5 -0
- package/dist/artifacts/kinds.d.ts.map +1 -0
- package/dist/artifacts/limits.d.ts +28 -0
- package/dist/artifacts/limits.d.ts.map +1 -0
- package/dist/artifacts/outline.d.ts +44 -0
- package/dist/artifacts/outline.d.ts.map +1 -0
- package/dist/artifacts/publish/files.d.ts +15 -0
- package/dist/artifacts/publish/files.d.ts.map +1 -0
- package/dist/artifacts/publish/index.d.ts +5 -0
- package/dist/artifacts/publish/index.d.ts.map +1 -0
- package/dist/artifacts/publish/index.js +36 -0
- package/dist/artifacts/publish/index.js.map +9 -0
- package/dist/artifacts/publish/publish.d.ts +52 -0
- package/dist/artifacts/publish/publish.d.ts.map +1 -0
- package/dist/artifacts/publish/references.d.ts +27 -0
- package/dist/artifacts/publish/references.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/document.d.ts +17 -0
- package/dist/artifacts/publish/validate/document.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/file.d.ts +8 -0
- package/dist/artifacts/publish/validate/file.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/sheet.d.ts +15 -0
- package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -0
- package/dist/artifacts/publish/validate/slides.d.ts +21 -0
- package/dist/artifacts/publish/validate/slides.d.ts.map +1 -0
- package/dist/artifacts/references.d.ts +12 -0
- package/dist/artifacts/references.d.ts.map +1 -0
- package/dist/artifacts/resolve.d.ts +41 -0
- package/dist/artifacts/resolve.d.ts.map +1 -0
- package/dist/artifacts/theme.d.ts +19 -0
- package/dist/artifacts/theme.d.ts.map +1 -0
- package/dist/artifacts/warnings.d.ts +11 -0
- package/dist/artifacts/warnings.d.ts.map +1 -0
- package/dist/artifacts/workbook.d.ts +64 -0
- package/dist/artifacts/workbook.d.ts.map +1 -0
- package/dist/auth/cookies.d.ts +2 -4
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/index.d.ts +0 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +14 -20
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts +8 -10
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/session-cache.d.ts +1 -5
- package/dist/auth/session-cache.d.ts.map +1 -1
- package/dist/auth/strategy.js +1 -1
- package/dist/auth/types.d.ts +4 -8
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/validation.d.ts +0 -1
- package/dist/auth/validation.d.ts.map +1 -1
- package/dist/authorization/decision.d.ts +2 -4
- package/dist/authorization/decision.d.ts.map +1 -1
- package/dist/authorization/grant-kinds.d.ts +6 -8
- package/dist/authorization/grant-kinds.d.ts.map +1 -1
- package/dist/authorization/index.d.ts +0 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +7 -11
- 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/blob-storage/browser.js +1 -1
- package/dist/blob-storage/index.js +2 -2
- package/dist/blob-storage/internal.d.ts +1 -1
- package/dist/blob-storage/internal.d.ts.map +1 -1
- package/dist/blob-storage/internal.js +11 -5
- package/dist/blob-storage/internal.js.map +1 -1
- package/dist/blob-storage/media-type.d.ts +12 -0
- package/dist/blob-storage/media-type.d.ts.map +1 -1
- package/dist/bootstrap/index.js +54 -48
- package/dist/bootstrap/index.js.map +2 -2
- package/dist/{chunk-t6vq7bff.js → chunk-0bphap9y.js} +5 -5
- package/dist/{chunk-7mbzgd9m.js → chunk-1cc1xaf3.js} +3 -3
- package/dist/chunk-3jms7je7.js +14 -0
- package/dist/chunk-3jms7je7.js.map +10 -0
- package/dist/{chunk-s54c868q.js → chunk-3qct2mdc.js} +3 -13
- package/dist/chunk-3qct2mdc.js.map +12 -0
- package/dist/{chunk-6gmfggss.js → chunk-431pyp2c.js} +3 -3
- package/dist/{chunk-c85m1hyj.js → chunk-447a5c0p.js} +2 -2
- package/dist/chunk-48qjhh6v.js +185 -0
- package/dist/chunk-48qjhh6v.js.map +13 -0
- package/dist/{chunk-80mc0971.js → chunk-561r0yc9.js} +8 -8
- package/dist/{chunk-5e43w60z.js → chunk-5948n82c.js} +2 -2
- package/dist/{chunk-yzwja0mj.js → chunk-5hx48dnn.js} +2 -2
- package/dist/{chunk-tjb1mk5t.js → chunk-5vems3nx.js} +5 -6
- package/dist/{chunk-tjb1mk5t.js.map → chunk-5vems3nx.js.map} +3 -3
- package/dist/{chunk-aff7cyea.js → chunk-61y5xs4p.js} +563 -167
- package/dist/{chunk-aff7cyea.js.map → chunk-61y5xs4p.js.map} +12 -9
- package/dist/chunk-65abf64x.js +13 -0
- package/dist/chunk-65abf64x.js.map +10 -0
- package/dist/{chunk-z3y5kg1x.js → chunk-6eqsgvxk.js} +3 -3
- package/dist/{chunk-z3y5kg1x.js.map → chunk-6eqsgvxk.js.map} +2 -2
- package/dist/chunk-6rqgmkde.js +2028 -0
- package/dist/chunk-6rqgmkde.js.map +29 -0
- package/dist/{chunk-y7rqfrgg.js → chunk-6vb4st8k.js} +29 -38
- package/dist/chunk-6vb4st8k.js.map +23 -0
- package/dist/chunk-7q8t23v4.js +467 -0
- package/dist/chunk-7q8t23v4.js.map +14 -0
- package/dist/{chunk-kyzq4wy9.js → chunk-858emn8m.js} +17 -17
- package/dist/chunk-858emn8m.js.map +18 -0
- package/dist/{chunk-hvsb78a1.js → chunk-8frc8a4j.js} +26 -26
- package/dist/{chunk-hvsb78a1.js.map → chunk-8frc8a4j.js.map} +2 -2
- package/dist/{chunk-3zxk45er.js → chunk-8ncg20rd.js} +3 -68
- package/dist/{chunk-3zxk45er.js.map → chunk-8ncg20rd.js.map} +4 -5
- package/dist/{chunk-j2bp5ryw.js → chunk-918wwnaa.js} +495 -28
- package/dist/{chunk-j2bp5ryw.js.map → chunk-918wwnaa.js.map} +14 -12
- package/dist/{chunk-1f7wpmyp.js → chunk-9j4jw7as.js} +103 -110
- package/dist/chunk-9j4jw7as.js.map +14 -0
- package/dist/chunk-9kgkfg6v.js +502 -0
- package/dist/chunk-9kgkfg6v.js.map +14 -0
- package/dist/chunk-a3faa34j.js +74 -0
- package/dist/chunk-a3faa34j.js.map +10 -0
- package/dist/{chunk-ey3pyej1.js → chunk-akzryx9h.js} +347 -1174
- package/dist/{chunk-ey3pyej1.js.map → chunk-akzryx9h.js.map} +19 -25
- package/dist/chunk-arns890k.js +10 -0
- package/dist/chunk-arns890k.js.map +10 -0
- package/dist/{chunk-zrmy8zvw.js → chunk-bk9svbcq.js} +11 -11
- package/dist/{chunk-zrmy8zvw.js.map → chunk-bk9svbcq.js.map} +2 -2
- package/dist/{chunk-hkc3jct7.js → chunk-c06hmxyy.js} +2 -10
- package/dist/chunk-c06hmxyy.js.map +10 -0
- package/dist/{chunk-q1vkr2ys.js → chunk-c1rxbz5y.js} +3 -3
- package/dist/chunk-cfj9dfbb.js +288 -0
- package/dist/chunk-cfj9dfbb.js.map +12 -0
- package/dist/{chunk-4tcx876c.js → chunk-cn0fwwhy.js} +19 -19
- package/dist/{chunk-4tcx876c.js.map → chunk-cn0fwwhy.js.map} +1 -1
- package/dist/{chunk-gc4ntf7d.js → chunk-cwdzcv37.js} +1 -1
- package/dist/{chunk-fa02jy15.js → chunk-cy4mbddw.js} +1 -1
- package/dist/{chunk-7kg3k1m9.js → chunk-d09e3rax.js} +1 -1
- package/dist/chunk-d5rjr8c0.js +176 -0
- package/dist/chunk-d5rjr8c0.js.map +12 -0
- package/dist/{chunk-rhg02hxq.js → chunk-d7dnxdep.js} +3 -3
- package/dist/{chunk-b38szspf.js → chunk-dhcv7yxc.js} +1 -1
- package/dist/{chunk-b38szspf.js.map → chunk-dhcv7yxc.js.map} +1 -1
- package/dist/{chunk-enpsx8k5.js → chunk-dhdha526.js} +23 -21
- package/dist/chunk-dhdha526.js.map +10 -0
- package/dist/{chunk-8mx7qw3y.js → chunk-dvd2fp9q.js} +2 -2
- package/dist/{chunk-8mx7qw3y.js.map → chunk-dvd2fp9q.js.map} +3 -3
- package/dist/{chunk-bwjcehza.js → chunk-e17zdm62.js} +6 -12
- package/dist/{chunk-bwjcehza.js.map → chunk-e17zdm62.js.map} +3 -4
- package/dist/{chunk-tpn40322.js → chunk-e6k4thh5.js} +11 -10
- package/dist/{chunk-tpn40322.js.map → chunk-e6k4thh5.js.map} +3 -3
- package/dist/{chunk-tw03bsmb.js → chunk-eptrvnby.js} +224 -3
- package/dist/chunk-eptrvnby.js.map +12 -0
- package/dist/{chunk-xt1zt7gv.js → chunk-f4pamkt9.js} +30 -23
- package/dist/chunk-f4pamkt9.js.map +12 -0
- package/dist/chunk-ff5xkv0p.js +211 -0
- package/dist/chunk-ff5xkv0p.js.map +10 -0
- package/dist/{chunk-bpgy64fw.js → chunk-g257jwnc.js} +10 -4
- package/dist/{chunk-bpgy64fw.js.map → chunk-g257jwnc.js.map} +3 -3
- package/dist/chunk-g5bvzyyr.js +32 -0
- package/dist/chunk-g5bvzyyr.js.map +10 -0
- package/dist/{chunk-2jntasmh.js → chunk-hcbyfxbe.js} +25 -49
- package/dist/chunk-hcbyfxbe.js.map +12 -0
- package/dist/chunk-hke9aeen.js +9 -0
- package/dist/chunk-hke9aeen.js.map +10 -0
- package/dist/{chunk-1sr8ryzk.js → chunk-hwksyjks.js} +122 -1
- package/dist/{chunk-1sr8ryzk.js.map → chunk-hwksyjks.js.map} +3 -3
- package/dist/chunk-jcfw4h7m.js +9 -0
- package/dist/chunk-jcfw4h7m.js.map +10 -0
- package/dist/{chunk-85yvv5n0.js → chunk-k43ct2ke.js} +20 -11
- package/dist/chunk-k43ct2ke.js.map +12 -0
- package/dist/{chunk-dnmadg9k.js → chunk-kge7k6ey.js} +40 -8
- package/dist/chunk-kge7k6ey.js.map +15 -0
- package/dist/{chunk-wz0xs816.js → chunk-ky3j490c.js} +2 -2
- package/dist/chunk-mjddfa7k.js +129 -0
- package/dist/chunk-mjddfa7k.js.map +12 -0
- package/dist/{chunk-3gnrh4ve.js → chunk-nn5xnx3s.js} +86 -111
- package/dist/chunk-nn5xnx3s.js.map +40 -0
- package/dist/{chunk-rz53yb4v.js → chunk-q5e5tv4b.js} +35 -7
- package/dist/{chunk-rz53yb4v.js.map → chunk-q5e5tv4b.js.map} +3 -3
- package/dist/{chunk-vyf9kfqf.js → chunk-q7gn29y3.js} +1 -1
- package/dist/{chunk-d2ync1v3.js → chunk-rmakanzx.js} +10 -12
- package/dist/{chunk-d2ync1v3.js.map → chunk-rmakanzx.js.map} +3 -4
- package/dist/{chunk-v9xd5wzd.js → chunk-s7jg7pmn.js} +1 -1
- package/dist/chunk-tbc1ngpd.js +642 -0
- package/dist/chunk-tbc1ngpd.js.map +18 -0
- package/dist/chunk-twe4dx8p.js +676 -0
- package/dist/chunk-twe4dx8p.js.map +15 -0
- package/dist/{chunk-nre82s12.js → chunk-vf57cr4t.js} +2 -2
- package/dist/{chunk-9ybhtmg4.js → chunk-vvxtn22d.js} +1 -1
- package/dist/{chunk-jhm3zsa7.js → chunk-wkv3h3q7.js} +64 -2
- package/dist/{chunk-jhm3zsa7.js.map → chunk-wkv3h3q7.js.map} +3 -3
- package/dist/chunk-x0v3jd47.js +124 -0
- package/dist/chunk-x0v3jd47.js.map +10 -0
- package/dist/{chunk-7t429e3f.js → chunk-xvsc5m8n.js} +1 -1
- package/dist/{chunk-kg5j6fct.js → chunk-y5tah2kf.js} +1 -1
- package/dist/{chunk-52bk93x8.js → chunk-z58tm0hm.js} +2 -2
- package/dist/datasets/builders.d.ts +15 -2
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/column-index.d.ts +7 -0
- package/dist/datasets/column-index.d.ts.map +1 -0
- package/dist/datasets/execution.d.ts +3 -2
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/write.js +8 -8
- package/dist/deploy/internal.js +4 -3
- package/dist/deploy/internal.js.map +4 -4
- package/dist/deploy/services.d.ts.map +1 -1
- package/dist/deploy/types.d.ts +1 -2
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/error-reporting/internal.js +4 -4
- package/dist/errors/internal.d.ts +1 -0
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +7 -4
- package/dist/errors/internal.js.map +1 -1
- package/dist/events/execution.d.ts +12 -2
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/index.js +4 -4
- package/dist/execution/agent.js +56 -49
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +52 -11
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/object-reader-clearance.d.ts +41 -0
- package/dist/execution/object-reader-clearance.d.ts.map +1 -0
- package/dist/execution/object-reader-ontology.d.ts +12 -0
- package/dist/execution/object-reader-ontology.d.ts.map +1 -0
- package/dist/execution/object-reader-security.d.ts +45 -0
- package/dist/execution/object-reader-security.d.ts.map +1 -0
- package/dist/execution/primitive.js +54 -47
- package/dist/execution/primitive.js.map +1 -1
- package/dist/execution/request.js +49 -42
- package/dist/execution/request.js.map +2 -2
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +23 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -109
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +1 -0
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +6 -3
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +21 -13
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/lineage.d.ts +94 -0
- package/dist/lake-storage/lineage.d.ts.map +1 -0
- package/dist/lake-storage/sql-transforms.d.ts +45 -0
- package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
- package/dist/lake-storage/types.d.ts +55 -1
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/lake-storage/version-inputs.d.ts +14 -3
- package/dist/lake-storage/version-inputs.d.ts.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/materializer/index.js +31 -30
- package/dist/materializer/index.js.map +1 -1
- package/dist/models/execution/index.js +26 -25
- package/dist/models/execution/index.js.map +1 -1
- package/dist/objects/clearance-redaction.d.ts +27 -0
- package/dist/objects/clearance-redaction.d.ts.map +1 -0
- package/dist/objects/index.js +54 -47
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/link/authorization.d.ts +8 -5
- package/dist/objects/link/authorization.d.ts.map +1 -1
- package/dist/objects/link/upsert-batch.d.ts.map +1 -1
- package/dist/objects/object/delete.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 +47 -24
- package/dist/objects/property-clearance.d.ts.map +1 -1
- package/dist/objects/query/clearance-admission.d.ts +10 -0
- package/dist/objects/query/clearance-admission.d.ts.map +1 -0
- package/dist/objects/query/index.js +29 -28
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/link-query-clearance.d.ts +21 -0
- package/dist/objects/query/link-query-clearance.d.ts.map +1 -0
- package/dist/objects/vectors/handle.d.ts.map +1 -1
- package/dist/objects/vectors/profile.d.ts +5 -0
- package/dist/objects/vectors/profile.d.ts.map +1 -1
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/docs-markdown.d.ts +1 -1
- package/dist/ontology/docs-markdown.d.ts.map +1 -1
- package/dist/ontology/index.js +7 -7
- package/dist/ontology/internal.js +4 -4
- package/dist/ontology/internal.js.map +1 -1
- package/dist/pipelines/index.d.ts +2 -0
- package/dist/pipelines/index.d.ts.map +1 -1
- package/dist/pipelines/index.js +47 -35
- package/dist/pipelines/index.js.map +1 -1
- package/dist/pipelines/lineage.d.ts +17 -0
- package/dist/pipelines/lineage.d.ts.map +1 -0
- package/dist/projections/internal.d.ts +2 -2
- package/dist/projections/internal.js +30 -29
- package/dist/projections/internal.js.map +1 -1
- package/dist/runtime/create.d.ts +3 -0
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +6 -0
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +2 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +46 -42
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/ontology-mutations.d.ts +2 -0
- package/dist/runtime/ontology-mutations.d.ts.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +8 -0
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/sandboxes/auth.d.ts +16 -0
- package/dist/sandboxes/auth.d.ts.map +1 -1
- package/dist/sandboxes/config.d.ts.map +1 -1
- package/dist/sandboxes/configuration.d.ts +26 -0
- package/dist/sandboxes/configuration.d.ts.map +1 -1
- package/dist/sandboxes/index.d.ts +1 -1
- package/dist/sandboxes/index.d.ts.map +1 -1
- package/dist/sandboxes/index.js +14 -13
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/sandboxes/sandbox.d.ts +28 -5
- package/dist/sandboxes/sandbox.d.ts.map +1 -1
- package/dist/security/applied-markings-contribution.d.ts +58 -0
- package/dist/security/applied-markings-contribution.d.ts.map +1 -0
- package/dist/security/applied-markings-host.d.ts +10 -0
- package/dist/security/applied-markings-host.d.ts.map +1 -0
- package/dist/security/applied-markings-snapshot.d.ts +67 -0
- package/dist/security/applied-markings-snapshot.d.ts.map +1 -0
- package/dist/security/applied-markings.d.ts +73 -0
- package/dist/security/applied-markings.d.ts.map +1 -0
- package/dist/security/builders.d.ts.map +1 -1
- package/dist/security/dataset-version-markings.d.ts +47 -0
- package/dist/security/dataset-version-markings.d.ts.map +1 -0
- package/dist/security/every.d.ts +1 -4
- package/dist/security/every.d.ts.map +1 -1
- package/dist/security/grants.d.ts +4 -5
- package/dist/security/grants.d.ts.map +1 -1
- package/dist/security/index.d.ts +2 -2
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/internal.d.ts +15 -0
- package/dist/security/internal.d.ts.map +1 -0
- package/dist/security/internal.js +135 -0
- package/dist/security/internal.js.map +10 -0
- package/dist/security/marking-propagation.d.ts +62 -0
- package/dist/security/marking-propagation.d.ts.map +1 -0
- package/dist/security/marking-sets.d.ts +14 -0
- package/dist/security/marking-sets.d.ts.map +1 -0
- package/dist/security/markings.d.ts +6 -3
- package/dist/security/markings.d.ts.map +1 -1
- package/dist/security/membership-policies.d.ts.map +1 -1
- package/dist/security/pipeline-markings.d.ts +20 -0
- package/dist/security/pipeline-markings.d.ts.map +1 -0
- package/dist/security/project.d.ts +4 -0
- package/dist/security/project.d.ts.map +1 -0
- package/dist/security/projection-markings.d.ts +71 -0
- package/dist/security/projection-markings.d.ts.map +1 -0
- package/dist/security/public.d.ts +10 -0
- package/dist/security/public.d.ts.map +1 -0
- package/dist/security/public.js +10 -0
- package/dist/security/public.js.map +9 -0
- package/dist/security/redactions.d.ts +4 -1
- package/dist/security/redactions.d.ts.map +1 -1
- package/dist/security/registry.d.ts +0 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +34 -19
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +0 -6
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/internal.js +25 -24
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +3 -3
- package/dist/storage/action-runs/in-memory.d.ts +4 -0
- package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/action-runs/types.d.ts +8 -0
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/activity/in-memory.d.ts +55 -0
- package/dist/storage/activity/in-memory.d.ts.map +1 -0
- package/dist/storage/activity/index.d.ts +3 -0
- package/dist/storage/activity/index.d.ts.map +1 -0
- package/dist/storage/activity/policy.d.ts +96 -0
- package/dist/storage/activity/policy.d.ts.map +1 -0
- package/dist/storage/activity/types.d.ts +191 -0
- package/dist/storage/activity/types.d.ts.map +1 -0
- package/dist/storage/agents/in-memory.d.ts +4 -0
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +2 -5
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +10 -9
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +3 -3
- package/dist/storage/artifacts/errors.d.ts +8 -0
- package/dist/storage/artifacts/errors.d.ts.map +1 -0
- package/dist/storage/artifacts/in-memory.d.ts +34 -0
- package/dist/storage/artifacts/in-memory.d.ts.map +1 -0
- package/dist/storage/artifacts/index.d.ts +5 -0
- package/dist/storage/artifacts/index.d.ts.map +1 -0
- package/dist/storage/artifacts/record.d.ts +17 -0
- package/dist/storage/artifacts/record.d.ts.map +1 -0
- package/dist/storage/artifacts/types.d.ts +184 -0
- package/dist/storage/artifacts/types.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/magic-links.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/oidc-attempts.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/sessions.d.ts +2 -11
- package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/shared.d.ts +1 -2
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +1 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +20 -17
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +2 -2
- package/dist/storage/executions/in-memory.d.ts +2 -1
- package/dist/storage/executions/in-memory.d.ts.map +1 -1
- package/dist/storage/executions/index.d.ts +1 -1
- package/dist/storage/executions/index.d.ts.map +1 -1
- package/dist/storage/executions/provider.d.ts +2 -0
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +9 -223
- package/dist/storage/executions/provider.js.map +3 -4
- package/dist/storage/executions/types.d.ts +31 -0
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.js +12 -12
- package/dist/storage/in-memory/index.d.ts +8 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +6 -4
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +47 -46
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +3 -0
- package/dist/storage/internal.d.ts.map +1 -1
- package/dist/storage/internal.js +66 -16
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/ontology/in-memory/sources.d.ts +2 -1
- package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
- package/dist/storage/ontology/index.d.ts +1 -1
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/sources.d.ts +15 -0
- package/dist/storage/ontology/sources.d.ts.map +1 -1
- package/dist/storage/projection-runs/provider.js +3 -3
- package/dist/storage/share-grants/in-memory.d.ts +2 -1
- package/dist/storage/share-grants/in-memory.d.ts.map +1 -1
- package/dist/storage/share-grants/index.d.ts +1 -1
- package/dist/storage/share-grants/index.d.ts.map +1 -1
- package/dist/storage/share-grants/types.d.ts +6 -0
- package/dist/storage/share-grants/types.d.ts.map +1 -1
- package/dist/storage/types.d.ts +4 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/in-memory.d.ts +4 -0
- package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +14 -13
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/storage/workflow-runs/types.d.ts +5 -0
- package/dist/storage/workflow-runs/types.d.ts.map +1 -1
- package/dist/syncs/index.js +35 -34
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/action-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/activity-storage-contract.d.ts +14 -0
- package/dist/testing/activity-storage-contract.d.ts.map +1 -0
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/artifact-storage-contract.d.ts +13 -0
- package/dist/testing/artifact-storage-contract.d.ts.map +1 -0
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +4493 -3225
- package/dist/testing/index.js.map +14 -12
- package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
- package/dist/testing/lake-storage-contract.d.ts +2 -0
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +28 -27
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +2 -2
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/index.js +57 -51
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/types.d.ts +9 -0
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +7 -0
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +32 -2
- package/src/actions/execution.ts +18 -13
- package/src/actions/request.ts +18 -3
- package/src/actions/run-authorization.ts +23 -0
- package/src/activity/README.md +155 -0
- package/src/activity/connection.ts +217 -0
- package/src/activity/device.ts +41 -0
- package/src/activity/execution.ts +210 -0
- package/src/activity/service.ts +274 -0
- package/src/activity/shares.ts +62 -0
- package/src/activity/timeline.ts +424 -0
- package/src/agents/index.ts +8 -3
- package/src/agents/request.ts +5 -0
- package/src/agents/skills.ts +6 -0
- package/src/agents/types.ts +8 -8
- package/src/agents/validation.ts +2 -0
- package/src/artifacts/address.ts +132 -0
- package/src/artifacts/csv.ts +108 -0
- package/src/artifacts/errors.ts +21 -0
- package/src/artifacts/execution.ts +153 -0
- package/src/artifacts/frames/assets.ts +88 -0
- package/src/artifacts/frames/grants.ts +124 -0
- package/src/artifacts/frames/index.ts +15 -0
- package/src/artifacts/frames/kit.ts +392 -0
- package/src/artifacts/frames/probe.ts +309 -0
- package/src/artifacts/frames/protocol.ts +174 -0
- package/src/artifacts/frames/runtime.ts +213 -0
- package/src/artifacts/html.ts +25 -0
- package/src/artifacts/ids.ts +18 -0
- package/src/artifacts/index.ts +61 -0
- package/src/artifacts/kinds.ts +8 -0
- package/src/artifacts/limits.ts +27 -0
- package/src/artifacts/outline.ts +62 -0
- package/src/artifacts/publish/files.ts +87 -0
- package/src/artifacts/publish/index.ts +12 -0
- package/src/artifacts/publish/publish.ts +250 -0
- package/src/artifacts/publish/references.ts +130 -0
- package/src/artifacts/publish/validate/document.ts +114 -0
- package/src/artifacts/publish/validate/file.ts +19 -0
- package/src/artifacts/publish/validate/sheet.ts +251 -0
- package/src/artifacts/publish/validate/slides.ts +134 -0
- package/src/artifacts/references.ts +11 -0
- package/src/artifacts/resolve.ts +97 -0
- package/src/artifacts/theme.ts +116 -0
- package/src/artifacts/warnings.ts +10 -0
- package/src/artifacts/workbook.ts +315 -0
- package/src/auth/cookies.ts +3 -20
- package/src/auth/index.ts +0 -6
- package/src/auth/runtime.ts +59 -76
- package/src/auth/session-cache.ts +2 -9
- package/src/auth/types.ts +4 -8
- package/src/auth/validation.ts +0 -2
- package/src/authorization/decision.ts +13 -23
- package/src/authorization/grant-kinds.ts +33 -28
- package/src/authorization/index.ts +0 -1
- package/src/authorization/resolve.ts +10 -6
- package/src/blob-storage/internal.ts +1 -1
- package/src/blob-storage/media-type.ts +69 -0
- package/src/datasets/builders.ts +66 -2
- package/src/datasets/column-index.ts +19 -0
- package/src/datasets/execution.ts +23 -9
- package/src/deploy/services.ts +0 -1
- package/src/deploy/types.ts +1 -2
- package/src/deploy/validation.ts +3 -1
- package/src/errors/internal.ts +1 -0
- package/src/events/execution.ts +134 -21
- package/src/execution/authorization.ts +11 -5
- package/src/execution/authorized-object-reader.ts +270 -256
- package/src/execution/object-reader-clearance.ts +91 -0
- package/src/execution/object-reader-ontology.ts +63 -0
- package/src/execution/object-reader-security.ts +146 -0
- package/src/http/api-routes.ts +125 -0
- package/src/index.ts +72 -17
- package/src/lake-storage/in-memory.ts +26 -3
- package/src/lake-storage/index.ts +13 -1
- package/src/lake-storage/lineage.ts +385 -0
- package/src/lake-storage/sql-transforms.ts +45 -0
- package/src/lake-storage/types.ts +59 -1
- package/src/lake-storage/version-inputs.ts +35 -6
- package/src/maintenance/ontology-maintenance.ts +15 -0
- package/src/models/execution/embedding.ts +6 -6
- package/src/objects/clearance-redaction.ts +138 -0
- package/src/objects/link/authorization.ts +27 -7
- package/src/objects/link/remove.ts +2 -2
- package/src/objects/link/upsert-batch.ts +7 -5
- package/src/objects/link/upsert.ts +2 -2
- package/src/objects/object/delete.ts +2 -0
- package/src/objects/object/upsert-batch.ts +2 -4
- package/src/objects/object/upsert.ts +2 -3
- package/src/objects/property-clearance.ts +171 -152
- package/src/objects/query/clearance-admission.ts +112 -0
- package/src/objects/query/link-query-clearance.ts +73 -0
- package/src/objects/vectors/README.md +4 -0
- package/src/objects/vectors/handle.ts +11 -2
- package/src/objects/vectors/indexing-generate.ts +2 -2
- package/src/objects/vectors/profile.ts +5 -0
- package/src/ontology/builders.ts +12 -1
- package/src/ontology/docs-markdown.ts +1 -1
- package/src/pipelines/index.ts +2 -0
- package/src/pipelines/lineage.ts +45 -0
- package/src/projections/internal.ts +2 -2
- package/src/runtime/create.ts +4 -0
- package/src/runtime/host.ts +55 -0
- package/src/runtime/internal.ts +2 -0
- package/src/runtime/ontology-mutations.ts +19 -4
- package/src/runtime/resolve-definitions.ts +66 -3
- package/src/runtime/sixb.ts +18 -1
- package/src/sandboxes/README.md +29 -7
- package/src/sandboxes/auth.ts +16 -0
- package/src/sandboxes/config.ts +2 -7
- package/src/sandboxes/configuration.ts +61 -7
- package/src/sandboxes/index.ts +1 -0
- package/src/sandboxes/sandbox.ts +27 -5
- package/src/security/applied-markings-contribution.ts +277 -0
- package/src/security/applied-markings-host.ts +41 -0
- package/src/security/applied-markings-snapshot.ts +235 -0
- package/src/security/applied-markings.ts +405 -0
- package/src/security/builders.ts +7 -2
- package/src/security/dataset-version-markings.ts +163 -0
- package/src/security/every.ts +0 -4
- package/src/security/grants.ts +42 -27
- package/src/security/index.ts +3 -3
- package/src/security/internal.ts +18 -0
- package/src/security/marking-propagation.ts +255 -0
- package/src/security/marking-sets.ts +42 -0
- package/src/security/markings.ts +29 -178
- package/src/security/membership-policies.ts +3 -1
- package/src/security/pipeline-markings.ts +175 -0
- package/src/security/project.ts +8 -0
- package/src/security/projection-markings.ts +421 -0
- package/src/security/public.ts +10 -0
- package/src/security/redactions.ts +7 -2
- package/src/security/registry.ts +0 -8
- package/src/security/types.ts +38 -26
- package/src/security/validation.ts +28 -19
- package/src/storage/action-runs/in-memory.ts +18 -0
- package/src/storage/action-runs/types.ts +8 -0
- package/src/storage/activity/in-memory.ts +374 -0
- package/src/storage/activity/index.ts +27 -0
- package/src/storage/activity/policy.ts +430 -0
- package/src/storage/activity/types.ts +211 -0
- package/src/storage/agents/in-memory.ts +10 -0
- package/src/storage/agents/provider.ts +2 -13
- package/src/storage/agents/types.ts +10 -17
- package/src/storage/artifacts/errors.ts +16 -0
- package/src/storage/artifacts/in-memory.ts +240 -0
- package/src/storage/artifacts/index.ts +30 -0
- package/src/storage/artifacts/record.ts +200 -0
- package/src/storage/artifacts/types.ts +209 -0
- package/src/storage/auth/in-memory/auth-storage.ts +0 -18
- package/src/storage/auth/in-memory/magic-links.ts +0 -3
- package/src/storage/auth/in-memory/oidc-attempts.ts +0 -3
- package/src/storage/auth/in-memory/sessions.ts +22 -25
- package/src/storage/auth/in-memory/shared.ts +1 -10
- package/src/storage/auth/index.ts +2 -0
- package/src/storage/auth/types.ts +20 -18
- package/src/storage/executions/in-memory.ts +61 -1
- package/src/storage/executions/index.ts +3 -0
- package/src/storage/executions/provider.ts +12 -0
- package/src/storage/executions/types.ts +30 -0
- package/src/storage/in-memory/index.ts +16 -0
- package/src/storage/index.ts +63 -0
- package/src/storage/internal.ts +30 -0
- package/src/storage/ontology/in-memory/sources.ts +23 -0
- package/src/storage/ontology/index.ts +2 -0
- package/src/storage/ontology/sources.ts +17 -0
- package/src/storage/share-grants/in-memory.ts +8 -0
- package/src/storage/share-grants/index.ts +1 -0
- package/src/storage/share-grants/types.ts +8 -0
- package/src/storage/types.ts +4 -0
- package/src/storage/workflow-runs/in-memory.ts +16 -0
- package/src/storage/workflow-runs/types.ts +5 -0
- package/src/testing/action-run-storage-contract.ts +25 -0
- package/src/testing/activity-storage-contract.ts +840 -0
- package/src/testing/agent-storage-contract.ts +22 -21
- package/src/testing/artifact-storage-contract.ts +517 -0
- package/src/testing/auth-storage-contract.ts +61 -107
- package/src/testing/execution-storage-contract.ts +147 -3
- package/src/testing/index.ts +9 -0
- package/src/testing/lake-merge-storage-contract.ts +38 -0
- package/src/testing/lake-storage-contract.ts +247 -2
- package/src/testing/materializer-storage-contract.ts +1 -0
- package/src/testing/ontology-storage-contract.ts +57 -2
- package/src/testing/share-grant-storage-contract.ts +15 -0
- package/src/workflows/builders.ts +14 -0
- package/src/workflows/types.ts +9 -0
- package/src/workflows/validation.ts +72 -0
- package/dist/auth/audience.d.ts +0 -8
- package/dist/auth/audience.d.ts.map +0 -1
- package/dist/authorization/application-access.d.ts +0 -18
- package/dist/authorization/application-access.d.ts.map +0 -1
- package/dist/chunk-1f7wpmyp.js.map +0 -14
- package/dist/chunk-1k89ecfr.js +0 -85
- package/dist/chunk-1k89ecfr.js.map +0 -10
- package/dist/chunk-2jntasmh.js.map +0 -13
- package/dist/chunk-3gnrh4ve.js.map +0 -40
- package/dist/chunk-85yvv5n0.js.map +0 -12
- package/dist/chunk-9gyp8hg1.js +0 -363
- package/dist/chunk-9gyp8hg1.js.map +0 -14
- package/dist/chunk-dnmadg9k.js.map +0 -15
- package/dist/chunk-enpsx8k5.js.map +0 -10
- package/dist/chunk-hkc3jct7.js.map +0 -10
- package/dist/chunk-kyzq4wy9.js.map +0 -18
- package/dist/chunk-s16apyk9.js +0 -256
- package/dist/chunk-s16apyk9.js.map +0 -16
- package/dist/chunk-s54c868q.js.map +0 -12
- package/dist/chunk-tw03bsmb.js.map +0 -11
- package/dist/chunk-wwdfe68s.js +0 -128
- package/dist/chunk-wwdfe68s.js.map +0 -11
- package/dist/chunk-xt1zt7gv.js.map +0 -13
- package/dist/chunk-y7rqfrgg.js.map +0 -24
- package/dist/security/applications.d.ts +0 -15
- package/dist/security/applications.d.ts.map +0 -1
- package/src/auth/audience.ts +0 -28
- package/src/authorization/application-access.ts +0 -34
- package/src/security/applications.ts +0 -11
- /package/dist/{chunk-t6vq7bff.js.map → chunk-0bphap9y.js.map} +0 -0
- /package/dist/{chunk-7mbzgd9m.js.map → chunk-1cc1xaf3.js.map} +0 -0
- /package/dist/{chunk-6gmfggss.js.map → chunk-431pyp2c.js.map} +0 -0
- /package/dist/{chunk-c85m1hyj.js.map → chunk-447a5c0p.js.map} +0 -0
- /package/dist/{chunk-80mc0971.js.map → chunk-561r0yc9.js.map} +0 -0
- /package/dist/{chunk-5e43w60z.js.map → chunk-5948n82c.js.map} +0 -0
- /package/dist/{chunk-yzwja0mj.js.map → chunk-5hx48dnn.js.map} +0 -0
- /package/dist/{chunk-q1vkr2ys.js.map → chunk-c1rxbz5y.js.map} +0 -0
- /package/dist/{chunk-gc4ntf7d.js.map → chunk-cwdzcv37.js.map} +0 -0
- /package/dist/{chunk-fa02jy15.js.map → chunk-cy4mbddw.js.map} +0 -0
- /package/dist/{chunk-7kg3k1m9.js.map → chunk-d09e3rax.js.map} +0 -0
- /package/dist/{chunk-rhg02hxq.js.map → chunk-d7dnxdep.js.map} +0 -0
- /package/dist/{chunk-wz0xs816.js.map → chunk-ky3j490c.js.map} +0 -0
- /package/dist/{chunk-vyf9kfqf.js.map → chunk-q7gn29y3.js.map} +0 -0
- /package/dist/{chunk-v9xd5wzd.js.map → chunk-s7jg7pmn.js.map} +0 -0
- /package/dist/{chunk-nre82s12.js.map → chunk-vf57cr4t.js.map} +0 -0
- /package/dist/{chunk-9ybhtmg4.js.map → chunk-vvxtn22d.js.map} +0 -0
- /package/dist/{chunk-7t429e3f.js.map → chunk-xvsc5m8n.js.map} +0 -0
- /package/dist/{chunk-kg5j6fct.js.map → chunk-y5tah2kf.js.map} +0 -0
- /package/dist/{chunk-52bk93x8.js.map → chunk-z58tm0hm.js.map} +0 -0
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
"import { createHash } from \"node:crypto\"\nimport { isAllowed } from \"../../authorization\"\nimport { stableJsonStringify } from \"../../json\"\nimport {\n type LinkDirection,\n type ObjectBatchKey,\n type ObjectLinkCursor,\n type ObjectLinkRow,\n type ObjectReadStorage,\n type ObjectRow,\n objectBatchKey,\n objectLinkCursor,\n} from \"../../storage\"\nimport { ObjectQueryExecutionError } from \"./errors\"\nimport { executeObjectQuery, type QueryExecutorOptions } from \"./executor\"\nimport type { ObjectQuery } from \"./ir\"\nimport { normalizeObjectQuery } from \"./normalize\"\nimport { type ValidatedObjectQuery, validateObjectQuery } from \"./validate\"\n\nexport interface ExecuteObjectQueryLinksInput {\n projectId: string\n query: ObjectQuery\n direction?: LinkDirection\n linkId?: string\n includeObjects?: boolean\n pageSize?: number\n pageToken?: string\n}\n\nexport interface ExecuteObjectQueryLinksResult {\n objects: readonly ObjectRow[]\n links: readonly ObjectLinkRow[]\n hasMore: boolean\n nextPageToken?: string\n}\n\nexport interface PreflightObjectQueryLinksResult {\n projectId: string\n validated: ValidatedObjectQuery\n direction: LinkDirection\n linkId?: string\n includeObjects: boolean\n pageSize: number\n cursor?: ObjectLinkCursor\n pageScope: string\n}\n\nconst MAX_LINK_QUERY_OBJECTS = 1_000\nconst MAX_LINK_PAGE_SIZE = 1_000\nconst DEFAULT_LINK_PAGE_SIZE = 100\nconst LINK_PAGE_TOKEN_PREFIX = \"link:v1:\"\n\n/**\n * Canonicalize and validate a physical-link query without reading storage.\n *\n * This direct-file-only boundary lets higher-level readers complete ordinary request validation\n * before applying terminal-specific authorization, while the executor consumes the exact same\n * preflight contract.\n *\n * @internal Intentionally absent from query barrels.\n */\nexport function preflightObjectQueryLinks(\n input: ExecuteObjectQueryLinksInput,\n options: Pick<QueryExecutorOptions, \"ontology\" | \"maxLimit\" | \"maxPageSize\" | \"maxRefs\">\n): PreflightObjectQueryLinksResult {\n // Capture caller-owned scalar fields once so validation, token scoping, and execution agree on\n // one request even when this internal API is reached without an AuthorizedObjectReader snapshot.\n const projectId = input.projectId\n const query = input.query\n const requestedDirection = input.direction\n const linkId = input.linkId\n const requestedIncludeObjects = input.includeObjects\n const requestedPageSize = input.pageSize\n const pageToken = input.pageToken\n\n const direction = requestedDirection ?? \"both\"\n if (direction !== \"outgoing\" && direction !== \"incoming\" && direction !== \"both\") {\n throw new ObjectQueryExecutionError(\n \"invalid_link_direction\",\n \"direction must be 'outgoing', 'incoming', or 'both'\",\n \"$.direction\"\n )\n }\n if (linkId !== undefined && typeof linkId !== \"string\") {\n throw new ObjectQueryExecutionError(\"invalid_link_id\", \"linkId must be a string\", \"$.linkId\")\n }\n if (linkId !== undefined && linkId.length === 0) {\n throw new ObjectQueryExecutionError(\"invalid_link_id\", \"linkId must not be empty\", \"$.linkId\")\n }\n if (requestedIncludeObjects !== undefined && typeof requestedIncludeObjects !== \"boolean\") {\n throw new ObjectQueryExecutionError(\n \"invalid_link_include_objects\",\n \"includeObjects must be a boolean\",\n \"$.includeObjects\"\n )\n }\n\n const pageSize = requestedPageSize ?? DEFAULT_LINK_PAGE_SIZE\n if (!Number.isInteger(pageSize) || pageSize <= 0 || pageSize > MAX_LINK_PAGE_SIZE) {\n throw new ObjectQueryExecutionError(\n \"invalid_link_page_size\",\n `pageSize must be an integer between 1 and ${MAX_LINK_PAGE_SIZE}`,\n \"$.pageSize\"\n )\n }\n\n const validated = validateObjectQuery(normalizeObjectQuery(query), {\n ontology: options.ontology,\n maxLimit: options.maxLimit,\n maxPageSize: options.maxPageSize,\n maxRefs: options.maxRefs,\n normalize: false,\n })\n assertLinkSelectorShape(validated.query)\n const pageScope = linkPageScope(projectId, validated.query, direction, linkId)\n const cursor = decodeLinkPageToken(pageToken, pageScope)\n\n return {\n projectId,\n validated,\n direction,\n ...(linkId === undefined ? {} : { linkId }),\n includeObjects: requestedIncludeObjects ?? false,\n pageSize,\n ...(cursor === undefined ? {} : { cursor }),\n pageScope,\n }\n}\n\n/**\n * Select a bounded object set with the query IR, then return physical links\n * incident to that set. This is a separate terminal because edge rows and edge\n * pagination are a different response contract from object-set queries.\n */\nexport async function executeObjectQueryLinks(\n input: ExecuteObjectQueryLinksInput,\n options: QueryExecutorOptions\n): Promise<ExecuteObjectQueryLinksResult> {\n const preflight = preflightObjectQueryLinks(input, options)\n const selectorQuery = preflight.validated.query\n\n // A root page already has an explicit result bound and must execute directly: nesting it under a\n // probe limit would expose the provider's internal pageSize+1 row. All other selector shapes are\n // capped here before the provider receives the selected identities.\n const boundedSelector =\n selectorQuery.kind === \"page\"\n ? selectorQuery\n : { kind: \"limit\" as const, limit: MAX_LINK_QUERY_OBJECTS + 1, input: selectorQuery }\n const selection = await executeObjectQuery(\n {\n projectId: preflight.projectId,\n query: boundedSelector,\n includeTotal: false,\n },\n {\n ...options,\n maxLimit: Math.max(options.maxLimit ?? 1_000, MAX_LINK_QUERY_OBJECTS + 1),\n }\n )\n if (selection.objects.length > MAX_LINK_QUERY_OBJECTS) {\n throw new ObjectQueryExecutionError(\n \"link_query_object_limit_exceeded\",\n `Link query selected more than ${MAX_LINK_QUERY_OBJECTS} objects; add a limit or page node`,\n \"$.query\"\n )\n }\n\n const selected = selection.objects\n if (selected.length === 0) {\n return { objects: [], links: [], hasMore: false }\n }\n\n const endpointObjectTypeIds = visibleEndpointTypeIds(options)\n const page = await options.storage.queryLinks({\n projectId: preflight.projectId,\n objectRefs: selected.map((row) => ({\n objectTypeId: row.objectTypeId,\n primaryId: row.primaryId,\n })),\n direction: preflight.direction,\n ...(preflight.linkId === undefined ? {} : { linkId: preflight.linkId }),\n ...(endpointObjectTypeIds === undefined ? {} : { endpointObjectTypeIds }),\n ...(preflight.cursor === undefined ? {} : { after: preflight.cursor }),\n limit: preflight.pageSize,\n })\n const lastLink = page.links.at(-1)\n let nextPageToken: string | undefined\n if (page.hasMore) {\n if (!lastLink) {\n throw new Error(\"[Sixb] Object storage returned hasMore for an empty link page.\")\n }\n nextPageToken = encodeLinkPageToken(objectLinkCursor(lastLink), preflight.pageScope)\n }\n const objects = preflight.includeObjects\n ? await hydrateLinkQueryObjects(preflight.projectId, selected, page.links, options.storage)\n : []\n\n return {\n objects,\n links: page.links,\n hasMore: page.hasMore,\n ...(nextPageToken ? { nextPageToken } : {}),\n }\n}\n\ninterface EncodedLinkPageToken {\n version: 1\n scope: string\n cursor: ObjectLinkCursor\n}\n\nfunction assertLinkSelectorShape(query: ObjectQuery, path = \"$.query\", root = true): void {\n switch (query.kind) {\n case \"project\":\n case \"expand\":\n throw new ObjectQueryExecutionError(\n \"link_selector_output_shape_not_supported\",\n `Link selectors do not support '${query.kind}' nodes; remove output shaping from the selector`,\n path\n )\n case \"page\":\n if (!root) {\n throw new ObjectQueryExecutionError(\n \"link_selector_page_must_be_root\",\n \"A page node in a link selector must be the outermost node\",\n path\n )\n }\n assertLinkSelectorShape(query.input, `${path}.input`, false)\n return\n case \"start\":\n case \"refs\":\n return\n case \"set\": {\n for (const [index, input] of query.inputs.entries()) {\n assertLinkSelectorShape(input, `${path}.inputs[${index}]`, false)\n }\n return\n }\n case \"filter\":\n case \"text\":\n case \"vector\":\n case \"traverse\":\n case \"sort\":\n case \"limit\":\n assertLinkSelectorShape(query.input, `${path}.input`, false)\n return\n }\n}\n\nfunction visibleEndpointTypeIds(options: QueryExecutorOptions): readonly string[] | undefined {\n if (!options.authorization) return undefined\n return options.ontology\n .listObjectTypes()\n .filter((objectType) =>\n isAllowed(options.authorization, { kind: \"object.view\", objectTypeId: objectType.id })\n )\n .map((objectType) => objectType.id)\n}\n\nfunction objectIdentity(objectTypeId: string, primaryId: string): ObjectBatchKey {\n return objectBatchKey(objectTypeId, primaryId)\n}\n\nfunction linkPageScope(\n projectId: string,\n query: ObjectQuery,\n direction: LinkDirection,\n linkId: string | undefined\n): string {\n return createHash(\"sha256\")\n .update(\n stableJsonStringify({\n projectId,\n query,\n direction,\n linkId: linkId ?? null,\n })\n )\n .digest(\"base64url\")\n}\n\nfunction encodeLinkPageToken(cursor: ObjectLinkCursor, scope: string): string {\n const payload: EncodedLinkPageToken = { version: 1, scope, cursor }\n return `${LINK_PAGE_TOKEN_PREFIX}${Buffer.from(JSON.stringify(payload)).toString(\"base64url\")}`\n}\n\nfunction decodeLinkPageToken(\n token: string | undefined,\n expectedScope: string\n): ObjectLinkCursor | undefined {\n if (token === undefined) return undefined\n try {\n if (!token.startsWith(LINK_PAGE_TOKEN_PREFIX)) throw new Error(\"invalid prefix\")\n const value = JSON.parse(\n Buffer.from(token.slice(LINK_PAGE_TOKEN_PREFIX.length), \"base64url\").toString(\"utf8\")\n ) as unknown\n if (\n !isPlainObject(value) ||\n value.version !== 1 ||\n typeof value.scope !== \"string\" ||\n !isObjectLinkCursor(value.cursor)\n ) {\n throw new Error(\"invalid cursor\")\n }\n if (value.scope !== expectedScope) {\n throw new Error(\"cursor scope mismatch\")\n }\n return value.cursor\n } catch {\n throw new ObjectQueryExecutionError(\n \"invalid_link_page_token\",\n \"pageToken is not a valid object-links cursor\",\n \"$.pageToken\"\n )\n }\n}\n\nfunction isObjectLinkCursor(value: unknown): value is ObjectLinkCursor {\n return (\n Array.isArray(value) && value.length === 5 && value.every((part) => typeof part === \"string\")\n )\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nasync function hydrateLinkQueryObjects(\n projectId: string,\n selected: readonly ObjectRow[],\n links: readonly ObjectLinkRow[],\n storage: ObjectReadStorage\n): Promise<ObjectRow[]> {\n const byIdentity = new Map(\n selected.map((row) => [objectIdentity(row.objectTypeId, row.primaryId), row])\n )\n const orderedIdentities = selected.map((row) => objectIdentity(row.objectTypeId, row.primaryId))\n const seenIdentities = new Set(orderedIdentities)\n const missingRefs: { objectTypeId: string; primaryId: string }[] = []\n\n for (const link of links) {\n for (const ref of [\n { objectTypeId: link.sourceTypeId, primaryId: link.sourceId },\n { objectTypeId: link.targetTypeId, primaryId: link.targetId },\n ]) {\n const identity = objectIdentity(ref.objectTypeId, ref.primaryId)\n if (seenIdentities.has(identity)) continue\n seenIdentities.add(identity)\n orderedIdentities.push(identity)\n missingRefs.push(ref)\n }\n }\n\n if (missingRefs.length > 0) {\n const hydrated = await storage.getByPrimaryIdBatch({ projectId, items: missingRefs })\n for (const ref of missingRefs) {\n const row = hydrated.get(objectBatchKey(ref.objectTypeId, ref.primaryId))\n if (row) byIdentity.set(objectIdentity(ref.objectTypeId, ref.primaryId), row)\n }\n }\n\n return orderedIdentities.flatMap((identity) => {\n const row = byIdentity.get(identity)\n return row ? [row] : []\n })\n}\n"
|
|
15
15
|
],
|
|
16
16
|
"mappings": "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",
|
|
17
|
-
"debugId": "
|
|
17
|
+
"debugId": "721D50E45512FA2D64756E2164756E21",
|
|
18
18
|
"names": []
|
|
19
19
|
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
SandboxError2,
|
|
4
|
+
staticSandboxRecipe2,
|
|
5
|
+
captureEnvironment
|
|
6
|
+
} from "./chunk-cfj9dfbb.js";
|
|
7
|
+
|
|
8
|
+
// src/sandboxes/config.ts
|
|
9
|
+
function sandboxConfig2(options) {
|
|
10
|
+
if (options.auth !== undefined && typeof options.auth?.authorize !== "function") {
|
|
11
|
+
throw new SandboxError2("[Sixb] sandboxes.auth requires an authorize function.");
|
|
12
|
+
}
|
|
13
|
+
const authorize = options.auth?.authorize.bind(options.auth);
|
|
14
|
+
if (options.params !== undefined && options.resolve === undefined) {
|
|
15
|
+
throw new SandboxError2("[Sixb] Sandbox params require a resolve function.");
|
|
16
|
+
}
|
|
17
|
+
if (options.resolve !== undefined && typeof options.resolve !== "function") {
|
|
18
|
+
throw new SandboxError2("[Sixb] Sandbox resolve must be a function.");
|
|
19
|
+
}
|
|
20
|
+
if (options.resolve !== undefined && (options.source !== undefined || options.setup !== undefined)) {
|
|
21
|
+
throw new SandboxError2("[Sixb] Use either static source/setup or resolve, not both.");
|
|
22
|
+
}
|
|
23
|
+
const environment = staticSandboxRecipe2(options);
|
|
24
|
+
return Object.freeze({
|
|
25
|
+
...authorize ? { auth: Object.freeze({ authorize }) } : {},
|
|
26
|
+
...environment,
|
|
27
|
+
...options.params === undefined ? {} : { params: structuredClone(options.params) },
|
|
28
|
+
...options.resolve === undefined ? {} : { resolve: options.resolve }
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
// src/sandboxes/environment.ts
|
|
32
|
+
import { posix } from "path";
|
|
33
|
+
function sandboxCreationEnvironment2(configuration, options) {
|
|
34
|
+
if (options.environment === undefined && configuration.resolve !== undefined) {
|
|
35
|
+
throw new SandboxError2("[Sixb] Dynamic sandbox configuration requires an execution-resolved environment.");
|
|
36
|
+
}
|
|
37
|
+
const environment = captureEnvironment(options.environment !== undefined ? options.environment : {
|
|
38
|
+
...configuration.source === undefined ? {} : { source: configuration.source },
|
|
39
|
+
...configuration.setup === undefined ? {} : { setup: configuration.setup }
|
|
40
|
+
});
|
|
41
|
+
if (environment.env !== undefined || environment.network !== undefined) {
|
|
42
|
+
throw new SandboxError2("[Sixb] Pass env and network as sandbox session options, not environment.");
|
|
43
|
+
}
|
|
44
|
+
if (environment.source) {
|
|
45
|
+
if ((configuration.auth !== undefined || environment.source.access === "write") && !options.requestCredentials?.length) {
|
|
46
|
+
throw new SandboxError2("[Sixb] Sandbox source authentication requires execution-prepared request credentials.");
|
|
47
|
+
}
|
|
48
|
+
const network = options.network ?? configuration.network ?? { mode: "none" };
|
|
49
|
+
const origin = new URL(environment.source.url).origin;
|
|
50
|
+
if (network.mode === "none" || network.mode === "restricted" && !network.allow.some((target) => target.origin === origin)) {
|
|
51
|
+
throw new SandboxError2("[Sixb] Sandbox network policy denies the source origin.");
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
options.signal?.throwIfAborted();
|
|
55
|
+
return environment;
|
|
56
|
+
}
|
|
57
|
+
function sandboxProjectDirectory2(session, hasSource) {
|
|
58
|
+
if (!hasSource)
|
|
59
|
+
return session;
|
|
60
|
+
const workingDirectory = posix.join(session.workingDirectory, "repository");
|
|
61
|
+
return {
|
|
62
|
+
id: session.id,
|
|
63
|
+
provider: session.provider,
|
|
64
|
+
get status() {
|
|
65
|
+
return session.status;
|
|
66
|
+
},
|
|
67
|
+
workingDirectory,
|
|
68
|
+
...session.setRequestCredentials ? { setRequestCredentials: session.setRequestCredentials.bind(session) } : {},
|
|
69
|
+
runCommand: (command, args, options) => session.runCommand(command, args, { ...options, cwd: options?.cwd ?? workingDirectory }),
|
|
70
|
+
writeFiles: (files) => session.writeFiles(files.map((file) => ({
|
|
71
|
+
...file,
|
|
72
|
+
path: posix.isAbsolute(file.path) ? file.path : posix.join(workingDirectory, file.path)
|
|
73
|
+
}))),
|
|
74
|
+
stop: () => session.stop(),
|
|
75
|
+
destroy: () => session.destroy()
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
async function initializeSandboxEnvironment2(session, environment, signal) {
|
|
79
|
+
environment = captureEnvironment(environment);
|
|
80
|
+
const run = async (sandbox, command, args) => {
|
|
81
|
+
signal?.throwIfAborted();
|
|
82
|
+
const result = await sandbox.runCommand(command, args, { timeout: 120000, signal });
|
|
83
|
+
if (result.exitCode !== 0 || result.timedOut) {
|
|
84
|
+
throw new SandboxError2("[Sixb] Sandbox environment initialization failed.");
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
signal?.throwIfAborted();
|
|
88
|
+
const sandbox = sandboxProjectDirectory2(session, environment.source !== undefined);
|
|
89
|
+
if (environment.source) {
|
|
90
|
+
await run(session, "git", ["clone", "--", environment.source.url, "repository"]);
|
|
91
|
+
if (environment.source.revision) {
|
|
92
|
+
await run(sandbox, "git", ["checkout", environment.source.revision, "--"]);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
for (const command of environment.setup ?? [])
|
|
96
|
+
await run(sandbox, "bash", ["-lc", command]);
|
|
97
|
+
return sandbox;
|
|
98
|
+
}
|
|
99
|
+
// src/sandboxes/exec.ts
|
|
100
|
+
var DEFAULT_KILL_EXIT_CODE = 137;
|
|
101
|
+
async function exec2(options) {
|
|
102
|
+
const start = Date.now();
|
|
103
|
+
const [head, ...rest] = options.argv;
|
|
104
|
+
if (!head) {
|
|
105
|
+
return {
|
|
106
|
+
exitCode: 1,
|
|
107
|
+
stdout: "",
|
|
108
|
+
stderr: "[Sandbox] empty argv",
|
|
109
|
+
durationMs: 0
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
let proc;
|
|
113
|
+
try {
|
|
114
|
+
proc = Bun.spawn([head, ...rest], {
|
|
115
|
+
cwd: options.cwd,
|
|
116
|
+
env: options.env,
|
|
117
|
+
stdin: "ignore",
|
|
118
|
+
stdout: "pipe",
|
|
119
|
+
stderr: "pipe"
|
|
120
|
+
});
|
|
121
|
+
} catch (error) {
|
|
122
|
+
return {
|
|
123
|
+
exitCode: 127,
|
|
124
|
+
stdout: "",
|
|
125
|
+
stderr: error instanceof Error ? error.message : String(error),
|
|
126
|
+
durationMs: Date.now() - start
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
let timedOut = false;
|
|
130
|
+
let killed = false;
|
|
131
|
+
const timer = options.timeoutMs !== undefined && options.timeoutMs > 0 ? setTimeout(() => {
|
|
132
|
+
timedOut = true;
|
|
133
|
+
killed = true;
|
|
134
|
+
proc.kill("SIGKILL");
|
|
135
|
+
}, options.timeoutMs) : undefined;
|
|
136
|
+
const onAbort = () => {
|
|
137
|
+
if (!killed) {
|
|
138
|
+
killed = true;
|
|
139
|
+
proc.kill("SIGKILL");
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
options.signal?.addEventListener("abort", onAbort);
|
|
143
|
+
if (options.signal?.aborted) {
|
|
144
|
+
onAbort();
|
|
145
|
+
}
|
|
146
|
+
let stdout = "";
|
|
147
|
+
let stderr = "";
|
|
148
|
+
let exitCode = 0;
|
|
149
|
+
try {
|
|
150
|
+
const [stdoutText, stderrText, code] = await Promise.all([
|
|
151
|
+
new Response(proc.stdout).text(),
|
|
152
|
+
new Response(proc.stderr).text(),
|
|
153
|
+
proc.exited
|
|
154
|
+
]);
|
|
155
|
+
stdout = stdoutText;
|
|
156
|
+
stderr = stderrText;
|
|
157
|
+
exitCode = typeof code === "number" ? code : DEFAULT_KILL_EXIT_CODE;
|
|
158
|
+
} finally {
|
|
159
|
+
if (timer !== undefined)
|
|
160
|
+
clearTimeout(timer);
|
|
161
|
+
options.signal?.removeEventListener("abort", onAbort);
|
|
162
|
+
}
|
|
163
|
+
if (killed && exitCode === 0) {
|
|
164
|
+
exitCode = DEFAULT_KILL_EXIT_CODE;
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
exitCode,
|
|
168
|
+
stdout,
|
|
169
|
+
stderr,
|
|
170
|
+
durationMs: Date.now() - start,
|
|
171
|
+
...timedOut ? { timedOut: true } : {}
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
export { sandboxConfig2, sandboxCreationEnvironment2, sandboxProjectDirectory2, initializeSandboxEnvironment2, exec2 };
|
|
175
|
+
|
|
176
|
+
//# debugId=00B8A2DFA48E731B64756E2164756E21
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/sandboxes/config.ts", "../src/sandboxes/environment.ts", "../src/sandboxes/exec.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { ParamsConfig } from \"../shared/params/types\"\nimport { type SandboxConfig, staticSandboxRecipe } from \"./configuration\"\nimport { SandboxError } from \"./errors\"\n\n/** Extract only the common recipe; provider credentials and infrastructure stay on the factory. */\nexport function sandboxConfig<TParams extends ParamsConfig>(\n options: SandboxConfig<TParams>\n): SandboxConfig<TParams> {\n if (options.auth !== undefined && typeof options.auth?.authorize !== \"function\") {\n throw new SandboxError(\"[Sixb] sandboxes.auth requires an authorize function.\")\n }\n const authorize = options.auth?.authorize.bind(options.auth)\n if (options.params !== undefined && options.resolve === undefined) {\n throw new SandboxError(\"[Sixb] Sandbox params require a resolve function.\")\n }\n if (options.resolve !== undefined && typeof options.resolve !== \"function\") {\n throw new SandboxError(\"[Sixb] Sandbox resolve must be a function.\")\n }\n if (\n options.resolve !== undefined &&\n (options.source !== undefined || options.setup !== undefined)\n ) {\n throw new SandboxError(\"[Sixb] Use either static source/setup or resolve, not both.\")\n }\n const environment = staticSandboxRecipe(options)\n return Object.freeze({\n ...(authorize ? { auth: Object.freeze({ authorize }) } : {}),\n ...environment,\n ...(options.params === undefined ? {} : { params: structuredClone(options.params) }),\n ...(options.resolve === undefined ? {} : { resolve: options.resolve }),\n })\n}\n",
|
|
6
|
+
"import { posix } from \"node:path\"\nimport type { ParamsConfig } from \"../shared/params/types\"\nimport type { SandboxConfig } from \"./configuration\"\nimport { captureEnvironment, type SandboxEnvironment } from \"./configuration\"\nimport { SandboxError } from \"./errors\"\nimport type { CreateSandboxOptions, Sandbox } from \"./sandbox\"\n\n/** Select and validate before provisioning. Only the execution runtime may resolve a recipe. */\nexport function sandboxCreationEnvironment<TParams extends ParamsConfig>(\n configuration: SandboxConfig<TParams>,\n options: CreateSandboxOptions\n): Pick<SandboxEnvironment, \"source\" | \"setup\"> {\n if (options.environment === undefined && configuration.resolve !== undefined) {\n throw new SandboxError(\n \"[Sixb] Dynamic sandbox configuration requires an execution-resolved environment.\"\n )\n }\n const environment = captureEnvironment(\n options.environment !== undefined\n ? options.environment\n : {\n ...(configuration.source === undefined ? {} : { source: configuration.source }),\n ...(configuration.setup === undefined ? {} : { setup: configuration.setup }),\n }\n )\n if (environment.env !== undefined || environment.network !== undefined) {\n throw new SandboxError(\n \"[Sixb] Pass env and network as sandbox session options, not environment.\"\n )\n }\n if (environment.source) {\n if (\n (configuration.auth !== undefined || environment.source.access === \"write\") &&\n !options.requestCredentials?.length\n ) {\n throw new SandboxError(\n \"[Sixb] Sandbox source authentication requires execution-prepared request credentials.\"\n )\n }\n const network = options.network ?? configuration.network ?? { mode: \"none\" }\n const origin = new URL(environment.source.url).origin\n if (\n network.mode === \"none\" ||\n (network.mode === \"restricted\" && !network.allow.some((target) => target.origin === origin))\n ) {\n throw new SandboxError(\"[Sixb] Sandbox network policy denies the source origin.\")\n }\n }\n options.signal?.throwIfAborted()\n return environment\n}\n\n/** Select the same project directory on creation and resume without touching saved files. */\nexport function sandboxProjectDirectory(session: Sandbox, hasSource: boolean): Sandbox {\n if (!hasSource) return session\n const workingDirectory = posix.join(session.workingDirectory, \"repository\")\n return {\n id: session.id,\n provider: session.provider,\n get status() {\n return session.status\n },\n workingDirectory,\n ...(session.setRequestCredentials\n ? { setRequestCredentials: session.setRequestCredentials.bind(session) }\n : {}),\n runCommand: (command, args, options) =>\n session.runCommand(command, args, { ...options, cwd: options?.cwd ?? workingDirectory }),\n writeFiles: (files) =>\n session.writeFiles(\n files.map((file) => ({\n ...file,\n path: posix.isAbsolute(file.path) ? file.path : posix.join(workingDirectory, file.path),\n }))\n ),\n stop: () => session.stop(),\n destroy: () => session.destroy(),\n }\n}\n\n/** Provider-side initialization, after the session network/credentials have been applied.\n * Call only on fresh creation. The caller owns cleanup if any command fails.\n */\nexport async function initializeSandboxEnvironment(\n session: Sandbox,\n environment: Pick<SandboxEnvironment, \"source\" | \"setup\">,\n signal?: AbortSignal\n): Promise<Sandbox> {\n environment = captureEnvironment(environment)\n const run = async (sandbox: Sandbox, command: string, args: readonly string[]) => {\n signal?.throwIfAborted()\n const result = await sandbox.runCommand(command, args, { timeout: 120_000, signal })\n if (result.exitCode !== 0 || result.timedOut) {\n throw new SandboxError(\"[Sixb] Sandbox environment initialization failed.\")\n }\n }\n signal?.throwIfAborted()\n const sandbox = sandboxProjectDirectory(session, environment.source !== undefined)\n if (environment.source) {\n await run(session, \"git\", [\"clone\", \"--\", environment.source.url, \"repository\"])\n if (environment.source.revision) {\n await run(sandbox, \"git\", [\"checkout\", environment.source.revision, \"--\"])\n }\n }\n for (const command of environment.setup ?? []) await run(sandbox, \"bash\", [\"-lc\", command])\n return sandbox\n}\n",
|
|
7
|
+
"import type { CommandResult } from \"./sandbox\"\n\nexport interface ExecOptions {\n readonly argv: readonly string[]\n readonly cwd: string\n readonly env: Readonly<Record<string, string>>\n readonly timeoutMs?: number\n readonly signal?: AbortSignal\n}\n\nconst DEFAULT_KILL_EXIT_CODE = 137\n\n/**\n * Spawn a child process and gather its {@link CommandResult}. Wraps Bun.spawn with timeout and\n * AbortSignal handling, and never throws. Command-agnostic: the wrapper makes no assumptions about\n * what it spawns, so sandbox providers share it. On timeout/abort it SIGKILLs the spawned process;\n * any provider whose spawned process merely fronts a longer-lived resource (e.g. a VM) is\n * responsible for reaping that resource in its own stop()/destroy().\n */\nexport async function exec(options: ExecOptions): Promise<CommandResult> {\n const start = Date.now()\n\n const [head, ...rest] = options.argv\n if (!head) {\n return {\n exitCode: 1,\n stdout: \"\",\n stderr: \"[Sandbox] empty argv\",\n durationMs: 0,\n }\n }\n\n let proc: ReturnType<typeof Bun.spawn>\n try {\n proc = Bun.spawn([head, ...rest], {\n cwd: options.cwd,\n env: options.env,\n stdin: \"ignore\",\n stdout: \"pipe\",\n stderr: \"pipe\",\n })\n } catch (error) {\n return {\n exitCode: 127,\n stdout: \"\",\n stderr: error instanceof Error ? error.message : String(error),\n durationMs: Date.now() - start,\n }\n }\n\n let timedOut = false\n let killed = false\n\n const timer =\n options.timeoutMs !== undefined && options.timeoutMs > 0\n ? setTimeout(() => {\n timedOut = true\n killed = true\n proc.kill(\"SIGKILL\")\n }, options.timeoutMs)\n : undefined\n\n const onAbort = (): void => {\n if (!killed) {\n killed = true\n proc.kill(\"SIGKILL\")\n }\n }\n options.signal?.addEventListener(\"abort\", onAbort)\n if (options.signal?.aborted) {\n onAbort()\n }\n\n let stdout = \"\"\n let stderr = \"\"\n let exitCode = 0\n try {\n const [stdoutText, stderrText, code] = await Promise.all([\n new Response(proc.stdout as ReadableStream<Uint8Array>).text(),\n new Response(proc.stderr as ReadableStream<Uint8Array>).text(),\n proc.exited,\n ])\n stdout = stdoutText\n stderr = stderrText\n exitCode = typeof code === \"number\" ? code : DEFAULT_KILL_EXIT_CODE\n } finally {\n if (timer !== undefined) clearTimeout(timer)\n options.signal?.removeEventListener(\"abort\", onAbort)\n }\n\n if (killed && exitCode === 0) {\n exitCode = DEFAULT_KILL_EXIT_CODE\n }\n\n return {\n exitCode,\n stdout,\n stderr,\n durationMs: Date.now() - start,\n ...(timedOut ? { timedOut: true } : {}),\n }\n}\n"
|
|
8
|
+
],
|
|
9
|
+
"mappings": "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",
|
|
10
|
+
"debugId": "00B8A2DFA48E731B64756E2164756E21",
|
|
11
|
+
"names": []
|
|
12
|
+
}
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
ConnectorError2,
|
|
8
8
|
createConnectorCodedError,
|
|
9
9
|
getConnectorExecutionSourceResolver
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ky3j490c.js";
|
|
11
11
|
import {
|
|
12
12
|
isDatasetDefinition2
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-q5e5tv4b.js";
|
|
14
14
|
import {
|
|
15
15
|
SyncValidationError2
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-0bphap9y.js";
|
|
17
17
|
import {
|
|
18
18
|
isOAuthConnectorAdapter,
|
|
19
19
|
isConnectorDefinition
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/storage/action-runs/types.ts", "../src/storage/action-runs/failure.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type { ActionSubject } from \"../../actions\"\nimport type { SixbErrorCode, SixbFailure } from \"../../errors/types\"\nimport type { JsonValue } from \"../../json\"\n\n/**\n * How a run ended. A run is recorded once, when it ends: while it executes, the request that runs\n * it is its only state.\n */\nexport type ActionRunStatus = \"succeeded\" | \"failed\"\n\n/** The phases of a run, in the order it reaches them. */\nexport const ACTION_RUN_PHASES = [\"validation\", \"writeback\", \"edits\", \"commit\", \"effects\"] as const\n\nexport type ActionRunPhase = (typeof ACTION_RUN_PHASES)[number]\n\nexport type ActionRunParams = Readonly<Record<string, JsonValue>>\n\n/** Error codes an action run or phase record can persist and expose. */\nexport const ACTION_RUN_FAILURE_CODES = [\n \"internal.unexpected\",\n \"runtime.cancelled\",\n \"action.phase_failed\",\n \"action.read_conflict\",\n \"action.timeout\",\n] as const satisfies readonly [SixbErrorCode, ...SixbErrorCode[]]\n\nexport type ActionRunFailureCode = (typeof ACTION_RUN_FAILURE_CODES)[number]\n\nexport interface ActionRunFailureDetails<TPhase extends ActionRunPhase = ActionRunPhase> {\n readonly actionId: string\n readonly runId: string\n readonly phase: TPhase\n}\n\n/** Portable failure record with Action's required correlation details. */\nexport interface ActionRunFailure<TPhase extends ActionRunPhase = ActionRunPhase>\n extends Omit<SixbFailure<ActionRunFailureCode>, \"details\"> {\n readonly details: ActionRunFailureDetails<TPhase>\n}\n\nexport type ActionRunWritebackRecord =\n | {\n readonly status: \"succeeded\"\n readonly completedAt: Date\n readonly result: JsonValue\n readonly error?: never\n }\n | {\n readonly status: \"failed\"\n readonly completedAt: Date\n readonly result?: never\n readonly error: ActionRunFailure<\"writeback\">\n }\n\nexport type ActionRunEffectsRecord =\n | {\n readonly status: \"succeeded\"\n readonly completedAt: Date\n readonly error?: never\n }\n | {\n readonly status: \"failed\"\n readonly completedAt: Date\n readonly error: ActionRunFailure<\"effects\">\n }\n\ninterface ActionRunRecordFields {\n readonly id: string\n readonly projectId: string\n readonly executionId: string\n readonly actionId: string\n readonly subject: ActionSubject\n /** The last phase the run reached. */\n readonly phase: ActionRunPhase\n readonly startedAt: Date\n readonly finishedAt: Date\n readonly params: ActionRunParams\n readonly idempotencyKey: string\n readonly writeback?: ActionRunWritebackRecord\n}\n\n/** A run's terminal record, as it is written once when the run ends. */\nexport type RecordActionRunInput =\n | (ActionRunRecordFields & { readonly status: \"succeeded\"; readonly error?: never })\n | (ActionRunRecordFields & { readonly status: \"failed\"; readonly error: ActionRunFailure })\n\n/**\n * A recorded run. Its effects run after its record is written, so their outcome is the one part\n * recorded later, on a succeeded run that committed edits.\n */\nexport type ActionRunRecord = RecordActionRunInput & {\n readonly effects?: ActionRunEffectsRecord\n}\n\nexport type RecordActionEffectsInput =\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"succeeded\"\n readonly completedAt?: Date\n }\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"failed\"\n readonly completedAt?: Date\n readonly error: ActionRunFailure<\"effects\">\n }\n\nexport interface ListActionRunsInput {\n readonly projectId: string\n readonly actionId?: string\n readonly actionIds?: readonly string[]\n readonly subject?: ActionSubject\n readonly objectTypeId?: string\n readonly objectTypeIds?: readonly string[]\n readonly primaryId?: string\n readonly statuses?: readonly ActionRunStatus[]\n readonly startedAfter?: Date\n readonly startedBefore?: Date\n readonly limit?: number\n readonly offset?: number\n readonly order?: \"asc\" | \"desc\"\n}\n\nexport interface ListActionRunsResult {\n readonly runs: readonly ActionRunRecord[]\n readonly hasMore: boolean\n readonly total: number\n}\n\nexport interface ActionRunStorage {\n /**\n * Insert a run's terminal record.\n *\n * A run is recorded once: a run id that already has a record is refused with an\n * `ActionRunError`, and so is an execution that already recorded another run. The execution must\n * be the trusted primitive execution created for this run.\n */\n record(input: RecordActionRunInput): Promise<ActionRunRecord>\n /**\n * Record the outcome of the effects of a succeeded run that committed edits, once. Recording an\n * equal outcome again returns the run unchanged.\n */\n recordEffects(input: RecordActionEffectsInput): Promise<ActionRunRecord>\n getById(params: { projectId: string; id: string }): Promise<ActionRunRecord | null>\n /** Runs ordered by `startedAt`, then id. */\n list(input: ListActionRunsInput): Promise<ListActionRunsResult>\n}\n",
|
|
5
|
+
"import type { ActionSubject } from \"../../actions\"\nimport type { SixbErrorCode, SixbFailure } from \"../../errors/types\"\nimport type { JsonValue } from \"../../json\"\n\n/**\n * How a run ended. A run is recorded once, when it ends: while it executes, the request that runs\n * it is its only state.\n */\nexport type ActionRunStatus = \"succeeded\" | \"failed\"\n\n/** The phases of a run, in the order it reaches them. */\nexport const ACTION_RUN_PHASES = [\"validation\", \"writeback\", \"edits\", \"commit\", \"effects\"] as const\n\nexport type ActionRunPhase = (typeof ACTION_RUN_PHASES)[number]\n\nexport type ActionRunParams = Readonly<Record<string, JsonValue>>\n\n/** Error codes an action run or phase record can persist and expose. */\nexport const ACTION_RUN_FAILURE_CODES = [\n \"internal.unexpected\",\n \"runtime.cancelled\",\n \"action.phase_failed\",\n \"action.read_conflict\",\n \"action.timeout\",\n] as const satisfies readonly [SixbErrorCode, ...SixbErrorCode[]]\n\nexport type ActionRunFailureCode = (typeof ACTION_RUN_FAILURE_CODES)[number]\n\nexport interface ActionRunFailureDetails<TPhase extends ActionRunPhase = ActionRunPhase> {\n readonly actionId: string\n readonly runId: string\n readonly phase: TPhase\n}\n\n/** Portable failure record with Action's required correlation details. */\nexport interface ActionRunFailure<TPhase extends ActionRunPhase = ActionRunPhase>\n extends Omit<SixbFailure<ActionRunFailureCode>, \"details\"> {\n readonly details: ActionRunFailureDetails<TPhase>\n}\n\nexport type ActionRunWritebackRecord =\n | {\n readonly status: \"succeeded\"\n readonly completedAt: Date\n readonly result: JsonValue\n readonly error?: never\n }\n | {\n readonly status: \"failed\"\n readonly completedAt: Date\n readonly result?: never\n readonly error: ActionRunFailure<\"writeback\">\n }\n\nexport type ActionRunEffectsRecord =\n | {\n readonly status: \"succeeded\"\n readonly completedAt: Date\n readonly error?: never\n }\n | {\n readonly status: \"failed\"\n readonly completedAt: Date\n readonly error: ActionRunFailure<\"effects\">\n }\n\ninterface ActionRunRecordFields {\n readonly id: string\n readonly projectId: string\n readonly executionId: string\n readonly actionId: string\n readonly subject: ActionSubject\n /** The last phase the run reached. */\n readonly phase: ActionRunPhase\n readonly startedAt: Date\n readonly finishedAt: Date\n readonly params: ActionRunParams\n readonly idempotencyKey: string\n readonly writeback?: ActionRunWritebackRecord\n}\n\n/** A run's terminal record, as it is written once when the run ends. */\nexport type RecordActionRunInput =\n | (ActionRunRecordFields & { readonly status: \"succeeded\"; readonly error?: never })\n | (ActionRunRecordFields & { readonly status: \"failed\"; readonly error: ActionRunFailure })\n\n/**\n * A recorded run. Its effects run after its record is written, so their outcome is the one part\n * recorded later, on a succeeded run that committed edits.\n */\nexport type ActionRunRecord = RecordActionRunInput & {\n readonly effects?: ActionRunEffectsRecord\n}\n\nexport type RecordActionEffectsInput =\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"succeeded\"\n readonly completedAt?: Date\n }\n | {\n readonly id: string\n readonly projectId: string\n readonly status: \"failed\"\n readonly completedAt?: Date\n readonly error: ActionRunFailure<\"effects\">\n }\n\nexport interface ListActionRunsInput {\n readonly projectId: string\n readonly actionId?: string\n readonly actionIds?: readonly string[]\n readonly subject?: ActionSubject\n readonly objectTypeId?: string\n readonly objectTypeIds?: readonly string[]\n readonly primaryId?: string\n readonly statuses?: readonly ActionRunStatus[]\n readonly startedAfter?: Date\n readonly startedBefore?: Date\n readonly limit?: number\n readonly offset?: number\n readonly order?: \"asc\" | \"desc\"\n}\n\nexport interface ListActionRunsResult {\n readonly runs: readonly ActionRunRecord[]\n readonly hasMore: boolean\n readonly total: number\n}\n\nexport interface ActionRunStorage {\n /**\n * Insert a run's terminal record.\n *\n * A run is recorded once: a run id that already has a record is refused with an\n * `ActionRunError`, and so is an execution that already recorded another run. The execution must\n * be the trusted primitive execution created for this run.\n */\n record(input: RecordActionRunInput): Promise<ActionRunRecord>\n /**\n * Record the outcome of the effects of a succeeded run that committed edits, once. Recording an\n * equal outcome again returns the run unchanged.\n */\n recordEffects(input: RecordActionEffectsInput): Promise<ActionRunRecord>\n getById(params: { projectId: string; id: string }): Promise<ActionRunRecord | null>\n /**\n * The runs these executions recorded, in first-occurrence input order. An execution whose run\n * is in flight, or was interrupted, has none.\n */\n getByExecutionIds(params: {\n readonly projectId: string\n readonly executionIds: readonly string[]\n }): Promise<readonly ActionRunRecord[]>\n /** Runs ordered by `startedAt`, then id. */\n list(input: ListActionRunsInput): Promise<ListActionRunsResult>\n}\n",
|
|
6
6
|
"import { parseSixbFailure } from \"../../errors/internal\"\nimport { isPlainRecord } from \"../../json\"\nimport {\n ACTION_RUN_FAILURE_CODES,\n ACTION_RUN_PHASES,\n type ActionRunFailure,\n type ActionRunFailureDetails,\n type ActionRunPhase,\n} from \"./types\"\n\n/** Serializes the canonical failure plus Action's typed lifecycle extension. */\nexport function serializeActionRunFailure<TPhase extends ActionRunPhase>(\n failure: ActionRunFailure<TPhase>,\n expectedPhase?: TPhase\n): string {\n const parsed =\n expectedPhase === undefined\n ? parseActionRunFailure(failure)\n : parseActionRunFailure(failure, expectedPhase)\n return JSON.stringify(parsed)\n}\n\n/** Validates and detaches an Action failure read from a storage boundary. */\nexport function parseActionRunFailure<TPhase extends ActionRunPhase>(\n value: unknown,\n expectedPhase: TPhase\n): ActionRunFailure<TPhase>\nexport function parseActionRunFailure(value: unknown): ActionRunFailure\nexport function parseActionRunFailure(\n value: unknown,\n expectedPhase?: ActionRunPhase\n): ActionRunFailure {\n const candidate = parseStoredActionRunFailureValue(value)\n const failure = parseSixbFailure(candidate, ACTION_RUN_FAILURE_CODES)\n const details = failure.details\n if (\n !isPlainRecord(details) ||\n typeof details.actionId !== \"string\" ||\n typeof details.runId !== \"string\" ||\n typeof details.phase !== \"string\" ||\n !(ACTION_RUN_PHASES as readonly string[]).includes(details.phase)\n ) {\n throw new Error(\n \"[Sixb] Stored failure is invalid: Action details must contain actionId, runId, and a known phase.\"\n )\n }\n if (expectedPhase !== undefined && details.phase !== expectedPhase) {\n throw new Error(`[Sixb] Stored Action ${expectedPhase} failure has phase '${details.phase}'.`)\n }\n\n return {\n ...failure,\n details: details as unknown as ActionRunFailureDetails,\n }\n}\n\nfunction parseStoredActionRunFailureValue(value: unknown): unknown {\n if (typeof value !== \"string\") return value\n try {\n return JSON.parse(value) as unknown\n } catch {\n throw new Error(\"[Sixb] Stored failure is invalid: value is not valid JSON.\")\n }\n}\n"
|
|
7
7
|
],
|
|
8
8
|
"mappings": ";;;;;;;;;AAWO,IAAM,qBAAoB,CAAC,cAAc,aAAa,SAAS,UAAU,SAAS;AAOlF,IAAM,4BAA2B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACbO,SAAS,0BAAwD,CACtE,SACA,eACQ;AAAA,EACR,MAAM,SACJ,kBAAkB,YACd,uBAAsB,OAAO,IAC7B,uBAAsB,SAAS,aAAa;AAAA,EAClD,OAAO,KAAK,UAAU,MAAM;AAAA;AASvB,SAAS,sBAAqB,CACnC,OACA,eACkB;AAAA,EAClB,MAAM,YAAY,iCAAiC,KAAK;AAAA,EACxD,MAAM,UAAU,kBAAiB,WAAW,yBAAwB;AAAA,EACpE,MAAM,UAAU,QAAQ;AAAA,EACxB,IACE,CAAC,cAAc,OAAO,KACtB,OAAO,QAAQ,aAAa,YAC5B,OAAO,QAAQ,UAAU,YACzB,OAAO,QAAQ,UAAU,YACzB,CAAE,mBAAwC,SAAS,QAAQ,KAAK,GAChE;AAAA,IACA,MAAM,IAAI,MACR,mGACF;AAAA,EACF;AAAA,EACA,IAAI,kBAAkB,aAAa,QAAQ,UAAU,eAAe;AAAA,IAClE,MAAM,IAAI,MAAM,wBAAwB,oCAAoC,QAAQ,SAAS;AAAA,EAC/F;AAAA,EAEA,OAAO;AAAA,OACF;AAAA,IACH;AAAA,EACF;AAAA;AAGF,SAAS,gCAAgC,CAAC,OAAyB;AAAA,EACjE,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EACtC,IAAI;AAAA,IACF,OAAO,KAAK,MAAM,KAAK;AAAA,IACvB,MAAM;AAAA,IACN,MAAM,IAAI,MAAM,4DAA4D;AAAA;AAAA;",
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// src/authorization/grant-kinds.ts
|
|
3
3
|
var GRANT_KINDS = {
|
|
4
|
-
"access:application": {
|
|
5
|
-
universeKey: "applicationIds",
|
|
6
|
-
subject: "application",
|
|
7
|
-
fix: "Use an application exported from '@sixb/core'."
|
|
8
|
-
},
|
|
9
4
|
"view:object": {
|
|
10
5
|
universeKey: "objectTypeIds",
|
|
11
6
|
subject: "object type",
|
|
@@ -58,32 +53,39 @@ var GRANT_KINDS = {
|
|
|
58
53
|
fix: "Configure models.language and use the exported agent reference in can.run(agent)."
|
|
59
54
|
},
|
|
60
55
|
"observe:logs": {
|
|
61
|
-
|
|
62
|
-
subject: "
|
|
63
|
-
fix:
|
|
56
|
+
singleton: true,
|
|
57
|
+
subject: "logs",
|
|
58
|
+
fix: "Use can.observe(project.logs)."
|
|
64
59
|
},
|
|
65
60
|
"observe:aiUsage": {
|
|
66
|
-
|
|
67
|
-
subject: "
|
|
61
|
+
singleton: true,
|
|
62
|
+
subject: "AI usage",
|
|
68
63
|
fix: "Use can.observe(agent.usage)."
|
|
69
64
|
},
|
|
65
|
+
"observe:activity": {
|
|
66
|
+
singleton: true,
|
|
67
|
+
subject: "activity",
|
|
68
|
+
fix: "Use can.observe(project.activity)."
|
|
69
|
+
},
|
|
70
70
|
"manage:connector": {
|
|
71
71
|
universeKey: "connectorIds",
|
|
72
72
|
subject: "connector",
|
|
73
73
|
fix: "Add it to 'connectors/' or pass it to createSixb({ connectors })."
|
|
74
74
|
},
|
|
75
75
|
"manage:aiUsage": {
|
|
76
|
-
|
|
77
|
-
subject: "
|
|
76
|
+
singleton: true,
|
|
77
|
+
subject: "AI usage",
|
|
78
78
|
fix: "Use can.manage(agent.usage)."
|
|
79
79
|
}
|
|
80
80
|
};
|
|
81
81
|
var GRANT_KIND_KEYS = Object.keys(GRANT_KINDS);
|
|
82
|
-
var
|
|
82
|
+
var SINGLETON_GRANT_KIND_KEYS = GRANT_KIND_KEYS.filter((kind) => ("singleton" in GRANT_KINDS[kind]));
|
|
83
|
+
var TARGETED_GRANT_KIND_KEYS = GRANT_KIND_KEYS.filter((kind) => !("singleton" in GRANT_KINDS[kind]));
|
|
84
|
+
function isSingletonGrantKind(kind) {
|
|
85
|
+
return "singleton" in GRANT_KINDS[kind];
|
|
86
|
+
}
|
|
83
87
|
function grantKindOf(grant) {
|
|
84
88
|
switch (grant.capability) {
|
|
85
|
-
case "access":
|
|
86
|
-
return "access:application";
|
|
87
89
|
case "view":
|
|
88
90
|
return `view:${grant.target}`;
|
|
89
91
|
case "edit":
|
|
@@ -104,7 +106,6 @@ function grantKindOf(grant) {
|
|
|
104
106
|
}
|
|
105
107
|
function emptyGrantSets() {
|
|
106
108
|
return {
|
|
107
|
-
"access:application": new Set,
|
|
108
109
|
"view:object": new Set,
|
|
109
110
|
"view:dataset": new Set,
|
|
110
111
|
"edit:object": new Set,
|
|
@@ -115,13 +116,14 @@ function emptyGrantSets() {
|
|
|
115
116
|
"run:sync": new Set,
|
|
116
117
|
"run:pipeline": new Set,
|
|
117
118
|
"run:agent": false,
|
|
118
|
-
"observe:logs":
|
|
119
|
-
"observe:aiUsage":
|
|
119
|
+
"observe:logs": false,
|
|
120
|
+
"observe:aiUsage": false,
|
|
121
|
+
"observe:activity": false,
|
|
120
122
|
"manage:connector": new Set,
|
|
121
|
-
"manage:aiUsage":
|
|
123
|
+
"manage:aiUsage": false
|
|
122
124
|
};
|
|
123
125
|
}
|
|
124
126
|
|
|
125
|
-
export { GRANT_KINDS, TARGETED_GRANT_KIND_KEYS, grantKindOf, emptyGrantSets };
|
|
127
|
+
export { GRANT_KINDS, SINGLETON_GRANT_KIND_KEYS, TARGETED_GRANT_KIND_KEYS, isSingletonGrantKind, grantKindOf, emptyGrantSets };
|
|
126
128
|
|
|
127
|
-
//# debugId=
|
|
129
|
+
//# debugId=24A99FD55F16222064756E2164756E21
|