@sixb/core 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/builders/params.d.ts +1 -22
- package/dist/actions/builders/params.d.ts.map +1 -1
- package/dist/actions/index.js +29 -28
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/types/params.d.ts +10 -44
- package/dist/actions/types/params.d.ts.map +1 -1
- package/dist/actions/validation.d.ts.map +1 -1
- package/dist/actions/worker.js +3 -2
- package/dist/actions/worker.js.map +2 -2
- package/dist/agents/errors.d.ts +1 -1
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/execution.d.ts +15 -9
- package/dist/agents/execution.d.ts.map +1 -1
- package/dist/agents/ids.d.ts +2 -0
- package/dist/agents/ids.d.ts.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +48 -42
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/request.d.ts.map +1 -1
- package/dist/agents/sandbox.d.ts +5 -0
- package/dist/agents/sandbox.d.ts.map +1 -0
- package/dist/agents/streams/index.js +4 -3
- package/dist/agents/streams/index.js.map +1 -1
- package/dist/agents/streams/internal.js +4 -3
- package/dist/agents/streams/internal.js.map +1 -1
- package/dist/agents/validation.d.ts.map +1 -1
- package/dist/auth/index.js +8 -6
- package/dist/auth/index.js.map +1 -1
- package/dist/authorization/index.js +5 -4
- package/dist/authorization/index.js.map +1 -1
- package/dist/blob-storage/types.d.ts +4 -1
- package/dist/blob-storage/types.d.ts.map +1 -1
- package/dist/bootstrap/index.js +50 -46
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/{chunk-17kfctj6.js → chunk-0mza4xb2.js} +2 -2
- package/dist/chunk-2c4j899j.js.map +1 -1
- package/dist/{chunk-g00bfdq6.js → chunk-2cxv584m.js} +12 -56
- package/dist/{chunk-g00bfdq6.js.map → chunk-2cxv584m.js.map} +3 -3
- package/dist/{chunk-e0d1rzef.js → chunk-2h63nrde.js} +380 -97
- package/dist/chunk-2h63nrde.js.map +20 -0
- package/dist/{chunk-rtk71jzp.js → chunk-3bnt2wna.js} +2 -2
- package/dist/{chunk-awbhdqyc.js → chunk-3ghw2t5q.js} +1 -1
- package/dist/{chunk-b19g04jk.js → chunk-3h7ctayx.js} +1 -1
- package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
- package/dist/{chunk-5hz0fnca.js → chunk-4k53sm9e.js} +6 -2
- package/dist/chunk-4k53sm9e.js.map +12 -0
- package/dist/chunk-4ph94nhd.js +81 -0
- package/dist/chunk-4ph94nhd.js.map +10 -0
- package/dist/chunk-58geavnf.js +29 -0
- package/dist/chunk-58geavnf.js.map +10 -0
- package/dist/{chunk-0y39rgsb.js → chunk-5tetw4hn.js} +1 -1
- package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
- package/dist/chunk-69266efg.js.map +12 -0
- package/dist/{chunk-g7knyczr.js → chunk-6ma8dvzc.js} +121 -53
- package/dist/chunk-6ma8dvzc.js.map +15 -0
- package/dist/{chunk-skz0hst3.js → chunk-7c2g3sz9.js} +6 -86
- package/dist/{chunk-skz0hst3.js.map → chunk-7c2g3sz9.js.map} +3 -3
- package/dist/{chunk-976rxdpx.js → chunk-7qnvhtcd.js} +93 -17
- package/dist/{chunk-976rxdpx.js.map → chunk-7qnvhtcd.js.map} +7 -6
- package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
- package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
- package/dist/chunk-91kcnbf0.js.map +10 -0
- package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
- package/dist/chunk-96yw3pwd.js.map +10 -0
- package/dist/chunk-98cw09sw.js.map +2 -2
- package/dist/{chunk-93csa55g.js → chunk-axndsymr.js} +10 -4
- package/dist/chunk-axndsymr.js.map +11 -0
- package/dist/{chunk-r7fj830t.js → chunk-b768c93y.js} +100 -29
- package/dist/chunk-b768c93y.js.map +36 -0
- package/dist/{chunk-dz5h08xv.js → chunk-bbaa1fet.js} +24 -9
- package/dist/{chunk-dz5h08xv.js.map → chunk-bbaa1fet.js.map} +4 -4
- package/dist/{chunk-7apz6hg4.js → chunk-bet1rb9h.js} +8 -4
- package/dist/chunk-bet1rb9h.js.map +10 -0
- package/dist/{chunk-358caqf5.js → chunk-bfjv1adk.js} +2 -2
- package/dist/{chunk-b0ec55a1.js → chunk-bg2bs62d.js} +5 -5
- package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
- package/dist/chunk-cd234ba4.js.map +14 -0
- package/dist/chunk-d62kjtbg.js.map +1 -1
- package/dist/chunk-dmn70ztd.js.map +2 -2
- package/dist/{chunk-28ja2cjs.js → chunk-e1f1sqba.js} +39 -53
- package/dist/{chunk-28ja2cjs.js.map → chunk-e1f1sqba.js.map} +5 -6
- package/dist/{chunk-ap0g1g74.js → chunk-eyjzgav0.js} +39 -4
- package/dist/chunk-eyjzgav0.js.map +12 -0
- package/dist/{chunk-rb1xx120.js → chunk-f06sf7rr.js} +9 -5
- package/dist/chunk-f06sf7rr.js.map +11 -0
- package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
- package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
- package/dist/{chunk-38zv5rkr.js → chunk-g2gezsg5.js} +1 -1
- package/dist/{chunk-38zv5rkr.js.map → chunk-g2gezsg5.js.map} +2 -2
- package/dist/{chunk-nmbxcaqx.js → chunk-g50nxqs5.js} +53 -66
- package/dist/chunk-g50nxqs5.js.map +18 -0
- package/dist/{chunk-1824gssz.js → chunk-gswwr35f.js} +4 -4
- package/dist/{chunk-92vk7gta.js → chunk-gzt6v1ja.js} +1 -1
- package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
- package/dist/chunk-hgqpcmyr.js.map +12 -0
- package/dist/{chunk-gqh45d2n.js → chunk-hkw8rykk.js} +2 -2
- package/dist/{chunk-f4w3yp4f.js → chunk-hzw7yv5g.js} +104 -21
- package/dist/chunk-hzw7yv5g.js.map +13 -0
- package/dist/{chunk-5c7ga8zz.js → chunk-jjwhy3rs.js} +5 -5
- package/dist/chunk-kept9cdd.js +29 -0
- package/dist/chunk-kept9cdd.js.map +10 -0
- package/dist/{chunk-ftv470j8.js → chunk-m7cx05vp.js} +247 -16
- package/dist/{chunk-ftv470j8.js.map → chunk-m7cx05vp.js.map} +14 -10
- package/dist/{chunk-qyeptdyv.js → chunk-mdnw7nj8.js} +10 -6
- package/dist/chunk-mdnw7nj8.js.map +15 -0
- package/dist/{chunk-5p1v802y.js → chunk-nzsy3xrp.js} +253 -86
- package/dist/chunk-nzsy3xrp.js.map +46 -0
- package/dist/chunk-p1683c0v.js +104 -0
- package/dist/chunk-p1683c0v.js.map +11 -0
- package/dist/chunk-p6r1ex7t.js +93 -0
- package/dist/chunk-p6r1ex7t.js.map +10 -0
- package/dist/{chunk-p5vcsw9c.js → chunk-qm535afa.js} +10 -10
- package/dist/{chunk-p5vcsw9c.js.map → chunk-qm535afa.js.map} +4 -4
- package/dist/chunk-r5zythxp.js +552 -0
- package/dist/chunk-r5zythxp.js.map +17 -0
- package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
- package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
- package/dist/{chunk-t1f4f1ve.js → chunk-sfypc7mk.js} +18 -13
- package/dist/{chunk-t1f4f1ve.js.map → chunk-sfypc7mk.js.map} +3 -3
- package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
- package/dist/chunk-t6f3tdnr.js.map +10 -0
- package/dist/{chunk-bn138h9w.js → chunk-t7dzd1tm.js} +3 -3
- package/dist/{chunk-pr2h4bv4.js → chunk-tg4g4zh0.js} +3 -3
- package/dist/chunk-vpxss818.js +56 -0
- package/dist/chunk-vpxss818.js.map +10 -0
- package/dist/{chunk-ms2tmn1k.js → chunk-vsg0g7h9.js} +53 -57
- package/dist/chunk-vsg0g7h9.js.map +17 -0
- package/dist/{chunk-8vj0rjgs.js → chunk-wjffn5m4.js} +1 -1
- package/dist/{chunk-nt99sxd6.js → chunk-x9tmx3fc.js} +18 -24
- package/dist/chunk-x9tmx3fc.js.map +14 -0
- package/dist/{chunk-agbbygvh.js → chunk-xn686q2e.js} +8 -8
- package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
- package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
- package/dist/{chunk-v2vcg0w6.js → chunk-xtfryrfb.js} +2 -2
- package/dist/chunk-y0v18c2j.js +363 -0
- package/dist/chunk-y0v18c2j.js.map +14 -0
- package/dist/{chunk-72w2pxk7.js → chunk-y1ahv8b7.js} +11 -3
- package/dist/{chunk-72w2pxk7.js.map → chunk-y1ahv8b7.js.map} +3 -3
- package/dist/chunk-y3ev53cq.js +84 -0
- package/dist/chunk-y3ev53cq.js.map +10 -0
- package/dist/{chunk-p6a4npdx.js → chunk-ybhz3j9g.js} +362 -60
- package/dist/chunk-ybhz3j9g.js.map +63 -0
- package/dist/{chunk-z30bv4ga.js → chunk-yxb4c62x.js} +3 -2
- package/dist/{chunk-z30bv4ga.js.map → chunk-yxb4c62x.js.map} +3 -3
- package/dist/chunk-z3y5kg1x.js +14 -0
- package/dist/chunk-z3y5kg1x.js.map +10 -0
- package/dist/connectors/connections/command-context.d.ts +2 -0
- package/dist/connectors/connections/command-context.d.ts.map +1 -1
- package/dist/connectors/connections/contracts.d.ts +1 -1
- package/dist/connectors/connections/contracts.d.ts.map +1 -1
- package/dist/connectors/connections/execution.d.ts +1 -0
- package/dist/connectors/connections/execution.d.ts.map +1 -1
- package/dist/connectors/connections/runs.d.ts +1 -0
- package/dist/connectors/connections/runs.d.ts.map +1 -1
- package/dist/connectors/connections/service.d.ts +2 -0
- package/dist/connectors/connections/service.d.ts.map +1 -1
- package/dist/datasets/validation.d.ts +4 -0
- package/dist/datasets/validation.d.ts.map +1 -1
- package/dist/datasets/write.d.ts.map +1 -1
- package/dist/datasets/write.js +5 -4
- package/dist/datasets/write.js.map +1 -1
- package/dist/error-reporting/capability.d.ts +3 -2
- package/dist/error-reporting/capability.d.ts.map +1 -1
- package/dist/error-reporting/internal.js +5 -4
- package/dist/error-reporting/internal.js.map +1 -1
- package/dist/error-reporting/reports.d.ts +10 -0
- package/dist/error-reporting/reports.d.ts.map +1 -1
- package/dist/error-reporting/types.d.ts +10 -2
- package/dist/error-reporting/types.d.ts.map +1 -1
- package/dist/errors/catalog.d.ts +12 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/failure-message.d.ts +8 -0
- package/dist/errors/failure-message.d.ts.map +1 -0
- package/dist/errors/internal.d.ts.map +1 -1
- package/dist/errors/internal.js +3 -2
- package/dist/errors/internal.js.map +1 -1
- package/dist/events/index.js +5 -4
- package/dist/events/index.js.map +1 -1
- package/dist/events/outbox-dispatcher.d.ts +2 -2
- package/dist/events/outbox-dispatcher.d.ts.map +1 -1
- package/dist/execution/agent.js +44 -41
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorization.d.ts.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts +3 -0
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/kernel-operation.d.ts +4 -0
- package/dist/execution/kernel-operation.d.ts.map +1 -0
- package/dist/execution/primitive.js +44 -41
- package/dist/execution/primitive.js.map +2 -2
- package/dist/execution/request.js +45 -42
- package/dist/execution/request.js.map +2 -2
- package/dist/execution/types.d.ts +6 -0
- package/dist/execution/types.d.ts.map +1 -1
- package/dist/index.d.ts +15 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -59
- package/dist/index.js.map +1 -1
- package/dist/lake-storage/in-memory.d.ts.map +1 -1
- package/dist/lake-storage/index.js +5 -4
- package/dist/lake-storage/index.js.map +1 -1
- package/dist/lake-storage/types.d.ts +2 -0
- package/dist/lake-storage/types.d.ts.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/maintenance/types.d.ts +1 -1
- package/dist/maintenance/types.d.ts.map +1 -1
- package/dist/materialization/errors.d.ts +1 -1
- package/dist/materialization/errors.d.ts.map +1 -1
- package/dist/materialization/index.d.ts +1 -0
- package/dist/materialization/index.d.ts.map +1 -1
- package/dist/materialization/index.js +3 -3
- package/dist/materialization/model.d.ts +2 -0
- package/dist/materialization/model.d.ts.map +1 -1
- package/dist/materialization/vectors.d.ts +19 -0
- package/dist/materialization/vectors.d.ts.map +1 -0
- package/dist/materializer/context.d.ts.map +1 -1
- package/dist/materializer/edits/commit.d.ts.map +1 -1
- package/dist/materializer/edits/vector-authority.d.ts +6 -0
- package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
- package/dist/materializer/edits/vectors.d.ts +6 -0
- package/dist/materializer/edits/vectors.d.ts.map +1 -0
- package/dist/materializer/effective/validate.d.ts.map +1 -1
- package/dist/materializer/effective/vector-indexing.d.ts +7 -0
- package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
- package/dist/materializer/effective/vectors.d.ts +6 -0
- package/dist/materializer/effective/vectors.d.ts.map +1 -0
- package/dist/materializer/execution/work-executor.d.ts +2 -1
- package/dist/materializer/execution/work-executor.d.ts.map +1 -1
- package/dist/materializer/index.js +26 -25
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/shared/normalize.d.ts.map +1 -1
- package/dist/models/catalog-index.d.ts +15 -0
- package/dist/models/catalog-index.d.ts.map +1 -0
- package/dist/models/catalog.d.ts +27 -6
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/decision/catalog.d.ts +12 -0
- package/dist/models/decision/catalog.d.ts.map +1 -0
- package/dist/models/decision/errors.d.ts +7 -0
- package/dist/models/decision/errors.d.ts.map +1 -0
- package/dist/models/decision/output.d.ts +50 -0
- package/dist/models/decision/output.d.ts.map +1 -0
- package/dist/models/decision/questions.d.ts +14 -0
- package/dist/models/decision/questions.d.ts.map +1 -0
- package/dist/models/decision/runtime.d.ts +7 -0
- package/dist/models/decision/runtime.d.ts.map +1 -0
- package/dist/models/decision/types.d.ts +92 -0
- package/dist/models/decision/types.d.ts.map +1 -0
- package/dist/models/decision/validation.d.ts +7 -0
- package/dist/models/decision/validation.d.ts.map +1 -0
- package/dist/models/definitions.d.ts +8 -1
- package/dist/models/definitions.d.ts.map +1 -1
- package/dist/models/embedding-model.d.ts +60 -0
- package/dist/models/embedding-model.d.ts.map +1 -0
- package/dist/models/execution/binding.d.ts +2 -0
- package/dist/models/execution/binding.d.ts.map +1 -1
- package/dist/models/execution/embedding.d.ts +5 -0
- package/dist/models/execution/embedding.d.ts.map +1 -0
- package/dist/models/execution/index.js +29 -26
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/execution/model-call-recorder.d.ts +5 -1
- package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
- package/dist/models/execution/session.d.ts +21 -0
- package/dist/models/execution/session.d.ts.map +1 -0
- package/dist/models/execution.d.ts.map +1 -1
- package/dist/models/generation-types.d.ts +2 -0
- package/dist/models/generation-types.d.ts.map +1 -1
- package/dist/models/index.d.ts +9 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +17 -7
- package/dist/models/index.js.map +1 -1
- package/dist/models/pricing.d.ts +3 -2
- package/dist/models/pricing.d.ts.map +1 -1
- package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
- package/dist/objects/execution.d.ts +1 -0
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +29 -28
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/query/executor.d.ts +3 -0
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.d.ts +2 -0
- package/dist/objects/query/index.d.ts.map +1 -1
- package/dist/objects/query/index.js +34 -24
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +6 -2
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/normalize.d.ts.map +1 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts +5 -0
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-executor.d.ts +2 -0
- package/dist/objects/sdk/query-executor.d.ts.map +1 -1
- package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
- package/dist/objects/vectors/handle.d.ts +4 -0
- package/dist/objects/vectors/handle.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-batch.d.ts +6 -0
- package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-generate.d.ts +11 -0
- package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
- package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-shared.d.ts +17 -0
- package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-single.d.ts +4 -0
- package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
- package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
- package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
- package/dist/objects/vectors/indexing.d.ts +7 -0
- package/dist/objects/vectors/indexing.d.ts.map +1 -0
- package/dist/objects/vectors/profile.d.ts +13 -0
- package/dist/objects/vectors/profile.d.ts.map +1 -0
- package/dist/objects/vectors/query.d.ts +5 -0
- package/dist/objects/vectors/query.d.ts.map +1 -0
- package/dist/objects/vectors/resolve-query.d.ts +6 -0
- package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
- package/dist/objects/vectors/types.d.ts +11 -0
- package/dist/objects/vectors/types.d.ts.map +1 -0
- package/dist/ontology/index.d.ts +2 -1
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +5 -5
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/internal.js +5 -4
- package/dist/ontology/internal.js.map +1 -1
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +8 -9
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/validation/definition.d.ts +3 -0
- package/dist/ontology/validation/definition.d.ts.map +1 -0
- package/dist/ontology/validation/properties.d.ts.map +1 -1
- package/dist/ontology/validation/query.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts +1 -1
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/ontology/vector-profiles.d.ts +4 -0
- package/dist/ontology/vector-profiles.d.ts.map +1 -0
- package/dist/pipelines/index.js +28 -27
- package/dist/pipelines/index.js.map +1 -1
- package/dist/projections/internal.js +24 -23
- package/dist/projections/internal.js.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +2 -1
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/queues/index.d.ts +1 -1
- package/dist/queues/index.d.ts.map +1 -1
- package/dist/queues/index.js +1 -1
- package/dist/queues/types.d.ts +5 -0
- package/dist/queues/types.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +4 -3
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +9 -6
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/internal.d.ts +3 -0
- package/dist/runtime/internal.d.ts.map +1 -1
- package/dist/runtime/internal.js +47 -1
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/resolve-definitions.d.ts.map +1 -1
- package/dist/runtime/sixb.d.ts +9 -4
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +15 -3
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/auth.d.ts +16 -0
- package/dist/sandboxes/auth.d.ts.map +1 -0
- package/dist/sandboxes/config.d.ts +5 -0
- package/dist/sandboxes/config.d.ts.map +1 -0
- package/dist/sandboxes/configuration.d.ts +41 -0
- package/dist/sandboxes/configuration.d.ts.map +1 -0
- package/dist/sandboxes/environment.d.ts +13 -0
- package/dist/sandboxes/environment.d.ts.map +1 -0
- package/dist/sandboxes/errors.d.ts +1 -1
- package/dist/sandboxes/errors.d.ts.map +1 -1
- package/dist/sandboxes/index.d.ts +6 -1
- package/dist/sandboxes/index.d.ts.map +1 -1
- package/dist/sandboxes/index.js +16 -3
- package/dist/sandboxes/index.js.map +1 -1
- package/dist/sandboxes/sandbox.d.ts +35 -3
- package/dist/sandboxes/sandbox.d.ts.map +1 -1
- package/dist/shared/params/builders.d.ts +25 -0
- package/dist/shared/params/builders.d.ts.map +1 -0
- package/dist/shared/params/types.d.ts +47 -0
- package/dist/shared/params/types.d.ts.map +1 -0
- package/dist/shared/params/validation.d.ts +15 -0
- package/dist/shared/params/validation.d.ts.map +1 -0
- package/dist/shares/internal.js +23 -22
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +4 -3
- package/dist/storage/action-runs/failure.js.map +1 -1
- package/dist/storage/action-runs/provider.js +1 -1
- package/dist/storage/agents/in-memory.d.ts +2 -1
- package/dist/storage/agents/in-memory.d.ts.map +1 -1
- package/dist/storage/agents/index.d.ts +1 -1
- package/dist/storage/agents/index.d.ts.map +1 -1
- package/dist/storage/agents/provider.d.ts +5 -1
- package/dist/storage/agents/provider.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +8 -4
- package/dist/storage/agents/provider.js.map +1 -1
- package/dist/storage/agents/types.d.ts +49 -0
- package/dist/storage/agents/types.d.ts.map +1 -1
- package/dist/storage/ai-cost/analytics.d.ts +1 -0
- package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
- package/dist/storage/ai-cost/index.d.ts +1 -1
- package/dist/storage/ai-cost/index.d.ts.map +1 -1
- package/dist/storage/ai-cost/provider.js +2 -2
- package/dist/storage/ai-cost/types.d.ts +14 -2
- package/dist/storage/ai-cost/types.d.ts.map +1 -1
- package/dist/storage/ai-limits/enforcement.js +4 -3
- package/dist/storage/ai-limits/enforcement.js.map +1 -1
- package/dist/storage/connector-connections/in-memory.d.ts +1 -0
- package/dist/storage/connector-connections/in-memory.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider/runs.d.ts +1 -0
- package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider/shared.d.ts +1 -0
- package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.d.ts +1 -0
- package/dist/storage/connector-connections/provider.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +12 -17
- package/dist/storage/connector-connections/provider.js.map +6 -6
- package/dist/storage/connector-connections/types.d.ts +3 -1
- package/dist/storage/connector-connections/types.d.ts.map +1 -1
- package/dist/storage/executions/provider.d.ts +3 -3
- package/dist/storage/executions/provider.d.ts.map +1 -1
- package/dist/storage/executions/provider.js +13 -11
- package/dist/storage/executions/provider.js.map +3 -3
- package/dist/storage/executions/types.d.ts +3 -0
- package/dist/storage/executions/types.d.ts.map +1 -1
- package/dist/storage/executions/validation.d.ts.map +1 -1
- package/dist/storage/index.d.ts +5 -3
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +25 -22
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.js +2 -2
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
- package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
- package/dist/storage/objects/in-memory/storage.d.ts +7 -0
- package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
- package/dist/storage/objects/types.d.ts +2 -0
- package/dist/storage/objects/types.d.ts.map +1 -1
- package/dist/storage/ontology/commits.d.ts +1 -0
- package/dist/storage/ontology/commits.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/index.d.ts +4 -0
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
- package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
- package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +6 -0
- package/dist/storage/ontology/index.d.ts.map +1 -1
- package/dist/storage/ontology/outbox.d.ts +1 -0
- package/dist/storage/ontology/outbox.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +2 -2
- package/dist/storage/ontology/vector-indexing.d.ts +94 -0
- package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
- package/dist/storage/ontology/vectors.d.ts +56 -0
- package/dist/storage/ontology/vectors.d.ts.map +1 -0
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/provider.js +4 -3
- package/dist/storage/projection-runs/provider.js.map +1 -1
- package/dist/storage/types.d.ts +1 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +9 -7
- package/dist/storage/workflow-runs/provider.js.map +1 -1
- package/dist/syncs/index.js +29 -28
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/agent-storage-contract.d.ts.map +1 -1
- package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
- package/dist/testing/index.js +488 -81
- package/dist/testing/index.js.map +10 -10
- package/dist/testing/lake-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-query-contract.d.ts.map +1 -1
- package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/queues-contract.d.ts.map +1 -1
- package/dist/webhooks/internal.js +24 -23
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/workers/index.js +3 -2
- package/dist/workers/index.js.map +2 -2
- package/dist/workflows/failure.d.ts.map +1 -1
- package/dist/workflows/index.js +47 -43
- package/dist/workflows/index.js.map +1 -1
- package/package.json +1 -1
- package/src/actions/builders/params.ts +1 -48
- package/src/actions/types/params.ts +14 -74
- package/src/actions/validation.ts +7 -84
- package/src/agents/errors.ts +3 -0
- package/src/agents/execution.ts +67 -15
- package/src/agents/ids.ts +8 -0
- package/src/agents/index.ts +1 -0
- package/src/agents/model-loop.ts +7 -0
- package/src/agents/request.ts +11 -0
- package/src/agents/sandbox.ts +44 -0
- package/src/agents/validation.ts +2 -108
- package/src/blob-storage/types.ts +4 -1
- package/src/connectors/connections/command-context.ts +21 -4
- package/src/connectors/connections/contracts.ts +4 -1
- package/src/connectors/connections/execution.ts +3 -0
- package/src/connectors/connections/runs.ts +38 -1
- package/src/connectors/connections/service.ts +6 -0
- package/src/datasets/validation.ts +40 -11
- package/src/datasets/write.ts +8 -11
- package/src/error-reporting/capability.ts +11 -0
- package/src/error-reporting/reports.ts +23 -0
- package/src/error-reporting/types.ts +12 -1
- package/src/errors/catalog.ts +12 -0
- package/src/errors/failure-message.ts +15 -0
- package/src/errors/internal.ts +57 -25
- package/src/events/outbox-dispatcher.ts +20 -26
- package/src/execution/authorization.ts +12 -5
- package/src/execution/authorized-object-reader.ts +37 -2
- package/src/execution/kernel-operation.ts +27 -0
- package/src/execution/scopes.ts +2 -0
- package/src/execution/types.ts +4 -4
- package/src/index.ts +60 -1
- package/src/lake-storage/in-memory.ts +7 -3
- package/src/lake-storage/types.ts +2 -0
- package/src/maintenance/ontology-maintenance.ts +6 -2
- package/src/maintenance/types.ts +1 -1
- package/src/materialization/errors.ts +2 -2
- package/src/materialization/index.ts +1 -0
- package/src/materialization/model.ts +2 -0
- package/src/materialization/vectors.ts +18 -0
- package/src/materializer/README.md +15 -1
- package/src/materializer/context.ts +10 -0
- package/src/materializer/edits/commit.ts +8 -1
- package/src/materializer/edits/vector-authority.ts +108 -0
- package/src/materializer/edits/vectors.ts +100 -0
- package/src/materializer/effective/validate.ts +10 -3
- package/src/materializer/effective/vector-indexing.ts +84 -0
- package/src/materializer/effective/vectors.ts +47 -0
- package/src/materializer/execution/work-executor.ts +11 -3
- package/src/materializer/projections/replace.ts +1 -1
- package/src/materializer/shared/normalize.ts +11 -0
- package/src/materializer/telemetry/append.ts +1 -1
- package/src/models/catalog-index.ts +38 -0
- package/src/models/catalog.ts +66 -38
- package/src/models/decision/catalog.ts +32 -0
- package/src/models/decision/errors.ts +18 -0
- package/src/models/decision/output.ts +101 -0
- package/src/models/decision/questions.ts +29 -0
- package/src/models/decision/runtime.ts +188 -0
- package/src/models/decision/types.ts +109 -0
- package/src/models/decision/validation.ts +335 -0
- package/src/models/definitions.ts +20 -1
- package/src/models/embedding-model.ts +129 -0
- package/src/models/execution/README.md +63 -0
- package/src/models/execution/binding.ts +2 -0
- package/src/models/execution/embedding.ts +133 -0
- package/src/models/execution/model-call-recorder.ts +42 -30
- package/src/models/execution/session.ts +81 -0
- package/src/models/execution.ts +10 -52
- package/src/models/generation-types.ts +2 -0
- package/src/models/index.ts +37 -0
- package/src/models/pricing.ts +7 -4
- package/src/objects/authorized-ontology-view.ts +12 -8
- package/src/objects/execution.ts +2 -0
- package/src/objects/query/executor.ts +13 -4
- package/src/objects/query/explain.ts +7 -2
- package/src/objects/query/index.ts +2 -0
- package/src/objects/query/ir.ts +6 -2
- package/src/objects/query/normalize.ts +5 -1
- package/src/objects/query/validate.ts +74 -73
- package/src/objects/sdk/object-handle.ts +3 -0
- package/src/objects/sdk/object-set.ts +1 -0
- package/src/objects/sdk/query-builder.ts +9 -3
- package/src/objects/sdk/query-executor.ts +2 -1
- package/src/objects/sdk/runtime-query-executor.ts +6 -2
- package/src/objects/vectors/README.md +59 -0
- package/src/objects/vectors/handle.ts +91 -0
- package/src/objects/vectors/indexing-batch.ts +163 -0
- package/src/objects/vectors/indexing-generate.ts +184 -0
- package/src/objects/vectors/indexing-runtime.ts +17 -0
- package/src/objects/vectors/indexing-shared.ts +188 -0
- package/src/objects/vectors/indexing-single.ts +51 -0
- package/src/objects/vectors/indexing-store-batch.ts +62 -0
- package/src/objects/vectors/indexing.ts +23 -0
- package/src/objects/vectors/profile.ts +64 -0
- package/src/objects/vectors/query.ts +16 -0
- package/src/objects/vectors/resolve-query.ts +89 -0
- package/src/objects/vectors/types.ts +10 -0
- package/src/ontology/index.ts +2 -0
- package/src/ontology/registry.ts +8 -0
- package/src/ontology/types.ts +9 -9
- package/src/ontology/validation/definition.ts +104 -0
- package/src/ontology/validation/properties.ts +14 -4
- package/src/ontology/validation/query.ts +34 -51
- package/src/ontology/validation/schema.ts +85 -23
- package/src/ontology/vector-profiles.ts +35 -0
- package/src/queues/in-memory.ts +5 -0
- package/src/queues/index.ts +1 -0
- package/src/queues/types.ts +10 -0
- package/src/runtime/create.ts +7 -6
- package/src/runtime/host.ts +42 -6
- package/src/runtime/internal.ts +3 -0
- package/src/runtime/resolve-definitions.ts +19 -1
- package/src/runtime/sixb.ts +27 -9
- package/src/runtime/types.ts +16 -4
- package/src/sandboxes/README.md +41 -0
- package/src/sandboxes/auth.ts +17 -0
- package/src/sandboxes/config.ts +37 -0
- package/src/sandboxes/configuration.ts +268 -0
- package/src/sandboxes/environment.ts +107 -0
- package/src/sandboxes/errors.ts +1 -1
- package/src/sandboxes/index.ts +15 -0
- package/src/sandboxes/sandbox.ts +38 -3
- package/src/shared/params/builders.ts +50 -0
- package/src/shared/params/types.ts +84 -0
- package/src/shared/params/validation.ts +114 -0
- package/src/storage/agents/in-memory.ts +25 -1
- package/src/storage/agents/index.ts +3 -0
- package/src/storage/agents/provider.ts +105 -0
- package/src/storage/agents/types.ts +54 -0
- package/src/storage/ai-cost/analytics.ts +59 -21
- package/src/storage/ai-cost/index.ts +1 -0
- package/src/storage/ai-cost/types.ts +19 -2
- package/src/storage/connector-connections/in-memory.ts +16 -18
- package/src/storage/connector-connections/provider/connections.ts +1 -15
- package/src/storage/connector-connections/provider/runs.ts +6 -0
- package/src/storage/connector-connections/provider/shared.ts +2 -3
- package/src/storage/connector-connections/provider.ts +6 -0
- package/src/storage/connector-connections/types.ts +5 -1
- package/src/storage/executions/provider.ts +24 -12
- package/src/storage/executions/types.ts +1 -0
- package/src/storage/executions/validation.ts +7 -3
- package/src/storage/index.ts +15 -1
- package/src/storage/objects/in-memory/query.ts +25 -11
- package/src/storage/objects/in-memory/read-scope.ts +9 -2
- package/src/storage/objects/in-memory/read-source.ts +5 -0
- package/src/storage/objects/in-memory/selected-reader.ts +5 -1
- package/src/storage/objects/in-memory/storage.ts +19 -1
- package/src/storage/objects/types.ts +2 -0
- package/src/storage/ontology/commits.ts +1 -0
- package/src/storage/ontology/in-memory/index.ts +20 -0
- package/src/storage/ontology/in-memory/materializations.ts +13 -0
- package/src/storage/ontology/in-memory/shared-state.ts +19 -3
- package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
- package/src/storage/ontology/in-memory/vectors.ts +73 -0
- package/src/storage/ontology/index.ts +14 -0
- package/src/storage/ontology/outbox.ts +1 -0
- package/src/storage/ontology/vector-indexing.ts +98 -0
- package/src/storage/ontology/vectors.ts +48 -0
- package/src/storage/operation-scope.ts +1 -0
- package/src/storage/types.ts +3 -0
- package/src/testing/agent-storage-contract.ts +246 -0
- package/src/testing/ai-cost-storage-contract.ts +134 -0
- package/src/testing/connector-connection-storage-contract.ts +11 -11
- package/src/testing/lake-storage-contract.ts +29 -0
- package/src/testing/object-query-contract.ts +41 -25
- package/src/testing/object-read-scope-contract.ts +1 -5
- package/src/testing/ontology-storage-contract.ts +8 -3
- package/src/testing/queues-contract.ts +31 -0
- package/src/workflows/failure.ts +10 -4
- package/src/workflows/validation.ts +2 -2
- package/dist/chunk-5hz0fnca.js.map +0 -12
- package/dist/chunk-5p1v802y.js.map +0 -44
- package/dist/chunk-7apz6hg4.js.map +0 -10
- package/dist/chunk-7bs40fe1.js.map +0 -12
- package/dist/chunk-860dwwy0.js.map +0 -14
- package/dist/chunk-93csa55g.js.map +0 -11
- package/dist/chunk-aa6z4a19.js.map +0 -12
- package/dist/chunk-ap0g1g74.js.map +0 -11
- package/dist/chunk-e0d1rzef.js.map +0 -15
- package/dist/chunk-f0rwz2vh.js.map +0 -11
- package/dist/chunk-f4w3yp4f.js.map +0 -12
- package/dist/chunk-g7knyczr.js.map +0 -14
- package/dist/chunk-mrp7k0pw.js.map +0 -10
- package/dist/chunk-ms2tmn1k.js.map +0 -17
- package/dist/chunk-nmbxcaqx.js.map +0 -19
- package/dist/chunk-nt99sxd6.js.map +0 -14
- package/dist/chunk-p6a4npdx.js.map +0 -58
- package/dist/chunk-qyeptdyv.js.map +0 -15
- package/dist/chunk-r7fj830t.js.map +0 -36
- package/dist/chunk-rb1xx120.js.map +0 -11
- package/dist/chunk-yv79ncbv.js.map +0 -10
- package/dist/chunk-z3y411fq.js +0 -99
- package/dist/chunk-z3y411fq.js.map +0 -11
- /package/dist/{chunk-17kfctj6.js.map → chunk-0mza4xb2.js.map} +0 -0
- /package/dist/{chunk-rtk71jzp.js.map → chunk-3bnt2wna.js.map} +0 -0
- /package/dist/{chunk-awbhdqyc.js.map → chunk-3ghw2t5q.js.map} +0 -0
- /package/dist/{chunk-b19g04jk.js.map → chunk-3h7ctayx.js.map} +0 -0
- /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
- /package/dist/{chunk-0y39rgsb.js.map → chunk-5tetw4hn.js.map} +0 -0
- /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
- /package/dist/{chunk-358caqf5.js.map → chunk-bfjv1adk.js.map} +0 -0
- /package/dist/{chunk-b0ec55a1.js.map → chunk-bg2bs62d.js.map} +0 -0
- /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
- /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
- /package/dist/{chunk-1824gssz.js.map → chunk-gswwr35f.js.map} +0 -0
- /package/dist/{chunk-92vk7gta.js.map → chunk-gzt6v1ja.js.map} +0 -0
- /package/dist/{chunk-gqh45d2n.js.map → chunk-hkw8rykk.js.map} +0 -0
- /package/dist/{chunk-5c7ga8zz.js.map → chunk-jjwhy3rs.js.map} +0 -0
- /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
- /package/dist/{chunk-653vwrzr.js.map → chunk-rdghfsss.js.map} +0 -0
- /package/dist/{chunk-bn138h9w.js.map → chunk-t7dzd1tm.js.map} +0 -0
- /package/dist/{chunk-pr2h4bv4.js.map → chunk-tg4g4zh0.js.map} +0 -0
- /package/dist/{chunk-8vj0rjgs.js.map → chunk-wjffn5m4.js.map} +0 -0
- /package/dist/{chunk-agbbygvh.js.map → chunk-xn686q2e.js.map} +0 -0
- /package/dist/{chunk-v2vcg0w6.js.map → chunk-xtfryrfb.js.map} +0 -0
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/storage/connector-connections/provider/shared.ts", "../src/storage/connector-connections/provider/authorizations.ts", "../src/storage/connector-connections/provider/connections.ts", "../src/storage/connector-connections/provider/runs.ts", "../src/storage/connector-connections/provider.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { timingSafeEqual } from \"node:crypto\"\nimport { createSixbError, toSixbFailure } from \"../../../errors/internal\"\nimport { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n ClaimConnectorCredentialMutationInput,\n ConnectorAuthorizationAttemptRecord,\n ConnectorAuthorizationRecord,\n ConnectorConnectionRecord,\n ConnectorConnectionRunProcessingRecord,\n ConnectorConnectionRunRecord,\n ConnectorCredentialMutationFence,\n GetConnectorConnectionInput,\n} from \"../types\"\nimport { CONNECTOR_CONNECTION_RUN_FAILURE_CODES } from \"../types\"\n\nexport interface ConnectorConnectionPersistenceScope {\n readonly projectId: string\n /** Omitted only while resolving a callback whose public proof intentionally carries no id. */\n readonly connectorId?: string\n}\n\n/** Database-specific record access used by the shared connector lifecycle state machine. */\nexport interface ConnectorConnectionPersistence {\n now(): Promise<Date>\n\n insertAuthorizationAttempt(record: ConnectorAuthorizationAttemptRecord): Promise<boolean>\n getAuthorizationAttempt(id: string): Promise<ConnectorAuthorizationAttemptRecord | null>\n getAuthorizationAttemptByConnectionRunId(\n connectionRunId: string\n ): Promise<ConnectorAuthorizationAttemptRecord | null>\n deleteAuthorizationAttempt(id: string): Promise<boolean>\n\n insertConnectionRun(record: ConnectorConnectionRunRecord): Promise<boolean>\n getConnectionRun(id: string): Promise<ConnectorConnectionRunRecord | null>\n updateConnectionRun(record: ConnectorConnectionRunRecord): Promise<void>\n\n insertAuthorization(record: ConnectorAuthorizationRecord): Promise<boolean>\n getAuthorization(id: string): Promise<ConnectorAuthorizationRecord | null>\n updateAuthorization(record: ConnectorAuthorizationRecord): Promise<void>\n\n insertConnection(record: ConnectorConnectionRecord): Promise<boolean>\n getConnectionById(id: string): Promise<ConnectorConnectionRecord | null>\n getConnectionBySelector(\n input: Pick<GetConnectorConnectionInput, \"owner\" | \"slot\">\n ): Promise<ConnectorConnectionRecord | null>\n listConnections(): Promise<readonly ConnectorConnectionRecord[]>\n listConnectionsByAuthorization(\n authorizationId: string,\n options?: { readonly connectedOnly?: boolean }\n ): Promise<readonly ConnectorConnectionRecord[]>\n updateConnection(record: ConnectorConnectionRecord): Promise<void>\n}\n\n/** Transaction and lock boundary supplied by a concrete durable storage provider. */\nexport interface ConnectorConnectionPersistenceBackend {\n read<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T>\n transaction<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T>\n}\n\nexport abstract class ConnectorConnectionOperations {\n constructor(private readonly backend: ConnectorConnectionPersistenceBackend) {}\n\n protected read<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T> {\n return this.backend.read(scope, run)\n }\n\n protected write<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T> {\n return this.backend.transaction(scope, run)\n }\n}\n\nexport async function currentConnectionRun(\n persistence: ConnectorConnectionPersistence,\n runId: string\n): Promise<ConnectorConnectionRunRecord | null> {\n const run = await persistence.getConnectionRun(runId)\n if (!run || (run.status !== \"waiting\" && run.status !== \"running\")) return run\n\n const now = await persistence.now()\n if (run.expiresAt.getTime() > now.getTime()) return run\n\n if (run.status === \"waiting\" && run.waitingFor === \"provider_authorization\") {\n const attempt = await persistence.getAuthorizationAttemptByConnectionRunId(run.id)\n if (attempt) await persistence.deleteAuthorizationAttempt(attempt.id)\n }\n if (run.status === \"waiting\") {\n if (run.kind === \"connect\" && run.waitingFor === \"account_selection\") {\n await markPendingAuthorizationForCleanup(persistence, run.authorizationId, now)\n }\n const expired = expireConnectionRun(run, now)\n await persistence.updateConnectionRun(expired)\n return expired\n }\n\n if (run.kind === \"connect\" && run.authorizationId) {\n await markPendingAuthorizationForCleanup(persistence, run.authorizationId, now)\n }\n const failed = failExpiredProcessingRun(run, now)\n await persistence.updateConnectionRun(failed)\n return failed\n}\n\nexport async function markPendingAuthorizationForCleanup(\n persistence: ConnectorConnectionPersistence,\n authorizationId: string,\n now: Date\n): Promise<void> {\n const authorization = await persistence.getAuthorization(authorizationId)\n if (!authorization || authorization.status !== \"pending_selection\") return\n await persistence.updateAuthorization(markAuthorizationRevocationPending(authorization, now))\n}\n\nexport function connectionRunBase(record: ConnectorConnectionRunRecord, updatedAt: Date) {\n return {\n id: record.id,\n projectId: record.projectId,\n connectorId: record.connectorId,\n kind: record.kind,\n owner: structuredClone(record.owner),\n slot: record.slot,\n initiatedByExecutionId: record.initiatedByExecutionId,\n createdAt: new Date(record.createdAt),\n updatedAt: new Date(updatedAt),\n }\n}\n\nfunction expireConnectionRun(\n record: Extract<ConnectorConnectionRunRecord, { readonly status: \"waiting\" }>,\n now: Date\n) {\n return {\n ...connectionRunBase(record, now),\n status: \"expired\" as const,\n ...(record.waitingFor === \"account_selection\"\n ? { authorizationId: record.authorizationId }\n : {}),\n finishedAt: new Date(now),\n }\n}\n\nfunction failExpiredProcessingRun(record: ConnectorConnectionRunProcessingRecord, now: Date) {\n return {\n ...connectionRunBase(record, now),\n status: \"failed\" as const,\n ...(record.authorizationId === undefined ? {} : { authorizationId: record.authorizationId }),\n error: toSixbFailure(\n createSixbError(\n \"internal.unexpected\",\n \"[Sixb] Connector callback processing did not complete before its deadline.\"\n ),\n { allowedCodes: CONNECTOR_CONNECTION_RUN_FAILURE_CODES, at: now }\n ),\n finishedAt: new Date(now),\n }\n}\n\nexport function disconnectConnectionRecord(\n connection: ConnectorConnectionRecord,\n now: Date\n): ConnectorConnectionRecord {\n return {\n ...connection,\n status: \"disconnected\",\n disconnectedAt: new Date(now),\n updatedAt: new Date(now),\n }\n}\n\nexport function markAuthorizationRevocationPending(\n authorization: ConnectorAuthorizationRecord,\n now: Date\n): ConnectorAuthorizationRecord {\n if (authorization.status === \"revocation_pending\" || authorization.status === \"revoked\") {\n return authorization\n }\n if (authorization.credentialMutation) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector authorization cannot begin revocation while credentials are being mutated.\"\n )\n }\n return {\n ...authorization,\n status: \"revocation_pending\",\n selectionExpiresAt: undefined,\n revision: authorization.revision + 1,\n updatedAt: new Date(now),\n }\n}\n\nexport function assertConnectionCanMove(\n authorization: ConnectorAuthorizationRecord,\n removingLastConnection = true\n): void {\n const mutation = authorization.credentialMutation\n if (mutation?.kind === \"reauthorization\") {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connections cannot change while their connector authorization is being reauthorized.\"\n )\n }\n if (removingLastConnection && mutation) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] The last connector connection cannot be removed while credentials are being mutated.\"\n )\n }\n}\n\nexport function safeEqual(left: string, right: string): boolean {\n const leftBytes = Buffer.from(left)\n const rightBytes = Buffer.from(right)\n return leftBytes.length === rightBytes.length && timingSafeEqual(leftBytes, rightBytes)\n}\n\nexport function invalidRun(): ConnectorConnectionStorageError {\n return new ConnectorConnectionStorageError(\n \"run_invalid\",\n \"[Sixb] Connector connection run is invalid, expired, or already used.\"\n )\n}\n\nexport function sameIds(left: readonly string[], right: readonly string[]): boolean {\n const leftSorted = [...left].sort()\n const rightSorted = [...right].sort()\n return (\n leftSorted.length === rightSorted.length &&\n leftSorted.every((value, index) => value === rightSorted[index])\n )\n}\n\nexport function invalidAttempt(): ConnectorConnectionStorageError {\n return new ConnectorConnectionStorageError(\n \"attempt_invalid\",\n \"[Sixb] Connector authorization attempt is invalid, expired, or already used.\"\n )\n}\n\nexport function authorizationConflict(): ConnectorConnectionStorageError {\n return new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector connection requires a selectable authorization from the same project and connector.\"\n )\n}\n\nexport function assertPositiveDuration(value: number, name: string): void {\n if (!Number.isFinite(value) || value <= 0) {\n throw new ConnectorConnectionStorageError(\n \"invalid_input\",\n `[Sixb] Connector ${name} must be positive.`\n )\n }\n}\n\nexport function canClaimMutation(\n status: ConnectorAuthorizationRecord[\"status\"],\n kind: ClaimConnectorCredentialMutationInput[\"mutation\"][\"kind\"]\n): boolean {\n if (kind === \"refresh\") return status === \"active\"\n if (kind === \"reauthorization\") {\n return status === \"active\" || status === \"needs_reauthorization\"\n }\n return status !== \"revoked\"\n}\n\nexport function isSelectable(status: ConnectorAuthorizationRecord[\"status\"]): boolean {\n return status === \"pending_selection\" || status === \"active\"\n}\n\nexport function leaseExpiry(now: Date, durationMs: number, deadlineAt: Date): Date {\n return new Date(Math.min(now.getTime() + durationMs, deadlineAt.getTime()))\n}\n\nexport function mutationExpired(record: ConnectorAuthorizationRecord, now: Date): boolean {\n return (\n record.credentialMutation!.expiresAt.getTime() <= now.getTime() ||\n record.credentialMutation!.deadlineAt.getTime() <= now.getTime()\n )\n}\n\nexport function matchesMutation(\n record: ConnectorAuthorizationRecord | null,\n input: ConnectorCredentialMutationFence,\n holderId?: string\n): record is ConnectorAuthorizationRecord & {\n readonly credentialMutation: NonNullable<ConnectorAuthorizationRecord[\"credentialMutation\"]>\n} {\n return (\n record !== null &&\n record.revision === input.expectedRevision &&\n record.credentialMutation?.id === input.mutationId &&\n (holderId === undefined || record.credentialMutation.holderId === holderId)\n )\n}\n\nexport function stagedCredentials(\n record: ConnectorAuthorizationRecord | null,\n input: ConnectorCredentialMutationFence,\n kind: \"refresh\" | \"reauthorization\"\n) {\n if (\n !matchesMutation(record, input) ||\n record.credentialMutation.kind !== kind ||\n record.credentialMutation.phase !== \"result_staged\"\n ) {\n return null\n }\n return record.credentialMutation.stagedCredentials ?? null\n}\n\nexport function applyStagedCredentials(\n record: ConnectorAuthorizationRecord,\n staged: NonNullable<ReturnType<typeof stagedCredentials>>,\n now: Date,\n input: { readonly accounts: readonly ConnectorAuthorizationRecord[\"accounts\"][number][] }\n): ConnectorAuthorizationRecord {\n return {\n ...record,\n credentials: structuredClone(staged.credentials),\n credentialExpiresAt:\n staged.credentialExpiresAt === undefined ? undefined : new Date(staged.credentialExpiresAt),\n scopes: [...staged.scopes],\n accounts: structuredClone(input.accounts),\n status: \"active\",\n selectionExpiresAt: undefined,\n revision: record.revision + 1,\n credentialMutation: undefined,\n updatedAt: now,\n }\n}\n",
|
|
5
|
+
"import { timingSafeEqual } from \"node:crypto\"\nimport { createSixbError, toSixbFailure } from \"../../../errors/internal\"\nimport { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n ClaimConnectorCredentialMutationInput,\n ConnectorAuthorizationAttemptRecord,\n ConnectorAuthorizationRecord,\n ConnectorConnectionRecord,\n ConnectorConnectionRunProcessingRecord,\n ConnectorConnectionRunRecord,\n ConnectorCredentialMutationFence,\n GetConnectorConnectionInput,\n} from \"../types\"\nimport { CONNECTOR_CONNECTION_RUN_FAILURE_CODES } from \"../types\"\n\nexport interface ConnectorConnectionPersistenceScope {\n readonly projectId: string\n /** Omitted only while resolving a callback whose public proof intentionally carries no id. */\n readonly connectorId?: string\n}\n\n/** Database-specific record access used by the shared connector lifecycle state machine. */\nexport interface ConnectorConnectionPersistence {\n now(): Promise<Date>\n\n insertAuthorizationAttempt(record: ConnectorAuthorizationAttemptRecord): Promise<boolean>\n getAuthorizationAttempt(id: string): Promise<ConnectorAuthorizationAttemptRecord | null>\n getAuthorizationAttemptByConnectionRunId(\n connectionRunId: string\n ): Promise<ConnectorAuthorizationAttemptRecord | null>\n deleteAuthorizationAttempt(id: string): Promise<boolean>\n\n insertConnectionRun(record: ConnectorConnectionRunRecord): Promise<boolean>\n listPendingConnectionRuns(): Promise<readonly ConnectorConnectionRunRecord[]>\n getConnectionRun(id: string): Promise<ConnectorConnectionRunRecord | null>\n updateConnectionRun(record: ConnectorConnectionRunRecord): Promise<void>\n\n insertAuthorization(record: ConnectorAuthorizationRecord): Promise<boolean>\n getAuthorization(id: string): Promise<ConnectorAuthorizationRecord | null>\n updateAuthorization(record: ConnectorAuthorizationRecord): Promise<void>\n\n insertConnection(record: ConnectorConnectionRecord): Promise<boolean>\n getConnectionById(id: string): Promise<ConnectorConnectionRecord | null>\n getConnectionBySelector(\n input: Pick<GetConnectorConnectionInput, \"owner\" | \"slot\">\n ): Promise<ConnectorConnectionRecord | null>\n listConnections(): Promise<readonly ConnectorConnectionRecord[]>\n listConnectionsByAuthorization(\n authorizationId: string,\n options?: { readonly connectedOnly?: boolean }\n ): Promise<readonly ConnectorConnectionRecord[]>\n updateConnection(record: ConnectorConnectionRecord): Promise<void>\n}\n\n/** Transaction and lock boundary supplied by a concrete durable storage provider. */\nexport interface ConnectorConnectionPersistenceBackend {\n read<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T>\n transaction<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T>\n}\n\nexport abstract class ConnectorConnectionOperations {\n constructor(private readonly backend: ConnectorConnectionPersistenceBackend) {}\n\n protected read<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T> {\n return this.backend.read(scope, run)\n }\n\n protected write<T>(\n scope: ConnectorConnectionPersistenceScope,\n run: (persistence: ConnectorConnectionPersistence) => Promise<T>\n ): Promise<T> {\n return this.backend.transaction(scope, run)\n }\n}\n\nexport async function currentConnectionRun(\n persistence: ConnectorConnectionPersistence,\n runId: string\n): Promise<ConnectorConnectionRunRecord | null> {\n const run = await persistence.getConnectionRun(runId)\n if (!run || (run.status !== \"waiting\" && run.status !== \"running\")) return run\n\n if (run.status === \"waiting\" && run.waitingFor === \"account_selection\") return run\n const now = await persistence.now()\n if (run.expiresAt.getTime() > now.getTime()) return run\n\n if (run.status === \"waiting\" && run.waitingFor === \"provider_authorization\") {\n const attempt = await persistence.getAuthorizationAttemptByConnectionRunId(run.id)\n if (attempt) await persistence.deleteAuthorizationAttempt(attempt.id)\n }\n if (run.status === \"waiting\") {\n const expired = expireConnectionRun(run, now)\n await persistence.updateConnectionRun(expired)\n return expired\n }\n\n if (run.kind === \"connect\" && run.authorizationId) {\n await markPendingAuthorizationForCleanup(persistence, run.authorizationId, now)\n }\n const failed = failExpiredProcessingRun(run, now)\n await persistence.updateConnectionRun(failed)\n return failed\n}\n\nexport async function markPendingAuthorizationForCleanup(\n persistence: ConnectorConnectionPersistence,\n authorizationId: string,\n now: Date\n): Promise<void> {\n const authorization = await persistence.getAuthorization(authorizationId)\n if (!authorization || authorization.status !== \"pending_selection\") return\n await persistence.updateAuthorization(markAuthorizationRevocationPending(authorization, now))\n}\n\nexport function connectionRunBase(record: ConnectorConnectionRunRecord, updatedAt: Date) {\n return {\n id: record.id,\n projectId: record.projectId,\n connectorId: record.connectorId,\n kind: record.kind,\n owner: structuredClone(record.owner),\n slot: record.slot,\n initiatedByExecutionId: record.initiatedByExecutionId,\n createdAt: new Date(record.createdAt),\n updatedAt: new Date(updatedAt),\n }\n}\n\nfunction expireConnectionRun(\n record: Extract<ConnectorConnectionRunRecord, { readonly status: \"waiting\" }>,\n now: Date\n) {\n return {\n ...connectionRunBase(record, now),\n status: \"expired\" as const,\n ...(record.waitingFor === \"account_selection\"\n ? { authorizationId: record.authorizationId }\n : {}),\n finishedAt: new Date(now),\n }\n}\n\nfunction failExpiredProcessingRun(record: ConnectorConnectionRunProcessingRecord, now: Date) {\n return {\n ...connectionRunBase(record, now),\n status: \"failed\" as const,\n ...(record.authorizationId === undefined ? {} : { authorizationId: record.authorizationId }),\n error: toSixbFailure(\n createSixbError(\n \"internal.unexpected\",\n \"[Sixb] Connector callback processing did not complete before its deadline.\"\n ),\n { allowedCodes: CONNECTOR_CONNECTION_RUN_FAILURE_CODES, at: now }\n ),\n finishedAt: new Date(now),\n }\n}\n\nexport function disconnectConnectionRecord(\n connection: ConnectorConnectionRecord,\n now: Date\n): ConnectorConnectionRecord {\n return {\n ...connection,\n status: \"disconnected\",\n disconnectedAt: new Date(now),\n updatedAt: new Date(now),\n }\n}\n\nexport function markAuthorizationRevocationPending(\n authorization: ConnectorAuthorizationRecord,\n now: Date\n): ConnectorAuthorizationRecord {\n if (authorization.status === \"revocation_pending\" || authorization.status === \"revoked\") {\n return authorization\n }\n if (authorization.credentialMutation) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector authorization cannot begin revocation while credentials are being mutated.\"\n )\n }\n return {\n ...authorization,\n status: \"revocation_pending\",\n selectionExpiresAt: undefined,\n revision: authorization.revision + 1,\n updatedAt: new Date(now),\n }\n}\n\nexport function assertConnectionCanMove(\n authorization: ConnectorAuthorizationRecord,\n removingLastConnection = true\n): void {\n const mutation = authorization.credentialMutation\n if (mutation?.kind === \"reauthorization\") {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connections cannot change while their connector authorization is being reauthorized.\"\n )\n }\n if (removingLastConnection && mutation) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] The last connector connection cannot be removed while credentials are being mutated.\"\n )\n }\n}\n\nexport function safeEqual(left: string, right: string): boolean {\n const leftBytes = Buffer.from(left)\n const rightBytes = Buffer.from(right)\n return leftBytes.length === rightBytes.length && timingSafeEqual(leftBytes, rightBytes)\n}\n\nexport function invalidRun(): ConnectorConnectionStorageError {\n return new ConnectorConnectionStorageError(\n \"run_invalid\",\n \"[Sixb] Connector connection run is invalid, expired, or already used.\"\n )\n}\n\nexport function sameIds(left: readonly string[], right: readonly string[]): boolean {\n const leftSorted = [...left].sort()\n const rightSorted = [...right].sort()\n return (\n leftSorted.length === rightSorted.length &&\n leftSorted.every((value, index) => value === rightSorted[index])\n )\n}\n\nexport function invalidAttempt(): ConnectorConnectionStorageError {\n return new ConnectorConnectionStorageError(\n \"attempt_invalid\",\n \"[Sixb] Connector authorization attempt is invalid, expired, or already used.\"\n )\n}\n\nexport function authorizationConflict(): ConnectorConnectionStorageError {\n return new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector connection requires a selectable authorization from the same project and connector.\"\n )\n}\n\nexport function assertPositiveDuration(value: number, name: string): void {\n if (!Number.isFinite(value) || value <= 0) {\n throw new ConnectorConnectionStorageError(\n \"invalid_input\",\n `[Sixb] Connector ${name} must be positive.`\n )\n }\n}\n\nexport function canClaimMutation(\n status: ConnectorAuthorizationRecord[\"status\"],\n kind: ClaimConnectorCredentialMutationInput[\"mutation\"][\"kind\"]\n): boolean {\n if (kind === \"refresh\") return status === \"active\"\n if (kind === \"reauthorization\") {\n return status === \"active\" || status === \"needs_reauthorization\"\n }\n return status !== \"revoked\"\n}\n\nexport function isSelectable(status: ConnectorAuthorizationRecord[\"status\"]): boolean {\n return status === \"pending_selection\" || status === \"active\"\n}\n\nexport function leaseExpiry(now: Date, durationMs: number, deadlineAt: Date): Date {\n return new Date(Math.min(now.getTime() + durationMs, deadlineAt.getTime()))\n}\n\nexport function mutationExpired(record: ConnectorAuthorizationRecord, now: Date): boolean {\n return (\n record.credentialMutation!.expiresAt.getTime() <= now.getTime() ||\n record.credentialMutation!.deadlineAt.getTime() <= now.getTime()\n )\n}\n\nexport function matchesMutation(\n record: ConnectorAuthorizationRecord | null,\n input: ConnectorCredentialMutationFence,\n holderId?: string\n): record is ConnectorAuthorizationRecord & {\n readonly credentialMutation: NonNullable<ConnectorAuthorizationRecord[\"credentialMutation\"]>\n} {\n return (\n record !== null &&\n record.revision === input.expectedRevision &&\n record.credentialMutation?.id === input.mutationId &&\n (holderId === undefined || record.credentialMutation.holderId === holderId)\n )\n}\n\nexport function stagedCredentials(\n record: ConnectorAuthorizationRecord | null,\n input: ConnectorCredentialMutationFence,\n kind: \"refresh\" | \"reauthorization\"\n) {\n if (\n !matchesMutation(record, input) ||\n record.credentialMutation.kind !== kind ||\n record.credentialMutation.phase !== \"result_staged\"\n ) {\n return null\n }\n return record.credentialMutation.stagedCredentials ?? null\n}\n\nexport function applyStagedCredentials(\n record: ConnectorAuthorizationRecord,\n staged: NonNullable<ReturnType<typeof stagedCredentials>>,\n now: Date,\n input: { readonly accounts: readonly ConnectorAuthorizationRecord[\"accounts\"][number][] }\n): ConnectorAuthorizationRecord {\n return {\n ...record,\n credentials: structuredClone(staged.credentials),\n credentialExpiresAt:\n staged.credentialExpiresAt === undefined ? undefined : new Date(staged.credentialExpiresAt),\n scopes: [...staged.scopes],\n accounts: structuredClone(input.accounts),\n status: \"active\",\n selectionExpiresAt: undefined,\n revision: record.revision + 1,\n credentialMutation: undefined,\n updatedAt: now,\n }\n}\n",
|
|
6
6
|
"import { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n ClaimConnectorCredentialMutationInput,\n ClaimConnectorCredentialMutationResult,\n ConnectorAuthorizationKey,\n ConnectorAuthorizationRecord,\n ConnectorConnectionKey,\n ConnectorConnectionRecord,\n ConnectorCredentialMutationFence,\n CreateConnectorAuthorizationInput,\n FinalizeConnectorReauthorizationInput,\n InitializeConnectorAuthorizationAccountsInput,\n MarkConnectorAuthorizationNeedsReauthorizationInput,\n MarkConnectorCredentialMutationExecutingInput,\n RecoverExpiredConnectorCredentialMutationInput,\n ReleaseConnectorCredentialMutationInput,\n RenewConnectorCredentialMutationInput,\n StageConnectorCredentialMutationCredentialsInput,\n StageConnectorCredentialMutationRevocationInput,\n} from \"../types\"\nimport {\n applyStagedCredentials,\n assertPositiveDuration,\n ConnectorConnectionOperations,\n canClaimMutation,\n disconnectConnectionRecord,\n leaseExpiry,\n matchesMutation,\n mutationExpired,\n sameIds,\n stagedCredentials,\n} from \"./shared\"\n\nexport class DurableConnectorAuthorizations extends ConnectorConnectionOperations {\n createAuthorization(\n input: CreateConnectorAuthorizationInput\n ): Promise<ConnectorAuthorizationRecord> {\n assertPositiveDuration(input.selectionTtlMs, \"account selection TTL\")\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record: ConnectorAuthorizationRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n authorizedBy: structuredClone(input.authorizedBy),\n credentials: structuredClone(input.credentials),\n ...(input.credentialExpiresAt === undefined\n ? {}\n : { credentialExpiresAt: new Date(input.credentialExpiresAt) }),\n scopes: [...input.scopes],\n accounts: structuredClone(input.accounts),\n status: \"pending_selection\",\n selectionExpiresAt: new Date(now.getTime() + input.selectionTtlMs),\n revision: 0,\n createdAt: now,\n updatedAt: now,\n }\n if (!(await persistence.insertAuthorization(record))) {\n throw authorizationConflict(\"[Sixb] Connector authorization already exists.\")\n }\n return structuredClone(record)\n })\n }\n\n initializeAuthorizationAccounts(\n input: InitializeConnectorAuthorizationAccountsInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !record ||\n record.revision !== input.expectedRevision ||\n record.status !== \"pending_selection\" ||\n record.credentialMutation\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n accounts: structuredClone(input.accounts),\n revision: record.revision + 1,\n updatedAt: await persistence.now(),\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n getAuthorization(input: ConnectorAuthorizationKey): Promise<ConnectorAuthorizationRecord | null> {\n return this.read(input, async (persistence) => {\n const authorization = await persistence.getAuthorization(input.authorizationId)\n return authorization ? structuredClone(authorization) : null\n })\n }\n\n getAuthorizationByConnectionId(\n input: ConnectorConnectionKey\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.read(input, async (persistence) => {\n const connection = await persistence.getConnectionById(input.connectionId)\n if (!connection) return null\n const authorization = await persistence.getAuthorization(connection.authorizationId)\n return authorization ? structuredClone(authorization) : null\n })\n }\n\n claimCredentialMutation(\n input: ClaimConnectorCredentialMutationInput\n ): Promise<ClaimConnectorCredentialMutationResult | null> {\n assertPositiveDuration(input.leaseDurationMs, \"credential mutation lease duration\")\n assertPositiveDuration(input.operationTimeoutMs, \"credential mutation timeout\")\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !record ||\n record.revision !== input.expectedRevision ||\n !canClaimMutation(record.status, input.mutation.kind)\n ) {\n return null\n }\n\n if (record.credentialMutation) {\n const canReplacePrepared =\n record.credentialMutation.phase === \"prepared\" &&\n record.credentialMutation.expiresAt.getTime() <= now.getTime()\n if (!canReplacePrepared) return null\n }\n\n const attached = await persistence.listConnectionsByAuthorization(record.id, {\n connectedOnly: true,\n })\n if (\n input.mutation.kind === \"reauthorization\" &&\n !sameIds(\n attached.map((connection) => connection.id),\n input.expectedConnectionIds ?? []\n )\n ) {\n return null\n }\n\n const deadlineAt = new Date(now.getTime() + input.operationTimeoutMs)\n const mutation = {\n ...structuredClone(input.mutation),\n phase: \"prepared\" as const,\n expiresAt: leaseExpiry(now, input.leaseDurationMs, deadlineAt),\n deadlineAt,\n ...(input.mutation.kind === \"reauthorization\"\n ? { expectedConnectionIds: [...(input.expectedConnectionIds ?? [])] }\n : {}),\n }\n const startsRevocation =\n input.mutation.kind === \"revocation\" && record.status !== \"revocation_pending\"\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n status: input.mutation.kind === \"revocation\" ? \"revocation_pending\" : record.status,\n selectionExpiresAt:\n input.mutation.kind === \"revocation\" ? undefined : record.selectionExpiresAt,\n revision: startsRevocation ? record.revision + 1 : record.revision,\n credentialMutation: mutation,\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n\n const disconnected: ConnectorConnectionRecord[] = []\n if (input.mutation.kind === \"revocation\") {\n for (const connection of attached) {\n const updatedConnection = disconnectConnectionRecord(connection, now)\n await persistence.updateConnection(updatedConnection)\n disconnected.push(structuredClone(updatedConnection))\n }\n }\n return { authorization: structuredClone(updated), disconnected }\n })\n }\n\n markCredentialMutationExecuting(\n input: MarkConnectorCredentialMutationExecutingInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase !== \"prepared\" ||\n mutationExpired(record, now)\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n credentialMutation: { ...record.credentialMutation, phase: \"executing\" },\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n renewCredentialMutation(\n input: RenewConnectorCredentialMutationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n assertPositiveDuration(input.leaseDurationMs, \"credential mutation lease duration\")\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase === \"result_staged\" ||\n mutationExpired(record, now)\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n credentialMutation: {\n ...record.credentialMutation,\n expiresAt: leaseExpiry(now, input.leaseDurationMs, record.credentialMutation.deadlineAt),\n },\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n stageCredentialMutationCredentials(\n input: StageConnectorCredentialMutationCredentialsInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase !== \"executing\" ||\n mutationExpired(record, now) ||\n record.credentialMutation.kind === \"revocation\"\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n credentialMutation: {\n ...record.credentialMutation,\n phase: \"result_staged\",\n stagedCredentials: {\n credentials: structuredClone(input.credentials),\n ...(input.credentialExpiresAt === undefined\n ? {}\n : { credentialExpiresAt: new Date(input.credentialExpiresAt) }),\n scopes: [...input.scopes],\n },\n },\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n stageCredentialMutationRevocation(\n input: StageConnectorCredentialMutationRevocationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase !== \"executing\" ||\n record.credentialMutation.kind !== \"revocation\" ||\n mutationExpired(record, now)\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n credentialMutation: { ...record.credentialMutation, phase: \"result_staged\" },\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n releaseCredentialMutation(input: ReleaseConnectorCredentialMutationInput): Promise<boolean> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input, input.holderId) ||\n record.credentialMutation.phase === \"result_staged\"\n ) {\n return false\n }\n await persistence.updateAuthorization({\n ...record,\n credentialMutation: undefined,\n updatedAt: await persistence.now(),\n })\n return true\n })\n }\n\n recoverExpiredCredentialMutation(\n input: RecoverExpiredConnectorCredentialMutationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (!record?.credentialMutation) return null\n if (record.credentialMutation.phase === \"result_staged\") return structuredClone(record)\n\n const now = await persistence.now()\n if (!mutationExpired(record, now)) return null\n const ambiguous = record.credentialMutation.phase === \"executing\"\n const failClosed = ambiguous && record.credentialMutation.kind !== \"revocation\"\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n status: failClosed ? \"needs_reauthorization\" : record.status,\n selectionExpiresAt: failClosed ? undefined : record.selectionExpiresAt,\n revision: failClosed ? record.revision + 1 : record.revision,\n credentialMutation: undefined,\n updatedAt: now,\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n markNeedsReauthorization(\n input: MarkConnectorAuthorizationNeedsReauthorizationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (!matchesMutation(record, input)) return null\n const staged = record.credentialMutation.stagedCredentials\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n ...(staged\n ? {\n credentials: structuredClone(staged.credentials),\n credentialExpiresAt:\n staged.credentialExpiresAt === undefined\n ? undefined\n : new Date(staged.credentialExpiresAt),\n scopes: [...staged.scopes],\n }\n : {}),\n status: \"needs_reauthorization\",\n selectionExpiresAt: undefined,\n revision: record.revision + 1,\n credentialMutation: undefined,\n updatedAt: await persistence.now(),\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n finalizeRefresh(\n input: ConnectorCredentialMutationFence\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n const staged = stagedCredentials(record, input, \"refresh\")\n if (!record || !staged) return null\n const updated = applyStagedCredentials(record, staged, await persistence.now(), {\n accounts: record.accounts,\n })\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n\n finalizeReauthorization(\n input: FinalizeConnectorReauthorizationInput\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n const staged = stagedCredentials(record, input, \"reauthorization\")\n if (!record || !staged || !record.credentialMutation) return null\n const attached = await persistence.listConnectionsByAuthorization(record.id, {\n connectedOnly: true,\n })\n if (\n !sameIds(\n attached.map((connection) => connection.id),\n record.credentialMutation.expectedConnectionIds ?? []\n )\n ) {\n throw authorizationConflict(\n \"[Sixb] Connections attached to the connector authorization changed during reauthorization.\"\n )\n }\n const accountsById = new Map(input.accounts.map((account) => [account.id, account]))\n if (attached.some((connection) => !accountsById.has(connection.account.id))) {\n throw authorizationConflict(\n \"[Sixb] Reauthorized connector grant no longer exposes every attached account.\"\n )\n }\n\n const now = await persistence.now()\n const updated = applyStagedCredentials(record, staged, now, { accounts: input.accounts })\n await persistence.updateAuthorization(updated)\n for (const connection of attached) {\n await persistence.updateConnection({\n ...connection,\n account: structuredClone(accountsById.get(connection.account.id)!),\n updatedAt: now,\n })\n }\n return structuredClone(updated)\n })\n }\n\n finalizeRevocation(\n input: ConnectorCredentialMutationFence\n ): Promise<ConnectorAuthorizationRecord | null> {\n return this.write(input, async (persistence) => {\n const record = await persistence.getAuthorization(input.authorizationId)\n if (\n !matchesMutation(record, input) ||\n record.credentialMutation.kind !== \"revocation\" ||\n record.credentialMutation.phase !== \"result_staged\"\n ) {\n return null\n }\n const updated: ConnectorAuthorizationRecord = {\n ...record,\n status: \"revoked\",\n credentials: undefined,\n credentialExpiresAt: undefined,\n scopes: [],\n accounts: [],\n selectionExpiresAt: undefined,\n revision: record.revision + 1,\n credentialMutation: undefined,\n updatedAt: await persistence.now(),\n }\n await persistence.updateAuthorization(updated)\n return structuredClone(updated)\n })\n }\n}\n\nfunction authorizationConflict(message: string) {\n return new ConnectorConnectionStorageError(\"authorization_conflict\", message)\n}\n",
|
|
7
|
-
"import { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n ConnectorConnectionKey,\n ConnectorConnectionRecord,\n ConnectorConnectionRunSucceededRecord,\n DisconnectConnectorConnectionResult,\n GetConnectorConnectionInput,\n ListConnectorConnectionsInput,\n PutConnectorConnectionFromRunInput,\n PutConnectorConnectionFromRunResult,\n PutConnectorConnectionInput,\n PutConnectorConnectionResult,\n} from \"../types\"\nimport {\n assertConnectionCanMove,\n authorizationConflict,\n ConnectorConnectionOperations,\n type ConnectorConnectionPersistence,\n connectionRunBase,\n currentConnectionRun,\n disconnectConnectionRecord,\n invalidRun,\n isSelectable,\n markAuthorizationRevocationPending,\n} from \"./shared\"\n\nexport class DurableConnectorConnections extends ConnectorConnectionOperations {\n async putConnection(input: PutConnectorConnectionInput): Promise<PutConnectorConnectionResult> {\n const outcome = await this.write(input, async (persistence) =>\n this.putConnectionNow(persistence, input, await persistence.now())\n )\n if (\"error\" in outcome) throw outcome.error\n return outcome\n }\n\n async putConnectionFromRun(\n input: PutConnectorConnectionFromRunInput\n ): Promise<PutConnectorConnectionFromRunResult> {\n const outcome = await this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n if (!run || run.status !== \"waiting\" || run.waitingFor !== \"account_selection\") {\n return { error: invalidRun() }\n }\n const now = await persistence.now()\n const result = await this.putConnectionNow(\n persistence,\n {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n owner: run.owner,\n slot: run.slot,\n authorizationId: run.authorizationId,\n account: input.account,\n replace: input.replace,\n },\n now\n )\n if (\"error\" in result) return result\n const succeeded: ConnectorConnectionRunSucceededRecord = {\n ...connectionRunBase(run, now),\n status: \"succeeded\",\n authorizationId: run.authorizationId,\n ...(result.revocationPendingAuthorizationId === undefined\n ? {}\n : { cleanupAuthorizationId: result.revocationPendingAuthorizationId }),\n connections: [structuredClone(result.connection)],\n finishedAt: now,\n }\n await persistence.updateConnectionRun(succeeded)\n return { ...result, run: structuredClone(succeeded) }\n })\n if (\"error\" in outcome) throw outcome.error\n return outcome\n }\n\n getConnection(input: GetConnectorConnectionInput): Promise<ConnectorConnectionRecord | null> {\n return this.read(input, async (persistence) => {\n const connection = await persistence.getConnectionBySelector(input)\n return connection?.status === \"connected\" ? structuredClone(connection) : null\n })\n }\n\n getConnectionById(input: ConnectorConnectionKey): Promise<ConnectorConnectionRecord | null> {\n return this.read(input, async (persistence) => {\n const connection = await persistence.getConnectionById(input.connectionId)\n return connection ? structuredClone(connection) : null\n })\n }\n\n listConnections(\n input: ListConnectorConnectionsInput\n ): Promise<readonly ConnectorConnectionRecord[]> {\n return this.read(input, async (persistence) =>\n structuredClone(await persistence.listConnections())\n )\n }\n\n listConnectionsByAuthorization(input: {\n readonly projectId: string\n readonly connectorId: string\n readonly authorizationId: string\n }): Promise<readonly ConnectorConnectionRecord[]> {\n return this.read(input, async (persistence) => {\n if (!(await persistence.getAuthorization(input.authorizationId))) return []\n return structuredClone(\n await persistence.listConnectionsByAuthorization(input.authorizationId, {\n connectedOnly: true,\n })\n )\n })\n }\n\n disconnectConnection(\n input: ConnectorConnectionKey\n ): Promise<DisconnectConnectorConnectionResult | null> {\n return this.write(input, async (persistence) => {\n const connection = await persistence.getConnectionById(input.connectionId)\n if (!connection) return null\n const authorization = await persistence.getAuthorization(connection.authorizationId)\n if (!authorization) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector connection references an unavailable authorization.\"\n )\n }\n if (connection.status === \"disconnected\") {\n return {\n connection: structuredClone(connection),\n authorization: structuredClone(authorization),\n ...(authorization.status === \"revocation_pending\"\n ? { revocationPendingAuthorizationId: authorization.id }\n : {}),\n }\n }\n\n const now = await persistence.now()\n const remaining = (\n await persistence.listConnectionsByAuthorization(authorization.id, {\n connectedOnly: true,\n })\n ).filter((candidate) => candidate.id !== connection.id)\n assertConnectionCanMove(authorization, remaining.length === 0)\n const disconnected = disconnectConnectionRecord(connection, now)\n await persistence.updateConnection(disconnected)\n const updatedAuthorization =\n remaining.length === 0\n ? markAuthorizationRevocationPending(authorization, now)\n : authorization\n if (updatedAuthorization !== authorization) {\n await persistence.updateAuthorization(updatedAuthorization)\n }\n return {\n connection: structuredClone(disconnected),\n authorization: structuredClone(updatedAuthorization),\n ...(updatedAuthorization.status === \"revocation_pending\" && remaining.length === 0\n ? { revocationPendingAuthorizationId: updatedAuthorization.id }\n : {}),\n }\n })\n }\n\n private async putConnectionNow(\n persistence: ConnectorConnectionPersistence,\n input: PutConnectorConnectionInput,\n now: Date\n ): Promise<PutConnectorConnectionResult | CommittedConnectorConnectionError> {\n let authorization = await persistence.getAuthorization(input.authorizationId)\n if (\n !authorization ||\n !isSelectable(authorization.status) ||\n authorization.credentialMutation?.kind === \"reauthorization\"\n ) {\n throw authorizationConflict()\n }\n if (\n authorization.status === \"pending_selection\" &&\n authorization.selectionExpiresAt!.getTime() <= now.getTime()\n ) {\n authorization = {\n ...authorization,\n status: \"revocation_pending\",\n selectionExpiresAt: undefined,\n revision: authorization.revision + 1,\n updatedAt: now,\n }\n await persistence.updateAuthorization(authorization)\n return { error: authorizationConflict() }\n }\n const account = authorization.accounts.find((candidate) => candidate.id === input.account.id)\n if (!account) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector connection account is not exposed by its authorization.\"\n )\n }\n const existing = await persistence.getConnectionBySelector(input)\n const sameAccount = existing?.account.id === account.id\n if (existing && !sameAccount && !input.replace) {\n throw new ConnectorConnectionStorageError(\n \"connection_conflict\",\n `[Sixb] Connector slot '${input.slot}' is already connected to another account; explicit replacement is required.`\n )\n }\n if (!existing && (await persistence.getConnectionById(input.id))) {\n throw new ConnectorConnectionStorageError(\n \"connection_conflict\",\n \"[Sixb] Connector connection id already exists.\"\n )\n }\n\n let revocationPendingAuthorizationId: string | undefined\n if (existing?.status === \"connected\" && existing.authorizationId !== authorization.id) {\n const previous = await persistence.getAuthorization(existing.authorizationId)\n if (!previous) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Existing connector connection references an unavailable authorization.\"\n )\n }\n const remaining = (\n await persistence.listConnectionsByAuthorization(previous.id, { connectedOnly: true })\n ).filter((connection) => connection.id !== existing.id)\n assertConnectionCanMove(previous, remaining.length === 0)\n if (remaining.length === 0) {\n await persistence.updateAuthorization(markAuthorizationRevocationPending(previous, now))\n revocationPendingAuthorizationId = previous.id\n }\n } else if (existing?.status === \"connected\") {\n const previous = await persistence.getAuthorization(existing.authorizationId)\n if (previous) assertConnectionCanMove(previous, false)\n }\n\n const updatedAuthorization =\n authorization.status === \"pending_selection\"\n ? {\n ...authorization,\n status: \"active\" as const,\n selectionExpiresAt: undefined,\n revision: authorization.revision + 1,\n updatedAt: now,\n }\n : authorization\n const connection: ConnectorConnectionRecord = existing\n ? {\n ...existing,\n authorizationId: input.authorizationId,\n account: structuredClone(account),\n status: \"connected\",\n disconnectedAt: undefined,\n updatedAt: now,\n }\n : {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n owner: structuredClone(input.owner),\n slot: input.slot,\n authorizationId: input.authorizationId,\n account: structuredClone(account),\n status: \"connected\",\n createdAt: now,\n updatedAt: now,\n }\n\n if (updatedAuthorization !== authorization) {\n await persistence.updateAuthorization(updatedAuthorization)\n }\n if (existing) {\n await persistence.updateConnection(connection)\n } else if (!(await persistence.insertConnection(connection))) {\n throw new ConnectorConnectionStorageError(\n \"connection_conflict\",\n \"[Sixb] Connector connection id already exists.\"\n )\n }\n return {\n connection: structuredClone(connection),\n authorization: structuredClone(updatedAuthorization),\n ...(revocationPendingAuthorizationId === undefined\n ? {}\n : { revocationPendingAuthorizationId }),\n created: existing === null,\n replaced: existing !== null && !sameAccount,\n }\n }\n}\n\ninterface CommittedConnectorConnectionError {\n readonly error: ConnectorConnectionStorageError\n}\n",
|
|
8
|
-
"import { parseSixbFailure } from \"../../../errors/internal\"\nimport { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n AttachConnectorConnectionRunAuthorizationInput,\n ClaimConnectorConnectionRunCallbackInput,\n ClaimConnectorConnectionRunCallbackResult,\n ConnectorAuthorizationAttemptRecord,\n ConnectorConnectionRunAwaitingProviderRecord,\n ConnectorConnectionRunAwaitingSelectionRecord,\n ConnectorConnectionRunProcessingRecord,\n ConnectorConnectionRunRecord,\n ConnectorConnectionStorage,\n CreateConnectorAuthorizationAttemptInput,\n CreateConnectorConnectionRunInput,\n CreateConnectorConnectionSelectionRunInput,\n FinishConnectorConnectionRunInput,\n GetConnectorConnectionRunInput,\n WaitForConnectorConnectionRunSelectionInput,\n} from \"../types\"\nimport { CONNECTOR_CONNECTION_RUN_FAILURE_CODES } from \"../types\"\nimport {\n assertPositiveDuration,\n authorizationConflict,\n ConnectorConnectionOperations,\n connectionRunBase,\n currentConnectionRun,\n invalidAttempt,\n markPendingAuthorizationForCleanup,\n safeEqual,\n} from \"./shared\"\n\nexport class DurableConnectorConnectionRuns extends ConnectorConnectionOperations {\n createAuthorizationAttempt(\n input: CreateConnectorAuthorizationAttemptInput\n ): Promise<ConnectorAuthorizationAttemptRecord> {\n assertPositiveDuration(input.ttlMs, \"authorization attempt TTL\")\n return this.write(input, async (persistence) => {\n if (input.connectionRunId !== undefined) {\n const run = await persistence.getConnectionRun(input.connectionRunId)\n const existingAttempt = await persistence.getAuthorizationAttemptByConnectionRunId(\n input.connectionRunId\n )\n if (\n !run ||\n existingAttempt ||\n run.status !== \"waiting\" ||\n run.waitingFor !== \"provider_authorization\" ||\n run.slot !== input.slot ||\n run.initiatedByExecutionId !== input.initiatedByExecutionId\n ) {\n throw new ConnectorConnectionStorageError(\n \"attempt_conflict\",\n \"[Sixb] Connector authorization attempt does not match its connection run.\"\n )\n }\n }\n const now = await persistence.now()\n const record: ConnectorAuthorizationAttemptRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n owner: structuredClone(input.owner),\n slot: input.slot,\n initiatedByExecutionId: input.initiatedByExecutionId,\n stateHash: input.stateHash,\n ...(input.codeVerifier === undefined\n ? {}\n : { codeVerifier: structuredClone(input.codeVerifier) }),\n redirectUri: input.redirectUri,\n ...(input.connectionRunId === undefined ? {} : { connectionRunId: input.connectionRunId }),\n ...(input.returnTo === undefined ? {} : { returnTo: input.returnTo }),\n ...(input.callbackBindingHash === undefined\n ? {}\n : { callbackBindingHash: input.callbackBindingHash }),\n ...(input.reauthorizationId === undefined\n ? {}\n : { reauthorizationId: input.reauthorizationId }),\n ...(input.reauthorizationRevision === undefined\n ? {}\n : { reauthorizationRevision: input.reauthorizationRevision }),\n ...(input.reauthorizationConnectionIds === undefined\n ? {}\n : { reauthorizationConnectionIds: [...input.reauthorizationConnectionIds] }),\n createdAt: now,\n expiresAt: new Date(now.getTime() + input.ttlMs),\n }\n if (!(await persistence.insertAuthorizationAttempt(record))) {\n throw new ConnectorConnectionStorageError(\n \"attempt_conflict\",\n \"[Sixb] Connector authorization attempt already exists.\"\n )\n }\n return structuredClone(record)\n })\n }\n\n async consumeAuthorizationAttempt(\n input: Parameters<ConnectorConnectionStorage[\"consumeAuthorizationAttempt\"]>[0]\n ): Promise<ConnectorAuthorizationAttemptRecord> {\n const record = await this.write(input, async (persistence) => {\n const record = await persistence.getAuthorizationAttempt(input.id)\n const now = await persistence.now()\n if (record && record.expiresAt.getTime() <= now.getTime()) {\n await persistence.deleteAuthorizationAttempt(record.id)\n return null\n }\n if (\n !record ||\n record.redirectUri !== input.redirectUri ||\n !safeEqual(record.stateHash, input.stateHash)\n ) {\n return null\n }\n\n await persistence.deleteAuthorizationAttempt(input.id)\n return structuredClone(record)\n })\n if (!record) throw invalidAttempt()\n return record\n }\n\n createConnectionRun(\n input: CreateConnectorConnectionRunInput\n ): Promise<ConnectorConnectionRunRecord> {\n assertPositiveDuration(input.ttlMs, \"connection run TTL\")\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record: ConnectorConnectionRunAwaitingProviderRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n kind: input.kind,\n owner: structuredClone(input.owner),\n slot: input.slot,\n initiatedByExecutionId: input.initiatedByExecutionId,\n status: \"waiting\",\n waitingFor: \"provider_authorization\",\n createdAt: now,\n updatedAt: now,\n expiresAt: new Date(now.getTime() + input.ttlMs),\n }\n if (!(await persistence.insertConnectionRun(record))) {\n throw new ConnectorConnectionStorageError(\n \"run_conflict\",\n \"[Sixb] Connector connection run already exists.\"\n )\n }\n return structuredClone(record)\n })\n }\n\n createConnectionSelectionRun(\n input: CreateConnectorConnectionSelectionRunInput\n ): Promise<ConnectorConnectionRunAwaitingSelectionRecord> {\n assertPositiveDuration(input.ttlMs, \"connection run TTL\")\n return this.write(input, async (persistence) => {\n const authorization = await persistence.getAuthorization(input.authorizationId)\n if (!authorization || authorization.status !== \"active\" || authorization.credentialMutation) {\n throw authorizationConflict()\n }\n const now = await persistence.now()\n const record: ConnectorConnectionRunAwaitingSelectionRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n kind: \"connect\",\n owner: structuredClone(input.owner),\n slot: input.slot,\n initiatedByExecutionId: input.initiatedByExecutionId,\n status: \"waiting\",\n waitingFor: \"account_selection\",\n authorizationId: input.authorizationId,\n createdAt: now,\n updatedAt: now,\n expiresAt: new Date(now.getTime() + input.ttlMs),\n }\n if (!(await persistence.insertConnectionRun(record))) {\n throw new ConnectorConnectionStorageError(\n \"run_conflict\",\n \"[Sixb] Connector connection run already exists.\"\n )\n }\n return structuredClone(record)\n })\n }\n\n async claimConnectionRunCallback(\n input: ClaimConnectorConnectionRunCallbackInput\n ): Promise<ClaimConnectorConnectionRunCallbackResult | null> {\n assertPositiveDuration(input.processingTtlMs, \"connection run processing TTL\")\n // Resolve the opaque attempt before entering the connector-scoped critical section. The\n // transaction re-reads every proof, but now all writers acquire the connector lock before row\n // locks instead of letting callback and expiry paths lock attempt/run rows in opposite orders.\n const candidate = await this.read({ projectId: input.projectId }, (persistence) =>\n persistence.getAuthorizationAttempt(input.attemptId)\n )\n if (!candidate) return null\n\n return this.write(\n { projectId: input.projectId, connectorId: candidate.connectorId },\n async (persistence) => {\n const attempt = await persistence.getAuthorizationAttempt(input.attemptId)\n if (\n !attempt ||\n attempt.connectionRunId === undefined ||\n attempt.returnTo === undefined ||\n attempt.callbackBindingHash === undefined ||\n attempt.redirectUri !== input.redirectUri ||\n !safeEqual(attempt.stateHash, input.stateHash) ||\n !safeEqual(attempt.callbackBindingHash, input.callbackBindingHash)\n ) {\n return null\n }\n\n const run = await persistence.getConnectionRun(attempt.connectionRunId)\n if (\n !run ||\n run.status !== \"waiting\" ||\n run.waitingFor !== \"provider_authorization\" ||\n run.slot !== attempt.slot ||\n run.initiatedByExecutionId !== attempt.initiatedByExecutionId\n ) {\n return null\n }\n\n const now = await persistence.now()\n await persistence.deleteAuthorizationAttempt(attempt.id)\n if (\n attempt.expiresAt.getTime() <= now.getTime() ||\n run.expiresAt.getTime() <= now.getTime()\n ) {\n const expired: Extract<ConnectorConnectionRunRecord, { status: \"expired\" }> = {\n ...connectionRunBase(run, now),\n status: \"expired\",\n finishedAt: now,\n }\n await persistence.updateConnectionRun(expired)\n return { type: \"expired\", run: structuredClone(expired), returnTo: attempt.returnTo }\n }\n\n const processing: ConnectorConnectionRunProcessingRecord = {\n ...connectionRunBase(run, now),\n status: \"running\",\n processingId: input.processingId,\n callbackStartedAt: now,\n expiresAt: new Date(now.getTime() + input.processingTtlMs),\n ...(attempt.reauthorizationId === undefined\n ? {}\n : { authorizationId: attempt.reauthorizationId }),\n }\n await persistence.updateConnectionRun(processing)\n return {\n type: \"claimed\",\n run: structuredClone(processing),\n attempt: structuredClone(attempt),\n returnTo: attempt.returnTo,\n }\n }\n )\n }\n\n attachConnectionRunAuthorization(\n input: AttachConnectorConnectionRunAuthorizationInput\n ): Promise<ConnectorConnectionRunProcessingRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n const authorization = await persistence.getAuthorization(input.authorizationId)\n if (\n !run ||\n run.status !== \"running\" ||\n run.processingId !== input.processingId ||\n (run.authorizationId !== undefined && run.authorizationId !== input.authorizationId) ||\n !authorization ||\n authorization.status !== \"pending_selection\"\n ) {\n return null\n }\n const updated: ConnectorConnectionRunProcessingRecord = {\n ...run,\n authorizationId: input.authorizationId,\n updatedAt: await persistence.now(),\n }\n await persistence.updateConnectionRun(updated)\n return structuredClone(updated)\n })\n }\n\n waitForConnectionRunSelection(\n input: WaitForConnectorConnectionRunSelectionInput\n ): Promise<ConnectorConnectionRunAwaitingSelectionRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n if (\n !run ||\n run.status !== \"running\" ||\n run.kind !== \"connect\" ||\n run.processingId !== input.processingId ||\n run.authorizationId !== input.authorizationId\n ) {\n return null\n }\n const now = await persistence.now()\n const waiting: ConnectorConnectionRunAwaitingSelectionRecord = {\n ...connectionRunBase(run, now),\n status: \"waiting\",\n waitingFor: \"account_selection\",\n authorizationId: input.authorizationId,\n expiresAt: new Date(input.expiresAt),\n }\n await persistence.updateConnectionRun(waiting)\n return structuredClone(waiting)\n })\n }\n\n finishConnectionRun(\n input: FinishConnectorConnectionRunInput\n ): Promise<ConnectorConnectionRunRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n if (!run || run.status !== \"running\" || input.processingId !== run.processingId) return null\n const now = await persistence.now()\n const authorizationId =\n input.status === \"succeeded\"\n ? input.authorizationId\n : input.status === \"failed\"\n ? (input.authorizationId ?? run.authorizationId)\n : run.authorizationId\n if (input.status !== \"succeeded\" && run.kind === \"connect\" && authorizationId) {\n await markPendingAuthorizationForCleanup(persistence, authorizationId, now)\n }\n const base = connectionRunBase(run, now)\n const finished: ConnectorConnectionRunRecord =\n input.status === \"succeeded\"\n ? {\n ...base,\n status: \"succeeded\",\n authorizationId: input.authorizationId,\n ...(input.cleanupAuthorizationId === undefined\n ? {}\n : { cleanupAuthorizationId: input.cleanupAuthorizationId }),\n connections: structuredClone(input.connections),\n finishedAt: now,\n }\n : input.status === \"failed\"\n ? {\n ...base,\n status: \"failed\",\n ...(authorizationId === undefined ? {} : { authorizationId }),\n error: parseSixbFailure(input.error, CONNECTOR_CONNECTION_RUN_FAILURE_CODES),\n finishedAt: now,\n }\n : {\n ...base,\n status: \"cancelled\",\n ...(authorizationId === undefined ? {} : { authorizationId }),\n finishedAt: now,\n }\n await persistence.updateConnectionRun(finished)\n return structuredClone(finished)\n })\n }\n\n getConnectionRun(\n input: GetConnectorConnectionRunInput\n ): Promise<ConnectorConnectionRunRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n return run ? structuredClone(run) : null\n })\n }\n}\n",
|
|
9
|
-
"import { DurableConnectorAuthorizations } from \"./provider/authorizations\"\nimport { DurableConnectorConnections } from \"./provider/connections\"\nimport { DurableConnectorConnectionRuns } from \"./provider/runs\"\nimport type { ConnectorConnectionPersistenceBackend } from \"./provider/shared\"\nimport type { ConnectorConnectionStorage } from \"./types\"\n\nexport type {\n ConnectorConnectionPersistence,\n ConnectorConnectionPersistenceBackend,\n ConnectorConnectionPersistenceScope,\n} from \"./provider/shared\"\n\n/**\n * Shared durable implementation of the Connector connection lifecycle.\n *\n * Concrete providers own SQL, transactions, database time and per-connector serialization. The\n * focused services below own protocol runs, authorization mutations and stable connections so\n * SQLite and PostgreSQL cannot drift semantically.\n */\nexport class DurableConnectorConnectionStorage implements ConnectorConnectionStorage {\n readonly durability = \"durable\" as const\n private readonly runs: DurableConnectorConnectionRuns\n private readonly authorizations: DurableConnectorAuthorizations\n private readonly connections: DurableConnectorConnections\n\n constructor(backend: ConnectorConnectionPersistenceBackend) {\n this.runs = new DurableConnectorConnectionRuns(backend)\n this.authorizations = new DurableConnectorAuthorizations(backend)\n this.connections = new DurableConnectorConnections(backend)\n }\n\n async createAuthorizationAttempt(\n ...args: Parameters<ConnectorConnectionStorage[\"createAuthorizationAttempt\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createAuthorizationAttempt\"]>>> {\n return this.runs.createAuthorizationAttempt(...args)\n }\n\n async consumeAuthorizationAttempt(\n ...args: Parameters<ConnectorConnectionStorage[\"consumeAuthorizationAttempt\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"consumeAuthorizationAttempt\"]>>> {\n return this.runs.consumeAuthorizationAttempt(...args)\n }\n\n async createConnectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"createConnectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createConnectionRun\"]>>> {\n return this.runs.createConnectionRun(...args)\n }\n\n async createConnectionSelectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"createConnectionSelectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createConnectionSelectionRun\"]>>> {\n return this.runs.createConnectionSelectionRun(...args)\n }\n\n async claimConnectionRunCallback(\n ...args: Parameters<ConnectorConnectionStorage[\"claimConnectionRunCallback\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"claimConnectionRunCallback\"]>>> {\n return this.runs.claimConnectionRunCallback(...args)\n }\n\n async attachConnectionRunAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"attachConnectionRunAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"attachConnectionRunAuthorization\"]>>> {\n return this.runs.attachConnectionRunAuthorization(...args)\n }\n\n async waitForConnectionRunSelection(\n ...args: Parameters<ConnectorConnectionStorage[\"waitForConnectionRunSelection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"waitForConnectionRunSelection\"]>>> {\n return this.runs.waitForConnectionRunSelection(...args)\n }\n\n async finishConnectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"finishConnectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finishConnectionRun\"]>>> {\n return this.runs.finishConnectionRun(...args)\n }\n\n async getConnectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"getConnectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getConnectionRun\"]>>> {\n return this.runs.getConnectionRun(...args)\n }\n\n async createAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"createAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createAuthorization\"]>>> {\n return this.authorizations.createAuthorization(...args)\n }\n\n async initializeAuthorizationAccounts(\n ...args: Parameters<ConnectorConnectionStorage[\"initializeAuthorizationAccounts\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"initializeAuthorizationAccounts\"]>>> {\n return this.authorizations.initializeAuthorizationAccounts(...args)\n }\n\n async getAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"getAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getAuthorization\"]>>> {\n return this.authorizations.getAuthorization(...args)\n }\n\n async getAuthorizationByConnectionId(\n ...args: Parameters<ConnectorConnectionStorage[\"getAuthorizationByConnectionId\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getAuthorizationByConnectionId\"]>>> {\n return this.authorizations.getAuthorizationByConnectionId(...args)\n }\n\n async claimCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"claimCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"claimCredentialMutation\"]>>> {\n return this.authorizations.claimCredentialMutation(...args)\n }\n\n async markCredentialMutationExecuting(\n ...args: Parameters<ConnectorConnectionStorage[\"markCredentialMutationExecuting\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"markCredentialMutationExecuting\"]>>> {\n return this.authorizations.markCredentialMutationExecuting(...args)\n }\n\n async renewCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"renewCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"renewCredentialMutation\"]>>> {\n return this.authorizations.renewCredentialMutation(...args)\n }\n\n async stageCredentialMutationCredentials(\n ...args: Parameters<ConnectorConnectionStorage[\"stageCredentialMutationCredentials\"]>\n ): Promise<\n Awaited<ReturnType<ConnectorConnectionStorage[\"stageCredentialMutationCredentials\"]>>\n > {\n return this.authorizations.stageCredentialMutationCredentials(...args)\n }\n\n async stageCredentialMutationRevocation(\n ...args: Parameters<ConnectorConnectionStorage[\"stageCredentialMutationRevocation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"stageCredentialMutationRevocation\"]>>> {\n return this.authorizations.stageCredentialMutationRevocation(...args)\n }\n\n async releaseCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"releaseCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"releaseCredentialMutation\"]>>> {\n return this.authorizations.releaseCredentialMutation(...args)\n }\n\n async recoverExpiredCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"recoverExpiredCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"recoverExpiredCredentialMutation\"]>>> {\n return this.authorizations.recoverExpiredCredentialMutation(...args)\n }\n\n async markNeedsReauthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"markNeedsReauthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"markNeedsReauthorization\"]>>> {\n return this.authorizations.markNeedsReauthorization(...args)\n }\n\n async finalizeRefresh(\n ...args: Parameters<ConnectorConnectionStorage[\"finalizeRefresh\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finalizeRefresh\"]>>> {\n return this.authorizations.finalizeRefresh(...args)\n }\n\n async finalizeReauthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"finalizeReauthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finalizeReauthorization\"]>>> {\n return this.authorizations.finalizeReauthorization(...args)\n }\n\n async finalizeRevocation(\n ...args: Parameters<ConnectorConnectionStorage[\"finalizeRevocation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finalizeRevocation\"]>>> {\n return this.authorizations.finalizeRevocation(...args)\n }\n\n async putConnection(\n ...args: Parameters<ConnectorConnectionStorage[\"putConnection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"putConnection\"]>>> {\n return this.connections.putConnection(...args)\n }\n\n async putConnectionFromRun(\n ...args: Parameters<ConnectorConnectionStorage[\"putConnectionFromRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"putConnectionFromRun\"]>>> {\n return this.connections.putConnectionFromRun(...args)\n }\n\n async getConnection(\n ...args: Parameters<ConnectorConnectionStorage[\"getConnection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getConnection\"]>>> {\n return this.connections.getConnection(...args)\n }\n\n async getConnectionById(\n ...args: Parameters<ConnectorConnectionStorage[\"getConnectionById\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getConnectionById\"]>>> {\n return this.connections.getConnectionById(...args)\n }\n\n async listConnections(\n ...args: Parameters<ConnectorConnectionStorage[\"listConnections\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"listConnections\"]>>> {\n return this.connections.listConnections(...args)\n }\n\n async listConnectionsByAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"listConnectionsByAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"listConnectionsByAuthorization\"]>>> {\n return this.connections.listConnectionsByAuthorization(...args)\n }\n\n async disconnectConnection(\n ...args: Parameters<ConnectorConnectionStorage[\"disconnectConnection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"disconnectConnection\"]>>> {\n return this.connections.disconnectConnection(...args)\n }\n}\n"
|
|
7
|
+
"import { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n ConnectorConnectionKey,\n ConnectorConnectionRecord,\n ConnectorConnectionRunSucceededRecord,\n DisconnectConnectorConnectionResult,\n GetConnectorConnectionInput,\n ListConnectorConnectionsInput,\n PutConnectorConnectionFromRunInput,\n PutConnectorConnectionFromRunResult,\n PutConnectorConnectionInput,\n PutConnectorConnectionResult,\n} from \"../types\"\nimport {\n assertConnectionCanMove,\n authorizationConflict,\n ConnectorConnectionOperations,\n type ConnectorConnectionPersistence,\n connectionRunBase,\n currentConnectionRun,\n disconnectConnectionRecord,\n invalidRun,\n isSelectable,\n markAuthorizationRevocationPending,\n} from \"./shared\"\n\nexport class DurableConnectorConnections extends ConnectorConnectionOperations {\n async putConnection(input: PutConnectorConnectionInput): Promise<PutConnectorConnectionResult> {\n const outcome = await this.write(input, async (persistence) =>\n this.putConnectionNow(persistence, input, await persistence.now())\n )\n if (\"error\" in outcome) throw outcome.error\n return outcome\n }\n\n async putConnectionFromRun(\n input: PutConnectorConnectionFromRunInput\n ): Promise<PutConnectorConnectionFromRunResult> {\n const outcome = await this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n if (!run || run.status !== \"waiting\" || run.waitingFor !== \"account_selection\") {\n return { error: invalidRun() }\n }\n const now = await persistence.now()\n const result = await this.putConnectionNow(\n persistence,\n {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n owner: run.owner,\n slot: run.slot,\n authorizationId: run.authorizationId,\n account: input.account,\n replace: input.replace,\n },\n now\n )\n if (\"error\" in result) return result\n const succeeded: ConnectorConnectionRunSucceededRecord = {\n ...connectionRunBase(run, now),\n status: \"succeeded\",\n authorizationId: run.authorizationId,\n ...(result.revocationPendingAuthorizationId === undefined\n ? {}\n : { cleanupAuthorizationId: result.revocationPendingAuthorizationId }),\n connections: [structuredClone(result.connection)],\n finishedAt: now,\n }\n await persistence.updateConnectionRun(succeeded)\n return { ...result, run: structuredClone(succeeded) }\n })\n if (\"error\" in outcome) throw outcome.error\n return outcome\n }\n\n getConnection(input: GetConnectorConnectionInput): Promise<ConnectorConnectionRecord | null> {\n return this.read(input, async (persistence) => {\n const connection = await persistence.getConnectionBySelector(input)\n return connection?.status === \"connected\" ? structuredClone(connection) : null\n })\n }\n\n getConnectionById(input: ConnectorConnectionKey): Promise<ConnectorConnectionRecord | null> {\n return this.read(input, async (persistence) => {\n const connection = await persistence.getConnectionById(input.connectionId)\n return connection ? structuredClone(connection) : null\n })\n }\n\n listConnections(\n input: ListConnectorConnectionsInput\n ): Promise<readonly ConnectorConnectionRecord[]> {\n return this.read(input, async (persistence) =>\n structuredClone(await persistence.listConnections())\n )\n }\n\n listConnectionsByAuthorization(input: {\n readonly projectId: string\n readonly connectorId: string\n readonly authorizationId: string\n }): Promise<readonly ConnectorConnectionRecord[]> {\n return this.read(input, async (persistence) => {\n if (!(await persistence.getAuthorization(input.authorizationId))) return []\n return structuredClone(\n await persistence.listConnectionsByAuthorization(input.authorizationId, {\n connectedOnly: true,\n })\n )\n })\n }\n\n disconnectConnection(\n input: ConnectorConnectionKey\n ): Promise<DisconnectConnectorConnectionResult | null> {\n return this.write(input, async (persistence) => {\n const connection = await persistence.getConnectionById(input.connectionId)\n if (!connection) return null\n const authorization = await persistence.getAuthorization(connection.authorizationId)\n if (!authorization) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector connection references an unavailable authorization.\"\n )\n }\n if (connection.status === \"disconnected\") {\n return {\n connection: structuredClone(connection),\n authorization: structuredClone(authorization),\n ...(authorization.status === \"revocation_pending\"\n ? { revocationPendingAuthorizationId: authorization.id }\n : {}),\n }\n }\n\n const now = await persistence.now()\n const remaining = (\n await persistence.listConnectionsByAuthorization(authorization.id, {\n connectedOnly: true,\n })\n ).filter((candidate) => candidate.id !== connection.id)\n assertConnectionCanMove(authorization, remaining.length === 0)\n const disconnected = disconnectConnectionRecord(connection, now)\n await persistence.updateConnection(disconnected)\n const updatedAuthorization =\n remaining.length === 0\n ? markAuthorizationRevocationPending(authorization, now)\n : authorization\n if (updatedAuthorization !== authorization) {\n await persistence.updateAuthorization(updatedAuthorization)\n }\n return {\n connection: structuredClone(disconnected),\n authorization: structuredClone(updatedAuthorization),\n ...(updatedAuthorization.status === \"revocation_pending\" && remaining.length === 0\n ? { revocationPendingAuthorizationId: updatedAuthorization.id }\n : {}),\n }\n })\n }\n\n private async putConnectionNow(\n persistence: ConnectorConnectionPersistence,\n input: PutConnectorConnectionInput,\n now: Date\n ): Promise<PutConnectorConnectionResult | CommittedConnectorConnectionError> {\n const authorization = await persistence.getAuthorization(input.authorizationId)\n if (\n !authorization ||\n !isSelectable(authorization.status) ||\n authorization.credentialMutation?.kind === \"reauthorization\"\n ) {\n throw authorizationConflict()\n }\n const account = authorization.accounts.find((candidate) => candidate.id === input.account.id)\n if (!account) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Connector connection account is not exposed by its authorization.\"\n )\n }\n const existing = await persistence.getConnectionBySelector(input)\n const sameAccount = existing?.account.id === account.id\n if (existing && !sameAccount && !input.replace) {\n throw new ConnectorConnectionStorageError(\n \"connection_conflict\",\n `[Sixb] Connector slot '${input.slot}' is already connected to another account; explicit replacement is required.`\n )\n }\n if (!existing && (await persistence.getConnectionById(input.id))) {\n throw new ConnectorConnectionStorageError(\n \"connection_conflict\",\n \"[Sixb] Connector connection id already exists.\"\n )\n }\n\n let revocationPendingAuthorizationId: string | undefined\n if (existing?.status === \"connected\" && existing.authorizationId !== authorization.id) {\n const previous = await persistence.getAuthorization(existing.authorizationId)\n if (!previous) {\n throw new ConnectorConnectionStorageError(\n \"authorization_conflict\",\n \"[Sixb] Existing connector connection references an unavailable authorization.\"\n )\n }\n const remaining = (\n await persistence.listConnectionsByAuthorization(previous.id, { connectedOnly: true })\n ).filter((connection) => connection.id !== existing.id)\n assertConnectionCanMove(previous, remaining.length === 0)\n if (remaining.length === 0) {\n await persistence.updateAuthorization(markAuthorizationRevocationPending(previous, now))\n revocationPendingAuthorizationId = previous.id\n }\n } else if (existing?.status === \"connected\") {\n const previous = await persistence.getAuthorization(existing.authorizationId)\n if (previous) assertConnectionCanMove(previous, false)\n }\n\n const updatedAuthorization =\n authorization.status === \"pending_selection\"\n ? {\n ...authorization,\n status: \"active\" as const,\n selectionExpiresAt: undefined,\n revision: authorization.revision + 1,\n updatedAt: now,\n }\n : authorization\n const connection: ConnectorConnectionRecord = existing\n ? {\n ...existing,\n authorizationId: input.authorizationId,\n account: structuredClone(account),\n status: \"connected\",\n disconnectedAt: undefined,\n updatedAt: now,\n }\n : {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n owner: structuredClone(input.owner),\n slot: input.slot,\n authorizationId: input.authorizationId,\n account: structuredClone(account),\n status: \"connected\",\n createdAt: now,\n updatedAt: now,\n }\n\n if (updatedAuthorization !== authorization) {\n await persistence.updateAuthorization(updatedAuthorization)\n }\n if (existing) {\n await persistence.updateConnection(connection)\n } else if (!(await persistence.insertConnection(connection))) {\n throw new ConnectorConnectionStorageError(\n \"connection_conflict\",\n \"[Sixb] Connector connection id already exists.\"\n )\n }\n return {\n connection: structuredClone(connection),\n authorization: structuredClone(updatedAuthorization),\n ...(revocationPendingAuthorizationId === undefined\n ? {}\n : { revocationPendingAuthorizationId }),\n created: existing === null,\n replaced: existing !== null && !sameAccount,\n }\n }\n}\n\ninterface CommittedConnectorConnectionError {\n readonly error: ConnectorConnectionStorageError\n}\n",
|
|
8
|
+
"import { parseSixbFailure } from \"../../../errors/internal\"\nimport { ConnectorConnectionStorageError } from \"../errors\"\nimport type {\n AttachConnectorConnectionRunAuthorizationInput,\n ClaimConnectorConnectionRunCallbackInput,\n ClaimConnectorConnectionRunCallbackResult,\n ConnectorAuthorizationAttemptRecord,\n ConnectorConnectionRunAwaitingProviderRecord,\n ConnectorConnectionRunAwaitingSelectionRecord,\n ConnectorConnectionRunProcessingRecord,\n ConnectorConnectionRunRecord,\n ConnectorConnectionStorage,\n CreateConnectorAuthorizationAttemptInput,\n CreateConnectorConnectionRunInput,\n CreateConnectorConnectionSelectionRunInput,\n FinishConnectorConnectionRunInput,\n GetConnectorConnectionRunInput,\n WaitForConnectorConnectionRunSelectionInput,\n} from \"../types\"\nimport { CONNECTOR_CONNECTION_RUN_FAILURE_CODES } from \"../types\"\nimport {\n assertPositiveDuration,\n authorizationConflict,\n ConnectorConnectionOperations,\n connectionRunBase,\n currentConnectionRun,\n invalidAttempt,\n markPendingAuthorizationForCleanup,\n safeEqual,\n} from \"./shared\"\n\nexport class DurableConnectorConnectionRuns extends ConnectorConnectionOperations {\n createAuthorizationAttempt(\n input: CreateConnectorAuthorizationAttemptInput\n ): Promise<ConnectorAuthorizationAttemptRecord> {\n assertPositiveDuration(input.ttlMs, \"authorization attempt TTL\")\n return this.write(input, async (persistence) => {\n if (input.connectionRunId !== undefined) {\n const run = await persistence.getConnectionRun(input.connectionRunId)\n const existingAttempt = await persistence.getAuthorizationAttemptByConnectionRunId(\n input.connectionRunId\n )\n if (\n !run ||\n existingAttempt ||\n run.status !== \"waiting\" ||\n run.waitingFor !== \"provider_authorization\" ||\n run.slot !== input.slot ||\n run.initiatedByExecutionId !== input.initiatedByExecutionId\n ) {\n throw new ConnectorConnectionStorageError(\n \"attempt_conflict\",\n \"[Sixb] Connector authorization attempt does not match its connection run.\"\n )\n }\n }\n const now = await persistence.now()\n const record: ConnectorAuthorizationAttemptRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n owner: structuredClone(input.owner),\n slot: input.slot,\n initiatedByExecutionId: input.initiatedByExecutionId,\n stateHash: input.stateHash,\n ...(input.codeVerifier === undefined\n ? {}\n : { codeVerifier: structuredClone(input.codeVerifier) }),\n redirectUri: input.redirectUri,\n ...(input.connectionRunId === undefined ? {} : { connectionRunId: input.connectionRunId }),\n ...(input.returnTo === undefined ? {} : { returnTo: input.returnTo }),\n ...(input.callbackBindingHash === undefined\n ? {}\n : { callbackBindingHash: input.callbackBindingHash }),\n ...(input.reauthorizationId === undefined\n ? {}\n : { reauthorizationId: input.reauthorizationId }),\n ...(input.reauthorizationRevision === undefined\n ? {}\n : { reauthorizationRevision: input.reauthorizationRevision }),\n ...(input.reauthorizationConnectionIds === undefined\n ? {}\n : { reauthorizationConnectionIds: [...input.reauthorizationConnectionIds] }),\n createdAt: now,\n expiresAt: new Date(now.getTime() + input.ttlMs),\n }\n if (!(await persistence.insertAuthorizationAttempt(record))) {\n throw new ConnectorConnectionStorageError(\n \"attempt_conflict\",\n \"[Sixb] Connector authorization attempt already exists.\"\n )\n }\n return structuredClone(record)\n })\n }\n\n async consumeAuthorizationAttempt(\n input: Parameters<ConnectorConnectionStorage[\"consumeAuthorizationAttempt\"]>[0]\n ): Promise<ConnectorAuthorizationAttemptRecord> {\n const record = await this.write(input, async (persistence) => {\n const record = await persistence.getAuthorizationAttempt(input.id)\n const now = await persistence.now()\n if (record && record.expiresAt.getTime() <= now.getTime()) {\n await persistence.deleteAuthorizationAttempt(record.id)\n return null\n }\n if (\n !record ||\n record.redirectUri !== input.redirectUri ||\n !safeEqual(record.stateHash, input.stateHash)\n ) {\n return null\n }\n\n await persistence.deleteAuthorizationAttempt(input.id)\n return structuredClone(record)\n })\n if (!record) throw invalidAttempt()\n return record\n }\n\n createConnectionRun(\n input: CreateConnectorConnectionRunInput\n ): Promise<ConnectorConnectionRunRecord> {\n assertPositiveDuration(input.ttlMs, \"connection run TTL\")\n return this.write(input, async (persistence) => {\n const now = await persistence.now()\n const record: ConnectorConnectionRunAwaitingProviderRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n kind: input.kind,\n owner: structuredClone(input.owner),\n slot: input.slot,\n initiatedByExecutionId: input.initiatedByExecutionId,\n status: \"waiting\",\n waitingFor: \"provider_authorization\",\n createdAt: now,\n updatedAt: now,\n expiresAt: new Date(now.getTime() + input.ttlMs),\n }\n if (!(await persistence.insertConnectionRun(record))) {\n throw new ConnectorConnectionStorageError(\n \"run_conflict\",\n \"[Sixb] Connector connection run already exists.\"\n )\n }\n return structuredClone(record)\n })\n }\n\n createConnectionSelectionRun(\n input: CreateConnectorConnectionSelectionRunInput\n ): Promise<ConnectorConnectionRunAwaitingSelectionRecord> {\n assertPositiveDuration(input.ttlMs, \"connection run TTL\")\n return this.write(input, async (persistence) => {\n const authorization = await persistence.getAuthorization(input.authorizationId)\n if (!authorization || authorization.status !== \"active\" || authorization.credentialMutation) {\n throw authorizationConflict()\n }\n const now = await persistence.now()\n const record: ConnectorConnectionRunAwaitingSelectionRecord = {\n id: input.id,\n projectId: input.projectId,\n connectorId: input.connectorId,\n kind: \"connect\",\n owner: structuredClone(input.owner),\n slot: input.slot,\n initiatedByExecutionId: input.initiatedByExecutionId,\n status: \"waiting\",\n waitingFor: \"account_selection\",\n authorizationId: input.authorizationId,\n createdAt: now,\n updatedAt: now,\n expiresAt: new Date(now.getTime() + input.ttlMs),\n }\n if (!(await persistence.insertConnectionRun(record))) {\n throw new ConnectorConnectionStorageError(\n \"run_conflict\",\n \"[Sixb] Connector connection run already exists.\"\n )\n }\n return structuredClone(record)\n })\n }\n\n async claimConnectionRunCallback(\n input: ClaimConnectorConnectionRunCallbackInput\n ): Promise<ClaimConnectorConnectionRunCallbackResult | null> {\n assertPositiveDuration(input.processingTtlMs, \"connection run processing TTL\")\n // Resolve the opaque attempt before entering the connector-scoped critical section. The\n // transaction re-reads every proof, but now all writers acquire the connector lock before row\n // locks instead of letting callback and expiry paths lock attempt/run rows in opposite orders.\n const candidate = await this.read({ projectId: input.projectId }, (persistence) =>\n persistence.getAuthorizationAttempt(input.attemptId)\n )\n if (!candidate) return null\n\n return this.write(\n { projectId: input.projectId, connectorId: candidate.connectorId },\n async (persistence) => {\n const attempt = await persistence.getAuthorizationAttempt(input.attemptId)\n if (\n !attempt ||\n attempt.connectionRunId === undefined ||\n attempt.returnTo === undefined ||\n attempt.callbackBindingHash === undefined ||\n attempt.redirectUri !== input.redirectUri ||\n !safeEqual(attempt.stateHash, input.stateHash) ||\n !safeEqual(attempt.callbackBindingHash, input.callbackBindingHash)\n ) {\n return null\n }\n\n const run = await persistence.getConnectionRun(attempt.connectionRunId)\n if (\n !run ||\n run.status !== \"waiting\" ||\n run.waitingFor !== \"provider_authorization\" ||\n run.slot !== attempt.slot ||\n run.initiatedByExecutionId !== attempt.initiatedByExecutionId\n ) {\n return null\n }\n\n const now = await persistence.now()\n await persistence.deleteAuthorizationAttempt(attempt.id)\n if (\n attempt.expiresAt.getTime() <= now.getTime() ||\n run.expiresAt.getTime() <= now.getTime()\n ) {\n const expired: Extract<ConnectorConnectionRunRecord, { status: \"expired\" }> = {\n ...connectionRunBase(run, now),\n status: \"expired\",\n finishedAt: now,\n }\n await persistence.updateConnectionRun(expired)\n return { type: \"expired\", run: structuredClone(expired), returnTo: attempt.returnTo }\n }\n\n const processing: ConnectorConnectionRunProcessingRecord = {\n ...connectionRunBase(run, now),\n status: \"running\",\n processingId: input.processingId,\n callbackStartedAt: now,\n expiresAt: new Date(now.getTime() + input.processingTtlMs),\n ...(attempt.reauthorizationId === undefined\n ? {}\n : { authorizationId: attempt.reauthorizationId }),\n }\n await persistence.updateConnectionRun(processing)\n return {\n type: \"claimed\",\n run: structuredClone(processing),\n attempt: structuredClone(attempt),\n returnTo: attempt.returnTo,\n }\n }\n )\n }\n\n attachConnectionRunAuthorization(\n input: AttachConnectorConnectionRunAuthorizationInput\n ): Promise<ConnectorConnectionRunProcessingRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n const authorization = await persistence.getAuthorization(input.authorizationId)\n if (\n !run ||\n run.status !== \"running\" ||\n run.processingId !== input.processingId ||\n (run.authorizationId !== undefined && run.authorizationId !== input.authorizationId) ||\n !authorization ||\n authorization.status !== \"pending_selection\"\n ) {\n return null\n }\n const updated: ConnectorConnectionRunProcessingRecord = {\n ...run,\n authorizationId: input.authorizationId,\n updatedAt: await persistence.now(),\n }\n await persistence.updateConnectionRun(updated)\n return structuredClone(updated)\n })\n }\n\n waitForConnectionRunSelection(\n input: WaitForConnectorConnectionRunSelectionInput\n ): Promise<ConnectorConnectionRunAwaitingSelectionRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n if (\n !run ||\n run.status !== \"running\" ||\n run.kind !== \"connect\" ||\n run.processingId !== input.processingId ||\n run.authorizationId !== input.authorizationId\n ) {\n return null\n }\n const now = await persistence.now()\n const waiting: ConnectorConnectionRunAwaitingSelectionRecord = {\n ...connectionRunBase(run, now),\n status: \"waiting\",\n waitingFor: \"account_selection\",\n authorizationId: input.authorizationId,\n expiresAt: new Date(input.expiresAt),\n }\n await persistence.updateConnectionRun(waiting)\n return structuredClone(waiting)\n })\n }\n\n finishConnectionRun(\n input: FinishConnectorConnectionRunInput\n ): Promise<ConnectorConnectionRunRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n if (!run || run.status !== \"running\" || input.processingId !== run.processingId) return null\n const now = await persistence.now()\n const authorizationId =\n input.status === \"succeeded\"\n ? input.authorizationId\n : input.status === \"failed\"\n ? (input.authorizationId ?? run.authorizationId)\n : run.authorizationId\n if (input.status !== \"succeeded\" && run.kind === \"connect\" && authorizationId) {\n await markPendingAuthorizationForCleanup(persistence, authorizationId, now)\n }\n const base = connectionRunBase(run, now)\n const finished: ConnectorConnectionRunRecord =\n input.status === \"succeeded\"\n ? {\n ...base,\n status: \"succeeded\",\n authorizationId: input.authorizationId,\n ...(input.cleanupAuthorizationId === undefined\n ? {}\n : { cleanupAuthorizationId: input.cleanupAuthorizationId }),\n connections: structuredClone(input.connections),\n finishedAt: now,\n }\n : input.status === \"failed\"\n ? {\n ...base,\n status: \"failed\",\n ...(authorizationId === undefined ? {} : { authorizationId }),\n error: parseSixbFailure(input.error, CONNECTOR_CONNECTION_RUN_FAILURE_CODES),\n finishedAt: now,\n }\n : {\n ...base,\n status: \"cancelled\",\n ...(authorizationId === undefined ? {} : { authorizationId }),\n finishedAt: now,\n }\n await persistence.updateConnectionRun(finished)\n return structuredClone(finished)\n })\n }\n\n listPendingConnectionRuns(\n input: Parameters<ConnectorConnectionStorage[\"listPendingConnectionRuns\"]>[0]\n ) {\n return this.read(input, (persistence) => persistence.listPendingConnectionRuns())\n }\n\n getConnectionRun(\n input: GetConnectorConnectionRunInput\n ): Promise<ConnectorConnectionRunRecord | null> {\n return this.write(input, async (persistence) => {\n const run = await currentConnectionRun(persistence, input.runId)\n return run ? structuredClone(run) : null\n })\n }\n}\n",
|
|
9
|
+
"import { DurableConnectorAuthorizations } from \"./provider/authorizations\"\nimport { DurableConnectorConnections } from \"./provider/connections\"\nimport { DurableConnectorConnectionRuns } from \"./provider/runs\"\nimport type { ConnectorConnectionPersistenceBackend } from \"./provider/shared\"\nimport type { ConnectorConnectionStorage } from \"./types\"\n\nexport type {\n ConnectorConnectionPersistence,\n ConnectorConnectionPersistenceBackend,\n ConnectorConnectionPersistenceScope,\n} from \"./provider/shared\"\n\n/**\n * Shared durable implementation of the Connector connection lifecycle.\n *\n * Concrete providers own SQL, transactions, database time and per-connector serialization. The\n * focused services below own protocol runs, authorization mutations and stable connections so\n * SQLite and PostgreSQL cannot drift semantically.\n */\nexport class DurableConnectorConnectionStorage implements ConnectorConnectionStorage {\n readonly durability = \"durable\" as const\n private readonly runs: DurableConnectorConnectionRuns\n private readonly authorizations: DurableConnectorAuthorizations\n private readonly connections: DurableConnectorConnections\n\n constructor(backend: ConnectorConnectionPersistenceBackend) {\n this.runs = new DurableConnectorConnectionRuns(backend)\n this.authorizations = new DurableConnectorAuthorizations(backend)\n this.connections = new DurableConnectorConnections(backend)\n }\n\n async createAuthorizationAttempt(\n ...args: Parameters<ConnectorConnectionStorage[\"createAuthorizationAttempt\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createAuthorizationAttempt\"]>>> {\n return this.runs.createAuthorizationAttempt(...args)\n }\n\n async consumeAuthorizationAttempt(\n ...args: Parameters<ConnectorConnectionStorage[\"consumeAuthorizationAttempt\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"consumeAuthorizationAttempt\"]>>> {\n return this.runs.consumeAuthorizationAttempt(...args)\n }\n\n async createConnectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"createConnectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createConnectionRun\"]>>> {\n return this.runs.createConnectionRun(...args)\n }\n\n async createConnectionSelectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"createConnectionSelectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createConnectionSelectionRun\"]>>> {\n return this.runs.createConnectionSelectionRun(...args)\n }\n\n async claimConnectionRunCallback(\n ...args: Parameters<ConnectorConnectionStorage[\"claimConnectionRunCallback\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"claimConnectionRunCallback\"]>>> {\n return this.runs.claimConnectionRunCallback(...args)\n }\n\n async attachConnectionRunAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"attachConnectionRunAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"attachConnectionRunAuthorization\"]>>> {\n return this.runs.attachConnectionRunAuthorization(...args)\n }\n\n async waitForConnectionRunSelection(\n ...args: Parameters<ConnectorConnectionStorage[\"waitForConnectionRunSelection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"waitForConnectionRunSelection\"]>>> {\n return this.runs.waitForConnectionRunSelection(...args)\n }\n\n async finishConnectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"finishConnectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finishConnectionRun\"]>>> {\n return this.runs.finishConnectionRun(...args)\n }\n\n listPendingConnectionRuns(\n ...args: Parameters<ConnectorConnectionStorage[\"listPendingConnectionRuns\"]>\n ) {\n return this.runs.listPendingConnectionRuns(...args)\n }\n\n async getConnectionRun(\n ...args: Parameters<ConnectorConnectionStorage[\"getConnectionRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getConnectionRun\"]>>> {\n return this.runs.getConnectionRun(...args)\n }\n\n async createAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"createAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"createAuthorization\"]>>> {\n return this.authorizations.createAuthorization(...args)\n }\n\n async initializeAuthorizationAccounts(\n ...args: Parameters<ConnectorConnectionStorage[\"initializeAuthorizationAccounts\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"initializeAuthorizationAccounts\"]>>> {\n return this.authorizations.initializeAuthorizationAccounts(...args)\n }\n\n async getAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"getAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getAuthorization\"]>>> {\n return this.authorizations.getAuthorization(...args)\n }\n\n async getAuthorizationByConnectionId(\n ...args: Parameters<ConnectorConnectionStorage[\"getAuthorizationByConnectionId\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getAuthorizationByConnectionId\"]>>> {\n return this.authorizations.getAuthorizationByConnectionId(...args)\n }\n\n async claimCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"claimCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"claimCredentialMutation\"]>>> {\n return this.authorizations.claimCredentialMutation(...args)\n }\n\n async markCredentialMutationExecuting(\n ...args: Parameters<ConnectorConnectionStorage[\"markCredentialMutationExecuting\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"markCredentialMutationExecuting\"]>>> {\n return this.authorizations.markCredentialMutationExecuting(...args)\n }\n\n async renewCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"renewCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"renewCredentialMutation\"]>>> {\n return this.authorizations.renewCredentialMutation(...args)\n }\n\n async stageCredentialMutationCredentials(\n ...args: Parameters<ConnectorConnectionStorage[\"stageCredentialMutationCredentials\"]>\n ): Promise<\n Awaited<ReturnType<ConnectorConnectionStorage[\"stageCredentialMutationCredentials\"]>>\n > {\n return this.authorizations.stageCredentialMutationCredentials(...args)\n }\n\n async stageCredentialMutationRevocation(\n ...args: Parameters<ConnectorConnectionStorage[\"stageCredentialMutationRevocation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"stageCredentialMutationRevocation\"]>>> {\n return this.authorizations.stageCredentialMutationRevocation(...args)\n }\n\n async releaseCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"releaseCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"releaseCredentialMutation\"]>>> {\n return this.authorizations.releaseCredentialMutation(...args)\n }\n\n async recoverExpiredCredentialMutation(\n ...args: Parameters<ConnectorConnectionStorage[\"recoverExpiredCredentialMutation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"recoverExpiredCredentialMutation\"]>>> {\n return this.authorizations.recoverExpiredCredentialMutation(...args)\n }\n\n async markNeedsReauthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"markNeedsReauthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"markNeedsReauthorization\"]>>> {\n return this.authorizations.markNeedsReauthorization(...args)\n }\n\n async finalizeRefresh(\n ...args: Parameters<ConnectorConnectionStorage[\"finalizeRefresh\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finalizeRefresh\"]>>> {\n return this.authorizations.finalizeRefresh(...args)\n }\n\n async finalizeReauthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"finalizeReauthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finalizeReauthorization\"]>>> {\n return this.authorizations.finalizeReauthorization(...args)\n }\n\n async finalizeRevocation(\n ...args: Parameters<ConnectorConnectionStorage[\"finalizeRevocation\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"finalizeRevocation\"]>>> {\n return this.authorizations.finalizeRevocation(...args)\n }\n\n async putConnection(\n ...args: Parameters<ConnectorConnectionStorage[\"putConnection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"putConnection\"]>>> {\n return this.connections.putConnection(...args)\n }\n\n async putConnectionFromRun(\n ...args: Parameters<ConnectorConnectionStorage[\"putConnectionFromRun\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"putConnectionFromRun\"]>>> {\n return this.connections.putConnectionFromRun(...args)\n }\n\n async getConnection(\n ...args: Parameters<ConnectorConnectionStorage[\"getConnection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getConnection\"]>>> {\n return this.connections.getConnection(...args)\n }\n\n async getConnectionById(\n ...args: Parameters<ConnectorConnectionStorage[\"getConnectionById\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"getConnectionById\"]>>> {\n return this.connections.getConnectionById(...args)\n }\n\n async listConnections(\n ...args: Parameters<ConnectorConnectionStorage[\"listConnections\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"listConnections\"]>>> {\n return this.connections.listConnections(...args)\n }\n\n async listConnectionsByAuthorization(\n ...args: Parameters<ConnectorConnectionStorage[\"listConnectionsByAuthorization\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"listConnectionsByAuthorization\"]>>> {\n return this.connections.listConnectionsByAuthorization(...args)\n }\n\n async disconnectConnection(\n ...args: Parameters<ConnectorConnectionStorage[\"disconnectConnection\"]>\n ): Promise<Awaited<ReturnType<ConnectorConnectionStorage[\"disconnectConnection\"]>>> {\n return this.connections.disconnectConnection(...args)\n }\n}\n"
|
|
10
10
|
],
|
|
11
|
-
"mappings": "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",
|
|
12
|
-
"debugId": "
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "7DB41537C219627764756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
|
@@ -35,6 +35,7 @@ export interface ConnectorConnectionRunAwaitingSelectionRecord extends Connector
|
|
|
35
35
|
readonly status: "waiting";
|
|
36
36
|
readonly waitingFor: "account_selection";
|
|
37
37
|
readonly authorizationId: string;
|
|
38
|
+
/** Legacy persistence field; account selection no longer expires. */
|
|
38
39
|
readonly expiresAt: Date;
|
|
39
40
|
}
|
|
40
41
|
export interface ConnectorConnectionRunSucceededRecord extends ConnectorConnectionRunBase {
|
|
@@ -218,7 +219,7 @@ export interface ConnectorAuthorizationRecord {
|
|
|
218
219
|
readonly scopes: readonly string[];
|
|
219
220
|
readonly accounts: readonly ConnectorAccountCandidate[];
|
|
220
221
|
readonly status: ConnectorAuthorizationStatus;
|
|
221
|
-
/**
|
|
222
|
+
/** Legacy persistence field; no longer enforced as a selection deadline. */
|
|
222
223
|
readonly selectionExpiresAt?: Date;
|
|
223
224
|
readonly revision: number;
|
|
224
225
|
readonly credentialMutation?: ConnectorCredentialMutation;
|
|
@@ -371,6 +372,7 @@ export interface ConnectorConnectionStorage {
|
|
|
371
372
|
attachConnectionRunAuthorization(input: AttachConnectorConnectionRunAuthorizationInput): Promise<ConnectorConnectionRunProcessingRecord | null>;
|
|
372
373
|
waitForConnectionRunSelection(input: WaitForConnectorConnectionRunSelectionInput): Promise<ConnectorConnectionRunAwaitingSelectionRecord | null>;
|
|
373
374
|
finishConnectionRun(input: FinishConnectorConnectionRunInput): Promise<ConnectorConnectionRunRecord | null>;
|
|
375
|
+
listPendingConnectionRuns(input: ListConnectorConnectionsInput): Promise<readonly ConnectorConnectionRunRecord[]>;
|
|
374
376
|
getConnectionRun(input: GetConnectorConnectionRunInput): Promise<ConnectorConnectionRunRecord | null>;
|
|
375
377
|
createAuthorization(input: CreateConnectorAuthorizationInput): Promise<ConnectorAuthorizationRecord>;
|
|
376
378
|
initializeAuthorizationAccounts(input: InitializeConnectorAuthorizationAccountsInput): Promise<ConnectorAuthorizationRecord | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/connector-connections/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/connector-connections/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TrustedPrimitiveKind } from "../../execution/types";
|
|
1
|
+
import type { KernelOperation, TrustedPrimitiveKind } from "../../execution/types";
|
|
2
2
|
import type { ExecutionRecord } from "./types";
|
|
3
3
|
export { type ExecutionValidationLookup, normalizeExecutionRecord, prepareExecutionRecord, validateExecutionRecordReferences, } from "./validation";
|
|
4
4
|
/** Provider-neutral flattened representation used by the SQL adapters. */
|
|
@@ -7,7 +7,7 @@ export interface ExecutionStorageRow {
|
|
|
7
7
|
readonly id: string;
|
|
8
8
|
readonly executorKind: "agent" | "kernel" | "request" | TrustedPrimitiveKind;
|
|
9
9
|
readonly executorId: string;
|
|
10
|
-
readonly sourceKind: "datasetVersion" | "event" | "execution" | "http" | "schedule" | "webhook";
|
|
10
|
+
readonly sourceKind: "ontologyCommit" | "datasetVersion" | "event" | "execution" | "http" | "schedule" | "webhook";
|
|
11
11
|
readonly sourceId: string;
|
|
12
12
|
readonly requestedByUserId: string | null;
|
|
13
13
|
readonly requestedByServiceAccountId: string | null;
|
|
@@ -22,7 +22,7 @@ export interface ExecutionStorageRow {
|
|
|
22
22
|
readonly authorityAccessTokenId: string | null;
|
|
23
23
|
readonly authorityPrimitiveKind: TrustedPrimitiveKind | null;
|
|
24
24
|
readonly authorityPrimitiveId: string | null;
|
|
25
|
-
readonly authorityKernelOperation: "
|
|
25
|
+
readonly authorityKernelOperation: KernelOperation["type"] | null;
|
|
26
26
|
readonly authorityDelegationKind: "share" | null;
|
|
27
27
|
readonly authorityDelegationId: string | null;
|
|
28
28
|
readonly authorityDelegationSessionId: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/storage/executions/provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/storage/executions/provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAElF,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,SAAS,CAAA;AAGpE,OAAO,EACL,KAAK,yBAAyB,EAC9B,wBAAwB,EACxB,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,cAAc,CAAA;AAErB,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,YAAY,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,oBAAoB,CAAA;IAC5E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EACf,gBAAgB,GAChB,gBAAgB,GAChB,OAAO,GACP,WAAW,GACX,MAAM,GACN,UAAU,GACV,SAAS,CAAA;IACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAA;IACnD,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,aAAa,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,kBAAkB,CAAA;IAC9F,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9C,QAAQ,CAAC,sBAAsB,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAC5D,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5C,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACjE,QAAQ,CAAC,uBAAuB,EAAE,OAAO,GAAG,IAAI,CAAA;IAChD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;CACzB;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,CAkBxF;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,mBAAmB,GAAG,eAAe,CAwBvF"}
|