@sixb/core 0.1.11 → 0.1.13
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/builders/params.d.ts +1 -22
- package/dist/actions/builders/params.d.ts.map +1 -1
- package/dist/actions/index.d.ts +2 -2
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +33 -30
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +14 -16
- package/dist/actions/read-facade.d.ts.map +1 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-dispatch.d.ts +2 -0
- package/dist/actions/run-dispatch.d.ts.map +1 -1
- package/dist/actions/types/context.d.ts +18 -31
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/types/params.d.ts +11 -44
- package/dist/actions/types/params.d.ts.map +1 -1
- package/dist/actions/validation.d.ts.map +1 -1
- package/dist/actions/worker.js +3 -2
- package/dist/actions/worker.js.map +2 -2
- package/dist/agents/errors.d.ts +1 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +15 -9
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/ids.d.ts +2 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +52 -44
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/sandbox.d.ts +5 -0
- package/dist/agents/sandbox.d.ts.map +1 -0
- package/dist/agents/streams/index.js +4 -3
- package/dist/agents/streams/index.js.map +1 -1
- package/dist/agents/streams/internal.js +4 -3
- package/dist/agents/streams/internal.js.map +1 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/assert-never.d.ts +6 -0
- package/dist/assert-never.d.ts.map +1 -0
- package/dist/auth/client-address.d.ts +3 -0
- package/dist/auth/client-address.d.ts.map +1 -0
- package/dist/auth/csrf.d.ts +5 -1
- package/dist/auth/csrf.d.ts.map +1 -1
- package/dist/auth/index.d.ts +3 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +15 -7
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts +58 -41
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/session-cache.d.ts +10 -3
- package/dist/auth/session-cache.d.ts.map +1 -1
- package/dist/auth/sessions.d.ts +12 -0
- package/dist/auth/sessions.d.ts.map +1 -1
- package/dist/auth/strategy.js +1 -1
- package/dist/auth/types.d.ts +8 -15
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/index.js +5 -4
- package/dist/authorization/index.js.map +1 -1
- package/dist/bootstrap/index.d.ts +1 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +54 -48
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/bootstrap/ontology-type-manifest.d.ts +8 -0
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/{chunk-q5gz3g2j.js → chunk-0321g649.js} +2 -16
- package/dist/{chunk-q5gz3g2j.js.map → chunk-0321g649.js.map} +2 -2
- package/dist/{chunk-d63nnr5b.js → chunk-04h4t2b5.js} +39 -53
- package/dist/{chunk-d63nnr5b.js.map → chunk-04h4t2b5.js.map} +5 -6
- package/dist/chunk-2fv8sajb.js +84 -0
- package/dist/chunk-2fv8sajb.js.map +10 -0
- package/dist/{chunk-1yefycb1.js → chunk-2hbhn1ff.js} +2 -2
- package/dist/{chunk-ap0g1g74.js → chunk-3nx8vj5a.js} +43 -6
- package/dist/chunk-3nx8vj5a.js.map +12 -0
- package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
- package/dist/{chunk-0y39rgsb.js → chunk-4tnrzqqh.js} +1 -1
- package/dist/chunk-58geavnf.js +29 -0
- package/dist/chunk-58geavnf.js.map +10 -0
- package/dist/{chunk-01kj2pbh.js → chunk-63fp9x3q.js} +97 -67
- package/dist/chunk-63fp9x3q.js.map +20 -0
- package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
- package/dist/chunk-69266efg.js.map +12 -0
- package/dist/{chunk-sepyxgpc.js → chunk-693f3zn8.js} +70 -28
- package/dist/chunk-693f3zn8.js.map +15 -0
- package/dist/{chunk-7zgecwy1.js → chunk-6x0pqh32.js} +12 -1
- package/dist/{chunk-7zgecwy1.js.map → chunk-6x0pqh32.js.map} +3 -3
- package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
- package/dist/{chunk-a0e6x5hd.js → chunk-898y24dd.js} +165 -90
- package/dist/chunk-898y24dd.js.map +15 -0
- package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
- package/dist/chunk-91kcnbf0.js.map +10 -0
- package/dist/{chunk-z0s4axeh.js → chunk-91wthfwe.js} +97 -21
- package/dist/{chunk-z0s4axeh.js.map → chunk-91wthfwe.js.map} +8 -7
- package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
- package/dist/chunk-96yw3pwd.js.map +10 -0
- package/dist/chunk-98cw09sw.js.map +2 -2
- package/dist/{chunk-g00bfdq6.js → chunk-9pfw47qx.js} +318 -257
- package/dist/chunk-9pfw47qx.js.map +44 -0
- package/dist/{chunk-5hz0fnca.js → chunk-a0073121.js} +64 -60
- package/dist/chunk-a0073121.js.map +12 -0
- package/dist/{chunk-cfvakeax.js → chunk-a69fkrtr.js} +5 -5
- package/dist/{chunk-72w2pxk7.js → chunk-bdhfn0ww.js} +11 -3
- package/dist/{chunk-72w2pxk7.js.map → chunk-bdhfn0ww.js.map} +3 -3
- package/dist/chunk-bep5rrdq.js +81 -0
- package/dist/chunk-bep5rrdq.js.map +10 -0
- package/dist/chunk-bxx3ms5t.js +29 -0
- package/dist/chunk-bxx3ms5t.js.map +10 -0
- package/dist/{chunk-v2vcg0w6.js → chunk-cbn96bve.js} +2 -2
- package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
- package/dist/chunk-cd234ba4.js.map +14 -0
- package/dist/{chunk-gq8vhakp.js → chunk-cvrbhvtr.js} +292 -104
- package/dist/chunk-cvrbhvtr.js.map +46 -0
- package/dist/{chunk-ms2tmn1k.js → chunk-d8yes9yx.js} +355 -100
- package/dist/chunk-d8yes9yx.js.map +20 -0
- package/dist/{chunk-pr2h4bv4.js → chunk-darm7eeg.js} +9 -9
- package/dist/{chunk-pr2h4bv4.js.map → chunk-darm7eeg.js.map} +3 -3
- package/dist/chunk-dmn70ztd.js.map +2 -2
- package/dist/chunk-drz59ve0.js +57 -0
- package/dist/chunk-drz59ve0.js.map +10 -0
- package/dist/{chunk-skz0hst3.js → chunk-dsfw1bdr.js} +6 -86
- package/dist/{chunk-skz0hst3.js.map → chunk-dsfw1bdr.js.map} +3 -3
- package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
- package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
- package/dist/chunk-ffwvdgk1.js +85 -0
- package/dist/chunk-ffwvdgk1.js.map +10 -0
- package/dist/chunk-gbcrz0gr.js +552 -0
- package/dist/chunk-gbcrz0gr.js.map +17 -0
- package/dist/{chunk-gqm76kse.js → chunk-gc226ten.js} +434 -177
- package/dist/chunk-gc226ten.js.map +62 -0
- package/dist/{chunk-awbhdqyc.js → chunk-gmt22nxx.js} +10 -16
- package/dist/chunk-gmt22nxx.js.map +10 -0
- package/dist/chunk-h89wz928.js +42 -0
- package/dist/chunk-h89wz928.js.map +10 -0
- package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
- package/dist/chunk-hgqpcmyr.js.map +12 -0
- package/dist/{chunk-gqh45d2n.js → chunk-ht4a7mjg.js} +76 -6
- package/dist/chunk-ht4a7mjg.js.map +15 -0
- package/dist/{chunk-x9m9x2eq.js → chunk-jhyc777j.js} +3 -3
- package/dist/{chunk-fh8kgex1.js → chunk-jmwy25mf.js} +76 -58
- package/dist/{chunk-fh8kgex1.js.map → chunk-jmwy25mf.js.map} +3 -3
- package/dist/{chunk-rb1xx120.js → chunk-k4kkp58d.js} +25 -8
- package/dist/chunk-k4kkp58d.js.map +11 -0
- package/dist/{chunk-jsy70480.js → chunk-ky7zpbtt.js} +366 -98
- package/dist/chunk-ky7zpbtt.js.map +19 -0
- package/dist/chunk-m4ehq95f.js +9 -0
- package/dist/chunk-m4ehq95f.js.map +10 -0
- package/dist/{chunk-17kfctj6.js → chunk-m8zkvep1.js} +2 -2
- package/dist/{chunk-z0271qkp.js → chunk-mdnw7nj8.js} +8 -6
- package/dist/chunk-mdnw7nj8.js.map +15 -0
- package/dist/{chunk-4zhmdsx6.js → chunk-mf6hwpzh.js} +121 -28
- package/dist/{chunk-4zhmdsx6.js.map → chunk-mf6hwpzh.js.map} +6 -6
- package/dist/{chunk-z30bv4ga.js → chunk-mr60an99.js} +5 -3
- package/dist/{chunk-z30bv4ga.js.map → chunk-mr60an99.js.map} +3 -3
- package/dist/chunk-n33e8dz8.js +191 -0
- package/dist/chunk-n33e8dz8.js.map +11 -0
- package/dist/chunk-p1683c0v.js +104 -0
- package/dist/chunk-p1683c0v.js.map +11 -0
- package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
- package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
- package/dist/chunk-rdghfsss.js.map +10 -0
- package/dist/{chunk-ftv470j8.js → chunk-rqtdtm43.js} +365 -67
- package/dist/chunk-rqtdtm43.js.map +50 -0
- package/dist/{chunk-dz5h08xv.js → chunk-rzcjp5m2.js} +28 -9
- package/dist/chunk-rzcjp5m2.js.map +25 -0
- package/dist/{chunk-f4w3yp4f.js → chunk-rzkr70gr.js} +108 -21
- package/dist/chunk-rzkr70gr.js.map +13 -0
- package/dist/{chunk-3ckk0xfj.js → chunk-s24qbp32.js} +18 -13
- package/dist/{chunk-3ckk0xfj.js.map → chunk-s24qbp32.js.map} +3 -3
- package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
- package/dist/chunk-t6f3tdnr.js.map +10 -0
- package/dist/{chunk-93csa55g.js → chunk-tw03bsmb.js} +11 -5
- package/dist/chunk-tw03bsmb.js.map +11 -0
- package/dist/chunk-vef6qa14.js +363 -0
- package/dist/chunk-vef6qa14.js.map +14 -0
- package/dist/{chunk-92vk7gta.js → chunk-vn3yh259.js} +1 -1
- package/dist/{chunk-g91qxjj0.js → chunk-w9bp61e7.js} +5 -5
- package/dist/{chunk-b19g04jk.js → chunk-xgptywp0.js} +4 -3
- package/dist/chunk-xgptywp0.js.map +11 -0
- package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
- package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
- package/dist/{chunk-1824gssz.js → chunk-y487ywrv.js} +4 -4
- package/dist/{chunk-7apz6hg4.js → chunk-y6vnvayj.js} +8 -4
- package/dist/chunk-y6vnvayj.js.map +10 -0
- package/dist/{chunk-wf88w4kp.js → chunk-ypj2wqtj.js} +3 -6
- package/dist/{chunk-wf88w4kp.js.map → chunk-ypj2wqtj.js.map} +4 -4
- package/dist/chunk-z3y5kg1x.js +14 -0
- package/dist/chunk-z3y5kg1x.js.map +10 -0
- package/dist/{chunk-38zv5rkr.js → chunk-z9h698s8.js} +1 -1
- package/dist/{chunk-38zv5rkr.js.map → chunk-z9h698s8.js.map} +2 -2
- package/dist/{chunk-8vj0rjgs.js → chunk-zdkcdshk.js} +3 -36
- package/dist/{chunk-8vj0rjgs.js.map → chunk-zdkcdshk.js.map} +3 -4
- package/dist/{chunk-358caqf5.js → chunk-znw0zvy4.js} +2 -2
- package/dist/datasets/validation.d.ts +4 -0
- package/dist/datasets/validation.d.ts.map +1 -1
- package/dist/datasets/write.d.ts.map +1 -1
- package/dist/datasets/write.js +5 -4
- package/dist/datasets/write.js.map +1 -1
- package/dist/edits/types.d.ts +19 -19
- package/dist/edits/types.d.ts.map +1 -1
- package/dist/error-reporting/capability.d.ts +3 -2
- package/dist/error-reporting/capability.d.ts.map +1 -1
- package/dist/error-reporting/internal.js +5 -4
- package/dist/error-reporting/internal.js.map +1 -1
- package/dist/error-reporting/reports.d.ts +10 -0
- package/dist/error-reporting/reports.d.ts.map +1 -1
- package/dist/error-reporting/types.d.ts +10 -2
- package/dist/error-reporting/types.d.ts.map +1 -1
- package/dist/errors/catalog.d.ts +16 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/failure-message.d.ts +8 -0
- package/dist/errors/failure-message.d.ts.map +1 -0
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +3 -2
- package/dist/errors/internal.js.map +1 -1
- package/dist/events/envelope.d.ts +0 -12
- package/dist/events/envelope.d.ts.map +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +5 -4
- package/dist/events/index.js.map +1 -1
- package/dist/events/service.d.ts +1 -2
- package/dist/events/service.d.ts.map +1 -1
- package/dist/events/toStoredEvent.d.ts +1 -2
- package/dist/events/toStoredEvent.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +2 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +1 -2
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +48 -43
- 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 +3 -0
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/kernel-operation.d.ts +4 -0
- package/dist/execution/kernel-operation.d.ts.map +1 -0
- package/dist/execution/primitive.d.ts +1 -2
- package/dist/execution/primitive.d.ts.map +1 -1
- package/dist/execution/primitive.js +47 -42
- package/dist/execution/primitive.js.map +3 -3
- package/dist/execution/request.d.ts +1 -2
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +48 -43
- package/dist/execution/request.js.map +3 -3
- package/dist/execution/types.d.ts +6 -0
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/index.d.ts +20 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +77 -62
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.js +5 -4
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts +11 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/materialization/errors.d.ts +4 -2
- package/dist/materialization/errors.d.ts.map +1 -1
- package/dist/materialization/events.d.ts +27 -2
- package/dist/materialization/events.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +1 -0
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +3 -3
- package/dist/materialization/model.d.ts +2 -0
- package/dist/materialization/model.d.ts.map +1 -1
- package/dist/materialization/vectors.d.ts +19 -0
- package/dist/materialization/vectors.d.ts.map +1 -0
- package/dist/materializer/context.d.ts.map +1 -1
- package/dist/materializer/edits/commit.d.ts.map +1 -1
- package/dist/materializer/edits/operations.d.ts +2 -1
- package/dist/materializer/edits/operations.d.ts.map +1 -1
- package/dist/materializer/edits/plan.d.ts +2 -2
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/edits/user-refs.d.ts +30 -0
- package/dist/materializer/edits/user-refs.d.ts.map +1 -0
- package/dist/materializer/edits/vector-authority.d.ts +6 -0
- package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
- package/dist/materializer/edits/vectors.d.ts +6 -0
- package/dist/materializer/edits/vectors.d.ts.map +1 -0
- package/dist/materializer/effective/build-events.d.ts +2 -2
- package/dist/materializer/effective/build-events.d.ts.map +1 -1
- package/dist/materializer/effective/validate.d.ts.map +1 -1
- package/dist/materializer/effective/vector-indexing.d.ts +7 -0
- package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
- package/dist/materializer/effective/vectors.d.ts +6 -0
- package/dist/materializer/effective/vectors.d.ts.map +1 -0
- package/dist/materializer/execution/scope.d.ts +11 -3
- package/dist/materializer/execution/scope.d.ts.map +1 -1
- package/dist/materializer/execution/work-executor.d.ts +2 -1
- package/dist/materializer/execution/work-executor.d.ts.map +1 -1
- package/dist/materializer/index.js +30 -27
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts +2 -0
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts +2 -2
- package/dist/materializer/telemetry/plan.d.ts.map +1 -1
- package/dist/models/catalog-index.d.ts +15 -0
- package/dist/models/catalog-index.d.ts.map +1 -0
- package/dist/models/catalog.d.ts +27 -6
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/decision/catalog.d.ts +12 -0
- package/dist/models/decision/catalog.d.ts.map +1 -0
- package/dist/models/decision/errors.d.ts +7 -0
- package/dist/models/decision/errors.d.ts.map +1 -0
- package/dist/models/decision/output.d.ts +50 -0
- package/dist/models/decision/output.d.ts.map +1 -0
- package/dist/models/decision/questions.d.ts +14 -0
- package/dist/models/decision/questions.d.ts.map +1 -0
- package/dist/models/decision/runtime.d.ts +7 -0
- package/dist/models/decision/runtime.d.ts.map +1 -0
- package/dist/models/decision/types.d.ts +92 -0
- package/dist/models/decision/types.d.ts.map +1 -0
- package/dist/models/decision/validation.d.ts +7 -0
- package/dist/models/decision/validation.d.ts.map +1 -0
- package/dist/models/definitions.d.ts +1 -1
- package/dist/models/definitions.d.ts.map +1 -1
- package/dist/models/embedding-model.d.ts +60 -0
- package/dist/models/embedding-model.d.ts.map +1 -0
- package/dist/models/execution/binding.d.ts +2 -0
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/embedding.d.ts +5 -0
- package/dist/models/execution/embedding.d.ts.map +1 -0
- package/dist/models/execution/index.js +32 -27
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +5 -1
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution/session.d.ts +21 -0
- package/dist/models/execution/session.d.ts.map +1 -0
- package/dist/models/execution.d.ts.map +1 -1
- package/dist/models/generation-types.d.ts +2 -0
- package/dist/models/generation-types.d.ts.map +1 -1
- package/dist/models/index.d.ts +9 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +17 -7
- package/dist/models/index.js.map +1 -1
- package/dist/models/pricing.d.ts +3 -2
- package/dist/models/pricing.d.ts.map +1 -1
- package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +21 -26
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +33 -30
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/query/executor.d.ts +3 -0
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +2 -0
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +42 -30
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +14 -3
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/scalar-values.d.ts.map +1 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts +6 -2
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts +2 -3
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-builder.d.ts +8 -10
- package/dist/objects/sdk/query-builder.d.ts.map +1 -1
- package/dist/objects/sdk/query-executor.d.ts +2 -0
- package/dist/objects/sdk/query-executor.d.ts.map +1 -1
- package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
- package/dist/objects/sdk/telemetry-channel.d.ts +1 -2
- package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
- package/dist/objects/sdk/where.d.ts +2 -3
- package/dist/objects/sdk/where.d.ts.map +1 -1
- package/dist/objects/vectors/handle.d.ts +4 -0
- package/dist/objects/vectors/handle.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-batch.d.ts +6 -0
- package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-generate.d.ts +11 -0
- package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
- package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-shared.d.ts +17 -0
- package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-single.d.ts +4 -0
- package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
- package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
- package/dist/objects/vectors/indexing.d.ts +7 -0
- package/dist/objects/vectors/indexing.d.ts.map +1 -0
- package/dist/objects/vectors/profile.d.ts +13 -0
- package/dist/objects/vectors/profile.d.ts.map +1 -0
- package/dist/objects/vectors/query.d.ts +5 -0
- package/dist/objects/vectors/query.d.ts.map +1 -0
- package/dist/objects/vectors/resolve-query.d.ts +6 -0
- package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
- package/dist/objects/vectors/types.d.ts +11 -0
- package/dist/objects/vectors/types.d.ts.map +1 -0
- package/dist/ontology/builders.d.ts +11 -10
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/index.d.ts +5 -2
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +7 -5
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +34 -22
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +1 -0
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +10 -7
- package/dist/ontology/internal.js.map +1 -1
- package/dist/ontology/primitives.d.ts +38 -0
- package/dist/ontology/primitives.d.ts.map +1 -0
- package/dist/ontology/query-capabilities.d.ts +38 -0
- package/dist/ontology/query-capabilities.d.ts.map +1 -0
- package/dist/ontology/refs.d.ts +23 -2
- package/dist/ontology/refs.d.ts.map +1 -1
- package/dist/ontology/registered.d.ts +16 -0
- package/dist/ontology/registered.d.ts.map +1 -0
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +35 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +26 -13
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/user-ref.d.ts +35 -0
- package/dist/ontology/user-ref.d.ts.map +1 -0
- package/dist/ontology/validation/definition.d.ts +3 -0
- package/dist/ontology/validation/definition.d.ts.map +1 -0
- package/dist/ontology/validation/index.d.ts +1 -1
- package/dist/ontology/validation/index.d.ts.map +1 -1
- package/dist/ontology/validation/normalize.d.ts.map +1 -1
- package/dist/ontology/validation/properties.d.ts +6 -1
- package/dist/ontology/validation/properties.d.ts.map +1 -1
- package/dist/ontology/validation/query.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts +1 -1
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/ontology/vector-profiles.d.ts +4 -0
- package/dist/ontology/vector-profiles.d.ts.map +1 -0
- package/dist/pipelines/index.js +32 -29
- package/dist/pipelines/index.js.map +1 -1
- package/dist/predicates/types.d.ts +53 -3
- package/dist/predicates/types.d.ts.map +1 -1
- package/dist/projections/builders.d.ts +19 -1
- package/dist/projections/builders.d.ts.map +1 -1
- package/dist/projections/internal.js +28 -25
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/validation.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +3 -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 +5 -0
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +4 -3
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +10 -7
- 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.d.ts +3 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +49 -1
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +11 -6
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +182 -187
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/auth.d.ts +16 -0
- package/dist/sandboxes/auth.d.ts.map +1 -0
- package/dist/sandboxes/config.d.ts +5 -0
- package/dist/sandboxes/config.d.ts.map +1 -0
- package/dist/sandboxes/configuration.d.ts +41 -0
- package/dist/sandboxes/configuration.d.ts.map +1 -0
- package/dist/sandboxes/environment.d.ts +13 -0
- package/dist/sandboxes/environment.d.ts.map +1 -0
- package/dist/sandboxes/errors.d.ts +1 -1
- package/dist/sandboxes/errors.d.ts.map +1 -1
- package/dist/sandboxes/index.d.ts +6 -1
- package/dist/sandboxes/index.d.ts.map +1 -1
- package/dist/sandboxes/index.js +16 -3
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/sandboxes/sandbox.d.ts +39 -4
- package/dist/sandboxes/sandbox.d.ts.map +1 -1
- package/dist/shared/params/builders.d.ts +25 -0
- package/dist/shared/params/builders.d.ts.map +1 -0
- package/dist/shared/params/types.d.ts +48 -0
- package/dist/shared/params/types.d.ts.map +1 -0
- package/dist/shared/params/user-refs.d.ts +19 -0
- package/dist/shared/params/user-refs.d.ts.map +1 -0
- package/dist/shared/params/validation.d.ts +15 -0
- package/dist/shared/params/validation.d.ts.map +1 -0
- package/dist/shares/compiler.d.ts.map +1 -1
- package/dist/shares/internal.js +29 -26
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +4 -3
- package/dist/storage/action-runs/failure.js.map +1 -1
- package/dist/storage/action-runs/provider.js +1 -1
- package/dist/storage/action-runs/types.d.ts +1 -1
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/agents/in-memory.d.ts +2 -1
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +1 -1
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +5 -1
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +8 -4
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +49 -0
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +1 -0
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/index.d.ts +1 -1
- package/dist/storage/ai-cost/index.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +2 -2
- package/dist/storage/ai-cost/types.d.ts +14 -2
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +4 -3
- package/dist/storage/ai-limits/enforcement.js.map +1 -1
- package/dist/storage/auth/in-memory/access-tokens.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/sessions.d.ts +8 -1
- package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
- 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 +62 -13
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +3 -2
- package/dist/storage/connector-connections/provider.js.map +2 -2
- package/dist/storage/executions/provider.d.ts +3 -3
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +13 -11
- package/dist/storage/executions/provider.js.map +3 -3
- package/dist/storage/executions/types.d.ts +3 -0
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/executions/validation.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/in-memory.d.ts +9 -18
- package/dist/storage/file-upload-sessions/in-memory.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/index.d.ts +1 -1
- package/dist/storage/file-upload-sessions/index.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.d.ts +52 -0
- package/dist/storage/file-upload-sessions/provider.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/provider.js +24 -0
- package/dist/storage/file-upload-sessions/provider.js.map +9 -0
- package/dist/storage/file-upload-sessions/types.d.ts +19 -1
- package/dist/storage/file-upload-sessions/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/utils.d.ts +8 -2
- package/dist/storage/file-upload-sessions/utils.d.ts.map +1 -1
- package/dist/storage/index.d.ts +8 -6
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +37 -30
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.js +11 -9
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
- package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/storage.d.ts +7 -0
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
- package/dist/storage/objects/types.d.ts +2 -0
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/commits.d.ts +7 -2
- package/dist/storage/ontology/commits.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +4 -0
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
- package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
- package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +6 -0
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +14 -1
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +9 -3
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/ontology/vector-indexing.d.ts +94 -0
- package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
- package/dist/storage/ontology/vectors.d.ts +56 -0
- package/dist/storage/ontology/vectors.d.ts.map +1 -0
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/provider.js +4 -3
- package/dist/storage/projection-runs/provider.js.map +1 -1
- package/dist/storage/types.d.ts +2 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-interventions/index.d.ts +1 -1
- package/dist/storage/workflow-interventions/index.d.ts.map +1 -1
- package/dist/storage/workflow-interventions/types.d.ts +5 -8
- package/dist/storage/workflow-interventions/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +10 -8
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +33 -30
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/action-execution.d.ts +4 -0
- package/dist/testing/action-execution.d.ts.map +1 -1
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution.d.ts +1 -2
- package/dist/testing/execution.d.ts.map +1 -1
- package/dist/testing/file-upload-session-storage-contract.d.ts +12 -0
- package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -0
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2351 -1263
- package/dist/testing/index.js.map +19 -17
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-query-contract.d.ts.map +1 -1
- package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
- package/dist/testing/ontology-contract-fixture.d.ts +8 -0
- package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/testing/sandboxes-contract.d.ts.map +1 -1
- package/dist/testing/workflow-intervention-storage-contract.d.ts +8 -0
- package/dist/testing/workflow-intervention-storage-contract.d.ts.map +1 -0
- package/dist/webhooks/internal.js +29 -26
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/webhooks/types.d.ts +2 -2
- package/dist/webhooks/types.d.ts.map +1 -1
- package/dist/workers/index.js +3 -2
- package/dist/workers/index.js.map +2 -2
- package/dist/workflows/failure.d.ts.map +1 -1
- package/dist/workflows/index.js +51 -45
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/run-dispatch.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +2 -2
- package/dist/workflows/types.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/actions/builders/params.ts +1 -48
- package/src/actions/index.ts +0 -3
- package/src/actions/read-facade.ts +102 -62
- package/src/actions/request.ts +13 -0
- package/src/actions/run-dispatch.ts +3 -0
- package/src/actions/types/context.ts +17 -65
- package/src/actions/types/params.ts +16 -75
- package/src/actions/validation.ts +7 -84
- package/src/agents/authority.ts +1 -1
- package/src/agents/errors.ts +3 -0
- package/src/agents/execution.ts +67 -15
- package/src/agents/ids.ts +8 -0
- package/src/agents/index.ts +1 -0
- package/src/agents/request.ts +11 -0
- package/src/agents/sandbox.ts +44 -0
- package/src/agents/validation.ts +2 -108
- package/src/assert-never.ts +7 -0
- package/src/auth/client-address.ts +12 -0
- package/src/auth/csrf.ts +14 -5
- package/src/auth/index.ts +3 -2
- package/src/auth/runtime.ts +299 -277
- package/src/auth/session-cache.ts +18 -6
- package/src/auth/sessions.ts +30 -0
- package/src/auth/types.ts +7 -17
- package/src/bootstrap/index.ts +1 -0
- package/src/bootstrap/ontology-type-manifest.ts +112 -60
- package/src/datasets/validation.ts +40 -11
- package/src/datasets/write.ts +8 -11
- package/src/edits/types.ts +47 -63
- package/src/error-reporting/capability.ts +11 -0
- package/src/error-reporting/reports.ts +23 -0
- package/src/error-reporting/types.ts +12 -1
- package/src/errors/catalog.ts +16 -0
- package/src/errors/failure-message.ts +15 -0
- package/src/errors/internal.ts +57 -25
- package/src/events/envelope.ts +0 -13
- package/src/events/index.ts +1 -1
- package/src/events/service.ts +1 -11
- package/src/events/toStoredEvent.ts +1 -3
- package/src/events/types/index.ts +1 -1
- package/src/execution/agent.ts +1 -2
- package/src/execution/authorization.ts +12 -5
- package/src/execution/authorized-object-reader.ts +42 -9
- package/src/execution/kernel-operation.ts +27 -0
- package/src/execution/primitive.ts +1 -2
- package/src/execution/request.ts +1 -2
- package/src/execution/scopes.ts +2 -0
- package/src/execution/types.ts +4 -4
- package/src/index.ts +68 -8
- package/src/lake-storage/in-memory.ts +5 -3
- package/src/maintenance/ontology-maintenance.ts +77 -1
- package/src/materialization/errors.ts +4 -2
- package/src/materialization/events.ts +27 -2
- package/src/materialization/index.ts +1 -0
- package/src/materialization/model.ts +2 -0
- package/src/materialization/vectors.ts +18 -0
- package/src/materializer/README.md +16 -0
- package/src/materializer/context.ts +10 -0
- package/src/materializer/edits/commit.ts +29 -13
- package/src/materializer/edits/operations.ts +32 -4
- package/src/materializer/edits/plan.ts +4 -5
- package/src/materializer/edits/user-refs.ts +115 -0
- package/src/materializer/edits/vector-authority.ts +108 -0
- package/src/materializer/edits/vectors.ts +100 -0
- package/src/materializer/effective/build-events.ts +4 -5
- package/src/materializer/effective/validate.ts +10 -3
- package/src/materializer/effective/vector-indexing.ts +84 -0
- package/src/materializer/effective/vectors.ts +47 -0
- package/src/materializer/execution/scope.ts +40 -7
- package/src/materializer/execution/work-executor.ts +11 -3
- package/src/materializer/projections/replace.ts +3 -1
- package/src/materializer/projections/replacement-plan.ts +4 -0
- package/src/materializer/shared/normalize.ts +11 -0
- package/src/materializer/telemetry/append.ts +5 -13
- package/src/materializer/telemetry/plan.ts +4 -5
- package/src/models/catalog-index.ts +38 -0
- package/src/models/catalog.ts +66 -38
- package/src/models/decision/catalog.ts +32 -0
- package/src/models/decision/errors.ts +18 -0
- package/src/models/decision/output.ts +101 -0
- package/src/models/decision/questions.ts +29 -0
- package/src/models/decision/runtime.ts +188 -0
- package/src/models/decision/types.ts +109 -0
- package/src/models/decision/validation.ts +335 -0
- package/src/models/definitions.ts +1 -1
- package/src/models/embedding-model.ts +129 -0
- package/src/models/execution/README.md +63 -0
- package/src/models/execution/binding.ts +2 -0
- package/src/models/execution/embedding.ts +133 -0
- package/src/models/execution/model-call-recorder.ts +42 -30
- package/src/models/execution/session.ts +81 -0
- package/src/models/execution.ts +10 -52
- package/src/models/generation-types.ts +2 -0
- package/src/models/index.ts +37 -0
- package/src/models/pricing.ts +1 -2
- package/src/objects/authorized-ontology-view.ts +12 -8
- package/src/objects/execution.ts +34 -61
- package/src/objects/query/executor.ts +25 -7
- package/src/objects/query/explain.ts +7 -2
- package/src/objects/query/index.ts +2 -0
- package/src/objects/query/ir.ts +13 -2
- package/src/objects/query/normalize.ts +5 -1
- package/src/objects/query/planner.ts +1 -0
- package/src/objects/query/scalar-values.ts +19 -0
- package/src/objects/query/validate.ts +129 -117
- package/src/objects/sdk/object-handle.ts +11 -8
- package/src/objects/sdk/object-set.ts +9 -15
- package/src/objects/sdk/query-builder.ts +66 -72
- package/src/objects/sdk/query-executor.ts +2 -1
- package/src/objects/sdk/runtime-query-executor.ts +6 -2
- package/src/objects/sdk/telemetry-channel.ts +6 -7
- package/src/objects/sdk/where.ts +6 -13
- package/src/objects/vectors/README.md +59 -0
- package/src/objects/vectors/handle.ts +91 -0
- package/src/objects/vectors/indexing-batch.ts +163 -0
- package/src/objects/vectors/indexing-generate.ts +184 -0
- package/src/objects/vectors/indexing-runtime.ts +17 -0
- package/src/objects/vectors/indexing-shared.ts +188 -0
- package/src/objects/vectors/indexing-single.ts +51 -0
- package/src/objects/vectors/indexing-store-batch.ts +62 -0
- package/src/objects/vectors/indexing.ts +23 -0
- package/src/objects/vectors/profile.ts +64 -0
- package/src/objects/vectors/query.ts +16 -0
- package/src/objects/vectors/resolve-query.ts +89 -0
- package/src/objects/vectors/types.ts +10 -0
- package/src/ontology/builders.ts +15 -11
- package/src/ontology/index.ts +6 -0
- package/src/ontology/inference/index.ts +56 -36
- package/src/ontology/internal.ts +1 -0
- package/src/ontology/json-schema.ts +12 -0
- package/src/ontology/primitives.ts +91 -0
- package/src/ontology/query-capabilities.ts +136 -0
- package/src/ontology/refs.ts +33 -6
- package/src/ontology/registered.ts +22 -0
- package/src/ontology/registry.ts +14 -3
- package/src/ontology/tokens.ts +41 -2
- package/src/ontology/types.ts +28 -12
- package/src/ontology/user-ref.ts +120 -0
- package/src/ontology/validation/definition.ts +93 -0
- package/src/ontology/validation/index.ts +1 -0
- package/src/ontology/validation/normalize.ts +39 -3
- package/src/ontology/validation/properties.ts +109 -23
- package/src/ontology/validation/query.ts +44 -92
- package/src/ontology/validation/schema.ts +101 -23
- package/src/ontology/vector-profiles.ts +35 -0
- package/src/predicates/types.ts +43 -33
- package/src/projections/builders.ts +24 -3
- package/src/projections/validation.ts +15 -1
- package/src/queues/in-memory.ts +5 -0
- package/src/queues/index.ts +1 -0
- package/src/queues/types.ts +10 -0
- package/src/runtime/create.ts +7 -6
- package/src/runtime/host.ts +44 -10
- package/src/runtime/index.ts +3 -2
- package/src/runtime/internal.ts +3 -0
- package/src/runtime/resolve-definitions.ts +19 -1
- package/src/runtime/sixb.ts +25 -17
- package/src/runtime/types.ts +288 -478
- package/src/sandboxes/README.md +41 -0
- package/src/sandboxes/auth.ts +17 -0
- package/src/sandboxes/config.ts +37 -0
- package/src/sandboxes/configuration.ts +268 -0
- package/src/sandboxes/environment.ts +107 -0
- package/src/sandboxes/errors.ts +1 -1
- package/src/sandboxes/index.ts +15 -0
- package/src/sandboxes/sandbox.ts +42 -4
- package/src/shared/params/builders.ts +50 -0
- package/src/shared/params/types.ts +85 -0
- package/src/shared/params/user-refs.ts +48 -0
- package/src/shared/params/validation.ts +114 -0
- package/src/shares/compiler.ts +6 -16
- package/src/storage/action-runs/types.ts +1 -0
- package/src/storage/agents/in-memory.ts +25 -1
- package/src/storage/agents/index.ts +3 -0
- package/src/storage/agents/provider.ts +105 -0
- package/src/storage/agents/types.ts +54 -0
- package/src/storage/ai-cost/analytics.ts +59 -21
- package/src/storage/ai-cost/index.ts +1 -0
- package/src/storage/ai-cost/types.ts +19 -2
- package/src/storage/auth/in-memory/access-tokens.ts +5 -2
- package/src/storage/auth/in-memory/auth-storage.ts +5 -8
- package/src/storage/auth/in-memory/device-authorizations.ts +0 -2
- package/src/storage/auth/in-memory/sessions.ts +69 -1
- package/src/storage/auth/in-memory/shared.ts +13 -7
- package/src/storage/auth/index.ts +2 -1
- package/src/storage/auth/types.ts +57 -13
- package/src/storage/executions/provider.ts +24 -12
- package/src/storage/executions/types.ts +1 -0
- package/src/storage/executions/validation.ts +8 -4
- package/src/storage/file-upload-sessions/in-memory.ts +64 -113
- package/src/storage/file-upload-sessions/index.ts +1 -0
- package/src/storage/file-upload-sessions/provider.ts +258 -0
- package/src/storage/file-upload-sessions/types.ts +20 -1
- package/src/storage/file-upload-sessions/utils.ts +25 -9
- package/src/storage/index.ts +18 -3
- package/src/storage/objects/in-memory/query.ts +38 -14
- package/src/storage/objects/in-memory/read-scope.ts +9 -2
- package/src/storage/objects/in-memory/read-source.ts +5 -0
- package/src/storage/objects/in-memory/selected-reader.ts +5 -1
- package/src/storage/objects/in-memory/storage.ts +19 -1
- package/src/storage/objects/types.ts +2 -0
- package/src/storage/ontology/commits.ts +7 -2
- package/src/storage/ontology/in-memory/index.ts +20 -0
- package/src/storage/ontology/in-memory/materializations.ts +19 -34
- package/src/storage/ontology/in-memory/shared-state.ts +9 -0
- package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
- package/src/storage/ontology/in-memory/vectors.ts +73 -0
- package/src/storage/ontology/index.ts +14 -0
- package/src/storage/ontology/provider-header-validation.ts +57 -0
- package/src/storage/ontology/provider-work.ts +15 -3
- package/src/storage/ontology/provider.ts +59 -1
- package/src/storage/ontology/vector-indexing.ts +98 -0
- package/src/storage/ontology/vectors.ts +48 -0
- package/src/storage/operation-scope.ts +2 -0
- package/src/storage/types.ts +3 -1
- package/src/storage/workflow-interventions/index.ts +0 -1
- package/src/storage/workflow-interventions/types.ts +5 -9
- package/src/testing/action-execution.ts +13 -3
- package/src/testing/agent-storage-contract.ts +246 -0
- package/src/testing/ai-cost-storage-contract.ts +134 -0
- package/src/testing/auth-storage-contract.ts +149 -62
- package/src/testing/execution-storage-contract.ts +1 -2
- package/src/testing/execution.ts +4 -7
- package/src/testing/file-upload-session-storage-contract.ts +335 -0
- package/src/testing/index.ts +8 -0
- package/src/testing/materializer-storage-contract.ts +86 -4
- package/src/testing/object-query-contract.ts +162 -27
- package/src/testing/object-read-scope-contract.ts +1 -5
- package/src/testing/ontology-contract-fixture.ts +23 -3
- package/src/testing/ontology-storage-contract.ts +58 -0
- package/src/testing/queues-contract.ts +31 -0
- package/src/testing/sandboxes-contract.ts +27 -0
- package/src/testing/workflow-intervention-storage-contract.ts +203 -0
- package/src/webhooks/types.ts +2 -2
- package/src/workflows/failure.ts +10 -4
- package/src/workflows/run-dispatch.ts +12 -1
- package/src/workflows/snapshot.ts +16 -7
- package/src/workflows/types.ts +2 -2
- package/src/workflows/validation.ts +2 -2
- package/dist/chunk-01kj2pbh.js.map +0 -19
- package/dist/chunk-5hz0fnca.js.map +0 -12
- package/dist/chunk-653vwrzr.js.map +0 -10
- package/dist/chunk-7apz6hg4.js.map +0 -10
- package/dist/chunk-7bs40fe1.js.map +0 -12
- package/dist/chunk-860dwwy0.js.map +0 -14
- package/dist/chunk-93csa55g.js.map +0 -11
- package/dist/chunk-a0e6x5hd.js.map +0 -14
- package/dist/chunk-aa6z4a19.js.map +0 -12
- package/dist/chunk-ap0g1g74.js.map +0 -11
- package/dist/chunk-awbhdqyc.js.map +0 -10
- package/dist/chunk-b19g04jk.js.map +0 -11
- package/dist/chunk-dz5h08xv.js.map +0 -25
- package/dist/chunk-f0rwz2vh.js.map +0 -11
- package/dist/chunk-f4w3yp4f.js.map +0 -12
- package/dist/chunk-ftv470j8.js.map +0 -45
- package/dist/chunk-g00bfdq6.js.map +0 -43
- package/dist/chunk-gq8vhakp.js.map +0 -44
- package/dist/chunk-gqh45d2n.js.map +0 -15
- package/dist/chunk-gqm76kse.js.map +0 -58
- package/dist/chunk-jsy70480.js.map +0 -15
- package/dist/chunk-mrp7k0pw.js.map +0 -10
- package/dist/chunk-ms2tmn1k.js.map +0 -17
- package/dist/chunk-rb1xx120.js.map +0 -11
- package/dist/chunk-sepyxgpc.js.map +0 -15
- package/dist/chunk-yv79ncbv.js.map +0 -10
- package/dist/chunk-z0271qkp.js.map +0 -15
- package/dist/chunk-z3y411fq.js +0 -99
- package/dist/chunk-z3y411fq.js.map +0 -11
- /package/dist/{chunk-1yefycb1.js.map → chunk-2hbhn1ff.js.map} +0 -0
- /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
- /package/dist/{chunk-0y39rgsb.js.map → chunk-4tnrzqqh.js.map} +0 -0
- /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
- /package/dist/{chunk-cfvakeax.js.map → chunk-a69fkrtr.js.map} +0 -0
- /package/dist/{chunk-v2vcg0w6.js.map → chunk-cbn96bve.js.map} +0 -0
- /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
- /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
- /package/dist/{chunk-x9m9x2eq.js.map → chunk-jhyc777j.js.map} +0 -0
- /package/dist/{chunk-17kfctj6.js.map → chunk-m8zkvep1.js.map} +0 -0
- /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
- /package/dist/{chunk-92vk7gta.js.map → chunk-vn3yh259.js.map} +0 -0
- /package/dist/{chunk-g91qxjj0.js.map → chunk-w9bp61e7.js.map} +0 -0
- /package/dist/{chunk-1824gssz.js.map → chunk-y487ywrv.js.map} +0 -0
- /package/dist/{chunk-358caqf5.js.map → chunk-znw0zvy4.js.map} +0 -0
|
@@ -3,6 +3,9 @@ import {
|
|
|
3
3
|
snapshotRequesterGroupIds,
|
|
4
4
|
normalizeRequesterGroupIds
|
|
5
5
|
} from "./chunk-9tc8dxmn.js";
|
|
6
|
+
import {
|
|
7
|
+
kernelOperationId
|
|
8
|
+
} from "./chunk-58geavnf.js";
|
|
6
9
|
|
|
7
10
|
// src/storage/executions/errors.ts
|
|
8
11
|
class ExecutionStorageError2 extends Error {
|
|
@@ -98,6 +101,9 @@ function assertExecutor(executor) {
|
|
|
98
101
|
}
|
|
99
102
|
function assertSource(source) {
|
|
100
103
|
switch (source.type) {
|
|
104
|
+
case "ontologyCommit":
|
|
105
|
+
assertNonBlank(source.commitId, "Execution source commit id");
|
|
106
|
+
return;
|
|
101
107
|
case "http":
|
|
102
108
|
assertNonBlank(source.requestId, "Execution source request id");
|
|
103
109
|
return;
|
|
@@ -246,7 +252,7 @@ async function validateCredential(record, lookup) {
|
|
|
246
252
|
if (!token) {
|
|
247
253
|
throw new ExecutionStorageError2("missing_credential", `[Sixb] Authority access token '${credential.id}' does not exist in project '${record.projectId}'.`);
|
|
248
254
|
}
|
|
249
|
-
if (token.
|
|
255
|
+
if (!principalsEqual(token.subject, principal)) {
|
|
250
256
|
throw new ExecutionStorageError2("invalid_credential", `[Sixb] Authority access token '${credential.id}' does not belong to principal '${principal.id}'.`);
|
|
251
257
|
}
|
|
252
258
|
}
|
|
@@ -296,10 +302,10 @@ function assertPrincipal(principal, label) {
|
|
|
296
302
|
assertNonBlank(principal.id, `${label} id`);
|
|
297
303
|
}
|
|
298
304
|
function assertKernelOperation(operation, label) {
|
|
299
|
-
if (operation.type !== "ontology.recover") {
|
|
305
|
+
if (operation.type !== "ontology.recover" && operation.type !== "ontology.indexVectors") {
|
|
300
306
|
invalid(`${label} has unsupported type '${String(operation.type)}'.`);
|
|
301
307
|
}
|
|
302
|
-
assertNonBlank(operation
|
|
308
|
+
assertNonBlank(kernelOperationId(operation), `${label} operation id`);
|
|
303
309
|
}
|
|
304
310
|
function assertTrustedPrimitiveKind(value, label) {
|
|
305
311
|
if (!TRUSTED_PRIMITIVE_KINDS.has(value)) {
|
|
@@ -320,7 +326,7 @@ function principalsEqual(left, right) {
|
|
|
320
326
|
return left?.type === right?.type && left?.id === right?.id;
|
|
321
327
|
}
|
|
322
328
|
function kernelOperationsEqual(left, right) {
|
|
323
|
-
return left.type === right.type && left
|
|
329
|
+
return left.type === right.type && kernelOperationId(left) === kernelOperationId(right);
|
|
324
330
|
}
|
|
325
331
|
function invalid(message) {
|
|
326
332
|
throw new ExecutionStorageError2("invalid_input", `[Sixb] ${message}`);
|
|
@@ -337,4 +343,4 @@ var TRUSTED_PRIMITIVE_KINDS = new Set([
|
|
|
337
343
|
|
|
338
344
|
export { ExecutionStorageError2, prepareExecutionRecord2, normalizeExecutionRecord2, validateExecutionRecordReferences2, cloneExecutionRecord };
|
|
339
345
|
|
|
340
|
-
//# debugId=
|
|
346
|
+
//# debugId=12B08F503967185464756E2164756E21
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/storage/executions/errors.ts", "../src/storage/executions/validation.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"export type ExecutionStorageErrorCode =\n | \"duplicate_execution\"\n | \"invalid_credential\"\n | \"invalid_input\"\n | \"invalid_parent_execution\"\n | \"missing_credential\"\n | \"missing_parent_execution\"\n | \"missing_principal\"\n\n/** Stable error raised when an execution record would violate ledger invariants. */\nexport class ExecutionStorageError extends Error {\n readonly name = \"ExecutionStorageError\"\n\n constructor(\n readonly code: ExecutionStorageErrorCode,\n message: string,\n options: ErrorOptions = {}\n ) {\n super(message, options)\n }\n}\n",
|
|
6
|
+
"import { isDeepStrictEqual } from \"node:util\"\nimport { normalizeRequesterGroupIds, snapshotRequesterGroupIds } from \"../../auth/attribution\"\nimport { kernelOperationId } from \"../../execution/kernel-operation\"\nimport type {\n AuthorizablePrincipal,\n AuthorizationRef,\n KernelOperation,\n} from \"../../execution/types\"\nimport type { AuthStorage } from \"../auth\"\nimport { ExecutionStorageError } from \"./errors\"\nimport type {\n CreateExecutionInput,\n DurableExecutionExecutor,\n DurableExecutionSource,\n ExecutionRecord,\n} from \"./types\"\n\nexport interface ExecutionValidationLookup {\n readonly auth: AuthStorage\n getExecution(params: {\n readonly projectId: string\n readonly id: string\n }): Promise<ExecutionRecord | null>\n getShareSession(params: {\n readonly projectId: string\n readonly id: string\n }): Promise<{ readonly grantId: string } | null>\n}\n\n/** Capture accounting attribution at the same storage boundary that admits the execution. */\nexport async function prepareExecutionRecord(\n input: CreateExecutionInput,\n lookup: ExecutionValidationLookup\n): Promise<ExecutionRecord> {\n let groups = input.requesterGroupIds\n if (groups === undefined && input.source.type === \"execution\") {\n const parent = await lookup.getExecution({\n projectId: input.projectId,\n id: input.source.executionId,\n })\n groups = parent?.requesterGroupIds\n } else if (groups === undefined && input.requestedBy) {\n groups = await snapshotRequesterGroupIds({\n auth: lookup.auth,\n projectId: input.projectId,\n principal: input.requestedBy,\n })\n }\n const record = normalizeExecutionRecord({ ...input, requesterGroupIds: groups ?? [] })\n await validateExecutionRecordReferences(record, lookup)\n return record\n}\n\nexport function normalizeExecutionRecord(\n input: CreateExecutionInput,\n createdAt: Date = new Date()\n): ExecutionRecord {\n const record: ExecutionRecord = {\n id: input.id,\n projectId: input.projectId,\n requesterGroupIds: normalizeRequesterGroupIds(input.requesterGroupIds ?? []),\n ...(input.requestedBy === undefined ? {} : { requestedBy: structuredClone(input.requestedBy) }),\n executor: structuredClone(input.executor),\n source: structuredClone(input.source),\n correlationId: input.correlationId,\n authorizationRef: structuredClone(input.authorizationRef),\n createdAt: new Date(createdAt),\n }\n\n assertRecordShape(record)\n assertExecutorAuthority(record)\n return record\n}\n\nexport async function validateExecutionRecordReferences(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n await validatePrincipal(record.requestedBy, record.projectId, \"Requested-by principal\", lookup)\n\n if (record.authorizationRef.type === \"principal\") {\n await validatePrincipal(\n record.authorizationRef.principal,\n record.projectId,\n \"Authority principal\",\n lookup\n )\n await validateCredential(record, lookup)\n }\n if (record.authorizationRef.type === \"delegated\") {\n await validateDelegation(record, lookup)\n }\n\n await validateParent(record, lookup)\n}\n\nexport function cloneExecutionRecord(record: ExecutionRecord): ExecutionRecord {\n return structuredClone(record)\n}\n\nfunction assertRecordShape(record: ExecutionRecord): void {\n assertNonBlank(record.id, \"Execution id\")\n assertNonBlank(record.projectId, \"Execution project id\")\n assertNonBlank(record.correlationId, \"Execution correlation id\")\n assertValidDate(record.createdAt, \"Execution createdAt\")\n\n if (record.requestedBy) {\n assertPrincipal(record.requestedBy, \"Requested-by principal\")\n }\n\n assertExecutor(record.executor)\n assertSource(record.source)\n assertAuthorizationRef(record.authorizationRef)\n}\n\nfunction assertExecutor(executor: DurableExecutionExecutor): void {\n switch (executor.type) {\n case \"request\":\n assertNonBlank(executor.requestId, \"Executor request id\")\n return\n case \"primitive\":\n assertTrustedPrimitiveKind(executor.kind, \"Executor primitive kind\")\n assertNonBlank(executor.runId, \"Executor primitive run id\")\n return\n case \"agent\":\n assertNonBlank(executor.runId, \"Executor agent run id\")\n return\n case \"kernel\":\n assertKernelOperation(executor.operation, \"Executor kernel operation\")\n return\n default:\n invalid(`Unknown execution executor type '${String((executor as { type?: unknown }).type)}'.`)\n }\n}\n\nfunction assertSource(source: DurableExecutionSource): void {\n switch (source.type) {\n case \"ontologyCommit\":\n assertNonBlank(source.commitId, \"Execution source commit id\")\n return\n case \"http\":\n assertNonBlank(source.requestId, \"Execution source request id\")\n return\n case \"webhook\":\n assertNonBlank(source.deliveryId, \"Execution source delivery id\")\n return\n case \"schedule\":\n case \"event\":\n assertNonBlank(source.eventId, \"Execution source event id\")\n return\n case \"datasetVersion\":\n assertNonBlank(source.datasetId, \"Execution source dataset id\")\n assertNonBlank(source.versionId, \"Execution source dataset version id\")\n return\n case \"execution\":\n assertNonBlank(source.executionId, \"Execution source execution id\")\n return\n default:\n invalid(\n `Execution source type '${String((source as { type?: unknown }).type)}' is not durable.`\n )\n }\n}\n\nfunction assertAuthorizationRef(ref: AuthorizationRef): void {\n switch (ref.type) {\n case \"principal\":\n assertPrincipal(ref.principal, \"Authority principal\")\n if (ref.credential) {\n if (ref.credential.type !== \"session\" && ref.credential.type !== \"accessToken\") {\n invalid(\n `Unknown authority credential type '${String(\n (ref.credential as { type?: unknown }).type\n )}'.`\n )\n }\n assertNonBlank(ref.credential.id, \"Authority credential id\")\n }\n return\n case \"trustedPrimitive\":\n assertTrustedPrimitiveKind(ref.primitive.kind, \"Authority primitive kind\")\n assertNonBlank(ref.primitive.id, \"Authority primitive id\")\n assertNonBlank(ref.primitive.runId, \"Authority primitive run id\")\n return\n case \"delegated\":\n if (ref.delegation.kind !== \"share\") {\n invalid(\n `Unknown authority delegation kind '${String(\n (ref.delegation as { kind?: unknown }).kind\n )}'.`\n )\n }\n assertNonBlank(ref.delegation.grantId, \"Authority delegation grant id\")\n assertNonBlank(ref.delegation.sessionId, \"Authority delegation session id\")\n return\n case \"kernel\":\n assertKernelOperation(ref.operation, \"Authority kernel operation\")\n return\n case \"disabled\":\n return\n default:\n invalid(`Unknown authorization reference type '${String((ref as { type?: unknown }).type)}'.`)\n }\n}\n\nfunction assertExecutorAuthority(record: ExecutionRecord): void {\n const { executor, authorizationRef, requestedBy, source } = record\n\n switch (executor.type) {\n case \"request\": {\n if (source.type !== \"http\" || source.requestId !== executor.requestId) {\n invalid(\"Request executions require a matching HTTP source request id.\")\n }\n if (authorizationRef.type === \"principal\") {\n if (!principalsEqual(requestedBy, authorizationRef.principal)) {\n invalid(\"Request authority must match its requested-by principal.\")\n }\n return\n }\n if (authorizationRef.type === \"disabled\") {\n if (requestedBy !== undefined) {\n invalid(\"Auth-disabled request executions cannot have a requested-by principal.\")\n }\n return\n }\n if (authorizationRef.type === \"delegated\") {\n if (requestedBy !== undefined) {\n invalid(\"Delegated request executions cannot have a requested-by principal.\")\n }\n return\n }\n invalid(\"Request executions require principal, delegated, or explicitly disabled authority.\")\n break\n }\n case \"primitive\": {\n if (authorizationRef.type !== \"trustedPrimitive\") {\n invalid(\"Primitive executions require trusted primitive authority.\")\n }\n if (\n authorizationRef.primitive.kind !== executor.kind ||\n authorizationRef.primitive.runId !== executor.runId\n ) {\n invalid(\"Trusted primitive authority must match the executor kind and run id.\")\n }\n return\n }\n case \"agent\": {\n if (source.type !== \"execution\") {\n invalid(\"Agent executions require a parent execution source.\")\n }\n if (\n authorizationRef.type === \"principal\" &&\n authorizationRef.principal.type === \"serviceAccount\" &&\n authorizationRef.credential === undefined\n ) {\n return\n }\n if (\n authorizationRef.type === \"principal\" &&\n authorizationRef.principal.type === \"user\" &&\n authorizationRef.credential !== undefined\n ) {\n return\n }\n if (authorizationRef.type === \"disabled\") return\n invalid(\n \"Agent executions require managed service-account, credentialed user, or explicitly disabled authority.\"\n )\n break\n }\n case \"kernel\": {\n if (\n authorizationRef.type !== \"kernel\" ||\n !kernelOperationsEqual(authorizationRef.operation, executor.operation)\n ) {\n invalid(\"Kernel authority must match the executor operation.\")\n }\n if (requestedBy !== undefined) {\n invalid(\"Kernel executions cannot have a requested-by principal.\")\n }\n return\n }\n }\n}\n\nasync function validatePrincipal(\n principal: AuthorizablePrincipal | undefined,\n projectId: string,\n label: string,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (!principal) return\n\n const record =\n principal.type === \"user\"\n ? await lookup.auth.users.getById({ projectId, id: principal.id })\n : await lookup.auth.serviceAccounts.getById({ projectId, id: principal.id })\n if (!record) {\n throw new ExecutionStorageError(\n \"missing_principal\",\n `[Sixb] ${label} '${principal.id}' does not exist in project '${projectId}'.`\n )\n }\n}\n\nasync function validateCredential(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (record.authorizationRef.type !== \"principal\" || !record.authorizationRef.credential) return\n\n const { principal, credential } = record.authorizationRef\n if (credential.type === \"session\") {\n const session = await lookup.auth.sessions.getById({\n projectId: record.projectId,\n id: credential.id,\n })\n if (!session) {\n throw new ExecutionStorageError(\n \"missing_credential\",\n `[Sixb] Authority session '${credential.id}' does not exist in project '${record.projectId}'.`\n )\n }\n if (principal.type !== \"user\" || session.userId !== principal.id) {\n throw new ExecutionStorageError(\n \"invalid_credential\",\n `[Sixb] Authority session '${credential.id}' does not belong to principal '${principal.id}'.`\n )\n }\n return\n }\n\n const token = await lookup.auth.accessTokens.getById({\n projectId: record.projectId,\n id: credential.id,\n })\n if (!token) {\n throw new ExecutionStorageError(\n \"missing_credential\",\n `[Sixb] Authority access token '${credential.id}' does not exist in project '${record.projectId}'.`\n )\n }\n if (!principalsEqual(token.subject, principal)) {\n throw new ExecutionStorageError(\n \"invalid_credential\",\n `[Sixb] Authority access token '${credential.id}' does not belong to principal '${principal.id}'.`\n )\n }\n}\n\nasync function validateDelegation(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (record.authorizationRef.type !== \"delegated\") return\n const { grantId, sessionId } = record.authorizationRef.delegation\n const session = await lookup.getShareSession({ projectId: record.projectId, id: sessionId })\n if (!session) {\n throw new ExecutionStorageError(\n \"missing_credential\",\n `[Sixb] Authority shared session '${sessionId}' does not exist in project '${record.projectId}'.`\n )\n }\n if (session.grantId !== grantId) {\n throw new ExecutionStorageError(\n \"invalid_credential\",\n `[Sixb] Authority shared session '${sessionId}' does not belong to grant '${grantId}'.`\n )\n }\n}\n\nasync function validateParent(\n record: ExecutionRecord,\n lookup: ExecutionValidationLookup\n): Promise<void> {\n if (record.source.type !== \"execution\") return\n const parentExecutionId = record.source.executionId\n\n const parent = await lookup.getExecution({\n projectId: record.projectId,\n id: parentExecutionId,\n })\n if (!parent) {\n throw new ExecutionStorageError(\n \"missing_parent_execution\",\n `[Sixb] Parent execution '${parentExecutionId}' does not exist in project '${record.projectId}'.`\n )\n }\n if (parent.correlationId !== record.correlationId) {\n throw new ExecutionStorageError(\n \"invalid_parent_execution\",\n `[Sixb] Child execution '${record.id}' must preserve its parent correlation id.`\n )\n }\n if (!principalsEqual(parent.requestedBy, record.requestedBy)) {\n throw new ExecutionStorageError(\n \"invalid_parent_execution\",\n `[Sixb] Child execution '${record.id}' must preserve its parent requested-by principal.`\n )\n }\n if (!isDeepStrictEqual(parent.requesterGroupIds, record.requesterGroupIds)) {\n throw new ExecutionStorageError(\n \"invalid_parent_execution\",\n `[Sixb] Child execution '${record.id}' must preserve its parent requester-group snapshot.`\n )\n }\n if (\n record.executor.type === \"agent\" &&\n isInheritedAgentAuthority(record.authorizationRef) &&\n !isDeepStrictEqual(parent.authorizationRef, record.authorizationRef)\n ) {\n throw new ExecutionStorageError(\n \"invalid_parent_execution\",\n `[Sixb] Child Agent execution '${record.id}' must inherit its parent's authorization reference.`\n )\n }\n}\n\nfunction isInheritedAgentAuthority(ref: AuthorizationRef): boolean {\n return (\n ref.type === \"disabled\" ||\n (ref.type === \"principal\" && ref.principal.type === \"user\" && ref.credential !== undefined)\n )\n}\n\nfunction assertPrincipal(principal: AuthorizablePrincipal, label: string): void {\n if (principal.type !== \"user\" && principal.type !== \"serviceAccount\") {\n invalid(`${label} has unsupported type '${String((principal as { type?: unknown }).type)}'.`)\n }\n assertNonBlank(principal.id, `${label} id`)\n}\n\nfunction assertKernelOperation(operation: KernelOperation, label: string): void {\n if (operation.type !== \"ontology.recover\" && operation.type !== \"ontology.indexVectors\") {\n invalid(`${label} has unsupported type '${String((operation as { type?: unknown }).type)}'.`)\n }\n assertNonBlank(kernelOperationId(operation), `${label} operation id`)\n}\n\nfunction assertTrustedPrimitiveKind(value: string, label: string): void {\n if (!TRUSTED_PRIMITIVE_KINDS.has(value)) {\n invalid(`${label} '${value}' is not supported.`)\n }\n}\n\nfunction assertNonBlank(value: string, label: string): void {\n if (typeof value !== \"string\" || !value.trim()) {\n invalid(`${label} must be a non-empty string.`)\n }\n}\n\nfunction assertValidDate(value: Date, label: string): void {\n if (!(value instanceof Date) || !Number.isFinite(value.getTime())) {\n invalid(`${label} must be a valid date.`)\n }\n}\n\nfunction principalsEqual(\n left: AuthorizablePrincipal | undefined,\n right: AuthorizablePrincipal | undefined\n): boolean {\n return left?.type === right?.type && left?.id === right?.id\n}\n\nfunction kernelOperationsEqual(left: KernelOperation, right: KernelOperation): boolean {\n return left.type === right.type && kernelOperationId(left) === kernelOperationId(right)\n}\n\nfunction invalid(message: string): never {\n throw new ExecutionStorageError(\"invalid_input\", `[Sixb] ${message}`)\n}\n\nconst TRUSTED_PRIMITIVE_KINDS = new Set([\n \"action\",\n \"pipeline\",\n \"projection\",\n \"rule\",\n \"sync\",\n \"webhook\",\n \"workflow\",\n])\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "12B08F503967185464756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
assertValidSchema
|
|
4
|
+
} from "./chunk-ffwvdgk1.js";
|
|
5
|
+
import {
|
|
6
|
+
normalizeParams,
|
|
7
|
+
coerceParamsToTyped
|
|
8
|
+
} from "./chunk-2fv8sajb.js";
|
|
9
|
+
import {
|
|
10
|
+
isPlainRecord
|
|
11
|
+
} from "./chunk-wy0qdqfm.js";
|
|
12
|
+
|
|
13
|
+
// src/sandboxes/errors.ts
|
|
14
|
+
class SandboxError2 extends Error {
|
|
15
|
+
name = "SandboxError";
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
class SandboxStateUnavailableError2 extends SandboxError2 {
|
|
19
|
+
name = "SandboxStateUnavailableError";
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
class SandboxNotRunningError2 extends SandboxError2 {
|
|
23
|
+
name = "SandboxNotRunningError";
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
class SandboxTimeoutError2 extends SandboxError2 {
|
|
27
|
+
name = "SandboxTimeoutError";
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
class SandboxIsolationUnavailableError2 extends SandboxError2 {
|
|
31
|
+
name = "SandboxIsolationUnavailableError";
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// src/sandboxes/configuration.ts
|
|
35
|
+
function createSandboxDefinition(config, ontology) {
|
|
36
|
+
const raw = config;
|
|
37
|
+
if (!isPlainRecord(raw) || config.params !== undefined && !isPlainRecord(raw.params) || config.resolve !== undefined && typeof config.resolve !== "function") {
|
|
38
|
+
throw new SandboxError2("[Sixb] Sandbox configuration requires a params object and a callable resolver when provided.");
|
|
39
|
+
}
|
|
40
|
+
for (const key of Object.keys(config)) {
|
|
41
|
+
if (!["params", "resolve", "source", "setup", "env", "network", "auth"].includes(key)) {
|
|
42
|
+
throw new SandboxError2("[Sixb] Unknown sandbox configuration field.");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (config.auth !== undefined && typeof config.auth?.authorize !== "function") {
|
|
46
|
+
throw new SandboxError2("[Sixb] sandboxes.auth requires an authorize function.");
|
|
47
|
+
}
|
|
48
|
+
if (config.params !== undefined && config.resolve === undefined) {
|
|
49
|
+
throw new SandboxError2("[Sixb] Sandbox params require a resolve function.");
|
|
50
|
+
}
|
|
51
|
+
if (config.resolve !== undefined && (config.source !== undefined || config.setup !== undefined)) {
|
|
52
|
+
throw new SandboxError2("[Sixb] Use either static source/setup or resolve, not both.");
|
|
53
|
+
}
|
|
54
|
+
const invalid = (path) => new SandboxError2(`[Sixb] ${path} must be a valid parameter declaration; use param(schema).`);
|
|
55
|
+
for (const [id, value] of Object.entries(config.params ?? {})) {
|
|
56
|
+
const path = `sandboxes.params.${id}`;
|
|
57
|
+
if (!id.trim() || !isPlainRecord(value))
|
|
58
|
+
throw invalid(path);
|
|
59
|
+
for (const key of Object.keys(value)) {
|
|
60
|
+
if (!["schema", "required", "nullable", "description", "semanticType"].includes(key)) {
|
|
61
|
+
throw invalid(path);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (value.required !== undefined && typeof value.required !== "boolean" || value.nullable !== undefined && typeof value.nullable !== "boolean" || value.description !== undefined && typeof value.description !== "string" || value.semanticType !== undefined && typeof value.semanticType !== "string")
|
|
65
|
+
throw invalid(path);
|
|
66
|
+
const schema = value.schema;
|
|
67
|
+
if (isPlainRecord(schema) && schema.type === "objectRef") {
|
|
68
|
+
if (typeof schema.objectTypeId !== "string" || !ontology.getObjectTypesById().has(schema.objectTypeId)) {
|
|
69
|
+
throw invalid(path);
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
assertValidSchema(schema, `${path}.schema`, invalid);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const params = structuredClone(config.params ?? {});
|
|
76
|
+
const environment = captureEnvironment({
|
|
77
|
+
...config.source === undefined ? {} : { source: config.source },
|
|
78
|
+
...config.setup === undefined ? {} : { setup: config.setup },
|
|
79
|
+
...config.env === undefined ? {} : { env: config.env },
|
|
80
|
+
...config.network === undefined ? {} : { network: config.network }
|
|
81
|
+
});
|
|
82
|
+
const resolve = config.resolve;
|
|
83
|
+
const authorize = config.auth?.authorize.bind(config.auth);
|
|
84
|
+
deepFreeze(params);
|
|
85
|
+
return Object.freeze({
|
|
86
|
+
params,
|
|
87
|
+
...authorize ? { auth: Object.freeze({ authorize }) } : {},
|
|
88
|
+
resolve: async ({ params: input, sixb }) => {
|
|
89
|
+
const binding = normalizeParams(ontology.getValueTypesById(), params, input, {
|
|
90
|
+
kind: "sandbox",
|
|
91
|
+
id: "sandboxes",
|
|
92
|
+
path: "sandbox"
|
|
93
|
+
});
|
|
94
|
+
const typed = coerceParamsToTyped(params, binding, ontology.getValueTypesById());
|
|
95
|
+
if (!resolve)
|
|
96
|
+
return structuredClone(environment);
|
|
97
|
+
const resolved = captureEnvironment(await resolve({ params: typed, sixb }));
|
|
98
|
+
return {
|
|
99
|
+
...structuredClone(environment),
|
|
100
|
+
...resolved,
|
|
101
|
+
env: { ...environment.env, ...resolved.env }
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function captureEnvironment(value) {
|
|
107
|
+
if (!isPlainRecord(value) || Object.keys(value).some((key) => !["source", "setup", "env", "network"].includes(key))) {
|
|
108
|
+
return fail("environment");
|
|
109
|
+
}
|
|
110
|
+
if (value.source !== undefined)
|
|
111
|
+
validateSource(value.source);
|
|
112
|
+
if (value.setup !== undefined)
|
|
113
|
+
validateSetup(value.setup);
|
|
114
|
+
if (value.env !== undefined)
|
|
115
|
+
validateEnv(value.env);
|
|
116
|
+
if (value.network !== undefined)
|
|
117
|
+
validateNetwork(value.network);
|
|
118
|
+
return structuredClone(value);
|
|
119
|
+
}
|
|
120
|
+
function fail(field) {
|
|
121
|
+
throw new SandboxError2(`[Sixb] Invalid sandbox ${field}.`);
|
|
122
|
+
}
|
|
123
|
+
function validateSource(source) {
|
|
124
|
+
if (!isPlainRecord(source) || source.type !== "git" || typeof source.url !== "string" || Object.keys(source).some((key) => !["type", "url", "revision", "access"].includes(key))) {
|
|
125
|
+
fail("source");
|
|
126
|
+
}
|
|
127
|
+
const url = parseUrl(source.url, "source URL");
|
|
128
|
+
if (url.protocol !== "https:" || url.username || url.password || url.search || url.hash) {
|
|
129
|
+
fail("source URL: expected credential-free HTTPS");
|
|
130
|
+
}
|
|
131
|
+
if (source.revision !== undefined && (typeof source.revision !== "string" || !source.revision.trim() || source.revision.startsWith("-") || /[\x00-\x1f]/.test(source.revision))) {
|
|
132
|
+
fail("source revision");
|
|
133
|
+
}
|
|
134
|
+
if (source.access !== undefined && source.access !== "read" && source.access !== "write") {
|
|
135
|
+
fail("source access");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function validateSetup(setup) {
|
|
139
|
+
if (!Array.isArray(setup) || setup.some((command) => typeof command !== "string" || !command.trim() || command.includes("\x00"))) {
|
|
140
|
+
fail("setup");
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function validateEnv(env) {
|
|
144
|
+
if (!isPlainRecord(env) || Object.entries(env).some(([key, entry]) => !key || /[=\0]/.test(key) || typeof entry !== "string" || entry.includes("\x00"))) {
|
|
145
|
+
fail("env");
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function validateNetwork(network) {
|
|
149
|
+
if (!isPlainRecord(network))
|
|
150
|
+
fail("network");
|
|
151
|
+
if (network.mode === "restricted") {
|
|
152
|
+
if (Object.keys(network).some((key) => key !== "mode" && key !== "allow") || !Array.isArray(network.allow)) {
|
|
153
|
+
fail("network");
|
|
154
|
+
}
|
|
155
|
+
for (const target of network.allow)
|
|
156
|
+
validateNetworkTarget(target);
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (network.mode !== "none" && network.mode !== "all" || Object.keys(network).some((key) => key !== "mode")) {
|
|
160
|
+
fail("network");
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function validateNetworkTarget(target) {
|
|
164
|
+
if (!isPlainRecord(target) || typeof target.name !== "string" || !target.name.trim() || typeof target.origin !== "string" || Object.keys(target).some((key) => key !== "name" && key !== "origin")) {
|
|
165
|
+
fail("network target");
|
|
166
|
+
}
|
|
167
|
+
const url = parseUrl(target.origin, "network origin");
|
|
168
|
+
if (!["http:", "https:"].includes(url.protocol) || url.origin !== target.origin) {
|
|
169
|
+
fail("network origin");
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
function parseUrl(value, field) {
|
|
173
|
+
try {
|
|
174
|
+
return new URL(value);
|
|
175
|
+
} catch {
|
|
176
|
+
return fail(field);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
function deepFreeze(value, seen = new Set) {
|
|
180
|
+
if (seen.has(value))
|
|
181
|
+
return;
|
|
182
|
+
seen.add(value);
|
|
183
|
+
for (const child of Object.values(value)) {
|
|
184
|
+
if (child !== null && typeof child === "object")
|
|
185
|
+
deepFreeze(child, seen);
|
|
186
|
+
}
|
|
187
|
+
Object.freeze(value);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// src/sandboxes/config.ts
|
|
191
|
+
function sandboxConfig2(options) {
|
|
192
|
+
if (options.auth !== undefined && typeof options.auth?.authorize !== "function") {
|
|
193
|
+
throw new SandboxError2("[Sixb] sandboxes.auth requires an authorize function.");
|
|
194
|
+
}
|
|
195
|
+
const authorize = options.auth?.authorize.bind(options.auth);
|
|
196
|
+
if (options.params !== undefined && options.resolve === undefined) {
|
|
197
|
+
throw new SandboxError2("[Sixb] Sandbox params require a resolve function.");
|
|
198
|
+
}
|
|
199
|
+
if (options.resolve !== undefined && typeof options.resolve !== "function") {
|
|
200
|
+
throw new SandboxError2("[Sixb] Sandbox resolve must be a function.");
|
|
201
|
+
}
|
|
202
|
+
if (options.resolve !== undefined && (options.source !== undefined || options.setup !== undefined)) {
|
|
203
|
+
throw new SandboxError2("[Sixb] Use either static source/setup or resolve, not both.");
|
|
204
|
+
}
|
|
205
|
+
const environment = captureEnvironment({
|
|
206
|
+
...options.source === undefined ? {} : { source: options.source },
|
|
207
|
+
...options.setup === undefined ? {} : { setup: options.setup },
|
|
208
|
+
...options.env === undefined ? {} : { env: options.env },
|
|
209
|
+
...options.network === undefined ? {} : { network: options.network }
|
|
210
|
+
});
|
|
211
|
+
return Object.freeze({
|
|
212
|
+
...authorize ? { auth: Object.freeze({ authorize }) } : {},
|
|
213
|
+
...environment,
|
|
214
|
+
...options.params === undefined ? {} : { params: structuredClone(options.params) },
|
|
215
|
+
...options.resolve === undefined ? {} : { resolve: options.resolve }
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
// src/sandboxes/environment.ts
|
|
219
|
+
import { posix } from "path";
|
|
220
|
+
function sandboxCreationEnvironment2(configuration, options) {
|
|
221
|
+
if (options.environment === undefined && configuration.resolve !== undefined) {
|
|
222
|
+
throw new SandboxError2("[Sixb] Dynamic sandbox configuration requires an execution-resolved environment.");
|
|
223
|
+
}
|
|
224
|
+
const environment = captureEnvironment(options.environment !== undefined ? options.environment : {
|
|
225
|
+
...configuration.source === undefined ? {} : { source: configuration.source },
|
|
226
|
+
...configuration.setup === undefined ? {} : { setup: configuration.setup }
|
|
227
|
+
});
|
|
228
|
+
if (environment.env !== undefined || environment.network !== undefined) {
|
|
229
|
+
throw new SandboxError2("[Sixb] Pass env and network as sandbox session options, not environment.");
|
|
230
|
+
}
|
|
231
|
+
if (environment.source) {
|
|
232
|
+
if ((configuration.auth !== undefined || environment.source.access === "write") && !options.requestCredentials?.length) {
|
|
233
|
+
throw new SandboxError2("[Sixb] Sandbox source authentication requires execution-prepared request credentials.");
|
|
234
|
+
}
|
|
235
|
+
const network = options.network ?? configuration.network ?? { mode: "none" };
|
|
236
|
+
const origin = new URL(environment.source.url).origin;
|
|
237
|
+
if (network.mode === "none" || network.mode === "restricted" && !network.allow.some((target) => target.origin === origin)) {
|
|
238
|
+
throw new SandboxError2("[Sixb] Sandbox network policy denies the source origin.");
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
options.signal?.throwIfAborted();
|
|
242
|
+
return environment;
|
|
243
|
+
}
|
|
244
|
+
function sandboxProjectDirectory2(session, hasSource) {
|
|
245
|
+
if (!hasSource)
|
|
246
|
+
return session;
|
|
247
|
+
const workingDirectory = posix.join(session.workingDirectory, "repository");
|
|
248
|
+
return {
|
|
249
|
+
id: session.id,
|
|
250
|
+
provider: session.provider,
|
|
251
|
+
get status() {
|
|
252
|
+
return session.status;
|
|
253
|
+
},
|
|
254
|
+
workingDirectory,
|
|
255
|
+
...session.setRequestCredentials ? { setRequestCredentials: session.setRequestCredentials.bind(session) } : {},
|
|
256
|
+
runCommand: (command, args, options) => session.runCommand(command, args, { ...options, cwd: options?.cwd ?? workingDirectory }),
|
|
257
|
+
writeFiles: (files) => session.writeFiles(files.map((file) => ({
|
|
258
|
+
...file,
|
|
259
|
+
path: posix.isAbsolute(file.path) ? file.path : posix.join(workingDirectory, file.path)
|
|
260
|
+
}))),
|
|
261
|
+
stop: () => session.stop(),
|
|
262
|
+
destroy: () => session.destroy()
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
async function initializeSandboxEnvironment2(session, environment, signal) {
|
|
266
|
+
environment = captureEnvironment(environment);
|
|
267
|
+
const run = async (sandbox, command, args) => {
|
|
268
|
+
signal?.throwIfAborted();
|
|
269
|
+
const result = await sandbox.runCommand(command, args, { timeout: 120000, signal });
|
|
270
|
+
if (result.exitCode !== 0 || result.timedOut) {
|
|
271
|
+
throw new SandboxError2("[Sixb] Sandbox environment initialization failed.");
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
signal?.throwIfAborted();
|
|
275
|
+
const sandbox = sandboxProjectDirectory2(session, environment.source !== undefined);
|
|
276
|
+
if (environment.source) {
|
|
277
|
+
await run(session, "git", ["clone", "--", environment.source.url, "repository"]);
|
|
278
|
+
if (environment.source.revision) {
|
|
279
|
+
await run(sandbox, "git", ["checkout", environment.source.revision, "--"]);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
for (const command of environment.setup ?? [])
|
|
283
|
+
await run(sandbox, "bash", ["-lc", command]);
|
|
284
|
+
return sandbox;
|
|
285
|
+
}
|
|
286
|
+
// src/sandboxes/exec.ts
|
|
287
|
+
var DEFAULT_KILL_EXIT_CODE = 137;
|
|
288
|
+
async function exec2(options) {
|
|
289
|
+
const start = Date.now();
|
|
290
|
+
const [head, ...rest] = options.argv;
|
|
291
|
+
if (!head) {
|
|
292
|
+
return {
|
|
293
|
+
exitCode: 1,
|
|
294
|
+
stdout: "",
|
|
295
|
+
stderr: "[Sandbox] empty argv",
|
|
296
|
+
durationMs: 0
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
let proc;
|
|
300
|
+
try {
|
|
301
|
+
proc = Bun.spawn([head, ...rest], {
|
|
302
|
+
cwd: options.cwd,
|
|
303
|
+
env: options.env,
|
|
304
|
+
stdin: "ignore",
|
|
305
|
+
stdout: "pipe",
|
|
306
|
+
stderr: "pipe"
|
|
307
|
+
});
|
|
308
|
+
} catch (error) {
|
|
309
|
+
return {
|
|
310
|
+
exitCode: 127,
|
|
311
|
+
stdout: "",
|
|
312
|
+
stderr: error instanceof Error ? error.message : String(error),
|
|
313
|
+
durationMs: Date.now() - start
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
let timedOut = false;
|
|
317
|
+
let killed = false;
|
|
318
|
+
const timer = options.timeoutMs !== undefined && options.timeoutMs > 0 ? setTimeout(() => {
|
|
319
|
+
timedOut = true;
|
|
320
|
+
killed = true;
|
|
321
|
+
proc.kill("SIGKILL");
|
|
322
|
+
}, options.timeoutMs) : undefined;
|
|
323
|
+
const onAbort = () => {
|
|
324
|
+
if (!killed) {
|
|
325
|
+
killed = true;
|
|
326
|
+
proc.kill("SIGKILL");
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
options.signal?.addEventListener("abort", onAbort);
|
|
330
|
+
if (options.signal?.aborted) {
|
|
331
|
+
onAbort();
|
|
332
|
+
}
|
|
333
|
+
let stdout = "";
|
|
334
|
+
let stderr = "";
|
|
335
|
+
let exitCode = 0;
|
|
336
|
+
try {
|
|
337
|
+
const [stdoutText, stderrText, code] = await Promise.all([
|
|
338
|
+
new Response(proc.stdout).text(),
|
|
339
|
+
new Response(proc.stderr).text(),
|
|
340
|
+
proc.exited
|
|
341
|
+
]);
|
|
342
|
+
stdout = stdoutText;
|
|
343
|
+
stderr = stderrText;
|
|
344
|
+
exitCode = typeof code === "number" ? code : DEFAULT_KILL_EXIT_CODE;
|
|
345
|
+
} finally {
|
|
346
|
+
if (timer !== undefined)
|
|
347
|
+
clearTimeout(timer);
|
|
348
|
+
options.signal?.removeEventListener("abort", onAbort);
|
|
349
|
+
}
|
|
350
|
+
if (killed && exitCode === 0) {
|
|
351
|
+
exitCode = DEFAULT_KILL_EXIT_CODE;
|
|
352
|
+
}
|
|
353
|
+
return {
|
|
354
|
+
exitCode,
|
|
355
|
+
stdout,
|
|
356
|
+
stderr,
|
|
357
|
+
durationMs: Date.now() - start,
|
|
358
|
+
...timedOut ? { timedOut: true } : {}
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
export { SandboxError2, SandboxStateUnavailableError2, SandboxNotRunningError2, SandboxTimeoutError2, SandboxIsolationUnavailableError2, createSandboxDefinition, sandboxConfig2, sandboxCreationEnvironment2, sandboxProjectDirectory2, initializeSandboxEnvironment2, exec2 };
|
|
362
|
+
|
|
363
|
+
//# debugId=C3376C4D866A438264756E2164756E21
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/sandboxes/errors.ts", "../src/sandboxes/configuration.ts", "../src/sandboxes/config.ts", "../src/sandboxes/environment.ts", "../src/sandboxes/exec.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Errors thrown by sandbox providers. Hosts can catch SandboxError at the\n * audit boundary while still distinguishing recoverable provider states.\n */\nexport class SandboxError extends Error {\n readonly name: string = \"SandboxError\"\n}\n\n/** Confirmed missing/expired state. Never use for transport, authorization or session setup errors. */\nexport class SandboxStateUnavailableError extends SandboxError {\n override readonly name = \"SandboxStateUnavailableError\"\n}\n\n/** runCommand / stop / destroy called after the sandbox is stopped or destroyed. */\nexport class SandboxNotRunningError extends SandboxError {\n override readonly name = \"SandboxNotRunningError\"\n}\n\n/** Command exceeded its timeout and was killed. */\nexport class SandboxTimeoutError extends SandboxError {\n override readonly name = \"SandboxTimeoutError\"\n}\n\n/** Requested isolation backend is not available on the host. */\nexport class SandboxIsolationUnavailableError extends SandboxError {\n override readonly name = \"SandboxIsolationUnavailableError\"\n}\n",
|
|
6
|
+
"import { isPlainRecord } from \"../json\"\nimport type { OntologyRegistry } from \"../ontology/registry\"\nimport { assertValidSchema } from \"../ontology/validation/definition\"\nimport type { Sixb } from \"../runtime/sixb\"\nimport type { InferParams, ParamsConfig } from \"../shared/params/types\"\nimport { coerceParamsToTyped, normalizeParams } from \"../shared/params/validation\"\nimport type { SandboxSourceAuth } from \"./auth\"\nimport { SandboxError } from \"./errors\"\nimport type { SandboxNetworkPolicy } from \"./sandbox\"\n\n/** Static recipes accept an empty parameter record, not arbitrary undeclared keys. */\nexport type InferSandboxParams<TParams extends ParamsConfig> = keyof TParams extends never\n ? Record<string, never>\n : InferParams<TParams>\n\n/** Initial project contents, independent from the provider's runtime image or saved state. */\nexport interface SandboxSource {\n readonly type: \"git\"\n readonly url: string\n readonly revision?: string\n readonly access?: \"read\" | \"write\"\n}\n\n/** Host-side recipe. Environment values are guest-readable, never a Git credential channel. */\nexport interface SandboxEnvironment {\n readonly source?: SandboxSource\n readonly setup?: readonly string[]\n readonly env?: Readonly<Record<string, string>>\n readonly network?: SandboxNetworkPolicy\n}\n\nexport interface SandboxResolveContext<TParams = Record<string, unknown>> {\n readonly params: TParams\n /** Bound to the current execution; a stored binding is not authorization. */\n readonly sixb: Sixb\n}\n\n// The recipe both declares and consumes this schema: keep it invariant instead of asking\n// TypeScript to compare the recursive ontology inference through callback variance.\n// Provider option interfaces must preserve this annotation when extending the config.\nexport interface SandboxConfig<in out TParams extends ParamsConfig = ParamsConfig>\n extends SandboxEnvironment {\n readonly auth?: SandboxSourceAuth\n readonly params?: TParams\n readonly resolve?: (\n context: SandboxResolveContext<InferParams<NoInfer<TParams>>>\n ) => SandboxEnvironment | Promise<SandboxEnvironment>\n}\n\n/** Registered project recipe; only thread params cross the durable boundary. */\nexport interface SandboxDefinition {\n readonly auth?: SandboxSourceAuth\n readonly params: ParamsConfig\n readonly resolve: (context: SandboxResolveContext) => Promise<SandboxEnvironment>\n}\n\nexport function createSandboxDefinition<TParams extends ParamsConfig>(\n config: SandboxConfig<TParams>,\n ontology: OntologyRegistry\n): SandboxDefinition {\n const raw: unknown = config\n if (\n !isPlainRecord(raw) ||\n (config.params !== undefined && !isPlainRecord(raw.params)) ||\n (config.resolve !== undefined && typeof config.resolve !== \"function\")\n ) {\n throw new SandboxError(\n \"[Sixb] Sandbox configuration requires a params object and a callable resolver when provided.\"\n )\n }\n for (const key of Object.keys(config)) {\n if (![\"params\", \"resolve\", \"source\", \"setup\", \"env\", \"network\", \"auth\"].includes(key)) {\n throw new SandboxError(\"[Sixb] Unknown sandbox configuration field.\")\n }\n }\n if (config.auth !== undefined && typeof config.auth?.authorize !== \"function\") {\n throw new SandboxError(\"[Sixb] sandboxes.auth requires an authorize function.\")\n }\n if (config.params !== undefined && config.resolve === undefined) {\n throw new SandboxError(\"[Sixb] Sandbox params require a resolve function.\")\n }\n if (config.resolve !== undefined && (config.source !== undefined || config.setup !== undefined)) {\n throw new SandboxError(\"[Sixb] Use either static source/setup or resolve, not both.\")\n }\n const invalid = (path: string) =>\n new SandboxError(`[Sixb] ${path} must be a valid parameter declaration; use param(schema).`)\n for (const [id, value] of Object.entries(config.params ?? {})) {\n const path = `sandboxes.params.${id}`\n if (!id.trim() || !isPlainRecord(value)) throw invalid(path)\n for (const key of Object.keys(value)) {\n if (![\"schema\", \"required\", \"nullable\", \"description\", \"semanticType\"].includes(key)) {\n throw invalid(path)\n }\n }\n if (\n (value.required !== undefined && typeof value.required !== \"boolean\") ||\n (value.nullable !== undefined && typeof value.nullable !== \"boolean\") ||\n (value.description !== undefined && typeof value.description !== \"string\") ||\n (value.semanticType !== undefined && typeof value.semanticType !== \"string\")\n )\n throw invalid(path)\n const schema: unknown = value.schema\n if (isPlainRecord(schema) && schema.type === \"objectRef\") {\n if (\n typeof schema.objectTypeId !== \"string\" ||\n !ontology.getObjectTypesById().has(schema.objectTypeId)\n ) {\n throw invalid(path)\n }\n } else {\n assertValidSchema(schema, `${path}.schema`, invalid)\n }\n }\n const params = structuredClone(config.params ?? {}) as ParamsConfig\n const environment = captureEnvironment({\n ...(config.source === undefined ? {} : { source: config.source }),\n ...(config.setup === undefined ? {} : { setup: config.setup }),\n ...(config.env === undefined ? {} : { env: config.env }),\n ...(config.network === undefined ? {} : { network: config.network }),\n })\n // Capture the function too: later mutation of application config must not change this host.\n // Erase inference only after capturing its schema; every invocation validates and coerces below.\n const resolve = config.resolve as SandboxConfig[\"resolve\"]\n const authorize = config.auth?.authorize.bind(config.auth)\n deepFreeze(params)\n return Object.freeze({\n params,\n ...(authorize ? { auth: Object.freeze({ authorize }) } : {}),\n resolve: async ({ params: input, sixb }: SandboxResolveContext) => {\n const binding = normalizeParams(ontology.getValueTypesById(), params, input, {\n kind: \"sandbox\",\n id: \"sandboxes\",\n path: \"sandbox\",\n })\n const typed = coerceParamsToTyped(params, binding, ontology.getValueTypesById())\n if (!resolve) return structuredClone(environment)\n const resolved = captureEnvironment(await resolve({ params: typed, sixb }))\n return {\n ...structuredClone(environment),\n ...resolved,\n env: { ...environment.env, ...resolved.env },\n }\n },\n })\n}\n\n/** Capture declarative data only; never retain caller-owned objects or include values in errors. */\nexport function captureEnvironment(value: unknown): SandboxEnvironment {\n if (\n !isPlainRecord(value) ||\n Object.keys(value).some((key) => ![\"source\", \"setup\", \"env\", \"network\"].includes(key))\n ) {\n return fail(\"environment\")\n }\n if (value.source !== undefined) validateSource(value.source)\n if (value.setup !== undefined) validateSetup(value.setup)\n if (value.env !== undefined) validateEnv(value.env)\n if (value.network !== undefined) validateNetwork(value.network)\n // Every field and discriminant has been checked above; return only an isolated snapshot.\n return structuredClone(value) as SandboxEnvironment\n}\n\nfunction fail(field: string): never {\n throw new SandboxError(`[Sixb] Invalid sandbox ${field}.`)\n}\n\nfunction validateSource(source: unknown): void {\n if (\n !isPlainRecord(source) ||\n source.type !== \"git\" ||\n typeof source.url !== \"string\" ||\n Object.keys(source).some((key) => ![\"type\", \"url\", \"revision\", \"access\"].includes(key))\n ) {\n fail(\"source\")\n }\n const url = parseUrl(source.url, \"source URL\")\n if (url.protocol !== \"https:\" || url.username || url.password || url.search || url.hash) {\n fail(\"source URL: expected credential-free HTTPS\")\n }\n if (\n source.revision !== undefined &&\n (typeof source.revision !== \"string\" ||\n !source.revision.trim() ||\n source.revision.startsWith(\"-\") ||\n /[\\x00-\\x1f]/.test(source.revision))\n ) {\n fail(\"source revision\")\n }\n if (source.access !== undefined && source.access !== \"read\" && source.access !== \"write\") {\n fail(\"source access\")\n }\n}\n\nfunction validateSetup(setup: unknown): void {\n if (\n !Array.isArray(setup) ||\n setup.some(\n (command) => typeof command !== \"string\" || !command.trim() || command.includes(\"\\0\")\n )\n ) {\n fail(\"setup\")\n }\n}\n\nfunction validateEnv(env: unknown): void {\n if (\n !isPlainRecord(env) ||\n Object.entries(env).some(\n ([key, entry]) =>\n !key || /[=\\0]/.test(key) || typeof entry !== \"string\" || entry.includes(\"\\0\")\n )\n ) {\n fail(\"env\")\n }\n}\n\nfunction validateNetwork(network: unknown): void {\n if (!isPlainRecord(network)) fail(\"network\")\n if (network.mode === \"restricted\") {\n if (\n Object.keys(network).some((key) => key !== \"mode\" && key !== \"allow\") ||\n !Array.isArray(network.allow)\n ) {\n fail(\"network\")\n }\n for (const target of network.allow) validateNetworkTarget(target)\n return\n }\n if (\n (network.mode !== \"none\" && network.mode !== \"all\") ||\n Object.keys(network).some((key) => key !== \"mode\")\n ) {\n fail(\"network\")\n }\n}\n\nfunction validateNetworkTarget(target: unknown): void {\n if (\n !isPlainRecord(target) ||\n typeof target.name !== \"string\" ||\n !target.name.trim() ||\n typeof target.origin !== \"string\" ||\n Object.keys(target).some((key) => key !== \"name\" && key !== \"origin\")\n ) {\n fail(\"network target\")\n }\n const url = parseUrl(target.origin, \"network origin\")\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.origin !== target.origin) {\n fail(\"network origin\")\n }\n}\n\nfunction parseUrl(value: string, field: string): URL {\n try {\n return new URL(value)\n } catch {\n return fail(field)\n }\n}\n\nfunction deepFreeze(value: object, seen = new Set<object>()): void {\n if (seen.has(value)) return\n seen.add(value)\n for (const child of Object.values(value)) {\n if (child !== null && typeof child === \"object\") deepFreeze(child, seen)\n }\n Object.freeze(value)\n}\n",
|
|
7
|
+
"import type { ParamsConfig } from \"../shared/params/types\"\nimport { captureEnvironment, type SandboxConfig } 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 = captureEnvironment({\n ...(options.source === undefined ? {} : { source: options.source }),\n ...(options.setup === undefined ? {} : { setup: options.setup }),\n ...(options.env === undefined ? {} : { env: options.env }),\n ...(options.network === undefined ? {} : { network: options.network }),\n })\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",
|
|
8
|
+
"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",
|
|
9
|
+
"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"
|
|
10
|
+
],
|
|
11
|
+
"mappings": ";;;;;;;;;;;;;AAIO,MAAM,sBAAqB,MAAM;AAAA,EAC7B,OAAe;AAC1B;AAAA;AAGO,MAAM,sCAAqC,cAAa;AAAA,EAC3C,OAAO;AAC3B;AAAA;AAGO,MAAM,gCAA+B,cAAa;AAAA,EACrC,OAAO;AAC3B;AAAA;AAGO,MAAM,6BAA4B,cAAa;AAAA,EAClC,OAAO;AAC3B;AAAA;AAGO,MAAM,0CAAyC,cAAa;AAAA,EAC/C,OAAO;AAC3B;;;AC8BO,SAAS,uBAAqD,CACnE,QACA,UACmB;AAAA,EACnB,MAAM,MAAe;AAAA,EACrB,IACE,CAAC,cAAc,GAAG,KACjB,OAAO,WAAW,aAAa,CAAC,cAAc,IAAI,MAAM,KACxD,OAAO,YAAY,aAAa,OAAO,OAAO,YAAY,YAC3D;AAAA,IACA,MAAM,IAAI,cACR,8FACF;AAAA,EACF;AAAA,EACA,WAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AAAA,IACrC,IAAI,CAAC,CAAC,UAAU,WAAW,UAAU,SAAS,OAAO,WAAW,MAAM,EAAE,SAAS,GAAG,GAAG;AAAA,MACrF,MAAM,IAAI,cAAa,6CAA6C;AAAA,IACtE;AAAA,EACF;AAAA,EACA,IAAI,OAAO,SAAS,aAAa,OAAO,OAAO,MAAM,cAAc,YAAY;AAAA,IAC7E,MAAM,IAAI,cAAa,uDAAuD;AAAA,EAChF;AAAA,EACA,IAAI,OAAO,WAAW,aAAa,OAAO,YAAY,WAAW;AAAA,IAC/D,MAAM,IAAI,cAAa,mDAAmD;AAAA,EAC5E;AAAA,EACA,IAAI,OAAO,YAAY,cAAc,OAAO,WAAW,aAAa,OAAO,UAAU,YAAY;AAAA,IAC/F,MAAM,IAAI,cAAa,6DAA6D;AAAA,EACtF;AAAA,EACA,MAAM,UAAU,CAAC,SACf,IAAI,cAAa,UAAU,gEAAgE;AAAA,EAC7F,YAAY,IAAI,UAAU,OAAO,QAAQ,OAAO,UAAU,CAAC,CAAC,GAAG;AAAA,IAC7D,MAAM,OAAO,oBAAoB;AAAA,IACjC,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,cAAc,KAAK;AAAA,MAAG,MAAM,QAAQ,IAAI;AAAA,IAC3D,WAAW,OAAO,OAAO,KAAK,KAAK,GAAG;AAAA,MACpC,IAAI,CAAC,CAAC,UAAU,YAAY,YAAY,eAAe,cAAc,EAAE,SAAS,GAAG,GAAG;AAAA,QACpF,MAAM,QAAQ,IAAI;AAAA,MACpB;AAAA,IACF;AAAA,IACA,IACG,MAAM,aAAa,aAAa,OAAO,MAAM,aAAa,aAC1D,MAAM,aAAa,aAAa,OAAO,MAAM,aAAa,aAC1D,MAAM,gBAAgB,aAAa,OAAO,MAAM,gBAAgB,YAChE,MAAM,iBAAiB,aAAa,OAAO,MAAM,iBAAiB;AAAA,MAEnE,MAAM,QAAQ,IAAI;AAAA,IACpB,MAAM,SAAkB,MAAM;AAAA,IAC9B,IAAI,cAAc,MAAM,KAAK,OAAO,SAAS,aAAa;AAAA,MACxD,IACE,OAAO,OAAO,iBAAiB,YAC/B,CAAC,SAAS,mBAAmB,EAAE,IAAI,OAAO,YAAY,GACtD;AAAA,QACA,MAAM,QAAQ,IAAI;AAAA,MACpB;AAAA,IACF,EAAO;AAAA,MACL,kBAAkB,QAAQ,GAAG,eAAe,OAAO;AAAA;AAAA,EAEvD;AAAA,EACA,MAAM,SAAS,gBAAgB,OAAO,UAAU,CAAC,CAAC;AAAA,EAClD,MAAM,cAAc,mBAAmB;AAAA,OACjC,OAAO,WAAW,YAAY,CAAC,IAAI,EAAE,QAAQ,OAAO,OAAO;AAAA,OAC3D,OAAO,UAAU,YAAY,CAAC,IAAI,EAAE,OAAO,OAAO,MAAM;AAAA,OACxD,OAAO,QAAQ,YAAY,CAAC,IAAI,EAAE,KAAK,OAAO,IAAI;AAAA,OAClD,OAAO,YAAY,YAAY,CAAC,IAAI,EAAE,SAAS,OAAO,QAAQ;AAAA,EACpE,CAAC;AAAA,EAGD,MAAM,UAAU,OAAO;AAAA,EACvB,MAAM,YAAY,OAAO,MAAM,UAAU,KAAK,OAAO,IAAI;AAAA,EACzD,WAAW,MAAM;AAAA,EACjB,OAAO,OAAO,OAAO;AAAA,IACnB;AAAA,OACI,YAAY,EAAE,MAAM,OAAO,OAAO,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC;AAAA,IAC1D,SAAS,SAAS,QAAQ,OAAO,WAAkC;AAAA,MACjE,MAAM,UAAU,gBAAgB,SAAS,kBAAkB,GAAG,QAAQ,OAAO;AAAA,QAC3E,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM;AAAA,MACR,CAAC;AAAA,MACD,MAAM,QAAQ,oBAAoB,QAAQ,SAAS,SAAS,kBAAkB,CAAC;AAAA,MAC/E,IAAI,CAAC;AAAA,QAAS,OAAO,gBAAgB,WAAW;AAAA,MAChD,MAAM,WAAW,mBAAmB,MAAM,QAAQ,EAAE,QAAQ,OAAO,KAAK,CAAC,CAAC;AAAA,MAC1E,OAAO;AAAA,WACF,gBAAgB,WAAW;AAAA,WAC3B;AAAA,QACH,KAAK,KAAK,YAAY,QAAQ,SAAS,IAAI;AAAA,MAC7C;AAAA;AAAA,EAEJ,CAAC;AAAA;AAII,SAAS,kBAAkB,CAAC,OAAoC;AAAA,EACrE,IACE,CAAC,cAAc,KAAK,KACpB,OAAO,KAAK,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,SAAS,OAAO,SAAS,EAAE,SAAS,GAAG,CAAC,GACrF;AAAA,IACA,OAAO,KAAK,aAAa;AAAA,EAC3B;AAAA,EACA,IAAI,MAAM,WAAW;AAAA,IAAW,eAAe,MAAM,MAAM;AAAA,EAC3D,IAAI,MAAM,UAAU;AAAA,IAAW,cAAc,MAAM,KAAK;AAAA,EACxD,IAAI,MAAM,QAAQ;AAAA,IAAW,YAAY,MAAM,GAAG;AAAA,EAClD,IAAI,MAAM,YAAY;AAAA,IAAW,gBAAgB,MAAM,OAAO;AAAA,EAE9D,OAAO,gBAAgB,KAAK;AAAA;AAG9B,SAAS,IAAI,CAAC,OAAsB;AAAA,EAClC,MAAM,IAAI,cAAa,0BAA0B,QAAQ;AAAA;AAG3D,SAAS,cAAc,CAAC,QAAuB;AAAA,EAC7C,IACE,CAAC,cAAc,MAAM,KACrB,OAAO,SAAS,SAChB,OAAO,OAAO,QAAQ,YACtB,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,OAAO,YAAY,QAAQ,EAAE,SAAS,GAAG,CAAC,GACtF;AAAA,IACA,KAAK,QAAQ;AAAA,EACf;AAAA,EACA,MAAM,MAAM,SAAS,OAAO,KAAK,YAAY;AAAA,EAC7C,IAAI,IAAI,aAAa,YAAY,IAAI,YAAY,IAAI,YAAY,IAAI,UAAU,IAAI,MAAM;AAAA,IACvF,KAAK,4CAA4C;AAAA,EACnD;AAAA,EACA,IACE,OAAO,aAAa,cACnB,OAAO,OAAO,aAAa,YAC1B,CAAC,OAAO,SAAS,KAAK,KACtB,OAAO,SAAS,WAAW,GAAG,KAC9B,cAAc,KAAK,OAAO,QAAQ,IACpC;AAAA,IACA,KAAK,iBAAiB;AAAA,EACxB;AAAA,EACA,IAAI,OAAO,WAAW,aAAa,OAAO,WAAW,UAAU,OAAO,WAAW,SAAS;AAAA,IACxF,KAAK,eAAe;AAAA,EACtB;AAAA;AAGF,SAAS,aAAa,CAAC,OAAsB;AAAA,EAC3C,IACE,CAAC,MAAM,QAAQ,KAAK,KACpB,MAAM,KACJ,CAAC,YAAY,OAAO,YAAY,YAAY,CAAC,QAAQ,KAAK,KAAK,QAAQ,SAAS,MAAI,CACtF,GACA;AAAA,IACA,KAAK,OAAO;AAAA,EACd;AAAA;AAGF,SAAS,WAAW,CAAC,KAAoB;AAAA,EACvC,IACE,CAAC,cAAc,GAAG,KAClB,OAAO,QAAQ,GAAG,EAAE,KAClB,EAAE,KAAK,WACL,CAAC,OAAO,QAAQ,KAAK,GAAG,KAAK,OAAO,UAAU,YAAY,MAAM,SAAS,MAAI,CACjF,GACA;AAAA,IACA,KAAK,KAAK;AAAA,EACZ;AAAA;AAGF,SAAS,eAAe,CAAC,SAAwB;AAAA,EAC/C,IAAI,CAAC,cAAc,OAAO;AAAA,IAAG,KAAK,SAAS;AAAA,EAC3C,IAAI,QAAQ,SAAS,cAAc;AAAA,IACjC,IACE,OAAO,KAAK,OAAO,EAAE,KAAK,CAAC,QAAQ,QAAQ,UAAU,QAAQ,OAAO,KACpE,CAAC,MAAM,QAAQ,QAAQ,KAAK,GAC5B;AAAA,MACA,KAAK,SAAS;AAAA,IAChB;AAAA,IACA,WAAW,UAAU,QAAQ;AAAA,MAAO,sBAAsB,MAAM;AAAA,IAChE;AAAA,EACF;AAAA,EACA,IACG,QAAQ,SAAS,UAAU,QAAQ,SAAS,SAC7C,OAAO,KAAK,OAAO,EAAE,KAAK,CAAC,QAAQ,QAAQ,MAAM,GACjD;AAAA,IACA,KAAK,SAAS;AAAA,EAChB;AAAA;AAGF,SAAS,qBAAqB,CAAC,QAAuB;AAAA,EACpD,IACE,CAAC,cAAc,MAAM,KACrB,OAAO,OAAO,SAAS,YACvB,CAAC,OAAO,KAAK,KAAK,KAClB,OAAO,OAAO,WAAW,YACzB,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,QAAQ,QAAQ,UAAU,QAAQ,QAAQ,GACpE;AAAA,IACA,KAAK,gBAAgB;AAAA,EACvB;AAAA,EACA,MAAM,MAAM,SAAS,OAAO,QAAQ,gBAAgB;AAAA,EACpD,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,QAAQ,KAAK,IAAI,WAAW,OAAO,QAAQ;AAAA,IAC/E,KAAK,gBAAgB;AAAA,EACvB;AAAA;AAGF,SAAS,QAAQ,CAAC,OAAe,OAAoB;AAAA,EACnD,IAAI;AAAA,IACF,OAAO,IAAI,IAAI,KAAK;AAAA,IACpB,MAAM;AAAA,IACN,OAAO,KAAK,KAAK;AAAA;AAAA;AAIrB,SAAS,UAAU,CAAC,OAAe,OAAO,IAAI,KAAqB;AAAA,EACjE,IAAI,KAAK,IAAI,KAAK;AAAA,IAAG;AAAA,EACrB,KAAK,IAAI,KAAK;AAAA,EACd,WAAW,SAAS,OAAO,OAAO,KAAK,GAAG;AAAA,IACxC,IAAI,UAAU,QAAQ,OAAO,UAAU;AAAA,MAAU,WAAW,OAAO,IAAI;AAAA,EACzE;AAAA,EACA,OAAO,OAAO,KAAK;AAAA;;;ACrQd,SAAS,cAA2C,CACzD,SACwB;AAAA,EACxB,IAAI,QAAQ,SAAS,aAAa,OAAO,QAAQ,MAAM,cAAc,YAAY;AAAA,IAC/E,MAAM,IAAI,cAAa,uDAAuD;AAAA,EAChF;AAAA,EACA,MAAM,YAAY,QAAQ,MAAM,UAAU,KAAK,QAAQ,IAAI;AAAA,EAC3D,IAAI,QAAQ,WAAW,aAAa,QAAQ,YAAY,WAAW;AAAA,IACjE,MAAM,IAAI,cAAa,mDAAmD;AAAA,EAC5E;AAAA,EACA,IAAI,QAAQ,YAAY,aAAa,OAAO,QAAQ,YAAY,YAAY;AAAA,IAC1E,MAAM,IAAI,cAAa,4CAA4C;AAAA,EACrE;AAAA,EACA,IACE,QAAQ,YAAY,cACnB,QAAQ,WAAW,aAAa,QAAQ,UAAU,YACnD;AAAA,IACA,MAAM,IAAI,cAAa,6DAA6D;AAAA,EACtF;AAAA,EACA,MAAM,cAAc,mBAAmB;AAAA,OACjC,QAAQ,WAAW,YAAY,CAAC,IAAI,EAAE,QAAQ,QAAQ,OAAO;AAAA,OAC7D,QAAQ,UAAU,YAAY,CAAC,IAAI,EAAE,OAAO,QAAQ,MAAM;AAAA,OAC1D,QAAQ,QAAQ,YAAY,CAAC,IAAI,EAAE,KAAK,QAAQ,IAAI;AAAA,OACpD,QAAQ,YAAY,YAAY,CAAC,IAAI,EAAE,SAAS,QAAQ,QAAQ;AAAA,EACtE,CAAC;AAAA,EACD,OAAO,OAAO,OAAO;AAAA,OACf,YAAY,EAAE,MAAM,OAAO,OAAO,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC;AAAA,OACvD;AAAA,OACC,QAAQ,WAAW,YAAY,CAAC,IAAI,EAAE,QAAQ,gBAAgB,QAAQ,MAAM,EAAE;AAAA,OAC9E,QAAQ,YAAY,YAAY,CAAC,IAAI,EAAE,SAAS,QAAQ,QAAQ;AAAA,EACtE,CAAC;AAAA;;ACnCH;AAQO,SAAS,2BAAwD,CACtE,eACA,SAC8C;AAAA,EAC9C,IAAI,QAAQ,gBAAgB,aAAa,cAAc,YAAY,WAAW;AAAA,IAC5E,MAAM,IAAI,cACR,kFACF;AAAA,EACF;AAAA,EACA,MAAM,cAAc,mBAClB,QAAQ,gBAAgB,YACpB,QAAQ,cACR;AAAA,OACM,cAAc,WAAW,YAAY,CAAC,IAAI,EAAE,QAAQ,cAAc,OAAO;AAAA,OACzE,cAAc,UAAU,YAAY,CAAC,IAAI,EAAE,OAAO,cAAc,MAAM;AAAA,EAC5E,CACN;AAAA,EACA,IAAI,YAAY,QAAQ,aAAa,YAAY,YAAY,WAAW;AAAA,IACtE,MAAM,IAAI,cACR,0EACF;AAAA,EACF;AAAA,EACA,IAAI,YAAY,QAAQ;AAAA,IACtB,KACG,cAAc,SAAS,aAAa,YAAY,OAAO,WAAW,YACnE,CAAC,QAAQ,oBAAoB,QAC7B;AAAA,MACA,MAAM,IAAI,cACR,uFACF;AAAA,IACF;AAAA,IACA,MAAM,UAAU,QAAQ,WAAW,cAAc,WAAW,EAAE,MAAM,OAAO;AAAA,IAC3E,MAAM,SAAS,IAAI,IAAI,YAAY,OAAO,GAAG,EAAE;AAAA,IAC/C,IACE,QAAQ,SAAS,UAChB,QAAQ,SAAS,gBAAgB,CAAC,QAAQ,MAAM,KAAK,CAAC,WAAW,OAAO,WAAW,MAAM,GAC1F;AAAA,MACA,MAAM,IAAI,cAAa,yDAAyD;AAAA,IAClF;AAAA,EACF;AAAA,EACA,QAAQ,QAAQ,eAAe;AAAA,EAC/B,OAAO;AAAA;AAIF,SAAS,wBAAuB,CAAC,SAAkB,WAA6B;AAAA,EACrF,IAAI,CAAC;AAAA,IAAW,OAAO;AAAA,EACvB,MAAM,mBAAmB,MAAM,KAAK,QAAQ,kBAAkB,YAAY;AAAA,EAC1E,OAAO;AAAA,IACL,IAAI,QAAQ;AAAA,IACZ,UAAU,QAAQ;AAAA,QACd,MAAM,GAAG;AAAA,MACX,OAAO,QAAQ;AAAA;AAAA,IAEjB;AAAA,OACI,QAAQ,wBACR,EAAE,uBAAuB,QAAQ,sBAAsB,KAAK,OAAO,EAAE,IACrE,CAAC;AAAA,IACL,YAAY,CAAC,SAAS,MAAM,YAC1B,QAAQ,WAAW,SAAS,MAAM,KAAK,SAAS,KAAK,SAAS,OAAO,iBAAiB,CAAC;AAAA,IACzF,YAAY,CAAC,UACX,QAAQ,WACN,MAAM,IAAI,CAAC,UAAU;AAAA,SAChB;AAAA,MACH,MAAM,MAAM,WAAW,KAAK,IAAI,IAAI,KAAK,OAAO,MAAM,KAAK,kBAAkB,KAAK,IAAI;AAAA,IACxF,EAAE,CACJ;AAAA,IACF,MAAM,MAAM,QAAQ,KAAK;AAAA,IACzB,SAAS,MAAM,QAAQ,QAAQ;AAAA,EACjC;AAAA;AAMF,eAAsB,6BAA4B,CAChD,SACA,aACA,QACkB;AAAA,EAClB,cAAc,mBAAmB,WAAW;AAAA,EAC5C,MAAM,MAAM,OAAO,SAAkB,SAAiB,SAA4B;AAAA,IAChF,QAAQ,eAAe;AAAA,IACvB,MAAM,SAAS,MAAM,QAAQ,WAAW,SAAS,MAAM,EAAE,SAAS,QAAS,OAAO,CAAC;AAAA,IACnF,IAAI,OAAO,aAAa,KAAK,OAAO,UAAU;AAAA,MAC5C,MAAM,IAAI,cAAa,mDAAmD;AAAA,IAC5E;AAAA;AAAA,EAEF,QAAQ,eAAe;AAAA,EACvB,MAAM,UAAU,yBAAwB,SAAS,YAAY,WAAW,SAAS;AAAA,EACjF,IAAI,YAAY,QAAQ;AAAA,IACtB,MAAM,IAAI,SAAS,OAAO,CAAC,SAAS,MAAM,YAAY,OAAO,KAAK,YAAY,CAAC;AAAA,IAC/E,IAAI,YAAY,OAAO,UAAU;AAAA,MAC/B,MAAM,IAAI,SAAS,OAAO,CAAC,YAAY,YAAY,OAAO,UAAU,IAAI,CAAC;AAAA,IAC3E;AAAA,EACF;AAAA,EACA,WAAW,WAAW,YAAY,SAAS,CAAC;AAAA,IAAG,MAAM,IAAI,SAAS,QAAQ,CAAC,OAAO,OAAO,CAAC;AAAA,EAC1F,OAAO;AAAA;;AC/FT,IAAM,yBAAyB;AAS/B,eAAsB,KAAI,CAAC,SAA8C;AAAA,EACvE,MAAM,QAAQ,KAAK,IAAI;AAAA,EAEvB,OAAO,SAAS,QAAQ,QAAQ;AAAA,EAChC,IAAI,CAAC,MAAM;AAAA,IACT,OAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EAEA,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG;AAAA,MAChC,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AAAA,MACb,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV,CAAC;AAAA,IACD,OAAO,OAAO;AAAA,IACd,OAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,MAC7D,YAAY,KAAK,IAAI,IAAI;AAAA,IAC3B;AAAA;AAAA,EAGF,IAAI,WAAW;AAAA,EACf,IAAI,SAAS;AAAA,EAEb,MAAM,QACJ,QAAQ,cAAc,aAAa,QAAQ,YAAY,IACnD,WAAW,MAAM;AAAA,IACf,WAAW;AAAA,IACX,SAAS;AAAA,IACT,KAAK,KAAK,SAAS;AAAA,KAClB,QAAQ,SAAS,IACpB;AAAA,EAEN,MAAM,UAAU,MAAY;AAAA,IAC1B,IAAI,CAAC,QAAQ;AAAA,MACX,SAAS;AAAA,MACT,KAAK,KAAK,SAAS;AAAA,IACrB;AAAA;AAAA,EAEF,QAAQ,QAAQ,iBAAiB,SAAS,OAAO;AAAA,EACjD,IAAI,QAAQ,QAAQ,SAAS;AAAA,IAC3B,QAAQ;AAAA,EACV;AAAA,EAEA,IAAI,SAAS;AAAA,EACb,IAAI,SAAS;AAAA,EACb,IAAI,WAAW;AAAA,EACf,IAAI;AAAA,IACF,OAAO,YAAY,YAAY,QAAQ,MAAM,QAAQ,IAAI;AAAA,MACvD,IAAI,SAAS,KAAK,MAAoC,EAAE,KAAK;AAAA,MAC7D,IAAI,SAAS,KAAK,MAAoC,EAAE,KAAK;AAAA,MAC7D,KAAK;AAAA,IACP,CAAC;AAAA,IACD,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW,OAAO,SAAS,WAAW,OAAO;AAAA,YAC7C;AAAA,IACA,IAAI,UAAU;AAAA,MAAW,aAAa,KAAK;AAAA,IAC3C,QAAQ,QAAQ,oBAAoB,SAAS,OAAO;AAAA;AAAA,EAGtD,IAAI,UAAU,aAAa,GAAG;AAAA,IAC5B,WAAW;AAAA,EACb;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY,KAAK,IAAI,IAAI;AAAA,OACrB,WAAW,EAAE,UAAU,KAAK,IAAI,CAAC;AAAA,EACvC;AAAA;",
|
|
12
|
+
"debugId": "C3376C4D866A438264756E2164756E21",
|
|
13
|
+
"names": []
|
|
14
|
+
}
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
import {
|
|
3
3
|
createSixbError2,
|
|
4
4
|
toSixbFailure2
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-rzkr70gr.js";
|
|
6
6
|
import {
|
|
7
7
|
reportRunFailure2
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-y6vnvayj.js";
|
|
9
9
|
import {
|
|
10
10
|
resolveExecutionScopeAuthorization,
|
|
11
11
|
assertAuthorized2
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-rzcjp5m2.js";
|
|
13
13
|
import {
|
|
14
14
|
PIPELINE_RUN_FAILURE_CODES2
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-gc226ten.js";
|
|
16
16
|
import {
|
|
17
17
|
PipelineRunError2
|
|
18
18
|
} from "./chunk-mmagke4x.js";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
executionRecordInputFromRuntime,
|
|
21
21
|
ensureExecutionRecord2,
|
|
22
22
|
createPrimitiveExecutionRecord
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-m8zkvep1.js";
|
|
24
24
|
|
|
25
25
|
// src/pipelines/errors.ts
|
|
26
26
|
class PipelineError2 extends Error {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
parseSixbFailure2
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-rzkr70gr.js";
|
|
5
5
|
import {
|
|
6
6
|
isPlainRecord
|
|
7
7
|
} from "./chunk-wy0qdqfm.js";
|
|
@@ -21,7 +21,8 @@ var ACTION_RUN_FAILURE_CODES2 = [
|
|
|
21
21
|
"internal.unexpected",
|
|
22
22
|
"runtime.cancelled",
|
|
23
23
|
"queue.enqueue_failed",
|
|
24
|
-
"action.phase_failed"
|
|
24
|
+
"action.phase_failed",
|
|
25
|
+
"action.read_conflict"
|
|
25
26
|
];
|
|
26
27
|
|
|
27
28
|
// src/storage/action-runs/failure.ts
|
|
@@ -56,4 +57,4 @@ function parseStoredActionRunFailureValue(value) {
|
|
|
56
57
|
|
|
57
58
|
export { ACTION_RUN_PHASES2, ACTION_RUN_FAILURE_CODES2, serializeActionRunFailure2, parseActionRunFailure2 };
|
|
58
59
|
|
|
59
|
-
//# debugId=
|
|
60
|
+
//# debugId=4C1D77261542AF7164756E2164756E21
|