@sixb/core 0.1.16 → 0.1.18
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/index.js +30 -27
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +1 -1
- package/dist/actions/types/context.d.ts +2 -2
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/validation.d.ts.map +1 -1
- package/dist/actions/worker.js +6 -2
- package/dist/actions/worker.js.map +3 -3
- package/dist/agents/adapters.d.ts +7 -0
- package/dist/agents/adapters.d.ts.map +1 -1
- package/dist/agents/authority.d.ts +7 -0
- package/dist/agents/authority.d.ts.map +1 -1
- package/dist/agents/context/entries.d.ts +10 -1
- package/dist/agents/context/entries.d.ts.map +1 -1
- package/dist/agents/context/index.d.ts +1 -1
- package/dist/agents/context/index.d.ts.map +1 -1
- package/dist/agents/context/index.js +4 -2
- package/dist/agents/context/index.js.map +1 -1
- package/dist/agents/context-compaction.d.ts.map +1 -1
- package/dist/agents/errors.d.ts +1 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/index.d.ts +6 -4
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +54 -46
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/message.d.ts +8 -1
- package/dist/agents/message.d.ts.map +1 -1
- package/dist/agents/request.d.ts +19 -5
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/skills.d.ts +41 -0
- package/dist/agents/skills.d.ts.map +1 -0
- package/dist/agents/streams/index.js +1 -1
- package/dist/agents/streams/internal.js +1 -1
- package/dist/agents/types.d.ts +33 -4
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/auth/index.js +9 -6
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/types.d.ts +6 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/index.js +5 -3
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/resolve.d.ts +1 -1
- package/dist/authorization/resolve.d.ts.map +1 -1
- package/dist/authorization/types.d.ts +7 -0
- package/dist/authorization/types.d.ts.map +1 -1
- package/dist/blob-storage/browser.js +1 -1
- package/dist/blob-storage/download-urls.d.ts +41 -0
- package/dist/blob-storage/download-urls.d.ts.map +1 -0
- package/dist/blob-storage/execution.d.ts +9 -1
- package/dist/blob-storage/execution.d.ts.map +1 -1
- package/dist/blob-storage/file-content.d.ts +18 -0
- package/dist/blob-storage/file-content.d.ts.map +1 -0
- package/dist/blob-storage/index.d.ts +1 -1
- package/dist/blob-storage/index.d.ts.map +1 -1
- package/dist/blob-storage/index.js +6 -4
- package/dist/blob-storage/index.js.map +1 -1
- package/dist/blob-storage/internal.d.ts +4 -0
- package/dist/blob-storage/internal.d.ts.map +1 -0
- package/dist/blob-storage/internal.js +23 -0
- package/dist/blob-storage/internal.js.map +9 -0
- package/dist/blob-storage/media-type.d.ts +8 -0
- package/dist/blob-storage/media-type.d.ts.map +1 -0
- package/dist/blob-storage/types.d.ts +12 -1
- package/dist/blob-storage/types.d.ts.map +1 -1
- package/dist/blob-storage/validation.d.ts +6 -0
- package/dist/blob-storage/validation.d.ts.map +1 -1
- package/dist/bootstrap/agent-context.d.ts +33 -0
- package/dist/bootstrap/agent-context.d.ts.map +1 -0
- package/dist/bootstrap/discovery.d.ts +23 -3
- package/dist/bootstrap/discovery.d.ts.map +1 -1
- package/dist/bootstrap/index.d.ts +2 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +287 -75
- package/dist/bootstrap/index.js.map +4 -3
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/{chunk-kttr5ftm.js → chunk-1b1f2d5f.js} +23 -6
- package/dist/chunk-1b1f2d5f.js.map +12 -0
- package/dist/{chunk-hgqpcmyr.js → chunk-1hqwggsn.js} +47 -19
- package/dist/chunk-1hqwggsn.js.map +12 -0
- package/dist/{chunk-9vx5e9g1.js → chunk-1sr8ryzk.js} +3 -3
- package/dist/chunk-1sr8ryzk.js.map +11 -0
- package/dist/{chunk-4gmng3vf.js → chunk-22v5bpz3.js} +1 -1
- package/dist/{chunk-tnvafr7g.js → chunk-29yx306f.js} +124 -9
- package/dist/chunk-29yx306f.js.map +22 -0
- package/dist/{chunk-fj1dvp37.js → chunk-2vhg6ysa.js} +1 -1
- package/dist/chunk-3zxk45er.js +152 -0
- package/dist/chunk-3zxk45er.js.map +11 -0
- package/dist/{chunk-gmdvns8f.js → chunk-48e3cn2d.js} +2 -2
- package/dist/{chunk-jgwb25gc.js → chunk-4as3wt1c.js} +13 -5
- package/dist/chunk-4as3wt1c.js.map +12 -0
- package/dist/{chunk-91kcnbf0.js → chunk-6gmfggss.js} +22 -9
- package/dist/chunk-6gmfggss.js.map +10 -0
- package/dist/{chunk-2xvgy3x5.js → chunk-6h5m9xjx.js} +43 -415
- package/dist/{chunk-2xvgy3x5.js.map → chunk-6h5m9xjx.js.map} +7 -11
- package/dist/{chunk-cq44v1a6.js → chunk-7hpdd6r9.js} +3 -3
- package/dist/{chunk-f85hpqnm.js → chunk-99nd4rc1.js} +3 -3
- package/dist/{chunk-f85hpqnm.js.map → chunk-99nd4rc1.js.map} +3 -3
- package/dist/chunk-b9affek3.js +261 -0
- package/dist/chunk-b9affek3.js.map +12 -0
- package/dist/{chunk-zvmr2hqk.js → chunk-bs7sqkre.js} +10 -4
- package/dist/chunk-bs7sqkre.js.map +12 -0
- package/dist/{chunk-rb143ggb.js → chunk-bwjcehza.js} +1 -1
- package/dist/{chunk-667x4drs.js → chunk-d0eb5yy6.js} +143 -7
- package/dist/chunk-d0eb5yy6.js.map +14 -0
- package/dist/chunk-d62kjtbg.js.map +2 -2
- package/dist/{chunk-gkxsenvp.js → chunk-de4z2bj6.js} +31 -7
- package/dist/{chunk-gkxsenvp.js.map → chunk-de4z2bj6.js.map} +5 -4
- package/dist/{chunk-mdnw7nj8.js → chunk-dnmadg9k.js} +35 -10
- package/dist/chunk-dnmadg9k.js.map +15 -0
- package/dist/chunk-enpsx8k5.js +127 -0
- package/dist/chunk-enpsx8k5.js.map +10 -0
- package/dist/{chunk-xnx96gfy.js → chunk-ere85b8y.js} +17 -8
- package/dist/chunk-ere85b8y.js.map +15 -0
- package/dist/{chunk-k4kkp58d.js → chunk-ewqa58h9.js} +12 -2
- package/dist/chunk-ewqa58h9.js.map +11 -0
- package/dist/{chunk-7g2gjvah.js → chunk-ex496vct.js} +1 -1
- package/dist/{chunk-nvymebc1.js → chunk-f1zxad2t.js} +1 -1
- package/dist/{chunk-3q7z9hd4.js → chunk-fe52eczz.js} +483 -101
- package/dist/chunk-fe52eczz.js.map +49 -0
- package/dist/{chunk-8x74221e.js → chunk-fx93hd2n.js} +79 -32
- package/dist/chunk-fx93hd2n.js.map +20 -0
- package/dist/{chunk-39tqv9hz.js → chunk-gc4ntf7d.js} +6 -7
- package/dist/{chunk-39tqv9hz.js.map → chunk-gc4ntf7d.js.map} +3 -4
- package/dist/chunk-h8teetr0.js +9 -0
- package/dist/chunk-h8teetr0.js.map +10 -0
- package/dist/{chunk-98cw09sw.js → chunk-hkc3jct7.js} +4 -2
- package/dist/chunk-hkc3jct7.js.map +10 -0
- package/dist/chunk-hn2r7z41.js.map +1 -1
- package/dist/{chunk-h044jb97.js → chunk-htr6wjmv.js} +282 -58
- package/dist/chunk-htr6wjmv.js.map +19 -0
- package/dist/{chunk-h3v76ams.js → chunk-jhm3zsa7.js} +25 -2
- package/dist/chunk-jhm3zsa7.js.map +12 -0
- package/dist/{chunk-chdg6eqq.js → chunk-k6hrnf35.js} +5 -5
- package/dist/chunk-k6hrnf35.js.map +10 -0
- package/dist/{chunk-a0073121.js → chunk-kpx7jrmn.js} +3 -1
- package/dist/chunk-kpx7jrmn.js.map +12 -0
- package/dist/{chunk-b9y8hcm2.js → chunk-mfs23znk.js} +1 -1
- package/dist/{chunk-kvysp909.js → chunk-ny3xyvcn.js} +32 -19
- package/dist/chunk-ny3xyvcn.js.map +17 -0
- package/dist/{chunk-h4138ww2.js → chunk-p0dqwj3n.js} +450 -799
- package/dist/chunk-p0dqwj3n.js.map +49 -0
- package/dist/{chunk-f72rbvsb.js → chunk-p844e0rn.js} +23 -8
- package/dist/chunk-p844e0rn.js.map +19 -0
- package/dist/{chunk-dmn70ztd.js → chunk-pfp1txq2.js} +25 -6
- package/dist/chunk-pfp1txq2.js.map +11 -0
- package/dist/chunk-pqajwytd.js.map +3 -3
- package/dist/{chunk-mr60an99.js → chunk-qczk96d9.js} +22 -2
- package/dist/{chunk-mr60an99.js.map → chunk-qczk96d9.js.map} +3 -3
- package/dist/{chunk-69kt9q43.js → chunk-qkbx3tf6.js} +17 -128
- package/dist/{chunk-69kt9q43.js.map → chunk-qkbx3tf6.js.map} +6 -7
- package/dist/{chunk-h866d223.js → chunk-qkvz64nd.js} +2 -2
- package/dist/{chunk-vsvrv7n8.js → chunk-qmnnhde6.js} +4 -8
- package/dist/{chunk-vsvrv7n8.js.map → chunk-qmnnhde6.js.map} +3 -3
- package/dist/{chunk-6z1q7j19.js → chunk-qq90g05n.js} +1128 -782
- package/dist/chunk-qq90g05n.js.map +66 -0
- package/dist/{chunk-40qb8wpe.js → chunk-qxvp5epv.js} +84 -29
- package/dist/{chunk-40qb8wpe.js.map → chunk-qxvp5epv.js.map} +10 -9
- package/dist/chunk-rdghfsss.js.map +2 -2
- package/dist/{chunk-s3csryxe.js → chunk-rj69qcrd.js} +8 -2
- package/dist/chunk-rj69qcrd.js.map +11 -0
- package/dist/{chunk-tkdbge6v.js → chunk-rt9p8m9t.js} +1 -1
- package/dist/{chunk-cd234ba4.js → chunk-rz53yb4v.js} +10 -5
- package/dist/chunk-rz53yb4v.js.map +14 -0
- package/dist/{chunk-a7ne02hk.js → chunk-s4jhg8a3.js} +351 -296
- package/dist/chunk-s4jhg8a3.js.map +15 -0
- package/dist/{chunk-69266efg.js → chunk-s54c868q.js} +12 -4
- package/dist/chunk-s54c868q.js.map +12 -0
- package/dist/{chunk-dsv8kdgk.js → chunk-tffvfy6s.js} +8 -7
- package/dist/{chunk-dsv8kdgk.js.map → chunk-tffvfy6s.js.map} +3 -3
- package/dist/{chunk-sbcm1b92.js → chunk-v6xpd60t.js} +3 -3
- package/dist/{chunk-nj0020ay.js → chunk-vgk3hknm.js} +1 -1
- package/dist/{chunk-qnd7ehe5.js → chunk-vx2yp45y.js} +2 -2
- package/dist/{chunk-vjqt7q3a.js → chunk-vz3gc1tm.js} +607 -45
- package/dist/chunk-vz3gc1tm.js.map +41 -0
- package/dist/{chunk-g4rbm4a6.js → chunk-wt4szfec.js} +379 -331
- package/dist/chunk-wt4szfec.js.map +14 -0
- package/dist/chunk-xt1zt7gv.js +471 -0
- package/dist/chunk-xt1zt7gv.js.map +13 -0
- package/dist/{chunk-swxzncrv.js → chunk-y05543x6.js} +51 -8
- package/dist/{chunk-swxzncrv.js.map → chunk-y05543x6.js.map} +5 -5
- package/dist/{chunk-zdkcdshk.js → chunk-y9jmd7e5.js} +41 -3
- package/dist/{chunk-zdkcdshk.js.map → chunk-y9jmd7e5.js.map} +4 -3
- package/dist/{chunk-nkbev3tr.js → chunk-yv9czyfr.js} +3 -3
- package/dist/{chunk-z5rnrmz1.js → chunk-yw9pyg66.js} +5 -3
- package/dist/chunk-yw9pyg66.js.map +11 -0
- package/dist/{chunk-cxj8y8t0.js → chunk-za5yd58j.js} +2 -2
- package/dist/{chunk-zb47r1c8.js → chunk-zb77kjth.js} +3 -3
- package/dist/{chunk-dp7yk20b.js → chunk-zxawp1n2.js} +1 -1
- package/dist/datasets/builders.d.ts +12 -1
- package/dist/datasets/builders.d.ts.map +1 -1
- package/dist/datasets/execution.d.ts +27 -1
- package/dist/datasets/execution.d.ts.map +1 -1
- package/dist/datasets/index.d.ts +1 -1
- package/dist/datasets/index.d.ts.map +1 -1
- package/dist/datasets/types.d.ts +2 -0
- package/dist/datasets/types.d.ts.map +1 -1
- package/dist/datasets/write.d.ts +5 -0
- package/dist/datasets/write.d.ts.map +1 -1
- package/dist/datasets/write.js +10 -5
- package/dist/datasets/write.js.map +1 -1
- package/dist/edits/properties.d.ts.map +1 -1
- package/dist/events/execution.d.ts +2 -1
- package/dist/events/execution.d.ts.map +1 -1
- package/dist/events/types/objects.d.ts +5 -0
- package/dist/events/types/objects.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +10 -0
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +49 -43
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +9 -2
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/primitive.js +45 -41
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.js +46 -42
- package/dist/execution/request.js.map +2 -2
- package/dist/http/api-routes.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/index.d.ts +16 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -71
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts +5 -1
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.d.ts +1 -1
- package/dist/lake-storage/index.d.ts.map +1 -1
- package/dist/lake-storage/index.js +8 -5
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/types.d.ts +26 -0
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts +5 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/maintenance/types.d.ts +1 -4
- package/dist/maintenance/types.d.ts.map +1 -1
- package/dist/materialization/event-envelopes.d.ts +20 -0
- package/dist/materialization/event-envelopes.d.ts.map +1 -0
- package/dist/materialization/events.d.ts +29 -3
- package/dist/materialization/events.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +4 -1
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +9 -3
- package/dist/materialization/index.js.map +1 -1
- package/dist/materializer/edits/plan.d.ts +2 -10
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/effective/build-events.d.ts +5 -21
- package/dist/materializer/effective/build-events.d.ts.map +1 -1
- package/dist/materializer/effective/vector-indexing.d.ts +2 -3
- package/dist/materializer/effective/vector-indexing.d.ts.map +1 -1
- package/dist/materializer/effective/vectors.d.ts +2 -3
- package/dist/materializer/effective/vectors.d.ts.map +1 -1
- package/dist/materializer/execution/scope.d.ts +1 -11
- package/dist/materializer/execution/scope.d.ts.map +1 -1
- package/dist/materializer/execution/work-executor.d.ts +5 -7
- package/dist/materializer/execution/work-executor.d.ts.map +1 -1
- package/dist/materializer/execution/work-records.d.ts +1 -3
- package/dist/materializer/execution/work-records.d.ts.map +1 -1
- package/dist/materializer/index.js +35 -33
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/projections/replace.d.ts.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts +8 -11
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/shared/batching.d.ts +5 -0
- package/dist/materializer/shared/batching.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts +2 -8
- package/dist/materializer/telemetry/plan.d.ts.map +1 -1
- package/dist/models/audio/catalog.d.ts +20 -0
- package/dist/models/audio/catalog.d.ts.map +1 -0
- package/dist/models/audio/errors.d.ts +8 -0
- package/dist/models/audio/errors.d.ts.map +1 -0
- package/dist/models/audio/file.d.ts +9 -0
- package/dist/models/audio/file.d.ts.map +1 -0
- package/dist/models/audio/runtime.d.ts +8 -0
- package/dist/models/audio/runtime.d.ts.map +1 -0
- package/dist/models/audio/types.d.ts +60 -0
- package/dist/models/audio/types.d.ts.map +1 -0
- package/dist/models/catalog.d.ts +24 -2
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/definitions.d.ts +1 -1
- package/dist/models/definitions.d.ts.map +1 -1
- package/dist/models/events.d.ts +3 -0
- package/dist/models/events.d.ts.map +1 -1
- package/dist/models/execution/binding.d.ts +6 -0
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/index.js +27 -24
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-admission.d.ts +6 -1
- package/dist/models/execution/model-call-admission.d.ts.map +1 -1
- package/dist/models/execution/model-call-limits.d.ts.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +4 -0
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution/reranking.d.ts +4 -0
- package/dist/models/execution/reranking.d.ts.map +1 -0
- package/dist/models/execution/usage.d.ts.map +1 -1
- package/dist/models/execution.d.ts +2 -1
- 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 +7 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +6 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/language-model.d.ts +6 -0
- package/dist/models/language-model.d.ts.map +1 -1
- package/dist/models/pricing.d.ts +2 -2
- package/dist/models/pricing.d.ts.map +1 -1
- package/dist/models/reranking-model.d.ts +49 -0
- package/dist/models/reranking-model.d.ts.map +1 -0
- package/dist/objects/context/index.d.ts +1 -1
- package/dist/objects/context/index.d.ts.map +1 -1
- package/dist/objects/context/types.d.ts +6 -0
- package/dist/objects/context/types.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +2 -1
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +31 -27
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/materializer-adapter.d.ts.map +1 -1
- package/dist/objects/object/upsert-batch.d.ts.map +1 -1
- package/dist/objects/object/upsert.d.ts.map +1 -1
- package/dist/objects/property-clearance.d.ts +41 -0
- package/dist/objects/property-clearance.d.ts.map +1 -0
- package/dist/objects/query/executor.d.ts +5 -1
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +1 -1
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +27 -24
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +8 -1
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/planner.d.ts +1 -1
- package/dist/objects/query/planner.d.ts.map +1 -1
- package/dist/objects/query/primary-id.d.ts +7 -0
- package/dist/objects/query/primary-id.d.ts.map +1 -0
- package/dist/objects/query/reranking-executor.d.ts +13 -0
- package/dist/objects/query/reranking-executor.d.ts.map +1 -0
- package/dist/objects/query/reranking-limits.d.ts +3 -0
- package/dist/objects/query/reranking-limits.d.ts.map +1 -0
- package/dist/objects/query/reranking-query.d.ts +4 -0
- package/dist/objects/query/reranking-query.d.ts.map +1 -0
- package/dist/objects/query/validate.d.ts +10 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/file-handle.d.ts +6 -0
- package/dist/objects/sdk/file-handle.d.ts.map +1 -0
- package/dist/objects/sdk/object-handle.d.ts +2 -2
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts +2 -0
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-builder.d.ts +8 -0
- package/dist/objects/sdk/query-builder.d.ts.map +1 -1
- package/dist/objects/sdk/query-executor.d.ts +2 -2
- 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/vectors/indexing-dispatch.d.ts +21 -0
- package/dist/objects/vectors/indexing-dispatch.d.ts.map +1 -0
- package/dist/objects/vectors/query.d.ts.map +1 -1
- package/dist/ontology/builders.d.ts +12 -1
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/docs-markdown.d.ts +35 -0
- package/dist/ontology/docs-markdown.d.ts.map +1 -0
- package/dist/ontology/docs.d.ts +50 -0
- package/dist/ontology/docs.d.ts.map +1 -0
- package/dist/ontology/index.d.ts +1 -1
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +7 -4
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +19 -0
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +3 -1
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +276 -3
- package/dist/ontology/internal.js.map +4 -3
- package/dist/ontology/query-capabilities.d.ts +1 -0
- package/dist/ontology/query-capabilities.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +8 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +25 -0
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/validation/index.d.ts +1 -1
- package/dist/ontology/validation/index.d.ts.map +1 -1
- package/dist/ontology/validation/query.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts +7 -0
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/pipelines/index.js +29 -26
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +27 -24
- package/dist/projections/internal.js.map +1 -1
- package/dist/query.d.ts +4 -2
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +3 -0
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +4 -0
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +11 -2
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/definitions.d.ts +3 -1
- package/dist/runtime/definitions.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +14 -2
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +1 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +32 -27
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/locale.d.ts +9 -0
- package/dist/runtime/locale.d.ts.map +1 -0
- package/dist/runtime/public-origin.d.ts +10 -0
- package/dist/runtime/public-origin.d.ts.map +1 -0
- package/dist/runtime/resolve-definitions.d.ts +4 -2
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +1 -0
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +42 -5
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/index.js +7 -6
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/scheduler/index.js +1 -1
- package/dist/scheduler/runtime.d.ts +3 -0
- package/dist/scheduler/runtime.d.ts.map +1 -1
- package/dist/security/builders.d.ts +11 -2
- package/dist/security/builders.d.ts.map +1 -1
- package/dist/security/index.d.ts +4 -4
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/markings.d.ts +19 -0
- package/dist/security/markings.d.ts.map +1 -0
- package/dist/security/redactions.d.ts +4 -0
- package/dist/security/redactions.d.ts.map +1 -0
- package/dist/security/registry.d.ts +7 -1
- package/dist/security/registry.d.ts.map +1 -1
- package/dist/security/types.d.ts +25 -0
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/validation.d.ts +4 -1
- package/dist/security/validation.d.ts.map +1 -1
- package/dist/shares/internal.js +24 -21
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +5 -4
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +15 -9
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +1 -0
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +3 -3
- package/dist/storage/ai-cost/types.d.ts +1 -1
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/validation.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +2 -2
- package/dist/storage/ai-limits/in-memory.d.ts.map +1 -1
- package/dist/storage/ai-limits/provider.d.ts +7 -2
- package/dist/storage/ai-limits/provider.d.ts.map +1 -1
- package/dist/storage/ai-limits/provider.js +4 -2
- package/dist/storage/ai-limits/provider.js.map +1 -1
- package/dist/storage/ai-limits/types.d.ts +3 -0
- package/dist/storage/ai-limits/types.d.ts.map +1 -1
- package/dist/storage/ai-usage/record.d.ts.map +1 -1
- package/dist/storage/ai-usage/types.d.ts +8 -4
- package/dist/storage/ai-usage/types.d.ts.map +1 -1
- package/dist/storage/ai-usage/usage.d.ts.map +1 -1
- package/dist/storage/file-download-grants/in-memory.d.ts +11 -0
- package/dist/storage/file-download-grants/in-memory.d.ts.map +1 -0
- package/dist/storage/file-download-grants/index.d.ts +3 -0
- package/dist/storage/file-download-grants/index.d.ts.map +1 -0
- package/dist/storage/file-download-grants/record.d.ts +11 -0
- package/dist/storage/file-download-grants/record.d.ts.map +1 -0
- package/dist/storage/file-download-grants/types.d.ts +44 -0
- package/dist/storage/file-download-grants/types.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/provider.js +10 -7
- package/dist/storage/file-upload-sessions/provider.js.map +1 -1
- package/dist/storage/in-memory/index.d.ts +4 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +6 -3
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +35 -32
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.d.ts +1 -0
- package/dist/storage/internal.d.ts.map +1 -1
- package/dist/storage/internal.js +9 -4
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/migrations/index.d.ts +1 -1
- package/dist/storage/migrations/index.d.ts.map +1 -1
- package/dist/storage/migrations/migrate-storage.d.ts +3 -3
- package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
- package/dist/storage/migrations/types.d.ts +7 -0
- package/dist/storage/migrations/types.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/query.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.map +1 -1
- package/dist/storage/objects/query-preparation.d.ts +39 -0
- package/dist/storage/objects/query-preparation.d.ts.map +1 -0
- package/dist/storage/objects/types.d.ts +9 -0
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/commits.d.ts +1 -6
- package/dist/storage/ontology/commits.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +4 -2
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations-state.d.ts +0 -2
- package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations-work.d.ts +1 -3
- package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +23 -57
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/outbox.d.ts +3 -2
- package/dist/storage/ontology/in-memory/outbox.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/replacement-plans.d.ts +104 -0
- package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/shared-state.d.ts +17 -2
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/source-roots.d.ts +3 -1
- package/dist/storage/ontology/in-memory/source-roots.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/sources.d.ts +1 -2
- package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/state-reader.d.ts +25 -0
- package/dist/storage/ontology/in-memory/state-reader.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +6 -3
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/materializations.d.ts +40 -59
- package/dist/storage/ontology/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/outbox.d.ts +4 -6
- package/dist/storage/ontology/outbox.d.ts.map +1 -1
- package/dist/storage/ontology/provider-work.d.ts +114 -3
- package/dist/storage/ontology/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +14 -39
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +26 -12
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/ontology/replacement-plans.d.ts +103 -0
- package/dist/storage/ontology/replacement-plans.d.ts.map +1 -0
- package/dist/storage/ontology/sources.d.ts +0 -8
- package/dist/storage/ontology/sources.d.ts.map +1 -1
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
- package/dist/storage/projection-runs/types.d.ts +2 -0
- package/dist/storage/projection-runs/types.d.ts.map +1 -1
- package/dist/storage/types.d.ts +2 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +10 -7
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +30 -27
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
- package/dist/testing/file-download-grant-storage-contract.d.ts +9 -0
- package/dist/testing/file-download-grant-storage-contract.d.ts.map +1 -0
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2556 -1495
- package/dist/testing/index.js.map +14 -13
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/materializer-storage-contract.d.ts +14 -0
- package/dist/testing/materializer-storage-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 +5 -1
- 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/projection-run-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +25 -22
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +15 -17
- package/dist/workers/index.js.map +3 -3
- package/dist/workers/queue-worker.d.ts +3 -2
- package/dist/workers/queue-worker.d.ts.map +1 -1
- package/dist/workflows/builders.d.ts.map +1 -1
- package/dist/workflows/index.js +51 -47
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/request.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +6 -3
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/validation.d.ts +2 -1
- package/dist/workflows/validation.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/actions/read-facade.ts +2 -1
- package/src/actions/types/context.ts +5 -2
- package/src/actions/validation.ts +4 -1
- package/src/agents/adapters.ts +15 -0
- package/src/agents/authority.ts +15 -0
- package/src/agents/context/entries.ts +48 -4
- package/src/agents/context/index.ts +1 -0
- package/src/agents/context-compaction.ts +6 -0
- package/src/agents/errors.ts +3 -0
- package/src/agents/index.ts +13 -1
- package/src/agents/message.ts +9 -0
- package/src/agents/request.ts +178 -22
- package/src/agents/skills.ts +63 -0
- package/src/agents/types.ts +35 -5
- package/src/auth/runtime.ts +14 -0
- package/src/auth/types.ts +6 -0
- package/src/authorization/resolve.ts +6 -1
- package/src/authorization/types.ts +7 -0
- package/src/blob-storage/download-urls.ts +138 -0
- package/src/blob-storage/execution.ts +44 -1
- package/src/blob-storage/file-content.ts +106 -0
- package/src/blob-storage/index.ts +1 -0
- package/src/blob-storage/internal.ts +8 -0
- package/src/blob-storage/media-type.ts +29 -0
- package/src/blob-storage/types.ts +13 -1
- package/src/blob-storage/validation.ts +13 -0
- package/src/bootstrap/agent-context.ts +356 -0
- package/src/bootstrap/discovery.ts +100 -33
- package/src/bootstrap/index.ts +1 -1
- package/src/bootstrap/ontology-type-manifest.ts +3 -38
- package/src/datasets/builders.ts +17 -1
- package/src/datasets/execution.ts +110 -2
- package/src/datasets/index.ts +7 -1
- package/src/datasets/types.ts +2 -0
- package/src/datasets/write.ts +21 -2
- package/src/edits/properties.ts +3 -0
- package/src/events/execution.ts +15 -16
- package/src/events/types/objects.ts +5 -0
- package/src/execution/agent.ts +27 -0
- package/src/execution/authorization.ts +1 -0
- package/src/execution/authorized-object-reader.ts +104 -35
- package/src/execution/scopes.ts +2 -6
- package/src/http/api-routes.ts +4 -3
- package/src/index.ts +52 -2
- package/src/lake-storage/in-memory.ts +38 -9
- package/src/lake-storage/index.ts +2 -0
- package/src/lake-storage/types.ts +30 -0
- package/src/maintenance/ontology-maintenance.ts +50 -23
- package/src/maintenance/types.ts +1 -4
- package/src/materialization/event-envelopes.ts +168 -0
- package/src/materialization/events.ts +40 -4
- package/src/materialization/index.ts +9 -1
- package/src/materializer/README.md +55 -10
- package/src/materializer/edits/commit.ts +3 -19
- package/src/materializer/edits/plan.ts +20 -71
- package/src/materializer/effective/build-events.ts +42 -136
- package/src/materializer/effective/vector-indexing.ts +2 -3
- package/src/materializer/effective/vectors.ts +2 -3
- package/src/materializer/execution/scope.ts +1 -38
- package/src/materializer/execution/work-executor.ts +21 -115
- package/src/materializer/execution/work-records.ts +0 -15
- package/src/materializer/projections/replace.ts +106 -63
- package/src/materializer/projections/replacement-plan.ts +73 -218
- package/src/materializer/shared/batching.ts +7 -0
- package/src/materializer/telemetry/append.ts +2 -14
- package/src/materializer/telemetry/plan.ts +6 -43
- package/src/models/audio/catalog.ts +90 -0
- package/src/models/audio/errors.ts +19 -0
- package/src/models/audio/file.ts +78 -0
- package/src/models/audio/runtime.ts +182 -0
- package/src/models/audio/types.ts +69 -0
- package/src/models/catalog.ts +78 -7
- package/src/models/definitions.ts +8 -1
- package/src/models/events.ts +3 -0
- package/src/models/execution/README.md +24 -4
- package/src/models/execution/binding.ts +6 -0
- package/src/models/execution/model-call-admission.ts +6 -1
- package/src/models/execution/model-call-limits.ts +21 -11
- package/src/models/execution/model-call-recorder.ts +11 -0
- package/src/models/execution/model-call-recovery.ts +1 -0
- package/src/models/execution/reranking.ts +137 -0
- package/src/models/execution/session.ts +2 -2
- package/src/models/execution/usage.ts +1 -0
- package/src/models/execution.ts +11 -3
- package/src/models/generation-types.ts +2 -0
- package/src/models/index.ts +32 -0
- package/src/models/language-model.ts +6 -0
- package/src/models/pricing.ts +2 -1
- package/src/models/reranking-model.ts +114 -0
- package/src/objects/context/index.ts +1 -0
- package/src/objects/context/types.ts +7 -0
- package/src/objects/execution.ts +4 -1
- package/src/objects/materializer-adapter.ts +3 -0
- package/src/objects/object/upsert-batch.ts +4 -1
- package/src/objects/object/upsert.ts +3 -1
- package/src/objects/property-clearance.ts +209 -0
- package/src/objects/query/executor.ts +85 -38
- package/src/objects/query/explain.ts +8 -0
- package/src/objects/query/index.ts +1 -0
- package/src/objects/query/ir.ts +10 -0
- package/src/objects/query/normalize.ts +2 -0
- package/src/objects/query/planner.ts +12 -1
- package/src/objects/query/primary-id.ts +56 -0
- package/src/objects/query/reranking-executor.ts +91 -0
- package/src/objects/query/reranking-limits.ts +3 -0
- package/src/objects/query/reranking-query.ts +8 -0
- package/src/objects/query/validate.ts +166 -15
- package/src/objects/sdk/file-handle.ts +77 -0
- package/src/objects/sdk/object-handle.ts +8 -4
- package/src/objects/sdk/object-set.ts +5 -2
- package/src/objects/sdk/query-builder.ts +15 -2
- package/src/objects/sdk/query-executor.ts +2 -2
- package/src/objects/sdk/runtime-query-executor.ts +7 -4
- package/src/objects/vectors/README.md +6 -2
- package/src/objects/vectors/indexing-dispatch.ts +83 -0
- package/src/objects/vectors/query.ts +3 -0
- package/src/ontology/builders.ts +19 -2
- package/src/ontology/docs-markdown.ts +394 -0
- package/src/ontology/docs.ts +196 -0
- package/src/ontology/index.ts +2 -0
- package/src/ontology/inference/index.ts +25 -0
- package/src/ontology/internal.ts +7 -0
- package/src/ontology/query-capabilities.ts +1 -1
- package/src/ontology/tokens.ts +13 -2
- package/src/ontology/types.ts +26 -0
- package/src/ontology/validation/index.ts +1 -0
- package/src/ontology/validation/query.ts +57 -0
- package/src/ontology/validation/schema.ts +26 -1
- package/src/query.ts +4 -0
- package/src/queues/in-memory.ts +54 -19
- package/src/queues/types.ts +4 -0
- package/src/runtime/create.ts +34 -4
- package/src/runtime/definitions.ts +3 -1
- package/src/runtime/host.ts +73 -2
- package/src/runtime/index.ts +4 -0
- package/src/runtime/internal.ts +1 -0
- package/src/runtime/locale.ts +26 -0
- package/src/runtime/public-origin.ts +33 -0
- package/src/runtime/resolve-definitions.ts +28 -1
- package/src/runtime/sixb.ts +14 -3
- package/src/runtime/types.ts +51 -5
- package/src/scheduler/runtime.ts +11 -2
- package/src/security/builders.ts +49 -5
- package/src/security/index.ts +6 -1
- package/src/security/markings.ts +313 -0
- package/src/security/redactions.ts +6 -0
- package/src/security/registry.ts +21 -1
- package/src/security/types.ts +26 -0
- package/src/security/validation.ts +59 -2
- package/src/storage/agents/provider.ts +11 -0
- package/src/storage/agents/types.ts +15 -7
- package/src/storage/ai-cost/analytics.ts +2 -0
- package/src/storage/ai-cost/codec.ts +2 -1
- package/src/storage/ai-cost/types.ts +1 -0
- package/src/storage/ai-cost/validation.ts +21 -8
- package/src/storage/ai-limits/in-memory.ts +10 -2
- package/src/storage/ai-limits/provider.ts +29 -2
- package/src/storage/ai-limits/types.ts +3 -0
- package/src/storage/ai-usage/record.ts +9 -0
- package/src/storage/ai-usage/types.ts +8 -4
- package/src/storage/ai-usage/usage.ts +2 -0
- package/src/storage/file-download-grants/in-memory.ts +73 -0
- package/src/storage/file-download-grants/index.ts +8 -0
- package/src/storage/file-download-grants/record.ts +47 -0
- package/src/storage/file-download-grants/types.ts +48 -0
- package/src/storage/in-memory/index.ts +13 -2
- package/src/storage/index.ts +32 -13
- package/src/storage/internal.ts +1 -0
- package/src/storage/migrations/index.ts +1 -0
- package/src/storage/migrations/migrate-storage.ts +36 -12
- package/src/storage/migrations/types.ts +8 -0
- package/src/storage/objects/in-memory/query.ts +2 -0
- package/src/storage/objects/in-memory/selected-reader.ts +1 -0
- package/src/storage/objects/in-memory/storage.ts +1 -0
- package/src/storage/objects/query-preparation.ts +77 -0
- package/src/storage/objects/types.ts +9 -0
- package/src/storage/ontology/commits.ts +1 -6
- package/src/storage/ontology/in-memory/index.ts +28 -9
- package/src/storage/ontology/in-memory/materializations-finalization.ts +35 -68
- package/src/storage/ontology/in-memory/materializations-state.ts +0 -22
- package/src/storage/ontology/in-memory/materializations-work.ts +0 -45
- package/src/storage/ontology/in-memory/materializations.ts +172 -653
- package/src/storage/ontology/in-memory/outbox.ts +37 -29
- package/src/storage/ontology/in-memory/replacement-plans.ts +697 -0
- package/src/storage/ontology/in-memory/shared-state.ts +24 -2
- package/src/storage/ontology/in-memory/source-roots.ts +7 -2
- package/src/storage/ontology/in-memory/sources.ts +7 -33
- package/src/storage/ontology/in-memory/state-reader.ts +245 -0
- package/src/storage/ontology/index.ts +19 -13
- package/src/storage/ontology/materializations.ts +45 -74
- package/src/storage/ontology/outbox.ts +4 -7
- package/src/storage/ontology/provider-header-validation.ts +0 -57
- package/src/storage/ontology/provider-work.ts +381 -90
- package/src/storage/ontology/provider.ts +74 -171
- package/src/storage/ontology/replacement-plans.ts +117 -0
- package/src/storage/ontology/sources.ts +0 -12
- package/src/storage/operation-scope.ts +33 -1
- package/src/storage/projection-runs/in-memory.ts +7 -1
- package/src/storage/projection-runs/types.ts +2 -0
- package/src/storage/types.ts +2 -0
- package/src/testing/ai-cost-storage-contract.ts +1 -0
- package/src/testing/ai-limit-storage-contract.ts +62 -0
- package/src/testing/ai-usage-storage-contract.ts +31 -0
- package/src/testing/file-download-grant-storage-contract.ts +139 -0
- package/src/testing/index.ts +4 -0
- package/src/testing/lake-storage-contract.ts +87 -1
- package/src/testing/materializer-storage-contract.ts +1008 -1
- package/src/testing/object-read-scope-contract.ts +1 -0
- package/src/testing/ontology-contract-fixture.ts +11 -87
- package/src/testing/ontology-storage-contract.ts +70 -39
- package/src/testing/projection-run-storage-contract.ts +14 -0
- package/src/testing/queues-contract.ts +59 -0
- package/src/workers/queue-worker.ts +19 -16
- package/src/workflows/builders.ts +24 -1
- package/src/workflows/request.ts +3 -0
- package/src/workflows/types.ts +6 -3
- package/src/workflows/validation.ts +32 -4
- package/dist/chunk-3q7z9hd4.js.map +0 -46
- package/dist/chunk-667x4drs.js.map +0 -12
- package/dist/chunk-69266efg.js.map +0 -12
- package/dist/chunk-6z1q7j19.js.map +0 -62
- package/dist/chunk-7ytf06d3.js +0 -113
- package/dist/chunk-7ytf06d3.js.map +0 -10
- package/dist/chunk-8x74221e.js.map +0 -20
- package/dist/chunk-91kcnbf0.js.map +0 -10
- package/dist/chunk-98cw09sw.js.map +0 -10
- package/dist/chunk-9vx5e9g1.js.map +0 -11
- package/dist/chunk-a0073121.js.map +0 -12
- package/dist/chunk-a7ne02hk.js.map +0 -15
- package/dist/chunk-cd234ba4.js.map +0 -14
- package/dist/chunk-chdg6eqq.js.map +0 -10
- package/dist/chunk-dmn70ztd.js.map +0 -11
- package/dist/chunk-f72rbvsb.js.map +0 -19
- package/dist/chunk-g4rbm4a6.js.map +0 -15
- package/dist/chunk-h044jb97.js.map +0 -15
- package/dist/chunk-h3v76ams.js.map +0 -11
- package/dist/chunk-h4138ww2.js.map +0 -50
- package/dist/chunk-hgqpcmyr.js.map +0 -12
- package/dist/chunk-jgwb25gc.js.map +0 -12
- package/dist/chunk-k4kkp58d.js.map +0 -11
- package/dist/chunk-kttr5ftm.js.map +0 -12
- package/dist/chunk-kvysp909.js.map +0 -17
- package/dist/chunk-mdnw7nj8.js.map +0 -15
- package/dist/chunk-s3csryxe.js.map +0 -11
- package/dist/chunk-tnvafr7g.js.map +0 -19
- package/dist/chunk-vjqt7q3a.js.map +0 -36
- package/dist/chunk-xnx96gfy.js.map +0 -15
- package/dist/chunk-z5rnrmz1.js.map +0 -11
- package/dist/chunk-zvmr2hqk.js.map +0 -12
- package/dist/materializer/execution/plan-stream.d.ts +0 -8
- package/dist/materializer/execution/plan-stream.d.ts.map +0 -1
- package/src/materializer/execution/plan-stream.ts +0 -121
- /package/dist/{chunk-4gmng3vf.js.map → chunk-22v5bpz3.js.map} +0 -0
- /package/dist/{chunk-fj1dvp37.js.map → chunk-2vhg6ysa.js.map} +0 -0
- /package/dist/{chunk-gmdvns8f.js.map → chunk-48e3cn2d.js.map} +0 -0
- /package/dist/{chunk-cq44v1a6.js.map → chunk-7hpdd6r9.js.map} +0 -0
- /package/dist/{chunk-rb143ggb.js.map → chunk-bwjcehza.js.map} +0 -0
- /package/dist/{chunk-7g2gjvah.js.map → chunk-ex496vct.js.map} +0 -0
- /package/dist/{chunk-nvymebc1.js.map → chunk-f1zxad2t.js.map} +0 -0
- /package/dist/{chunk-b9y8hcm2.js.map → chunk-mfs23znk.js.map} +0 -0
- /package/dist/{chunk-h866d223.js.map → chunk-qkvz64nd.js.map} +0 -0
- /package/dist/{chunk-tkdbge6v.js.map → chunk-rt9p8m9t.js.map} +0 -0
- /package/dist/{chunk-sbcm1b92.js.map → chunk-v6xpd60t.js.map} +0 -0
- /package/dist/{chunk-nj0020ay.js.map → chunk-vgk3hknm.js.map} +0 -0
- /package/dist/{chunk-qnd7ehe5.js.map → chunk-vx2yp45y.js.map} +0 -0
- /package/dist/{chunk-nkbev3tr.js.map → chunk-yv9czyfr.js.map} +0 -0
- /package/dist/{chunk-cxj8y8t0.js.map → chunk-za5yd58j.js.map} +0 -0
- /package/dist/{chunk-zb47r1c8.js.map → chunk-zb77kjth.js.map} +0 -0
- /package/dist/{chunk-dp7yk20b.js.map → chunk-zxawp1n2.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lake-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/lake-storage-contract.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEpE,MAAM,MAAM,oCAAoC,GAAG,QAAQ,GAAG,oBAAoB,CAAA;AAElF,MAAM,WAAW,+BAA+B,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW;IACzF,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,oCAAoC,CAAA;IAC/D;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AA2CD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,SAAS,WAAW,EACtE,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,IAAI,
|
|
1
|
+
{"version":3,"file":"lake-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/lake-storage-contract.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEpE,MAAM,MAAM,oCAAoC,GAAG,QAAQ,GAAG,oBAAoB,CAAA;AAElF,MAAM,WAAW,+BAA+B,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW;IACzF,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,oCAAoC,CAAA;IAC/D;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AA2CD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,SAAS,WAAW,EACtE,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,+BAA+B,CAAC,QAAQ,CAAC,GACjD,IAAI,CAg2BN"}
|
|
@@ -2,6 +2,20 @@ import { type Storage } from "..";
|
|
|
2
2
|
export interface MaterializerStorageContractProvider<TStorage extends Storage> {
|
|
3
3
|
readonly createStorage: () => TStorage | Promise<TStorage>;
|
|
4
4
|
readonly cleanup?: (storage: TStorage) => void | Promise<void>;
|
|
5
|
+
/** Write transactions run side by side instead of one after another. */
|
|
6
|
+
readonly concurrentTransactions?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Moves the transaction ids that commits and plans recorded far ahead of the store's own, as a
|
|
9
|
+
* logical restore from a cluster further along leaves them.
|
|
10
|
+
*/
|
|
11
|
+
readonly restoreFromClusterAhead?: (storage: TStorage) => Promise<void>;
|
|
12
|
+
/** How many entity touches of commits the store still records. */
|
|
13
|
+
readonly countCommitTouches: (storage: TStorage) => Promise<number>;
|
|
14
|
+
/**
|
|
15
|
+
* Deletes every commit touch as a purge that has not seen a plan opening yet would, leaving the
|
|
16
|
+
* record that they are gone. Only a store whose purge can race a plan's opening provides it.
|
|
17
|
+
*/
|
|
18
|
+
readonly losePlanTouchesToPurge?: (storage: TStorage) => Promise<void>;
|
|
5
19
|
}
|
|
6
20
|
export declare function runMaterializerStorageContractSuite<TStorage extends Storage>(name: string, provider: MaterializerStorageContractProvider<TStorage>): void;
|
|
7
21
|
//# sourceMappingURL=materializer-storage-contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materializer-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/materializer-storage-contract.ts"],"names":[],"mappings":"AACA,OAAO,EASL,KAAK,OAAO,EACb,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"materializer-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/materializer-storage-contract.ts"],"names":[],"mappings":"AACA,OAAO,EASL,KAAK,OAAO,EACb,MAAM,IAAI,CAAA;AA8BX,MAAM,WAAW,mCAAmC,CAAC,QAAQ,SAAS,OAAO;IAC3E,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,wEAAwE;IACxE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,kEAAkE;IAClE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACnE;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACvE;AA6FD,wBAAgB,mCAAmC,CAAC,QAAQ,SAAS,OAAO,EAC1E,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACtD,IAAI,CAokDN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-read-scope-contract.d.ts","sourceRoot":"","sources":["../../src/testing/object-read-scope-contract.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0B,gBAAgB,EAAQ,MAAM,aAAa,CAAA;AAC5E,OAAO,EAKL,KAAK,sBAAsB,EAI5B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAQ/C,MAAM,WAAW,8BAA8B,CAAC,QAAQ,SAAS,OAAO;IACtE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAA;CACxD;AAED,MAAM,WAAW,mCAAmC,CAAC,QAAQ,SAAS,OAAO;IAC3E,QAAQ,CAAC,aAAa,EAAE,MACpB,8BAA8B,CAAC,QAAQ,CAAC,GACxC,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChG;AAsDD,eAAO,MAAM,+BAA+B,kBAE1C,CAAA;AAOF;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,SAAS,OAAO,EACtE,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACrD,IAAI,
|
|
1
|
+
{"version":3,"file":"object-read-scope-contract.d.ts","sourceRoot":"","sources":["../../src/testing/object-read-scope-contract.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0B,gBAAgB,EAAQ,MAAM,aAAa,CAAA;AAC5E,OAAO,EAKL,KAAK,sBAAsB,EAI5B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAQ/C,MAAM,WAAW,8BAA8B,CAAC,QAAQ,SAAS,OAAO;IACtE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAA;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAA;CACxD;AAED,MAAM,WAAW,mCAAmC,CAAC,QAAQ,SAAS,OAAO;IAC3E,QAAQ,CAAC,aAAa,EAAE,MACpB,8BAA8B,CAAC,QAAQ,CAAC,GACxC,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChG;AAsDD,eAAO,MAAM,+BAA+B,kBAE1C,CAAA;AAOF;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,SAAS,OAAO,EACtE,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACrD,IAAI,CAumBN"}
|
|
@@ -38,5 +38,9 @@ export declare function commitExactObject(storage: OntologyContractStorage, id:
|
|
|
38
38
|
}): Promise<{
|
|
39
39
|
readonly eventId: string;
|
|
40
40
|
}>;
|
|
41
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Records the execution a contract commit runs under: a request, made on behalf of `requestedBy`
|
|
43
|
+
* when given. Its events read who asked and what wrote from this record.
|
|
44
|
+
*/
|
|
45
|
+
export declare function ensureContractExecution(storage: Pick<Storage, "executions">, header: MaterializationPlanHeader, requestedBy?: AuthorizablePrincipal): Promise<void>;
|
|
42
46
|
//# sourceMappingURL=ontology-contract-fixture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ontology-contract-fixture.d.ts","sourceRoot":"","sources":["../../src/testing/ontology-contract-fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,KAAK,EACV,yBAAyB,
|
|
1
|
+
{"version":3,"file":"ontology-contract-fixture.d.ts","sourceRoot":"","sources":["../../src/testing/ontology-contract-fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,KAAK,EACV,yBAAyB,EAEzB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,WAAW,uBAAwB,SAAQ,OAAO;IACtD,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;CACnC;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM;;;EAE1C;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,CAqBxE;AAED,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;AAE/D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAI;;;;;;;;;;;EAUlE;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjG;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,uBAAuB,EAChC,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IACP,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAA;CACxC,GACL,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAsDvC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EACpC,MAAM,EAAE,yBAAyB,EACjC,WAAW,CAAC,EAAE,qBAAqB,GAClC,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ontology-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/ontology-storage-contract.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAOL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAA;AAGpC,MAAM,WAAW,8BAA+B,SAAQ,uBAAuB;IAC7E,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C;AAED,MAAM,WAAW,mCAAmC,CAClD,QAAQ,SAAS,8BAA8B,GAAG,8BAA8B;IAEhF,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAkDD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,SAAS,8BAA8B,EAC7F,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACrD,IAAI,
|
|
1
|
+
{"version":3,"file":"ontology-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/ontology-storage-contract.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAOL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAA;AAGpC,MAAM,WAAW,8BAA+B,SAAQ,uBAAuB;IAC7E,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C;AAED,MAAM,WAAW,mCAAmC,CAClD,QAAQ,SAAS,8BAA8B,GAAG,8BAA8B;IAEhF,4FAA4F;IAC5F,QAAQ,CAAC,aAAa,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1D,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D;AAkDD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,SAAS,8BAA8B,EAC7F,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,GACrD,IAAI,CA65BN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection-run-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/projection-run-storage-contract.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAGV,oBAAoB,EAGrB,MAAM,4BAA4B,CAAA;AAEnC,MAAM,WAAW,mCAAmC,CAClD,QAAQ,SAAS,oBAAoB,GAAG,oBAAoB;IAE5D,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;CACtC;AAED,MAAM,WAAW,wCAAwC,CACvD,QAAQ,SAAS,oBAAoB,GAAG,oBAAoB;IAE5D,wFAAwF;IACxF,QAAQ,CAAC,aAAa,EAAE,MACpB,mCAAmC,CAAC,QAAQ,CAAC,GAC7C,OAAO,CAAC,mCAAmC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,CACjB,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,KACnD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAgDD,mFAAmF;AACnF,wBAAgB,oCAAoC,CAAC,QAAQ,SAAS,oBAAoB,EACxF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,wCAAwC,CAAC,QAAQ,CAAC,GAC1D,IAAI,
|
|
1
|
+
{"version":3,"file":"projection-run-storage-contract.d.ts","sourceRoot":"","sources":["../../src/testing/projection-run-storage-contract.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAGV,oBAAoB,EAGrB,MAAM,4BAA4B,CAAA;AAEnC,MAAM,WAAW,mCAAmC,CAClD,QAAQ,SAAS,oBAAoB,GAAG,oBAAoB;IAE5D,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;CACtC;AAED,MAAM,WAAW,wCAAwC,CACvD,QAAQ,SAAS,oBAAoB,GAAG,oBAAoB;IAE5D,wFAAwF;IACxF,QAAQ,CAAC,aAAa,EAAE,MACpB,mCAAmC,CAAC,QAAQ,CAAC,GAC7C,OAAO,CAAC,mCAAmC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,CACjB,OAAO,EAAE,mCAAmC,CAAC,QAAQ,CAAC,KACnD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAgDD,mFAAmF;AACnF,wBAAgB,oCAAoC,CAAC,QAAQ,SAAS,oBAAoB,EACxF,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,wCAAwC,CAAC,QAAQ,CAAC,GAC1D,IAAI,CAknBN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queues-contract.d.ts","sourceRoot":"","sources":["../../src/testing/queues-contract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgD,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAU3F,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACrD,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IACzC;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CACpC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"queues-contract.d.ts","sourceRoot":"","sources":["../../src/testing/queues-contract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgD,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAU3F,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACrD,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IACzC;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CACpC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAksB7F"}
|
|
@@ -1,37 +1,40 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import"../chunk-6fsr7y93.js";
|
|
3
3
|
import"../chunk-z3y5kg1x.js";
|
|
4
|
-
import"../chunk-
|
|
4
|
+
import"../chunk-enpsx8k5.js";
|
|
5
|
+
import"../chunk-qkbx3tf6.js";
|
|
5
6
|
import"../chunk-v4jbb3rs.js";
|
|
6
|
-
import"../chunk-
|
|
7
|
+
import"../chunk-jhm3zsa7.js";
|
|
8
|
+
import"../chunk-y05543x6.js";
|
|
7
9
|
import {
|
|
8
10
|
createConnectorCodedError,
|
|
9
11
|
getConnectorExecutionSourceResolver
|
|
10
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-f1zxad2t.js";
|
|
11
13
|
import"../chunk-y2aq6ag9.js";
|
|
12
14
|
import"../chunk-fc5zfxy1.js";
|
|
13
|
-
import"../chunk-
|
|
14
|
-
import"../chunk-
|
|
15
|
+
import"../chunk-6h5m9xjx.js";
|
|
16
|
+
import"../chunk-xt1zt7gv.js";
|
|
17
|
+
import"../chunk-rt9p8m9t.js";
|
|
15
18
|
import"../chunk-2jntasmh.js";
|
|
16
19
|
import"../chunk-pqajwytd.js";
|
|
17
|
-
import"../chunk-
|
|
20
|
+
import"../chunk-29yx306f.js";
|
|
18
21
|
import"../chunk-gfdh9kqa.js";
|
|
19
|
-
import"../chunk-
|
|
20
|
-
import"../chunk-
|
|
21
|
-
import"../chunk-
|
|
22
|
-
import"../chunk-
|
|
22
|
+
import"../chunk-gc4ntf7d.js";
|
|
23
|
+
import"../chunk-s54c868q.js";
|
|
24
|
+
import"../chunk-ere85b8y.js";
|
|
25
|
+
import"../chunk-4as3wt1c.js";
|
|
23
26
|
import"../chunk-h89wz928.js";
|
|
24
|
-
import"../chunk-
|
|
27
|
+
import"../chunk-zxawp1n2.js";
|
|
25
28
|
import {
|
|
26
29
|
ExecutionStorageError2
|
|
27
30
|
} from "../chunk-tw03bsmb.js";
|
|
28
|
-
import"../chunk-
|
|
29
|
-
import"../chunk-
|
|
31
|
+
import"../chunk-bs7sqkre.js";
|
|
32
|
+
import"../chunk-b9affek3.js";
|
|
30
33
|
import {
|
|
31
34
|
canRetryWebhookRun2
|
|
32
|
-
} from "../chunk-
|
|
33
|
-
import"../chunk-
|
|
34
|
-
import"../chunk-
|
|
35
|
+
} from "../chunk-qq90g05n.js";
|
|
36
|
+
import"../chunk-wt4szfec.js";
|
|
37
|
+
import"../chunk-qczk96d9.js";
|
|
35
38
|
import"../chunk-mmagke4x.js";
|
|
36
39
|
import"../chunk-hn2r7z41.js";
|
|
37
40
|
import"../chunk-4wn7bxxa.js";
|
|
@@ -39,20 +42,20 @@ import"../chunk-jmfet9r4.js";
|
|
|
39
42
|
import {
|
|
40
43
|
WebhookRunError2
|
|
41
44
|
} from "../chunk-qf954wje.js";
|
|
42
|
-
import"../chunk-
|
|
45
|
+
import"../chunk-d0eb5yy6.js";
|
|
43
46
|
import {
|
|
44
47
|
isOAuthConnectorDefinition2,
|
|
45
48
|
isStaticConnectorDefinition2
|
|
46
49
|
} from "../chunk-9x8dybsb.js";
|
|
47
50
|
import {
|
|
48
51
|
createPrimitiveExecutionRecord
|
|
49
|
-
} from "../chunk-
|
|
52
|
+
} from "../chunk-ex496vct.js";
|
|
50
53
|
import"../chunk-br3k6qbf.js";
|
|
51
54
|
import {
|
|
52
55
|
isStorageSerializationFailure2
|
|
53
|
-
} from "../chunk-
|
|
54
|
-
import"../chunk-
|
|
55
|
-
import"../chunk-
|
|
56
|
+
} from "../chunk-y9jmd7e5.js";
|
|
57
|
+
import"../chunk-rj69qcrd.js";
|
|
58
|
+
import"../chunk-vx2yp45y.js";
|
|
56
59
|
// src/webhooks/connections.ts
|
|
57
60
|
function createWebhookConnections(runtime, definition) {
|
|
58
61
|
return {
|
|
@@ -195,4 +198,4 @@ export {
|
|
|
195
198
|
isStaticConnectorDefinition2 as isStaticConnectorDefinition
|
|
196
199
|
};
|
|
197
200
|
|
|
198
|
-
//# debugId=
|
|
201
|
+
//# debugId=394D87A98F7033E164756E2164756E21
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"import { createConnectorCodedError } from \"../connectors/errors\"\nimport { type ConnectorRuntime, getConnectorExecutionSourceResolver } from \"../connectors/execution\"\nimport { type ConnectorDefinition, isOAuthConnectorDefinition } from \"../connectors/types\"\nimport type { WebhookConnections } from \"./types\"\n\n/** Lookup stays inside the admitted execution's project and registered connector. */\nexport function createWebhookConnections(\n runtime: ConnectorRuntime,\n definition: ConnectorDefinition\n): WebhookConnections {\n return {\n async forAccount(accountId) {\n if (!isOAuthConnectorDefinition(definition)) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"Webhook connections.forAccount() requires a managed OAuth connector.\"\n )\n }\n if (typeof accountId !== \"string\" || !accountId.trim()) {\n throw createConnectorCodedError(\n \"connector.configuration_invalid\",\n \"Webhook account ID must be a non-empty string.\"\n )\n }\n const resolver = getConnectorExecutionSourceResolver(runtime)\n const sources = await resolver.list(definition)\n return sources.flatMap((source) => {\n const connection = source.connection\n if (!connection || connection.account.id !== accountId) return []\n const connectionId = connection.id\n let clientPromise: Promise<unknown> | undefined\n return [\n {\n connection,\n client() {\n clientPromise ??= (async () => {\n const current = (await resolver.list(definition)).find(\n (candidate) =>\n candidate.connection?.id === connectionId &&\n candidate.connection.account.id === accountId\n )\n if (!current)\n throw createConnectorCodedError(\n \"connector.not_found\",\n \"Webhook connection is no longer active for this account.\"\n )\n return current.connect(new AbortController().signal)\n })()\n return clientPromise\n },\n },\n ]\n })\n },\n }\n}\n",
|
|
6
6
|
"import { randomUUID } from \"node:crypto\"\nimport { createPrimitiveExecutionRecord } from \"../execution/durable\"\nimport type { ExecutionRecord, Storage, WebhookRunRecord } from \"../storage\"\nimport {\n canRetryWebhookRun,\n ExecutionStorageError,\n isStorageSerializationFailure,\n WebhookRunError,\n} from \"../storage\"\n\nconst MAX_ADMISSION_ATTEMPTS = 3\n\nexport interface AdmitWebhookRunInput {\n readonly projectId: string\n readonly storage: Storage\n readonly runId: string\n readonly connectorId: string\n readonly webhookId: string\n readonly method: string\n readonly route: string\n readonly requestBodyBytes: number\n readonly requestBodySha256: string\n readonly idempotencyKey?: string\n}\n\nexport type AdmitWebhookRunResult =\n | {\n readonly status: \"admitted\"\n readonly run: WebhookRunRecord\n readonly execution: ExecutionRecord\n readonly retried: boolean\n }\n | {\n readonly status: \"duplicate\" | \"in_progress\"\n readonly run: WebhookRunRecord\n }\n\n/** Persist or reclaim one verified Webhook delivery before its protected handler executes. */\nexport async function admitWebhookRun(input: AdmitWebhookRunInput): Promise<AdmitWebhookRunResult> {\n assertAdmissionInput(input)\n let attempt = 0\n\n // Concurrent deliveries may both observe no run before one transaction commits. Retry only\n // serialization and uniqueness races so the loser can reload the winning run; every other error\n // fails immediately, and repeated contention remains bounded by MAX_ADMISSION_ATTEMPTS.\n while (true) {\n attempt += 1\n try {\n return await input.storage.transaction((tx) => admitWebhookRunTransaction(tx, input), {\n isolation: \"serializable\",\n })\n } catch (error) {\n if (attempt >= MAX_ADMISSION_ATTEMPTS || !isConcurrentAdmissionConflict(error)) {\n throw error\n }\n }\n }\n}\n\nasync function admitWebhookRunTransaction(\n storage: Storage,\n input: AdmitWebhookRunInput\n): Promise<AdmitWebhookRunResult> {\n const runs = requireWebhookRunStorage(storage)\n const existing = input.idempotencyKey\n ? await runs.getByDelivery({\n projectId: input.projectId,\n connectorId: input.connectorId,\n webhookId: input.webhookId,\n idempotencyKey: input.idempotencyKey,\n })\n : null\n\n if (existing) {\n assertSameDelivery(existing, input)\n if (existing.status === \"running\") return { status: \"in_progress\", run: existing }\n if (!canRetryWebhookRun(existing)) return { status: \"duplicate\", run: existing }\n\n const execution = await requireWebhookExecution(storage, existing)\n const run = await runs.restart({\n projectId: input.projectId,\n id: existing.id,\n })\n return { status: \"admitted\", run, execution, retried: true }\n }\n\n const executionInput = createPrimitiveExecutionRecord({\n id: `exec_${randomUUID()}`,\n primitive: { kind: \"webhook\", id: input.route, runId: input.runId },\n origin: {\n type: \"automatic\",\n projectId: input.projectId,\n source: { type: \"webhook\", deliveryId: input.runId },\n correlationId: input.runId,\n },\n })\n const execution = await storage.executions.create(executionInput)\n const run = await runs.start({\n id: input.runId,\n projectId: input.projectId,\n executionId: execution.id,\n connectorId: input.connectorId,\n webhookId: input.webhookId,\n method: input.method,\n route: input.route,\n requestBodyBytes: input.requestBodyBytes,\n requestBodySha256: input.requestBodySha256,\n idempotencyKey: input.idempotencyKey,\n })\n return { status: \"admitted\", run, execution, retried: false }\n}\n\nfunction assertSameDelivery(existing: WebhookRunRecord, input: AdmitWebhookRunInput): void {\n if (\n existing.connectorId !== input.connectorId ||\n existing.webhookId !== input.webhookId ||\n existing.method !== input.method ||\n existing.route !== input.route ||\n existing.requestBodyBytes !== input.requestBodyBytes ||\n existing.requestBodySha256 !== input.requestBodySha256\n ) {\n throw new WebhookRunError(\n `[Sixb] Webhook delivery '${input.idempotencyKey}' conflicts with run '${existing.id}'.`,\n \"delivery_conflict\"\n )\n }\n}\n\nasync function requireWebhookExecution(\n storage: Storage,\n run: WebhookRunRecord\n): Promise<ExecutionRecord> {\n const execution = await storage.executions.getById({\n projectId: run.projectId,\n id: run.executionId,\n })\n if (!execution) {\n throw new WebhookRunError(\n `[Sixb] Execution '${run.executionId}' for Webhook run '${run.id}' was not found.`,\n \"invalid_execution\"\n )\n }\n return execution\n}\n\nfunction requireWebhookRunStorage(storage: Storage): NonNullable<Storage[\"webhookRuns\"]> {\n if (!storage.webhookRuns) {\n throw new WebhookRunError(\"[Sixb] Webhook run storage is not configured.\")\n }\n return storage.webhookRuns\n}\n\nfunction assertAdmissionInput(input: AdmitWebhookRunInput): void {\n if (input.idempotencyKey !== undefined && !input.idempotencyKey.trim()) {\n throw new WebhookRunError(\"[Sixb] Webhook idempotency key must not be empty.\")\n }\n if (!Number.isSafeInteger(input.requestBodyBytes) || input.requestBodyBytes < 0) {\n throw new WebhookRunError(\"[Sixb] Webhook request body bytes must be a non-negative integer.\")\n }\n if (!/^[a-f0-9]{64}$/.test(input.requestBodySha256)) {\n throw new WebhookRunError(\"[Sixb] Webhook request body SHA-256 must be lowercase hexadecimal.\")\n }\n}\n\nfunction isConcurrentAdmissionConflict(error: unknown): boolean {\n return (\n isStorageSerializationFailure(error) ||\n (error instanceof ExecutionStorageError && error.code === \"duplicate_execution\") ||\n (error instanceof WebhookRunError &&\n (error.code === \"duplicate_run\" || error.code === \"invalid_transition\"))\n )\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "394D87A98F7033E164756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/dist/workers/index.js
CHANGED
|
@@ -326,11 +326,12 @@ async function waitForAbort(ms, signal) {
|
|
|
326
326
|
// src/workers/queue-worker.ts
|
|
327
327
|
var DEFAULT_LEASE_MS = 15 * 60000;
|
|
328
328
|
var DEFAULT_CLAIM_LIMIT = 1;
|
|
329
|
-
var
|
|
329
|
+
var CLAIM_FAILURE_DELAY_MS = 1000;
|
|
330
330
|
var MAX_CONSECUTIVE_CLAIM_FAILURES = 5;
|
|
331
331
|
|
|
332
332
|
class QueueWorker extends Worker {
|
|
333
333
|
config;
|
|
334
|
+
claimFailureDelayMs = CLAIM_FAILURE_DELAY_MS;
|
|
334
335
|
consecutiveClaimFailures = 0;
|
|
335
336
|
constructor(config) {
|
|
336
337
|
super();
|
|
@@ -340,8 +341,7 @@ class QueueWorker extends Worker {
|
|
|
340
341
|
failureCodes: config.failureCodes,
|
|
341
342
|
workerId: config.workerId,
|
|
342
343
|
leaseMs: config.leaseMs ?? DEFAULT_LEASE_MS,
|
|
343
|
-
claimLimit: normalizeClaimLimit(config.claimLimit)
|
|
344
|
-
idlePollMs: config.idlePollMs ?? DEFAULT_IDLE_POLL_MS
|
|
344
|
+
claimLimit: normalizeClaimLimit(config.claimLimit)
|
|
345
345
|
};
|
|
346
346
|
}
|
|
347
347
|
get concurrency() {
|
|
@@ -350,6 +350,8 @@ class QueueWorker extends Worker {
|
|
|
350
350
|
async run(signal) {
|
|
351
351
|
const inFlight = new Set;
|
|
352
352
|
let runError = null;
|
|
353
|
+
const failed = new AbortController;
|
|
354
|
+
const claimSignal = AbortSignal.any([signal, failed.signal]);
|
|
353
355
|
try {
|
|
354
356
|
while (!signal.aborted && !runError) {
|
|
355
357
|
while (!signal.aborted && !runError && inFlight.size >= this.config.claimLimit) {
|
|
@@ -359,10 +361,11 @@ class QueueWorker extends Worker {
|
|
|
359
361
|
continue;
|
|
360
362
|
}
|
|
361
363
|
const capacity = this.config.claimLimit - inFlight.size;
|
|
362
|
-
const claimed = await this.
|
|
364
|
+
const claimed = await this.claim(claimSignal, capacity);
|
|
363
365
|
for (const claimedJob of claimed) {
|
|
364
366
|
const promise = this.handle(claimedJob, signal).catch((error) => {
|
|
365
367
|
runError ??= error;
|
|
368
|
+
failed.abort();
|
|
366
369
|
}).finally(() => {
|
|
367
370
|
inFlight.delete(promise);
|
|
368
371
|
});
|
|
@@ -382,19 +385,14 @@ class QueueWorker extends Worker {
|
|
|
382
385
|
onAbortError(_claimed, _error) {
|
|
383
386
|
return { kind: "retry" };
|
|
384
387
|
}
|
|
385
|
-
async
|
|
386
|
-
const { projectId, queue, workerId, leaseMs
|
|
388
|
+
async claim(signal, limit) {
|
|
389
|
+
const { projectId, queue, workerId, leaseMs } = this.config;
|
|
387
390
|
try {
|
|
388
|
-
const claimed = await queue.claim({
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
limit,
|
|
392
|
-
leaseMs
|
|
393
|
-
});
|
|
394
|
-
this.consecutiveClaimFailures = 0;
|
|
395
|
-
if (claimed.length === 0) {
|
|
396
|
-
await sleep2(idlePollMs, signal).catch(() => {});
|
|
391
|
+
const claimed = await queue.claim({ projectId, workerId, limit, leaseMs, signal });
|
|
392
|
+
if (claimed.length === 0 && !signal.aborted) {
|
|
393
|
+
throw new Error("[SixbQueueWorker] Queue claim returned no jobs before its signal aborted; the queue provider contract says claim must wait for work until its signal aborts.");
|
|
397
394
|
}
|
|
395
|
+
this.consecutiveClaimFailures = 0;
|
|
398
396
|
return claimed;
|
|
399
397
|
} catch (error) {
|
|
400
398
|
if (signal.aborted)
|
|
@@ -404,7 +402,7 @@ class QueueWorker extends Worker {
|
|
|
404
402
|
this.consecutiveClaimFailures = 0;
|
|
405
403
|
throw new Error(`[SixbQueueWorker] Queue claim failed ${MAX_CONSECUTIVE_CLAIM_FAILURES} consecutive times.`, { cause: error });
|
|
406
404
|
}
|
|
407
|
-
await sleep2(
|
|
405
|
+
await sleep2(this.claimFailureDelayMs, signal).catch(() => {});
|
|
408
406
|
return [];
|
|
409
407
|
}
|
|
410
408
|
}
|
|
@@ -511,4 +509,4 @@ export {
|
|
|
511
509
|
isAbortError
|
|
512
510
|
};
|
|
513
511
|
|
|
514
|
-
//# debugId=
|
|
512
|
+
//# debugId=FA638CC52579761A64756E2164756E21
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
"/**\n * Thrown by worker primitives when an operation is interrupted by `stop()`.\n *\n * `name` is `\"AbortError\"` so it interoperates with the DOM `AbortSignal`\n * convention used across the codebase.\n */\nexport class WorkerAbortError extends Error {\n readonly name = \"AbortError\"\n}\n\n/** Raised after a worker exhausts its bounded restart budget. */\nexport class WorkerUnhealthyError extends Error {\n readonly name = \"WorkerUnhealthyError\"\n\n constructor(\n readonly workerName: string,\n readonly restartCount: number,\n options?: ErrorOptions\n ) {\n super(\n `[SixbWorker] ${workerName} is unhealthy after ${restartCount} restart attempt(s).`,\n options\n )\n }\n}\n",
|
|
6
6
|
"import type { SixbErrorCode } from \"../errors/types\"\nimport type { ClaimedQueueJob, Queue, QueueJob, QueueJobFailure } from \"../queues\"\nimport { WorkerAbortError } from \"./errors\"\n\nexport type QueueDeliveryState = \"active\" | \"lost\" | \"settled\"\n\n/**\n * Outcome of a settlement call. `\"lost\"` means the queue job was **not** acknowledged because\n * ownership was already gone — the job may be redelivered. Settlement never throws for a lost\n * lease; exceptions are reserved for queue calls that themselves fail (outcome then unknown).\n */\nexport type QueueSettlementResult = \"settled\" | \"lost\"\n\nexport interface QueueDelivery<\n TJob extends QueueJob,\n TFailureCode extends SixbErrorCode = SixbErrorCode,\n> {\n readonly claimed: ClaimedQueueJob<TJob>\n readonly signal: AbortSignal\n readonly state: QueueDeliveryState\n /** Expiration from the latest queue-confirmed claim or renewal. */\n readonly leaseExpiresAt: string\n\n /** Observe successful queue renewals. The listener is not called for failed renewals. */\n onLeaseRenewed(listener: (claimed: ClaimedQueueJob<TJob>) => void): () => void\n complete(): Promise<QueueSettlementResult>\n retry(input?: { readonly availableAt?: string }): Promise<QueueSettlementResult>\n fail(failure: QueueJobFailure<TFailureCode>): Promise<QueueSettlementResult>\n close(): Promise<void>\n}\n\nexport interface CreateQueueDeliveryOptions<\n TJob extends QueueJob,\n TFailureCode extends SixbErrorCode,\n> {\n readonly queue: Queue<TJob, TFailureCode>\n readonly claimed: ClaimedQueueJob<TJob>\n readonly leaseMs: number\n readonly signal: AbortSignal\n readonly onLeaseLost?: () => void\n readonly onRenewalError?: (error: unknown) => void\n}\n\nconst MIN_RENEWAL_INTERVAL_MS = 1\n\nexport class QueueDeliveryLeaseLostError extends WorkerAbortError {}\n\ntype RenewalAttempt<TJob extends QueueJob> =\n | { readonly kind: \"renewed\"; readonly claimed: ClaimedQueueJob<TJob> | null }\n | { readonly kind: \"failed\"; readonly error: unknown }\n | { readonly kind: \"expired\" }\n\n/** Owns lease renewal, loss detection, and settlement for one claimed queue job. */\nexport function createQueueDelivery<TJob extends QueueJob, TFailureCode extends SixbErrorCode>(\n options: CreateQueueDeliveryOptions<TJob, TFailureCode>\n): QueueDelivery<TJob, TFailureCode> {\n return new ManagedQueueDelivery(options)\n}\n\nclass ManagedQueueDelivery<TJob extends QueueJob, TFailureCode extends SixbErrorCode>\n implements QueueDelivery<TJob, TFailureCode>\n{\n readonly claimed: ClaimedQueueJob<TJob>\n readonly signal: AbortSignal\n\n private readonly queue: Queue<TJob, TFailureCode>\n private readonly leaseMs: number\n private readonly renewLease: Queue<TJob, TFailureCode>[\"renewLease\"]\n private readonly onLeaseLost: (() => void) | undefined\n private readonly onRenewalError: ((error: unknown) => void) | undefined\n private readonly lossController = new AbortController()\n private readonly stopController = new AbortController()\n private readonly renewalIntervalMs: number\n private readonly renewalLoop: Promise<void>\n private readonly leaseRenewedListeners = new Set<(claimed: ClaimedQueueJob<TJob>) => void>()\n private currentState: QueueDeliveryState = \"active\"\n private currentLeaseExpiresAt: string\n private leaseExpiresAtTimestamp: number\n private renewalErrorReported = false\n private closing: Promise<void> | null = null\n private settling = false\n\n constructor(options: CreateQueueDeliveryOptions<TJob, TFailureCode>) {\n this.queue = options.queue\n this.claimed = options.claimed\n this.leaseMs = options.leaseMs\n this.renewLease = options.queue.renewLease?.bind(options.queue)\n this.onLeaseLost = options.onLeaseLost\n this.onRenewalError = options.onRenewalError\n this.currentLeaseExpiresAt = options.claimed.leaseExpiresAt\n this.leaseExpiresAtTimestamp = parseLeaseExpiration(options.claimed.leaseExpiresAt)\n this.renewalIntervalMs = Math.max(MIN_RENEWAL_INTERVAL_MS, Math.floor(options.leaseMs / 3))\n this.signal = AbortSignal.any([options.signal, this.lossController.signal])\n this.renewalLoop = this.runRenewalLoop()\n }\n\n get state(): QueueDeliveryState {\n return this.currentState\n }\n\n get leaseExpiresAt(): string {\n return this.currentLeaseExpiresAt\n }\n\n onLeaseRenewed(listener: (claimed: ClaimedQueueJob<TJob>) => void): () => void {\n this.leaseRenewedListeners.add(listener)\n return () => this.leaseRenewedListeners.delete(listener)\n }\n\n complete(): Promise<QueueSettlementResult> {\n return this.settle(() =>\n this.queue.complete({\n projectId: this.claimed.job.projectId,\n jobId: this.claimed.job.id,\n leaseId: this.claimed.leaseId,\n })\n )\n }\n\n retry(input: { readonly availableAt?: string } = {}): Promise<QueueSettlementResult> {\n return this.settle(() =>\n this.queue.retry({\n projectId: this.claimed.job.projectId,\n jobId: this.claimed.job.id,\n leaseId: this.claimed.leaseId,\n availableAt: input.availableAt,\n })\n )\n }\n\n fail(failure: QueueJobFailure<TFailureCode>): Promise<QueueSettlementResult> {\n return this.settle(() =>\n this.queue.fail({\n projectId: this.claimed.job.projectId,\n jobId: this.claimed.job.id,\n leaseId: this.claimed.leaseId,\n failure,\n })\n )\n }\n\n close(): Promise<void> {\n if (this.closing) return this.closing\n this.closing = this.stopRenewal()\n return this.closing\n }\n\n private async settle(operation: () => Promise<void>): Promise<QueueSettlementResult> {\n if (this.currentState !== \"active\") {\n return this.currentState === \"settled\" ? \"settled\" : \"lost\"\n }\n if (this.settling) {\n throw new Error(`[SixbQueueWorker] Queue job '${this.claimed.job.id}' is already settling.`)\n }\n\n this.settling = true\n try {\n await this.stopRenewal()\n if (!(await this.confirmSettlementLease())) return \"lost\"\n await operation()\n this.currentState = \"settled\"\n return \"settled\"\n } finally {\n this.settling = false\n }\n }\n\n private async confirmSettlementLease(): Promise<boolean> {\n if (this.currentState !== \"active\") return false\n if (Date.now() >= this.leaseExpiresAtTimestamp) {\n this.markLost()\n return false\n }\n if (!this.renewLease) return true\n\n const attempt = await this.attemptRenewal()\n if (attempt.kind === \"renewed\") {\n if (!attempt.claimed) {\n this.markLost()\n return false\n }\n this.recordRenewal(attempt.claimed)\n return true\n }\n if (attempt.kind === \"failed\") {\n this.reportRenewalError(attempt.error)\n }\n if (attempt.kind === \"expired\" || Date.now() >= this.leaseExpiresAtTimestamp) {\n this.markLost()\n return false\n }\n return true\n }\n\n private async runRenewalLoop(): Promise<void> {\n while (this.currentState === \"active\" && !this.stopController.signal.aborted) {\n const remainingMs = this.leaseExpiresAtTimestamp - Date.now()\n if (remainingMs <= 0) {\n this.markLost()\n return\n }\n\n const delayMs = this.renewLease ? Math.min(this.renewalIntervalMs, remainingMs) : remainingMs\n await sleep(delayMs, this.stopController.signal).catch(() => {})\n if (this.stopController.signal.aborted || this.currentState !== \"active\") return\n if (Date.now() >= this.leaseExpiresAtTimestamp) {\n this.markLost()\n return\n }\n if (!this.renewLease) continue\n\n const attempt = await this.attemptRenewal()\n if (attempt.kind === \"expired\") {\n this.markLost()\n return\n }\n if (attempt.kind === \"failed\") {\n this.reportRenewalError(attempt.error)\n continue\n }\n if (!attempt.claimed) {\n this.markLost()\n return\n }\n this.recordRenewal(attempt.claimed)\n }\n }\n\n private attemptRenewal(): Promise<RenewalAttempt<TJob>> {\n if (!this.renewLease || Date.now() >= this.leaseExpiresAtTimestamp) {\n return Promise.resolve({ kind: \"expired\" })\n }\n\n const remainingMs = Math.max(1, this.leaseExpiresAtTimestamp - Date.now())\n return new Promise((resolve) => {\n let finished = false\n const finish = (attempt: RenewalAttempt<TJob>): void => {\n if (finished) return\n finished = true\n clearTimeout(timer)\n resolve(attempt)\n }\n const timer = setTimeout(() => finish({ kind: \"expired\" }), remainingMs)\n\n this.renewLease?.({\n projectId: this.claimed.job.projectId,\n jobId: this.claimed.job.id,\n leaseId: this.claimed.leaseId,\n leaseMs: this.leaseMs,\n }).then(\n (claimed) => finish({ kind: \"renewed\", claimed }),\n (error) => finish({ kind: \"failed\", error })\n )\n })\n }\n\n private recordRenewal(claimed: ClaimedQueueJob<TJob>): void {\n this.currentLeaseExpiresAt = claimed.leaseExpiresAt\n this.leaseExpiresAtTimestamp = parseLeaseExpiration(claimed.leaseExpiresAt)\n this.renewalErrorReported = false\n for (const listener of this.leaseRenewedListeners) {\n try {\n listener(claimed)\n } catch (error) {\n this.onRenewalError?.(error)\n }\n }\n }\n\n private reportRenewalError(error: unknown): void {\n if (this.renewalErrorReported) return\n this.renewalErrorReported = true\n this.onRenewalError?.(error)\n }\n\n private markLost(): void {\n if (this.currentState !== \"active\") return\n this.currentState = \"lost\"\n this.lossController.abort(\n new QueueDeliveryLeaseLostError(\n `[SixbQueueWorker] Queue job '${this.claimed.job.id}' lost its lease.`\n )\n )\n this.onLeaseLost?.()\n }\n\n private async stopRenewal(): Promise<void> {\n this.stopController.abort()\n await this.renewalLoop.catch(() => {})\n }\n}\n\nfunction parseLeaseExpiration(value: string): number {\n const timestamp = Date.parse(value)\n if (!Number.isFinite(timestamp)) {\n throw new Error(`[SixbQueueWorker] Invalid queue lease expiration '${value}'.`)\n }\n return timestamp\n}\n\nasync function sleep(ms: number, signal: AbortSignal): Promise<void> {\n if (signal.aborted) return\n await new Promise<void>((resolve) => {\n const timer = setTimeout(finish, ms)\n function finish(): void {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", finish)\n resolve()\n }\n signal.addEventListener(\"abort\", finish, { once: true })\n })\n}\n",
|
|
7
7
|
"import { WorkerUnhealthyError } from \"./errors\"\n\n// The budget rides out ~80s of continuous failure (0.1s -> 30s backoffs) before the worker is\n// declared unhealthy, so a transient infra outage does not kill an otherwise healthy process.\nconst MAX_RESTARTS = 10\nconst RESTART_BACKOFF_MS = 100\nconst MAX_RESTART_BACKOFF_MS = 30_000\nconst STABLE_RUN_MS = 60_000\n\n/** Base worker lifecycle with bounded restart supervision. */\nexport abstract class Worker {\n /** Base restart backoff. Overridable so budget-exhaustion tests do not wait out real backoffs. */\n protected readonly restartBackoffMs: number = RESTART_BACKOFF_MS\n private controller: AbortController | null = null\n private running: Promise<void> | null = null\n\n async start(): Promise<void> {\n if (this.controller) return\n\n this.controller = new AbortController()\n this.running = this.supervise(this.controller.signal)\n // `wait()` exposes terminal failure. Keep a handler attached for embedded callers that only use\n // start/stop, so an exhausted restart budget does not become an unhandled rejection.\n this.running.catch(() => {})\n }\n\n async stop(): Promise<void> {\n const controller = this.controller\n if (!controller) return\n\n controller.abort()\n await this.running?.catch(() => {})\n if (this.controller === controller) {\n this.controller = null\n this.running = null\n }\n }\n\n /** Resolves after stop and rejects if the bounded restart budget is exhausted. */\n wait(): Promise<void> {\n return this.running ?? Promise.resolve()\n }\n\n protected abstract run(signal: AbortSignal): Promise<void>\n\n private async supervise(signal: AbortSignal): Promise<void> {\n let restartCount = 0\n\n while (!signal.aborted) {\n const startedAt = Date.now()\n let failure: unknown\n\n try {\n await this.run(signal)\n if (signal.aborted) return\n failure = new Error(`[SixbWorker] ${this.constructor.name} stopped unexpectedly.`)\n } catch (error) {\n if (signal.aborted) return\n failure = error\n }\n\n if (Date.now() - startedAt >= STABLE_RUN_MS) {\n restartCount = 0\n }\n if (restartCount >= MAX_RESTARTS) {\n throw new WorkerUnhealthyError(this.constructor.name, restartCount, { cause: failure })\n }\n\n const delayMs = Math.min(this.restartBackoffMs * 2 ** restartCount, MAX_RESTART_BACKOFF_MS)\n restartCount += 1\n await waitForAbort(delayMs, signal)\n }\n }\n}\n\nasync function waitForAbort(ms: number, signal: AbortSignal): Promise<void> {\n if (signal.aborted) return\n await new Promise<void>((resolve) => {\n const timer = setTimeout(finish, ms)\n function finish(): void {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", finish)\n resolve()\n }\n signal.addEventListener(\"abort\", finish, { once: true })\n })\n}\n",
|
|
8
|
-
"import { captureSixbFailure } from \"../errors/internal\"\nimport type { SixbErrorCode, SixbFailure } from \"../errors/types\"\nimport type { ClaimedQueueJob, Queue, QueueJob } from \"../queues\"\nimport { WorkerAbortError } from \"./errors\"\nimport {\n createQueueDelivery,\n type QueueDelivery,\n type QueueSettlementResult,\n} from \"./queue-delivery\"\nimport { Worker } from \"./worker\"\n\ntype QueueWorkerFailureCodes = readonly [\n \"internal.unexpected\",\n \"runtime.cancelled\",\n ...SixbErrorCode[],\n]\n\nexport interface QueueWorkerConfig<\n TJob extends QueueJob,\n TFailureCodes extends QueueWorkerFailureCodes,\n> {\n readonly projectId: string\n readonly queue: Queue<TJob, TFailureCodes[number]>\n /** Runtime counterpart of this lane's precise terminal-failure union. */\n readonly failureCodes: TFailureCodes\n readonly workerId: string\n readonly leaseMs?: number\n readonly claimLimit?: number\n readonly idlePollMs?: number\n}\n\n/**\n * Queue settlement selected after execution stops.\n *\n * A worker must name its allowed failure-code union before it can supply an already-persisted\n * failure. Workers that only choose retry vs fail need no generic annotation.\n */\nexport type QueueWorkerFailureDecision<TFailureCode extends SixbErrorCode = never> =\n | {\n readonly kind: \"retry\"\n readonly availableAt?: string\n }\n | {\n readonly kind: \"fail\"\n /** Exact durable run failure, when execution already persisted one. */\n readonly failure?: SixbFailure<TFailureCode>\n }\n\nconst DEFAULT_LEASE_MS = 15 * 60_000\nconst DEFAULT_CLAIM_LIMIT = 1\nconst DEFAULT_IDLE_POLL_MS = 1_000\nconst MAX_CONSECUTIVE_CLAIM_FAILURES = 5\n\nexport abstract class QueueWorker<\n TJob extends QueueJob,\n TFailureCodes extends QueueWorkerFailureCodes,\n> extends Worker {\n protected readonly config: Required<QueueWorkerConfig<TJob, TFailureCodes>>\n private consecutiveClaimFailures = 0\n\n constructor(config: QueueWorkerConfig<TJob, TFailureCodes>) {\n super()\n this.config = {\n projectId: config.projectId,\n queue: config.queue,\n failureCodes: config.failureCodes,\n workerId: config.workerId,\n leaseMs: config.leaseMs ?? DEFAULT_LEASE_MS,\n claimLimit: normalizeClaimLimit(config.claimLimit),\n idlePollMs: config.idlePollMs ?? DEFAULT_IDLE_POLL_MS,\n }\n }\n\n /** Maximum jobs this worker process claims and executes at once. */\n get concurrency(): number {\n return this.config.claimLimit\n }\n\n protected async run(signal: AbortSignal): Promise<void> {\n const inFlight = new Set<Promise<void>>()\n let runError: unknown = null\n\n try {\n while (!signal.aborted && !runError) {\n while (!signal.aborted && !runError && inFlight.size >= this.config.claimLimit) {\n await Promise.race(inFlight)\n }\n if (runError || signal.aborted) {\n continue\n }\n\n const capacity = this.config.claimLimit - inFlight.size\n const claimed = await this.claimOrIdle(signal, capacity)\n for (const claimedJob of claimed) {\n const promise = this.handle(claimedJob, signal)\n .catch((error) => {\n runError ??= error\n })\n .finally(() => {\n inFlight.delete(promise)\n })\n inFlight.add(promise)\n }\n }\n } finally {\n await Promise.allSettled(inFlight)\n }\n\n if (runError) {\n throw runError\n }\n }\n\n protected abstract execute(\n claimed: ClaimedQueueJob<TJob>,\n signal: AbortSignal,\n delivery: QueueDelivery<TJob, TFailureCodes[number]>\n ): Promise<void>\n\n protected onExecutionError(\n _claimed: ClaimedQueueJob<TJob>,\n _error: unknown\n ):\n | Promise<QueueWorkerFailureDecision<TFailureCodes[number]>>\n | QueueWorkerFailureDecision<TFailureCodes[number]> {\n return { kind: \"fail\" }\n }\n\n protected onAbortError(\n _claimed: ClaimedQueueJob<TJob>,\n _error: unknown\n ):\n | Promise<QueueWorkerFailureDecision<TFailureCodes[number]>>\n | QueueWorkerFailureDecision<TFailureCodes[number]> {\n // Shutdown should normally release work for another process. Workers with non-idempotent\n // partial commits can override this and fail the job instead.\n return { kind: \"retry\" }\n }\n\n private async claimOrIdle(\n signal: AbortSignal,\n limit: number\n ): Promise<readonly ClaimedQueueJob<TJob>[]> {\n const { projectId, queue, workerId, leaseMs, idlePollMs } = this.config\n\n try {\n const claimed = await queue.claim({\n projectId,\n workerId,\n limit,\n leaseMs,\n })\n this.consecutiveClaimFailures = 0\n if (claimed.length === 0) {\n await sleep(idlePollMs, signal).catch(() => {})\n }\n return claimed\n } catch (error) {\n if (signal.aborted) return []\n this.consecutiveClaimFailures += 1\n if (this.consecutiveClaimFailures >= MAX_CONSECUTIVE_CLAIM_FAILURES) {\n this.consecutiveClaimFailures = 0\n throw new Error(\n `[SixbQueueWorker] Queue claim failed ${MAX_CONSECUTIVE_CLAIM_FAILURES} consecutive times.`,\n { cause: error }\n )\n }\n await sleep(idlePollMs, signal).catch(() => {})\n return []\n }\n }\n\n private async handle(claimed: ClaimedQueueJob<TJob>, signal: AbortSignal): Promise<void> {\n const delivery = createQueueDelivery({\n queue: this.config.queue,\n claimed,\n leaseMs: this.config.leaseMs,\n signal,\n onLeaseLost: () => {\n console.error(\n `[SixbQueueWorker] Lost lease for queue job '${claimed.job.id}'; leaving it for redelivery.`\n )\n },\n onRenewalError: (error) => {\n console.error(\n `[SixbQueueWorker] Could not renew lease for queue job '${claimed.job.id}'; retrying.`,\n error\n )\n },\n })\n\n try {\n let outcome: { readonly ok: true } | { readonly ok: false; readonly error: unknown }\n try {\n await this.execute(claimed, delivery.signal, delivery)\n outcome = { ok: true }\n } catch (error) {\n outcome = { ok: false, error }\n }\n\n if (delivery.state === \"lost\") return\n\n if (outcome.ok) {\n await settleOrLog(delivery, \"complete\", () => delivery.complete())\n return\n }\n\n const error = outcome.error\n if (signal.aborted || isAbortError(error)) {\n try {\n const decision = await this.onAbortError(claimed, error)\n await this.applyFailureDecision(delivery, decision, error, \"runtime.cancelled\")\n } catch {\n // Shutdown is already in progress. The unacknowledged job becomes visible after its lease.\n }\n return\n }\n\n try {\n const decision = await this.onExecutionError(claimed, error)\n await this.applyFailureDecision(delivery, decision, error, \"internal.unexpected\")\n } catch (settlementError) {\n logQueueOperationError(\"apply failure decision to\", claimed, settlementError)\n }\n } finally {\n await delivery.close()\n }\n }\n\n private async applyFailureDecision(\n delivery: QueueDelivery<TJob, TFailureCodes[number]>,\n decision: QueueWorkerFailureDecision<TFailureCodes[number]>,\n error: unknown,\n defaultCode: \"internal.unexpected\" | \"runtime.cancelled\"\n ): Promise<void> {\n if (decision.kind === \"retry\") {\n await delivery.retry({ availableAt: decision.availableAt })\n return\n }\n\n const failure =\n decision.failure ??\n captureSixbFailure(error, {\n allowedCodes: this.config.failureCodes,\n defaultCode,\n })\n await delivery.fail(failure)\n }\n}\n\nfunction normalizeClaimLimit(value: number | undefined): number {\n const claimLimit = value ?? DEFAULT_CLAIM_LIMIT\n if (!Number.isSafeInteger(claimLimit) || claimLimit < 1) {\n throw new Error(\"[SixbQueueWorker] Worker concurrency must be a positive safe integer.\")\n }\n return claimLimit\n}\n\nasync function settleOrLog<TJob extends QueueJob, TFailureCode extends SixbErrorCode>(\n delivery: QueueDelivery<TJob, TFailureCode>,\n operation: string,\n settle: () => Promise<QueueSettlementResult>\n): Promise<void> {\n try {\n // A \"lost\" result needs no extra logging here: loss is already reported via onLeaseLost.\n await settle()\n } catch (error) {\n logQueueOperationError(operation, delivery.claimed, error)\n }\n}\n\nfunction logQueueOperationError(operation: string, claimed: ClaimedQueueJob, error: unknown): void {\n console.error(\n `[SixbQueueWorker] Could not ${operation} queue job '${claimed.job.id}'; it may be redelivered.`,\n error\n )\n}\n\n/** True for a standard abort (`AbortController`/`AbortSignal.timeout`) error. */\nexport function isAbortError(error: unknown): boolean {\n return error instanceof Error && error.name === \"AbortError\"\n}\n\nasync function sleep(ms: number, signal: AbortSignal): Promise<void> {\n if (signal.aborted) {\n throw new WorkerAbortError(\"Worker runtime aborted.\")\n }\n\n await new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n signal.removeEventListener(\"abort\", onAbort)\n resolve()\n }, ms)\n\n const onAbort = () => {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", onAbort)\n reject(new WorkerAbortError(\"Worker runtime aborted.\"))\n }\n\n signal.addEventListener(\"abort\", onAbort, { once: true })\n })\n}\n"
|
|
8
|
+
"import { captureSixbFailure } from \"../errors/internal\"\nimport type { SixbErrorCode, SixbFailure } from \"../errors/types\"\nimport type { ClaimedQueueJob, Queue, QueueJob } from \"../queues\"\nimport { WorkerAbortError } from \"./errors\"\nimport {\n createQueueDelivery,\n type QueueDelivery,\n type QueueSettlementResult,\n} from \"./queue-delivery\"\nimport { Worker } from \"./worker\"\n\ntype QueueWorkerFailureCodes = readonly [\n \"internal.unexpected\",\n \"runtime.cancelled\",\n ...SixbErrorCode[],\n]\n\nexport interface QueueWorkerConfig<\n TJob extends QueueJob,\n TFailureCodes extends QueueWorkerFailureCodes,\n> {\n readonly projectId: string\n readonly queue: Queue<TJob, TFailureCodes[number]>\n /** Runtime counterpart of this lane's precise terminal-failure union. */\n readonly failureCodes: TFailureCodes\n readonly workerId: string\n readonly leaseMs?: number\n readonly claimLimit?: number\n}\n\n/**\n * Queue settlement selected after execution stops.\n *\n * A worker must name its allowed failure-code union before it can supply an already-persisted\n * failure. Workers that only choose retry vs fail need no generic annotation.\n */\nexport type QueueWorkerFailureDecision<TFailureCode extends SixbErrorCode = never> =\n | {\n readonly kind: \"retry\"\n readonly availableAt?: string\n }\n | {\n readonly kind: \"fail\"\n /** Exact durable run failure, when execution already persisted one. */\n readonly failure?: SixbFailure<TFailureCode>\n }\n\nconst DEFAULT_LEASE_MS = 15 * 60_000\nconst DEFAULT_CLAIM_LIMIT = 1\nconst CLAIM_FAILURE_DELAY_MS = 1_000\nconst MAX_CONSECUTIVE_CLAIM_FAILURES = 5\n\nexport abstract class QueueWorker<\n TJob extends QueueJob,\n TFailureCodes extends QueueWorkerFailureCodes,\n> extends Worker {\n protected readonly config: Required<QueueWorkerConfig<TJob, TFailureCodes>>\n /** Pause after a failed claim. Overridable so tests do not wait out real backoffs. */\n protected readonly claimFailureDelayMs: number = CLAIM_FAILURE_DELAY_MS\n private consecutiveClaimFailures = 0\n\n constructor(config: QueueWorkerConfig<TJob, TFailureCodes>) {\n super()\n this.config = {\n projectId: config.projectId,\n queue: config.queue,\n failureCodes: config.failureCodes,\n workerId: config.workerId,\n leaseMs: config.leaseMs ?? DEFAULT_LEASE_MS,\n claimLimit: normalizeClaimLimit(config.claimLimit),\n }\n }\n\n /** Maximum jobs this worker process claims and executes at once. */\n get concurrency(): number {\n return this.config.claimLimit\n }\n\n protected async run(signal: AbortSignal): Promise<void> {\n const inFlight = new Set<Promise<void>>()\n let runError: unknown = null\n // A claim waits for work, so a failed job must also end the wait it would otherwise sit in.\n const failed = new AbortController()\n const claimSignal = AbortSignal.any([signal, failed.signal])\n\n try {\n while (!signal.aborted && !runError) {\n while (!signal.aborted && !runError && inFlight.size >= this.config.claimLimit) {\n await Promise.race(inFlight)\n }\n if (runError || signal.aborted) {\n continue\n }\n\n const capacity = this.config.claimLimit - inFlight.size\n const claimed = await this.claim(claimSignal, capacity)\n for (const claimedJob of claimed) {\n const promise = this.handle(claimedJob, signal)\n .catch((error) => {\n runError ??= error\n failed.abort()\n })\n .finally(() => {\n inFlight.delete(promise)\n })\n inFlight.add(promise)\n }\n }\n } finally {\n await Promise.allSettled(inFlight)\n }\n\n if (runError) {\n throw runError\n }\n }\n\n protected abstract execute(\n claimed: ClaimedQueueJob<TJob>,\n signal: AbortSignal,\n delivery: QueueDelivery<TJob, TFailureCodes[number]>\n ): Promise<void>\n\n protected onExecutionError(\n _claimed: ClaimedQueueJob<TJob>,\n _error: unknown\n ):\n | Promise<QueueWorkerFailureDecision<TFailureCodes[number]>>\n | QueueWorkerFailureDecision<TFailureCodes[number]> {\n return { kind: \"fail\" }\n }\n\n protected onAbortError(\n _claimed: ClaimedQueueJob<TJob>,\n _error: unknown\n ):\n | Promise<QueueWorkerFailureDecision<TFailureCodes[number]>>\n | QueueWorkerFailureDecision<TFailureCodes[number]> {\n // Shutdown should normally release work for another process. Workers with non-idempotent\n // partial commits can override this and fail the job instead.\n return { kind: \"retry\" }\n }\n\n private async claim(\n signal: AbortSignal,\n limit: number\n ): Promise<readonly ClaimedQueueJob<TJob>[]> {\n const { projectId, queue, workerId, leaseMs } = this.config\n\n try {\n // The provider waits until it has work or `signal` aborts, so there is no idle loop here.\n const claimed = await queue.claim({ projectId, workerId, limit, leaseMs, signal })\n if (claimed.length === 0 && !signal.aborted) {\n // A provider that ignores the signal would otherwise spin this loop on a whole core.\n throw new Error(\n \"[SixbQueueWorker] Queue claim returned no jobs before its signal aborted; the queue provider contract says claim must wait for work until its signal aborts.\"\n )\n }\n this.consecutiveClaimFailures = 0\n return claimed\n } catch (error) {\n if (signal.aborted) return []\n this.consecutiveClaimFailures += 1\n if (this.consecutiveClaimFailures >= MAX_CONSECUTIVE_CLAIM_FAILURES) {\n this.consecutiveClaimFailures = 0\n throw new Error(\n `[SixbQueueWorker] Queue claim failed ${MAX_CONSECUTIVE_CLAIM_FAILURES} consecutive times.`,\n { cause: error }\n )\n }\n await sleep(this.claimFailureDelayMs, signal).catch(() => {})\n return []\n }\n }\n\n private async handle(claimed: ClaimedQueueJob<TJob>, signal: AbortSignal): Promise<void> {\n const delivery = createQueueDelivery({\n queue: this.config.queue,\n claimed,\n leaseMs: this.config.leaseMs,\n signal,\n onLeaseLost: () => {\n console.error(\n `[SixbQueueWorker] Lost lease for queue job '${claimed.job.id}'; leaving it for redelivery.`\n )\n },\n onRenewalError: (error) => {\n console.error(\n `[SixbQueueWorker] Could not renew lease for queue job '${claimed.job.id}'; retrying.`,\n error\n )\n },\n })\n\n try {\n let outcome: { readonly ok: true } | { readonly ok: false; readonly error: unknown }\n try {\n await this.execute(claimed, delivery.signal, delivery)\n outcome = { ok: true }\n } catch (error) {\n outcome = { ok: false, error }\n }\n\n if (delivery.state === \"lost\") return\n\n if (outcome.ok) {\n await settleOrLog(delivery, \"complete\", () => delivery.complete())\n return\n }\n\n const error = outcome.error\n if (signal.aborted || isAbortError(error)) {\n try {\n const decision = await this.onAbortError(claimed, error)\n await this.applyFailureDecision(delivery, decision, error, \"runtime.cancelled\")\n } catch {\n // Shutdown is already in progress. The unacknowledged job becomes visible after its lease.\n }\n return\n }\n\n try {\n const decision = await this.onExecutionError(claimed, error)\n await this.applyFailureDecision(delivery, decision, error, \"internal.unexpected\")\n } catch (settlementError) {\n logQueueOperationError(\"apply failure decision to\", claimed, settlementError)\n }\n } finally {\n await delivery.close()\n }\n }\n\n private async applyFailureDecision(\n delivery: QueueDelivery<TJob, TFailureCodes[number]>,\n decision: QueueWorkerFailureDecision<TFailureCodes[number]>,\n error: unknown,\n defaultCode: \"internal.unexpected\" | \"runtime.cancelled\"\n ): Promise<void> {\n if (decision.kind === \"retry\") {\n await delivery.retry({ availableAt: decision.availableAt })\n return\n }\n\n const failure =\n decision.failure ??\n captureSixbFailure(error, {\n allowedCodes: this.config.failureCodes,\n defaultCode,\n })\n await delivery.fail(failure)\n }\n}\n\nfunction normalizeClaimLimit(value: number | undefined): number {\n const claimLimit = value ?? DEFAULT_CLAIM_LIMIT\n if (!Number.isSafeInteger(claimLimit) || claimLimit < 1) {\n throw new Error(\"[SixbQueueWorker] Worker concurrency must be a positive safe integer.\")\n }\n return claimLimit\n}\n\nasync function settleOrLog<TJob extends QueueJob, TFailureCode extends SixbErrorCode>(\n delivery: QueueDelivery<TJob, TFailureCode>,\n operation: string,\n settle: () => Promise<QueueSettlementResult>\n): Promise<void> {\n try {\n // A \"lost\" result needs no extra logging here: loss is already reported via onLeaseLost.\n await settle()\n } catch (error) {\n logQueueOperationError(operation, delivery.claimed, error)\n }\n}\n\nfunction logQueueOperationError(operation: string, claimed: ClaimedQueueJob, error: unknown): void {\n console.error(\n `[SixbQueueWorker] Could not ${operation} queue job '${claimed.job.id}'; it may be redelivered.`,\n error\n )\n}\n\n/** True for a standard abort (`AbortController`/`AbortSignal.timeout`) error. */\nexport function isAbortError(error: unknown): boolean {\n return error instanceof Error && error.name === \"AbortError\"\n}\n\nasync function sleep(ms: number, signal: AbortSignal): Promise<void> {\n if (signal.aborted) {\n throw new WorkerAbortError(\"Worker runtime aborted.\")\n }\n\n await new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n signal.removeEventListener(\"abort\", onAbort)\n resolve()\n }, ms)\n\n const onAbort = () => {\n clearTimeout(timer)\n signal.removeEventListener(\"abort\", onAbort)\n reject(new WorkerAbortError(\"Worker runtime aborted.\"))\n }\n\n signal.addEventListener(\"abort\", onAbort, { once: true })\n })\n}\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "FA638CC52579761A64756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -15,7 +15,6 @@ export interface QueueWorkerConfig<TJob extends QueueJob, TFailureCodes extends
|
|
|
15
15
|
readonly workerId: string;
|
|
16
16
|
readonly leaseMs?: number;
|
|
17
17
|
readonly claimLimit?: number;
|
|
18
|
-
readonly idlePollMs?: number;
|
|
19
18
|
}
|
|
20
19
|
/**
|
|
21
20
|
* Queue settlement selected after execution stops.
|
|
@@ -33,6 +32,8 @@ export type QueueWorkerFailureDecision<TFailureCode extends SixbErrorCode = neve
|
|
|
33
32
|
};
|
|
34
33
|
export declare abstract class QueueWorker<TJob extends QueueJob, TFailureCodes extends QueueWorkerFailureCodes> extends Worker {
|
|
35
34
|
protected readonly config: Required<QueueWorkerConfig<TJob, TFailureCodes>>;
|
|
35
|
+
/** Pause after a failed claim. Overridable so tests do not wait out real backoffs. */
|
|
36
|
+
protected readonly claimFailureDelayMs: number;
|
|
36
37
|
private consecutiveClaimFailures;
|
|
37
38
|
constructor(config: QueueWorkerConfig<TJob, TFailureCodes>);
|
|
38
39
|
/** Maximum jobs this worker process claims and executes at once. */
|
|
@@ -41,7 +42,7 @@ export declare abstract class QueueWorker<TJob extends QueueJob, TFailureCodes e
|
|
|
41
42
|
protected abstract execute(claimed: ClaimedQueueJob<TJob>, signal: AbortSignal, delivery: QueueDelivery<TJob, TFailureCodes[number]>): Promise<void>;
|
|
42
43
|
protected onExecutionError(_claimed: ClaimedQueueJob<TJob>, _error: unknown): Promise<QueueWorkerFailureDecision<TFailureCodes[number]>> | QueueWorkerFailureDecision<TFailureCodes[number]>;
|
|
43
44
|
protected onAbortError(_claimed: ClaimedQueueJob<TJob>, _error: unknown): Promise<QueueWorkerFailureDecision<TFailureCodes[number]>> | QueueWorkerFailureDecision<TFailureCodes[number]>;
|
|
44
|
-
private
|
|
45
|
+
private claim;
|
|
45
46
|
private handle;
|
|
46
47
|
private applyFailureDecision;
|
|
47
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-worker.d.ts","sourceRoot":"","sources":["../../src/workers/queue-worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEjE,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,KAAK,uBAAuB,GAAG,SAAS;IACtC,qBAAqB;IACrB,mBAAmB;IACnB,GAAG,aAAa,EAAE;CACnB,CAAA;AAED,MAAM,WAAW,iBAAiB,CAChC,IAAI,SAAS,QAAQ,EACrB,aAAa,SAAS,uBAAuB;IAE7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"queue-worker.d.ts","sourceRoot":"","sources":["../../src/workers/queue-worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEjE,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,KAAK,uBAAuB,GAAG,SAAS;IACtC,qBAAqB;IACrB,mBAAmB;IACnB,GAAG,aAAa,EAAE;CACnB,CAAA;AAED,MAAM,WAAW,iBAAiB,CAChC,IAAI,SAAS,QAAQ,EACrB,aAAa,SAAS,uBAAuB;IAE7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,CAAC,YAAY,SAAS,aAAa,GAAG,KAAK,IAC7E;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;CAC7C,CAAA;AAOL,8BAAsB,WAAW,CAC/B,IAAI,SAAS,QAAQ,EACrB,aAAa,SAAS,uBAAuB,CAC7C,SAAQ,MAAM;IACd,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAA;IAC3E,sFAAsF;IACtF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAyB;IACvE,OAAO,CAAC,wBAAwB,CAAI;gBAExB,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC;IAY1D,oEAAoE;IACpE,IAAI,WAAW,IAAI,MAAM,CAExB;cAEe,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCvD,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxB,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,EAC9B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,gBAAgB,CACxB,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAC/B,MAAM,EAAE,OAAO,GAEb,OAAO,CAAC,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAC1D,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAIrD,SAAS,CAAC,YAAY,CACpB,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,EAC/B,MAAM,EAAE,OAAO,GAEb,OAAO,CAAC,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAC1D,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAMvC,KAAK;YAgCL,MAAM;YAyDN,oBAAoB;CAmBnC;AA8BD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/workflows/builders.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAK9C,OAAO,KAAK,EACV,gBAAgB,EAEhB,qBAAqB,EACrB,mBAAmB,EAInB,WAAW,EAGX,eAAe,EAKhB,MAAM,SAAS,CAAA;AAQhB,KAAK,mBAAmB,GAAG;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAwBD;;;GAGG;AACH,KAAK,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI,OAAO,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;AAErE,KAAK,uBAAuB,CAAC,OAAO,SAAS,WAAW,EAAE,SAAS,SAAS,OAAO,IAAI;IACrF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,OAAO,SAAS,WAAW,EACjE,MAAM,EAAE,OAAO,GACd,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACzC,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,OAAO,SAAS,WAAW,EACjC,KAAK,CAAC,SAAS,SAAS,OAAO,GAAG,IAAI,EAEtC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GACA,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;AAY9C,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAsBtF;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS,MAAM,EACtD,EAAE,EAAE,GAAG,EACP,MAAM,EAAE,qBAAqB,GAC5B,gBAAgB,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/workflows/builders.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAK9C,OAAO,KAAK,EACV,gBAAgB,EAEhB,qBAAqB,EACrB,mBAAmB,EAInB,WAAW,EAGX,eAAe,EAKhB,MAAM,SAAS,CAAA;AAQhB,KAAK,mBAAmB,GAAG;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAwBD;;;GAGG;AACH,KAAK,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI,OAAO,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;AAErE,KAAK,uBAAuB,CAAC,OAAO,SAAS,WAAW,EAAE,SAAS,SAAS,OAAO,IAAI;IACrF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,OAAO,SAAS,WAAW,EACjE,MAAM,EAAE,OAAO,GACd,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACzC,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,OAAO,SAAS,WAAW,EACjC,KAAK,CAAC,SAAS,SAAS,OAAO,GAAG,IAAI,EAEtC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GACA,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;AAY9C,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAsBtF;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS,MAAM,EACtD,EAAE,EAAE,GAAG,EACP,MAAM,EAAE,qBAAqB,GAC5B,gBAAgB,CAAC,GAAG,CAAC,CA8CvB;AAiFD,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,MAAM,EACzD,EAAE,EAAE,GAAG,EACP,OAAO,CAAC,EAAE,mBAAmB,GAC5B,mBAAmB,CAAC,GAAG,CAAC,CAiB1B;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAQtF"}
|