@sixb/core 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/index.d.ts +2 -2
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +28 -26
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/read-facade.d.ts +14 -16
- package/dist/actions/read-facade.d.ts.map +1 -1
- package/dist/actions/request.d.ts.map +1 -1
- package/dist/actions/run-dispatch.d.ts +2 -0
- package/dist/actions/run-dispatch.d.ts.map +1 -1
- package/dist/actions/types/context.d.ts +18 -31
- package/dist/actions/types/context.d.ts.map +1 -1
- package/dist/actions/types/params.d.ts +2 -1
- package/dist/actions/types/params.d.ts.map +1 -1
- package/dist/actions/worker.js +1 -1
- package/dist/agents/index.js +41 -39
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/streams/index.js +2 -2
- package/dist/agents/streams/internal.js +2 -2
- package/dist/assert-never.d.ts +6 -0
- package/dist/assert-never.d.ts.map +1 -0
- package/dist/auth/client-address.d.ts +3 -0
- package/dist/auth/client-address.d.ts.map +1 -0
- package/dist/auth/csrf.d.ts +5 -1
- package/dist/auth/csrf.d.ts.map +1 -1
- package/dist/auth/index.d.ts +3 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +14 -8
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts +58 -41
- package/dist/auth/runtime.d.ts.map +1 -1
- package/dist/auth/session-cache.d.ts +10 -3
- package/dist/auth/session-cache.d.ts.map +1 -1
- package/dist/auth/sessions.d.ts +12 -0
- package/dist/auth/sessions.d.ts.map +1 -1
- package/dist/auth/strategy.js +1 -1
- package/dist/auth/types.d.ts +8 -15
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/authorization/index.js +3 -3
- package/dist/bootstrap/index.d.ts +1 -1
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +45 -43
- package/dist/bootstrap/index.js.map +1 -1
- package/dist/bootstrap/ontology-type-manifest.d.ts +8 -0
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
- package/dist/{chunk-q5gz3g2j.js → chunk-0321g649.js} +2 -16
- package/dist/{chunk-q5gz3g2j.js.map → chunk-0321g649.js.map} +2 -2
- package/dist/{chunk-e1f1sqba.js → chunk-04h4t2b5.js} +3 -3
- package/dist/{chunk-y3ev53cq.js → chunk-2fv8sajb.js} +2 -2
- package/dist/{chunk-3bnt2wna.js → chunk-2hbhn1ff.js} +1 -1
- package/dist/{chunk-eyjzgav0.js → chunk-3nx8vj5a.js} +6 -4
- package/dist/chunk-3nx8vj5a.js.map +12 -0
- package/dist/{chunk-5tetw4hn.js → chunk-4tnrzqqh.js} +1 -1
- package/dist/{chunk-g50nxqs5.js → chunk-63fp9x3q.js} +63 -20
- package/dist/chunk-63fp9x3q.js.map +20 -0
- package/dist/{chunk-qm535afa.js → chunk-693f3zn8.js} +66 -24
- package/dist/chunk-693f3zn8.js.map +15 -0
- package/dist/{chunk-7zgecwy1.js → chunk-6x0pqh32.js} +12 -1
- package/dist/{chunk-7zgecwy1.js.map → chunk-6x0pqh32.js.map} +3 -3
- package/dist/{chunk-6ma8dvzc.js → chunk-898y24dd.js} +49 -42
- package/dist/chunk-898y24dd.js.map +15 -0
- package/dist/{chunk-7qnvhtcd.js → chunk-91wthfwe.js} +17 -17
- package/dist/{chunk-7qnvhtcd.js.map → chunk-91wthfwe.js.map} +5 -5
- package/dist/chunk-96yw3pwd.js.map +2 -2
- package/dist/{chunk-2cxv584m.js → chunk-9pfw47qx.js} +309 -204
- package/dist/chunk-9pfw47qx.js.map +44 -0
- package/dist/{chunk-4k53sm9e.js → chunk-a0073121.js} +59 -59
- package/dist/{chunk-4k53sm9e.js.map → chunk-a0073121.js.map} +5 -5
- package/dist/{chunk-jjwhy3rs.js → chunk-a69fkrtr.js} +5 -5
- package/dist/{chunk-y1ahv8b7.js → chunk-bdhfn0ww.js} +1 -1
- package/dist/{chunk-4ph94nhd.js → chunk-bep5rrdq.js} +2 -2
- package/dist/{chunk-kept9cdd.js → chunk-bxx3ms5t.js} +1 -1
- package/dist/{chunk-xtfryrfb.js → chunk-cbn96bve.js} +2 -2
- package/dist/{chunk-nzsy3xrp.js → chunk-cvrbhvtr.js} +69 -44
- package/dist/{chunk-nzsy3xrp.js.map → chunk-cvrbhvtr.js.map} +7 -7
- package/dist/{chunk-vsg0g7h9.js → chunk-d8yes9yx.js} +304 -45
- package/dist/chunk-d8yes9yx.js.map +20 -0
- package/dist/{chunk-tg4g4zh0.js → chunk-darm7eeg.js} +9 -9
- package/dist/{chunk-tg4g4zh0.js.map → chunk-darm7eeg.js.map} +3 -3
- package/dist/{chunk-vpxss818.js → chunk-drz59ve0.js} +9 -8
- package/dist/chunk-drz59ve0.js.map +10 -0
- package/dist/{chunk-7c2g3sz9.js → chunk-dsfw1bdr.js} +5 -5
- package/dist/{chunk-7c2g3sz9.js.map → chunk-dsfw1bdr.js.map} +1 -1
- package/dist/{chunk-p6r1ex7t.js → chunk-ffwvdgk1.js} +5 -13
- package/dist/chunk-ffwvdgk1.js.map +10 -0
- package/dist/{chunk-r5zythxp.js → chunk-gbcrz0gr.js} +7 -7
- package/dist/{chunk-ybhz3j9g.js → chunk-gc226ten.js} +104 -148
- package/dist/{chunk-ybhz3j9g.js.map → chunk-gc226ten.js.map} +7 -8
- package/dist/{chunk-3ghw2t5q.js → chunk-gmt22nxx.js} +10 -16
- package/dist/chunk-gmt22nxx.js.map +10 -0
- package/dist/chunk-h89wz928.js +42 -0
- package/dist/chunk-h89wz928.js.map +10 -0
- package/dist/{chunk-hkw8rykk.js → chunk-ht4a7mjg.js} +74 -4
- package/dist/chunk-ht4a7mjg.js.map +15 -0
- package/dist/{chunk-t7dzd1tm.js → chunk-jhyc777j.js} +2 -2
- package/dist/{chunk-xn686q2e.js → chunk-jmwy25mf.js} +75 -57
- package/dist/{chunk-xn686q2e.js.map → chunk-jmwy25mf.js.map} +3 -3
- package/dist/{chunk-f06sf7rr.js → chunk-k4kkp58d.js} +18 -5
- package/dist/chunk-k4kkp58d.js.map +11 -0
- package/dist/{chunk-2h63nrde.js → chunk-ky7zpbtt.js} +5 -7
- package/dist/{chunk-2h63nrde.js.map → chunk-ky7zpbtt.js.map} +3 -4
- package/dist/chunk-m4ehq95f.js +9 -0
- package/dist/chunk-m4ehq95f.js.map +10 -0
- package/dist/{chunk-0mza4xb2.js → chunk-m8zkvep1.js} +2 -2
- package/dist/{chunk-b768c93y.js → chunk-mf6hwpzh.js} +83 -28
- package/dist/{chunk-b768c93y.js.map → chunk-mf6hwpzh.js.map} +5 -5
- package/dist/{chunk-yxb4c62x.js → chunk-mr60an99.js} +3 -2
- package/dist/{chunk-yxb4c62x.js.map → chunk-mr60an99.js.map} +3 -3
- package/dist/chunk-n33e8dz8.js +191 -0
- package/dist/chunk-n33e8dz8.js.map +11 -0
- package/dist/chunk-rdghfsss.js.map +2 -2
- package/dist/{chunk-m7cx05vp.js → chunk-rqtdtm43.js} +126 -59
- package/dist/{chunk-m7cx05vp.js.map → chunk-rqtdtm43.js.map} +13 -12
- package/dist/{chunk-bbaa1fet.js → chunk-rzcjp5m2.js} +7 -3
- package/dist/chunk-rzcjp5m2.js.map +25 -0
- package/dist/{chunk-hzw7yv5g.js → chunk-rzkr70gr.js} +5 -1
- package/dist/{chunk-hzw7yv5g.js.map → chunk-rzkr70gr.js.map} +3 -3
- package/dist/{chunk-sfypc7mk.js → chunk-s24qbp32.js} +4 -4
- package/dist/{chunk-axndsymr.js → chunk-tw03bsmb.js} +2 -2
- package/dist/{chunk-axndsymr.js.map → chunk-tw03bsmb.js.map} +3 -3
- package/dist/{chunk-y0v18c2j.js → chunk-vef6qa14.js} +2 -2
- package/dist/{chunk-gzt6v1ja.js → chunk-vn3yh259.js} +1 -1
- package/dist/{chunk-bg2bs62d.js → chunk-w9bp61e7.js} +5 -5
- package/dist/{chunk-3h7ctayx.js → chunk-xgptywp0.js} +4 -3
- package/dist/chunk-xgptywp0.js.map +11 -0
- package/dist/{chunk-gswwr35f.js → chunk-y487ywrv.js} +4 -4
- package/dist/{chunk-bet1rb9h.js → chunk-y6vnvayj.js} +1 -1
- package/dist/{chunk-x9tmx3fc.js → chunk-ypj2wqtj.js} +3 -6
- package/dist/{chunk-x9tmx3fc.js.map → chunk-ypj2wqtj.js.map} +4 -4
- package/dist/{chunk-g2gezsg5.js → chunk-z9h698s8.js} +1 -1
- package/dist/{chunk-wjffn5m4.js → chunk-zdkcdshk.js} +3 -36
- package/dist/{chunk-wjffn5m4.js.map → chunk-zdkcdshk.js.map} +3 -4
- package/dist/{chunk-bfjv1adk.js → chunk-znw0zvy4.js} +1 -1
- package/dist/edits/types.d.ts +19 -19
- package/dist/edits/types.d.ts.map +1 -1
- package/dist/error-reporting/internal.js +3 -3
- package/dist/errors/catalog.d.ts +4 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/internal.js +1 -1
- package/dist/events/envelope.d.ts +0 -12
- package/dist/events/envelope.d.ts.map +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +3 -3
- package/dist/events/service.d.ts +1 -2
- package/dist/events/service.d.ts.map +1 -1
- package/dist/events/toStoredEvent.d.ts +1 -2
- package/dist/events/toStoredEvent.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +2 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/execution/agent.d.ts +1 -2
- package/dist/execution/agent.d.ts.map +1 -1
- package/dist/execution/agent.js +39 -37
- package/dist/execution/agent.js.map +1 -1
- package/dist/execution/authorized-object-reader.d.ts.map +1 -1
- package/dist/execution/primitive.d.ts +1 -2
- package/dist/execution/primitive.d.ts.map +1 -1
- package/dist/execution/primitive.js +38 -36
- package/dist/execution/primitive.js.map +3 -3
- package/dist/execution/request.d.ts +1 -2
- package/dist/execution/request.d.ts.map +1 -1
- package/dist/execution/request.js +39 -37
- package/dist/execution/request.js.map +3 -3
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -50
- package/dist/index.js.map +1 -1
- package/dist/maintenance/ontology-maintenance.d.ts +11 -1
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
- package/dist/materialization/errors.d.ts +3 -1
- package/dist/materialization/errors.d.ts.map +1 -1
- package/dist/materialization/events.d.ts +27 -2
- package/dist/materialization/events.d.ts.map +1 -1
- package/dist/materializer/edits/commit.d.ts.map +1 -1
- package/dist/materializer/edits/operations.d.ts +2 -1
- package/dist/materializer/edits/operations.d.ts.map +1 -1
- package/dist/materializer/edits/plan.d.ts +2 -2
- package/dist/materializer/edits/plan.d.ts.map +1 -1
- package/dist/materializer/edits/user-refs.d.ts +30 -0
- package/dist/materializer/edits/user-refs.d.ts.map +1 -0
- package/dist/materializer/effective/build-events.d.ts +2 -2
- package/dist/materializer/effective/build-events.d.ts.map +1 -1
- package/dist/materializer/execution/scope.d.ts +11 -3
- package/dist/materializer/execution/scope.d.ts.map +1 -1
- package/dist/materializer/index.js +23 -21
- package/dist/materializer/index.js.map +1 -1
- package/dist/materializer/projections/replacement-plan.d.ts +2 -0
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
- package/dist/materializer/telemetry/plan.d.ts +2 -2
- package/dist/materializer/telemetry/plan.d.ts.map +1 -1
- package/dist/models/execution/index.js +23 -21
- package/dist/models/execution/index.js.map +1 -1
- package/dist/models/index.js +1 -1
- package/dist/objects/execution.d.ts +21 -27
- package/dist/objects/execution.d.ts.map +1 -1
- package/dist/objects/index.js +28 -26
- package/dist/objects/index.js.map +1 -1
- package/dist/objects/query/executor.d.ts.map +1 -1
- package/dist/objects/query/index.js +27 -25
- package/dist/objects/query/index.js.map +1 -1
- package/dist/objects/query/ir.d.ts +8 -1
- package/dist/objects/query/ir.d.ts.map +1 -1
- package/dist/objects/query/scalar-values.d.ts.map +1 -1
- package/dist/objects/query/validate.d.ts.map +1 -1
- package/dist/objects/sdk/object-handle.d.ts +1 -2
- package/dist/objects/sdk/object-handle.d.ts.map +1 -1
- package/dist/objects/sdk/object-set.d.ts +2 -3
- package/dist/objects/sdk/object-set.d.ts.map +1 -1
- package/dist/objects/sdk/query-builder.d.ts +8 -10
- package/dist/objects/sdk/query-builder.d.ts.map +1 -1
- package/dist/objects/sdk/telemetry-channel.d.ts +1 -2
- package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
- package/dist/objects/sdk/where.d.ts +2 -3
- package/dist/objects/sdk/where.d.ts.map +1 -1
- package/dist/ontology/builders.d.ts +11 -10
- package/dist/ontology/builders.d.ts.map +1 -1
- package/dist/ontology/index.d.ts +4 -2
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +6 -4
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/inference/index.d.ts +34 -22
- package/dist/ontology/inference/index.d.ts.map +1 -1
- package/dist/ontology/internal.d.ts +1 -0
- package/dist/ontology/internal.d.ts.map +1 -1
- package/dist/ontology/internal.js +9 -7
- package/dist/ontology/internal.js.map +1 -1
- package/dist/ontology/primitives.d.ts +38 -0
- package/dist/ontology/primitives.d.ts.map +1 -0
- package/dist/ontology/query-capabilities.d.ts +38 -0
- package/dist/ontology/query-capabilities.d.ts.map +1 -0
- package/dist/ontology/refs.d.ts +23 -2
- package/dist/ontology/refs.d.ts.map +1 -1
- package/dist/ontology/registered.d.ts +16 -0
- package/dist/ontology/registered.d.ts.map +1 -0
- package/dist/ontology/registry.d.ts.map +1 -1
- package/dist/ontology/tokens.d.ts +35 -1
- package/dist/ontology/tokens.d.ts.map +1 -1
- package/dist/ontology/types.d.ts +18 -4
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/user-ref.d.ts +35 -0
- package/dist/ontology/user-ref.d.ts.map +1 -0
- package/dist/ontology/validation/definition.d.ts.map +1 -1
- package/dist/ontology/validation/index.d.ts +1 -1
- package/dist/ontology/validation/index.d.ts.map +1 -1
- package/dist/ontology/validation/normalize.d.ts.map +1 -1
- package/dist/ontology/validation/properties.d.ts +6 -1
- package/dist/ontology/validation/properties.d.ts.map +1 -1
- package/dist/ontology/validation/query.d.ts.map +1 -1
- package/dist/ontology/validation/schema.d.ts.map +1 -1
- package/dist/pipelines/index.js +26 -24
- package/dist/pipelines/index.js.map +1 -1
- package/dist/predicates/types.d.ts +53 -3
- package/dist/predicates/types.d.ts.map +1 -1
- package/dist/projections/builders.d.ts +19 -1
- package/dist/projections/builders.d.ts.map +1 -1
- package/dist/projections/internal.js +23 -21
- package/dist/projections/internal.js.map +1 -1
- package/dist/projections/validation.d.ts.map +1 -1
- package/dist/query.js +2 -2
- package/dist/queues/in-memory.d.ts +1 -1
- package/dist/queues/in-memory.d.ts.map +1 -1
- package/dist/runtime/create.d.ts +1 -1
- package/dist/runtime/create.d.ts.map +1 -1
- package/dist/runtime/host.d.ts +5 -5
- package/dist/runtime/host.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/internal.js +27 -25
- package/dist/runtime/internal.js.map +1 -1
- package/dist/runtime/sixb.d.ts +5 -5
- package/dist/runtime/sixb.d.ts.map +1 -1
- package/dist/runtime/types.d.ts +171 -188
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/sandboxes/index.js +5 -5
- package/dist/sandboxes/sandbox.d.ts +4 -1
- package/dist/sandboxes/sandbox.d.ts.map +1 -1
- package/dist/shared/params/types.d.ts +4 -3
- package/dist/shared/params/types.d.ts.map +1 -1
- package/dist/shared/params/user-refs.d.ts +19 -0
- package/dist/shared/params/user-refs.d.ts.map +1 -0
- package/dist/shares/compiler.d.ts.map +1 -1
- package/dist/shares/internal.js +24 -22
- package/dist/shares/internal.js.map +2 -2
- package/dist/storage/action-runs/failure.js +2 -2
- package/dist/storage/action-runs/types.d.ts +1 -1
- package/dist/storage/action-runs/types.d.ts.map +1 -1
- package/dist/storage/agents/provider.js +1 -1
- package/dist/storage/ai-limits/enforcement.js +2 -2
- package/dist/storage/auth/in-memory/access-tokens.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/sessions.d.ts +8 -1
- package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
- package/dist/storage/auth/index.d.ts +1 -1
- package/dist/storage/auth/index.d.ts.map +1 -1
- package/dist/storage/auth/types.d.ts +62 -13
- package/dist/storage/auth/types.d.ts.map +1 -1
- package/dist/storage/connector-connections/provider.js +1 -1
- package/dist/storage/executions/provider.js +1 -1
- package/dist/storage/file-upload-sessions/in-memory.d.ts +9 -18
- package/dist/storage/file-upload-sessions/in-memory.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/index.d.ts +1 -1
- package/dist/storage/file-upload-sessions/index.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/provider.d.ts +52 -0
- package/dist/storage/file-upload-sessions/provider.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/provider.js +24 -0
- package/dist/storage/file-upload-sessions/provider.js.map +9 -0
- package/dist/storage/file-upload-sessions/types.d.ts +19 -1
- package/dist/storage/file-upload-sessions/types.d.ts.map +1 -1
- package/dist/storage/file-upload-sessions/utils.d.ts +8 -2
- package/dist/storage/file-upload-sessions/utils.d.ts.map +1 -1
- package/dist/storage/index.d.ts +3 -3
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +29 -25
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/internal.js +11 -9
- package/dist/storage/internal.js.map +1 -1
- package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
- package/dist/storage/ontology/commits.d.ts +6 -2
- package/dist/storage/ontology/commits.d.ts.map +1 -1
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
- package/dist/storage/ontology/provider-work.d.ts.map +1 -1
- package/dist/storage/ontology/provider.d.ts +14 -1
- package/dist/storage/ontology/provider.d.ts.map +1 -1
- package/dist/storage/ontology/provider.js +8 -2
- package/dist/storage/ontology/provider.js.map +1 -1
- package/dist/storage/operation-scope.d.ts.map +1 -1
- package/dist/storage/operation-scope.js +1 -1
- package/dist/storage/projection-runs/provider.js +2 -2
- package/dist/storage/types.d.ts +1 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/workflow-interventions/index.d.ts +1 -1
- package/dist/storage/workflow-interventions/index.d.ts.map +1 -1
- package/dist/storage/workflow-interventions/types.d.ts +5 -8
- package/dist/storage/workflow-interventions/types.d.ts.map +1 -1
- package/dist/storage/workflow-runs/provider.js +8 -8
- package/dist/syncs/index.js +27 -25
- package/dist/syncs/index.js.map +1 -1
- package/dist/testing/action-execution.d.ts +4 -0
- package/dist/testing/action-execution.d.ts.map +1 -1
- package/dist/testing/auth-storage-contract.d.ts.map +1 -1
- package/dist/testing/execution.d.ts +1 -2
- package/dist/testing/execution.d.ts.map +1 -1
- package/dist/testing/file-upload-session-storage-contract.d.ts +12 -0
- package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -0
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1951 -1242
- package/dist/testing/index.js.map +15 -13
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
- package/dist/testing/object-query-contract.d.ts.map +1 -1
- package/dist/testing/ontology-contract-fixture.d.ts +8 -0
- package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
- package/dist/testing/sandboxes-contract.d.ts.map +1 -1
- package/dist/testing/workflow-intervention-storage-contract.d.ts +8 -0
- package/dist/testing/workflow-intervention-storage-contract.d.ts.map +1 -0
- package/dist/webhooks/internal.js +24 -22
- package/dist/webhooks/internal.js.map +2 -2
- package/dist/webhooks/types.d.ts +2 -2
- package/dist/webhooks/types.d.ts.map +1 -1
- package/dist/workers/index.js +1 -1
- package/dist/workflows/index.js +42 -40
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/run-dispatch.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +2 -2
- package/dist/workflows/types.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/actions/index.ts +0 -3
- package/src/actions/read-facade.ts +102 -62
- package/src/actions/request.ts +13 -0
- package/src/actions/run-dispatch.ts +3 -0
- package/src/actions/types/context.ts +17 -65
- package/src/actions/types/params.ts +2 -1
- package/src/agents/authority.ts +1 -1
- package/src/assert-never.ts +7 -0
- package/src/auth/client-address.ts +12 -0
- package/src/auth/csrf.ts +14 -5
- package/src/auth/index.ts +3 -2
- package/src/auth/runtime.ts +299 -277
- package/src/auth/session-cache.ts +18 -6
- package/src/auth/sessions.ts +30 -0
- package/src/auth/types.ts +7 -17
- package/src/bootstrap/index.ts +1 -0
- package/src/bootstrap/ontology-type-manifest.ts +112 -60
- package/src/edits/types.ts +47 -63
- package/src/errors/catalog.ts +4 -0
- package/src/events/envelope.ts +0 -13
- package/src/events/index.ts +1 -1
- package/src/events/service.ts +1 -11
- package/src/events/toStoredEvent.ts +1 -3
- package/src/events/types/index.ts +1 -1
- package/src/execution/agent.ts +1 -2
- package/src/execution/authorized-object-reader.ts +5 -7
- package/src/execution/primitive.ts +1 -2
- package/src/execution/request.ts +1 -2
- package/src/index.ts +8 -7
- package/src/maintenance/ontology-maintenance.ts +77 -1
- package/src/materialization/errors.ts +2 -0
- package/src/materialization/events.ts +27 -2
- package/src/materializer/README.md +2 -0
- package/src/materializer/edits/commit.ts +21 -12
- package/src/materializer/edits/operations.ts +32 -4
- package/src/materializer/edits/plan.ts +4 -5
- package/src/materializer/edits/user-refs.ts +115 -0
- package/src/materializer/effective/build-events.ts +4 -5
- package/src/materializer/execution/scope.ts +40 -7
- package/src/materializer/projections/replace.ts +2 -0
- package/src/materializer/projections/replacement-plan.ts +4 -0
- package/src/materializer/telemetry/append.ts +4 -12
- package/src/materializer/telemetry/plan.ts +4 -5
- package/src/objects/execution.ts +33 -62
- package/src/objects/query/executor.ts +12 -3
- package/src/objects/query/ir.ts +7 -0
- package/src/objects/query/planner.ts +1 -0
- package/src/objects/query/scalar-values.ts +19 -0
- package/src/objects/query/validate.ts +55 -44
- package/src/objects/sdk/object-handle.ts +8 -8
- package/src/objects/sdk/object-set.ts +8 -15
- package/src/objects/sdk/query-builder.ts +59 -71
- package/src/objects/sdk/telemetry-channel.ts +6 -7
- package/src/objects/sdk/where.ts +6 -13
- package/src/ontology/builders.ts +15 -11
- package/src/ontology/index.ts +4 -0
- package/src/ontology/inference/index.ts +56 -36
- package/src/ontology/internal.ts +1 -0
- package/src/ontology/json-schema.ts +12 -0
- package/src/ontology/primitives.ts +91 -0
- package/src/ontology/query-capabilities.ts +136 -0
- package/src/ontology/refs.ts +33 -6
- package/src/ontology/registered.ts +22 -0
- package/src/ontology/registry.ts +6 -3
- package/src/ontology/tokens.ts +41 -2
- package/src/ontology/types.ts +19 -3
- package/src/ontology/user-ref.ts +120 -0
- package/src/ontology/validation/definition.ts +2 -13
- package/src/ontology/validation/index.ts +1 -0
- package/src/ontology/validation/normalize.ts +39 -3
- package/src/ontology/validation/properties.ts +95 -19
- package/src/ontology/validation/query.ts +11 -42
- package/src/ontology/validation/schema.ts +16 -0
- package/src/predicates/types.ts +43 -33
- package/src/projections/builders.ts +24 -3
- package/src/projections/validation.ts +15 -1
- package/src/runtime/create.ts +2 -2
- package/src/runtime/host.ts +10 -12
- package/src/runtime/index.ts +3 -2
- package/src/runtime/sixb.ts +13 -23
- package/src/runtime/types.ts +277 -479
- package/src/sandboxes/sandbox.ts +4 -1
- package/src/shared/params/types.ts +4 -3
- package/src/shared/params/user-refs.ts +48 -0
- package/src/shares/compiler.ts +6 -16
- package/src/storage/action-runs/types.ts +1 -0
- package/src/storage/auth/in-memory/access-tokens.ts +5 -2
- package/src/storage/auth/in-memory/auth-storage.ts +5 -8
- package/src/storage/auth/in-memory/device-authorizations.ts +0 -2
- package/src/storage/auth/in-memory/sessions.ts +69 -1
- package/src/storage/auth/in-memory/shared.ts +13 -7
- package/src/storage/auth/index.ts +2 -1
- package/src/storage/auth/types.ts +57 -13
- package/src/storage/executions/validation.ts +1 -1
- package/src/storage/file-upload-sessions/in-memory.ts +64 -113
- package/src/storage/file-upload-sessions/index.ts +1 -0
- package/src/storage/file-upload-sessions/provider.ts +258 -0
- package/src/storage/file-upload-sessions/types.ts +20 -1
- package/src/storage/file-upload-sessions/utils.ts +25 -9
- package/src/storage/index.ts +3 -2
- package/src/storage/objects/in-memory/query.ts +13 -3
- package/src/storage/ontology/commits.ts +6 -2
- package/src/storage/ontology/in-memory/materializations.ts +6 -34
- package/src/storage/ontology/provider-header-validation.ts +57 -0
- package/src/storage/ontology/provider-work.ts +15 -3
- package/src/storage/ontology/provider.ts +59 -1
- package/src/storage/operation-scope.ts +1 -0
- package/src/storage/types.ts +0 -1
- package/src/storage/workflow-interventions/index.ts +0 -1
- package/src/storage/workflow-interventions/types.ts +5 -9
- package/src/testing/action-execution.ts +13 -3
- package/src/testing/auth-storage-contract.ts +149 -62
- package/src/testing/execution-storage-contract.ts +1 -2
- package/src/testing/execution.ts +4 -7
- package/src/testing/file-upload-session-storage-contract.ts +335 -0
- package/src/testing/index.ts +8 -0
- package/src/testing/materializer-storage-contract.ts +86 -4
- package/src/testing/object-query-contract.ts +121 -2
- package/src/testing/ontology-contract-fixture.ts +23 -3
- package/src/testing/ontology-storage-contract.ts +58 -0
- package/src/testing/sandboxes-contract.ts +27 -0
- package/src/testing/workflow-intervention-storage-contract.ts +203 -0
- package/src/webhooks/types.ts +2 -2
- package/src/workflows/run-dispatch.ts +12 -1
- package/src/workflows/snapshot.ts +16 -7
- package/src/workflows/types.ts +2 -2
- package/dist/chunk-2cxv584m.js.map +0 -43
- package/dist/chunk-3ghw2t5q.js.map +0 -10
- package/dist/chunk-3h7ctayx.js.map +0 -11
- package/dist/chunk-6ma8dvzc.js.map +0 -15
- package/dist/chunk-bbaa1fet.js.map +0 -25
- package/dist/chunk-eyjzgav0.js.map +0 -12
- package/dist/chunk-f06sf7rr.js.map +0 -11
- package/dist/chunk-g50nxqs5.js.map +0 -18
- package/dist/chunk-hkw8rykk.js.map +0 -15
- package/dist/chunk-p6r1ex7t.js.map +0 -10
- package/dist/chunk-qm535afa.js.map +0 -15
- package/dist/chunk-vpxss818.js.map +0 -10
- package/dist/chunk-vsg0g7h9.js.map +0 -17
- /package/dist/{chunk-e1f1sqba.js.map → chunk-04h4t2b5.js.map} +0 -0
- /package/dist/{chunk-y3ev53cq.js.map → chunk-2fv8sajb.js.map} +0 -0
- /package/dist/{chunk-3bnt2wna.js.map → chunk-2hbhn1ff.js.map} +0 -0
- /package/dist/{chunk-5tetw4hn.js.map → chunk-4tnrzqqh.js.map} +0 -0
- /package/dist/{chunk-jjwhy3rs.js.map → chunk-a69fkrtr.js.map} +0 -0
- /package/dist/{chunk-y1ahv8b7.js.map → chunk-bdhfn0ww.js.map} +0 -0
- /package/dist/{chunk-4ph94nhd.js.map → chunk-bep5rrdq.js.map} +0 -0
- /package/dist/{chunk-kept9cdd.js.map → chunk-bxx3ms5t.js.map} +0 -0
- /package/dist/{chunk-xtfryrfb.js.map → chunk-cbn96bve.js.map} +0 -0
- /package/dist/{chunk-r5zythxp.js.map → chunk-gbcrz0gr.js.map} +0 -0
- /package/dist/{chunk-t7dzd1tm.js.map → chunk-jhyc777j.js.map} +0 -0
- /package/dist/{chunk-0mza4xb2.js.map → chunk-m8zkvep1.js.map} +0 -0
- /package/dist/{chunk-sfypc7mk.js.map → chunk-s24qbp32.js.map} +0 -0
- /package/dist/{chunk-y0v18c2j.js.map → chunk-vef6qa14.js.map} +0 -0
- /package/dist/{chunk-gzt6v1ja.js.map → chunk-vn3yh259.js.map} +0 -0
- /package/dist/{chunk-bg2bs62d.js.map → chunk-w9bp61e7.js.map} +0 -0
- /package/dist/{chunk-gswwr35f.js.map → chunk-y487ywrv.js.map} +0 -0
- /package/dist/{chunk-bet1rb9h.js.map → chunk-y6vnvayj.js.map} +0 -0
- /package/dist/{chunk-g2gezsg5.js.map → chunk-z9h698s8.js.map} +0 -0
- /package/dist/{chunk-bfjv1adk.js.map → chunk-znw0zvy4.js.map} +0 -0
package/dist/runtime/types.d.ts
CHANGED
|
@@ -14,10 +14,11 @@ import type { EmbeddingModelCatalog } from "../models";
|
|
|
14
14
|
import type { ModelExecutionSession } from "../models/execution/session";
|
|
15
15
|
import type { ObjectQuery, ObjectQueryExplanation, ObjectQueryPredicateComparison, ObjectQueryPredicateContains, ObjectQueryPredicateExists, ObjectQueryPredicateGroup, ObjectQueryPredicateIn, ObjectQueryPredicateNot, ObjectQuerySortDirection, ValidatedObjectQuery } from "../objects/query";
|
|
16
16
|
import type { ObjectVectorHandle, VectorProfileName } from "../objects/vectors/types";
|
|
17
|
-
import type { ObjectLinkTargetType, ObjectRef,
|
|
18
|
-
import type {
|
|
17
|
+
import type { ObjectLinkTargetType, ObjectRef, Property } from "../ontology";
|
|
18
|
+
import type { InferPropertyUnit, InferPropertyValue, InferTelemetryBatchProperties, InferTelemetryPropertyIds } from "../ontology/inference";
|
|
19
|
+
import type { RegisteredObjectType } from "../ontology/registered";
|
|
19
20
|
import type { OntologyDocumentInput, OntologyRegistry, OntologySource } from "../ontology/registry";
|
|
20
|
-
import type { LinkToken, ObjectTypeWithPropertyTokens, PropertyToken } from "../ontology/tokens";
|
|
21
|
+
import type { LinkToken, ObjectTypeProperties, ObjectTypeWithPropertyTokens, PropertyToken } from "../ontology/tokens";
|
|
21
22
|
import type { Queues } from "../queues";
|
|
22
23
|
import type { ActionRunRecord, ObjectLinkRow, Storage } from "../storage";
|
|
23
24
|
/**
|
|
@@ -63,28 +64,30 @@ export type BatchItemResult<T> = {
|
|
|
63
64
|
readonly error: Error;
|
|
64
65
|
};
|
|
65
66
|
export type { OntologyDocumentInput, OntologySource };
|
|
66
|
-
type
|
|
67
|
-
|
|
68
|
-
} ? TObjectTypes[number] : TSource extends ObjectTypeWithPropertyTokens ? TSource : never;
|
|
69
|
-
type ValueTypeFromSource<TSource> = TSource extends {
|
|
70
|
-
valueTypes: infer TValueTypes extends readonly ValueType[];
|
|
71
|
-
} ? TValueTypes[number] : never;
|
|
72
|
-
export type RegisteredObjectType<TOntologySources extends readonly OntologySource[]> = ObjectTypeFromSource<TOntologySources[number]>;
|
|
73
|
-
export type RegisteredValueTypes<TOntologySources extends readonly OntologySource[]> = readonly ValueTypeFromSource<TOntologySources[number]>[];
|
|
74
|
-
export type TwinObject<TObjectType extends ObjectType, TValueTypes extends readonly ValueType[]> = {
|
|
67
|
+
/** One stored object. Covariant: a row of an object type is a row of the loose base type. */
|
|
68
|
+
export type TwinObject<out TObjectType extends ObjectTypeWithPropertyTokens> = {
|
|
75
69
|
primaryId: string;
|
|
76
70
|
objectTypeId: TObjectType["id"];
|
|
77
|
-
properties:
|
|
71
|
+
properties: ObjectTypeProperties<TObjectType>;
|
|
78
72
|
createdAt: Date;
|
|
79
73
|
updatedAt: Date;
|
|
80
74
|
};
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
75
|
+
/** A row returned by an object query, before any `.expand(...)`. */
|
|
76
|
+
export type ObjectQueryRow<TObjectType extends ObjectTypeWithPropertyTokens> = TwinObject<TObjectType> & {
|
|
77
|
+
/** Relevance, present when the query ranks its results (`search`, `vector`). */
|
|
78
|
+
score?: number;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* An object attached under a row's `.links` by `.expand(...)`, before any nested expansion. The
|
|
82
|
+
* executor attaches `linkProperties` only when the relationship carries metadata.
|
|
83
|
+
*/
|
|
84
|
+
export type ObjectExpansionRow<TObjectType extends ObjectTypeWithPropertyTokens> = TwinObject<TObjectType> & {
|
|
85
|
+
linkProperties?: Record<string, unknown>;
|
|
87
86
|
};
|
|
87
|
+
/**
|
|
88
|
+
* Flattens a row built from intersections, so editors show its fields instead of the aliases it was
|
|
89
|
+
* built from. The `& {}` is what makes TypeScript print the fields.
|
|
90
|
+
*/
|
|
88
91
|
type Simplify<T> = {
|
|
89
92
|
[K in keyof T]: T[K];
|
|
90
93
|
} & {};
|
|
@@ -105,49 +108,49 @@ type LinkTokenForObjectType<TObjectType extends ObjectTypeWithPropertyTokens> =
|
|
|
105
108
|
type PropertyById<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]> = Extract<TObjectType["properties"][number], {
|
|
106
109
|
id: TPropertyId;
|
|
107
110
|
}>;
|
|
108
|
-
type PropertyWhereValue<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]
|
|
109
|
-
type PropertyWhereContainsValue<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]
|
|
110
|
-
type PropertyWhereComparisonClause<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]
|
|
111
|
+
type PropertyWhereValue<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]> = InferPropertyValue<PropertyById<TObjectType, TPropertyId>>;
|
|
112
|
+
type PropertyWhereContainsValue<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]> = NonNullable<PropertyWhereValue<TObjectType, TPropertyId>> extends string ? string : NonNullable<PropertyWhereValue<TObjectType, TPropertyId>> extends readonly (infer TItem)[] ? TItem : NonNullable<PropertyWhereValue<TObjectType, TPropertyId>> extends Record<string, unknown> ? string : never;
|
|
113
|
+
type PropertyWhereComparisonClause<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]> = Omit<ObjectQueryPredicateComparison, "propertyId" | "value"> & {
|
|
111
114
|
propertyId: TPropertyId;
|
|
112
|
-
value: PropertyWhereValue<TObjectType, TPropertyId
|
|
115
|
+
value: PropertyWhereValue<TObjectType, TPropertyId>;
|
|
113
116
|
};
|
|
114
|
-
type PropertyWhereInClause<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]
|
|
117
|
+
type PropertyWhereInClause<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]> = Omit<ObjectQueryPredicateIn, "propertyId" | "values"> & {
|
|
115
118
|
propertyId: TPropertyId;
|
|
116
|
-
values: readonly PropertyWhereValue<TObjectType, TPropertyId
|
|
119
|
+
values: readonly PropertyWhereValue<TObjectType, TPropertyId>[];
|
|
117
120
|
};
|
|
118
121
|
type PropertyWhereExistsClause<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]> = Omit<ObjectQueryPredicateExists, "propertyId"> & {
|
|
119
122
|
propertyId: TPropertyId;
|
|
120
123
|
};
|
|
121
|
-
type PropertyWhereContainsClause<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]
|
|
124
|
+
type PropertyWhereContainsClause<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]> = Omit<ObjectQueryPredicateContains, "propertyId" | "value"> & {
|
|
122
125
|
propertyId: TPropertyId;
|
|
123
|
-
value: PropertyWhereContainsValue<TObjectType, TPropertyId
|
|
126
|
+
value: PropertyWhereContainsValue<TObjectType, TPropertyId>;
|
|
124
127
|
};
|
|
125
128
|
/** Predicate operators exposed on `where` builder properties. */
|
|
126
|
-
type PropertyPredicate<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]
|
|
127
|
-
eq(value: PropertyWhereValue<TObjectType, TPropertyId
|
|
129
|
+
type PropertyPredicate<TObjectType extends ObjectTypeWithPropertyTokens, TPropertyId extends TObjectType["properties"][number]["id"]> = {
|
|
130
|
+
eq(value: PropertyWhereValue<TObjectType, TPropertyId>): PropertyWhereComparisonClause<TObjectType, TPropertyId> & {
|
|
128
131
|
op: "eq";
|
|
129
132
|
};
|
|
130
|
-
neq(value: PropertyWhereValue<TObjectType, TPropertyId
|
|
133
|
+
neq(value: PropertyWhereValue<TObjectType, TPropertyId>): PropertyWhereComparisonClause<TObjectType, TPropertyId> & {
|
|
131
134
|
op: "neq";
|
|
132
135
|
};
|
|
133
|
-
lt(value: PropertyWhereValue<TObjectType, TPropertyId
|
|
136
|
+
lt(value: PropertyWhereValue<TObjectType, TPropertyId>): PropertyWhereComparisonClause<TObjectType, TPropertyId> & {
|
|
134
137
|
op: "lt";
|
|
135
138
|
};
|
|
136
|
-
lte(value: PropertyWhereValue<TObjectType, TPropertyId
|
|
139
|
+
lte(value: PropertyWhereValue<TObjectType, TPropertyId>): PropertyWhereComparisonClause<TObjectType, TPropertyId> & {
|
|
137
140
|
op: "lte";
|
|
138
141
|
};
|
|
139
|
-
gt(value: PropertyWhereValue<TObjectType, TPropertyId
|
|
142
|
+
gt(value: PropertyWhereValue<TObjectType, TPropertyId>): PropertyWhereComparisonClause<TObjectType, TPropertyId> & {
|
|
140
143
|
op: "gt";
|
|
141
144
|
};
|
|
142
|
-
gte(value: PropertyWhereValue<TObjectType, TPropertyId
|
|
145
|
+
gte(value: PropertyWhereValue<TObjectType, TPropertyId>): PropertyWhereComparisonClause<TObjectType, TPropertyId> & {
|
|
143
146
|
op: "gte";
|
|
144
147
|
};
|
|
145
|
-
in(values: readonly PropertyWhereValue<TObjectType, TPropertyId
|
|
148
|
+
in(values: readonly PropertyWhereValue<TObjectType, TPropertyId>[]): PropertyWhereInClause<TObjectType, TPropertyId>;
|
|
146
149
|
exists(value?: boolean): PropertyWhereExistsClause<TObjectType, TPropertyId>;
|
|
147
|
-
contains(value: PropertyWhereContainsValue<TObjectType, TPropertyId
|
|
150
|
+
contains(value: PropertyWhereContainsValue<TObjectType, TPropertyId>): PropertyWhereContainsClause<TObjectType, TPropertyId>;
|
|
148
151
|
};
|
|
149
|
-
type PropertyWhereClause<TObjectType extends ObjectTypeWithPropertyTokens
|
|
150
|
-
[TPropertyId in TObjectType["properties"][number]["id"]]: PropertyWhereComparisonClause<TObjectType, TPropertyId
|
|
152
|
+
type PropertyWhereClause<TObjectType extends ObjectTypeWithPropertyTokens> = HasKnownPropertyIds<TObjectType> extends false ? ObjectQueryPredicateComparison | ObjectQueryPredicateIn | ObjectQueryPredicateExists | ObjectQueryPredicateContains : {
|
|
153
|
+
[TPropertyId in TObjectType["properties"][number]["id"]]: PropertyWhereComparisonClause<TObjectType, TPropertyId> | PropertyWhereInClause<TObjectType, TPropertyId> | PropertyWhereExistsClause<TObjectType, TPropertyId> | PropertyWhereContainsClause<TObjectType, TPropertyId>;
|
|
151
154
|
}[TObjectType["properties"][number]["id"]];
|
|
152
155
|
/**
|
|
153
156
|
* Predicate operators for an object type whose properties are not statically
|
|
@@ -182,23 +185,23 @@ type UntypedPropertyPredicate = {
|
|
|
182
185
|
/** True when the object type's property ids are statically known literals. */
|
|
183
186
|
type HasKnownPropertyIds<TObjectType extends ObjectTypeWithPropertyTokens> = string extends TObjectType["properties"][number]["id"] ? false : true;
|
|
184
187
|
/** Typed ObjectSet where predicate. Serialized shape matches object query IR predicates. */
|
|
185
|
-
export type ObjectWhereClause<TObjectType extends ObjectTypeWithPropertyTokens
|
|
186
|
-
items: readonly ObjectWhereClause<TObjectType
|
|
188
|
+
export type ObjectWhereClause<TObjectType extends ObjectTypeWithPropertyTokens> = PropertyWhereClause<TObjectType> | (Omit<ObjectQueryPredicateGroup, "items"> & {
|
|
189
|
+
items: readonly ObjectWhereClause<TObjectType>[];
|
|
187
190
|
}) | (Omit<ObjectQueryPredicateNot, "item"> & {
|
|
188
|
-
item: ObjectWhereClause<TObjectType
|
|
191
|
+
item: ObjectWhereClause<TObjectType>;
|
|
189
192
|
});
|
|
190
193
|
/**
|
|
191
194
|
* Builder object passed to object query `where` callbacks.
|
|
192
195
|
*
|
|
193
196
|
* Example: `(r) => r.p.externalId.eq("RM-101")`
|
|
194
197
|
*/
|
|
195
|
-
export type ObjectWhereBuilder<TObjectType extends ObjectTypeWithPropertyTokens
|
|
198
|
+
export type ObjectWhereBuilder<TObjectType extends ObjectTypeWithPropertyTokens> = {
|
|
196
199
|
p: HasKnownPropertyIds<TObjectType> extends false ? Record<string, UntypedPropertyPredicate> : {
|
|
197
|
-
[TPropertyId in TObjectType["properties"][number]["id"]]: PropertyPredicate<TObjectType, TPropertyId
|
|
200
|
+
[TPropertyId in TObjectType["properties"][number]["id"]]: PropertyPredicate<TObjectType, TPropertyId>;
|
|
198
201
|
};
|
|
199
|
-
and(...items: readonly ObjectWhereClause<TObjectType
|
|
200
|
-
or(...items: readonly ObjectWhereClause<TObjectType
|
|
201
|
-
not(item: ObjectWhereClause<TObjectType
|
|
202
|
+
and(...items: readonly ObjectWhereClause<TObjectType>[]): ObjectWhereClause<TObjectType>;
|
|
203
|
+
or(...items: readonly ObjectWhereClause<TObjectType>[]): ObjectWhereClause<TObjectType>;
|
|
204
|
+
not(item: ObjectWhereClause<TObjectType>): ObjectWhereClause<TObjectType>;
|
|
202
205
|
};
|
|
203
206
|
export type TelemetryPropertyToken<TObjectType extends ObjectTypeWithPropertyTokens> = TObjectType["p"][InferTelemetryPropertyIds<TObjectType>];
|
|
204
207
|
type AnyPropertyToken = PropertyToken<string, string, Property>;
|
|
@@ -209,15 +212,15 @@ export type ObjectSetQueryPropertyToken<TObjectType extends ObjectTypeWithProper
|
|
|
209
212
|
* - if property has a semantic type, unit is required
|
|
210
213
|
* - otherwise unit is disallowed
|
|
211
214
|
*/
|
|
212
|
-
type TelemetryUnitField<TToken extends AnyPropertyToken
|
|
215
|
+
type TelemetryUnitField<TToken extends AnyPropertyToken> = InferPropertyUnit<TToken["property"]> extends never ? {
|
|
213
216
|
unit?: never;
|
|
214
217
|
} : {
|
|
215
|
-
unit: InferPropertyUnit<TToken["property"]
|
|
218
|
+
unit: InferPropertyUnit<TToken["property"]>;
|
|
216
219
|
};
|
|
217
|
-
export type TelemetryAppendInput<TToken extends AnyPropertyToken
|
|
218
|
-
value: InferPropertyValue<TToken["property"]
|
|
220
|
+
export type TelemetryAppendInput<TToken extends AnyPropertyToken> = {
|
|
221
|
+
value: InferPropertyValue<TToken["property"]>;
|
|
219
222
|
at: Date;
|
|
220
|
-
} & TelemetryUnitField<TToken
|
|
223
|
+
} & TelemetryUnitField<TToken>;
|
|
221
224
|
export interface TelemetryHistoryInput {
|
|
222
225
|
readonly from?: Date;
|
|
223
226
|
readonly to?: Date;
|
|
@@ -231,8 +234,8 @@ export interface TelemetryHistoryInput {
|
|
|
231
234
|
* same series back, typed through the same token, instead of sending the caller under the typed
|
|
232
235
|
* surface to `sixb.storage.timeseries`.
|
|
233
236
|
*/
|
|
234
|
-
export type TelemetryChannel<TToken extends AnyPropertyToken
|
|
235
|
-
append(input: TelemetryAppendInput<TToken
|
|
237
|
+
export type TelemetryChannel<TToken extends AnyPropertyToken> = {
|
|
238
|
+
append(input: TelemetryAppendInput<TToken>): Promise<void>;
|
|
236
239
|
/**
|
|
237
240
|
* Points for this series, oldest first unless `order: "desc"`.
|
|
238
241
|
*
|
|
@@ -241,15 +244,15 @@ export type TelemetryChannel<TToken extends AnyPropertyToken, TValueTypes extend
|
|
|
241
244
|
*
|
|
242
245
|
* The point shape is written inline rather than extracted into a named alias. One more level of
|
|
243
246
|
* alias indirection around `InferPropertyValue` in this output position overflows TS's instantiation
|
|
244
|
-
* depth (TS2589) in consumers as ordinary as `points.map(...)`
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
247
|
+
* depth (TS2589) in consumers as ordinary as `points.map(...)`. `unit` is inferred through the
|
|
248
|
+
* same token as `append` writes it, rather than widened to `string`: a read that kept `value`
|
|
249
|
+
* precise and gave up on `unit` would be an arbitrary line, and both are the current ontology's
|
|
250
|
+
* view of a series it validated on write.
|
|
248
251
|
*/
|
|
249
252
|
history(input?: TelemetryHistoryInput): Promise<readonly {
|
|
250
|
-
readonly value: InferPropertyValue<TToken["property"]
|
|
253
|
+
readonly value: InferPropertyValue<TToken["property"]>;
|
|
251
254
|
readonly at: Date;
|
|
252
|
-
readonly unit?: InferPropertyUnit<TToken["property"]
|
|
255
|
+
readonly unit?: InferPropertyUnit<TToken["property"]>;
|
|
253
256
|
}[]>;
|
|
254
257
|
};
|
|
255
258
|
type TypedActionReference<TParams extends ActionParamsConfig = ActionParamsConfig> = {
|
|
@@ -299,16 +302,32 @@ export type ObjectSetListInput = {
|
|
|
299
302
|
};
|
|
300
303
|
type LinkTargetObjectTypeIdValue = string | readonly string[];
|
|
301
304
|
type LinkTargetObjectTypeId<TLinkToken> = TLinkToken extends LinkToken<string, string, infer TTargetObjectTypeId> ? TTargetObjectTypeId extends readonly (infer TTargetId extends string)[] ? TTargetId : TTargetObjectTypeId extends string ? TTargetObjectTypeId : never : never;
|
|
302
|
-
type
|
|
305
|
+
type ObjectTypeForRegisteredId<TObjectTypeId extends string, TFallback extends ObjectTypeWithPropertyTokens> = [Extract<RegisteredObjectType, {
|
|
303
306
|
id: TObjectTypeId;
|
|
304
|
-
}>] extends [never] ?
|
|
307
|
+
}>] extends [never] ? TFallback : Extract<RegisteredObjectType, {
|
|
305
308
|
id: TObjectTypeId;
|
|
306
309
|
}>;
|
|
310
|
+
/**
|
|
311
|
+
* Resolve an object type named by id, as seen from `TSource`.
|
|
312
|
+
*
|
|
313
|
+
* A self-reference (`link.self(...)`, or traversing one backwards) names the source's own id, so it
|
|
314
|
+
* resolves to the source. Every other id resolves through the generated registry first: a type
|
|
315
|
+
* reached through a link is then the very type the app imports and passes to `objects(...)`, which
|
|
316
|
+
* matters because builders are invariant in their object type. `TFallback` applies when the
|
|
317
|
+
* registry does not know the id — without a manifest, or for a stale one.
|
|
318
|
+
*/
|
|
319
|
+
type ObjectTypeForId<TSource extends ObjectTypeWithPropertyTokens, TObjectTypeId extends string, TFallback extends ObjectTypeWithPropertyTokens = ObjectTypeWithPropertyTokens> = [TObjectTypeId] extends [TSource["id"]] ? [TSource["id"]] extends [TObjectTypeId] ? TSource : ObjectTypeForRegisteredId<TObjectTypeId, TFallback> : ObjectTypeForRegisteredId<TObjectTypeId, TFallback>;
|
|
307
320
|
type DirectObjectTypeForLink<TLinkToken> = TLinkToken extends LinkToken<string, string, LinkTargetObjectTypeIdValue, infer TLink> ? Extract<ObjectLinkTargetType<TLink>, ObjectTypeWithPropertyTokens> : never;
|
|
308
|
-
|
|
321
|
+
/**
|
|
322
|
+
* The object type a link token points to: the registered type, else the target `link(id, Target)`
|
|
323
|
+
* captured, else the loose base type.
|
|
324
|
+
*/
|
|
325
|
+
type ObjectTypeForLinkTarget<TSource extends ObjectTypeWithPropertyTokens, TLinkToken> = ObjectTypeForId<TSource, LinkTargetObjectTypeId<TLinkToken>, [
|
|
326
|
+
DirectObjectTypeForLink<TLinkToken>
|
|
327
|
+
] extends [never] ? ObjectTypeWithPropertyTokens : DirectObjectTypeForLink<TLinkToken>>;
|
|
309
328
|
/**
|
|
310
329
|
* True when the target type is a concrete ontology type rather than the degraded
|
|
311
|
-
* generic base.
|
|
330
|
+
* generic base. Registered and direct targets resolve before this point; unresolved
|
|
312
331
|
* id-only refs fall back to the base type, whose property ids are `string`.
|
|
313
332
|
* Instantiating the typed token map over the broad `Property` union there
|
|
314
333
|
* overflows TypeScript (the same reason `UntypedPropertyPredicate` exists). The
|
|
@@ -340,51 +359,11 @@ type LinkTokenCardinality<TLinkToken> = TLinkToken extends LinkToken<string, str
|
|
|
340
359
|
cardinality: infer TCardinality extends string;
|
|
341
360
|
} ? TCardinality : "many" : "many";
|
|
342
361
|
type LinkTokenId<TLinkToken> = TLinkToken extends LinkToken<string, infer TLinkId, LinkTargetObjectTypeIdValue> ? TLinkId : never;
|
|
343
|
-
type LinkTokenSourceObjectTypeId<TLinkToken> = TLinkToken extends LinkToken<infer TObjectTypeId, string, LinkTargetObjectTypeIdValue> ? TObjectTypeId : string;
|
|
344
|
-
type ObjectLinkCardinality<TLink> = TLink extends {
|
|
345
|
-
cardinality: infer TCardinality extends string;
|
|
346
|
-
} ? TCardinality : "many";
|
|
347
|
-
type ObjectLinkTarget<TRegisteredObjectTypes extends ObjectTypeWithPropertyTokens, TLink> = [
|
|
348
|
-
Extract<ObjectLinkTargetType<TLink>, ObjectTypeWithPropertyTokens>
|
|
349
|
-
] extends [never] ? TLink extends {
|
|
350
|
-
targetObjectTypeId: infer TTargetObjectTypeId extends LinkTargetObjectTypeIdValue;
|
|
351
|
-
} ? ObjectTypeForId<TRegisteredObjectTypes, ResolveTargetTypeId<TTargetObjectTypeId>> : ObjectTypeWithPropertyTokens : Extract<ObjectLinkTargetType<TLink>, ObjectTypeWithPropertyTokens>;
|
|
352
|
-
type ObjectLinkById<TObjectType extends Pick<ObjectType, "links">, TLinkId extends string> = Extract<TObjectType["links"][number], {
|
|
353
|
-
id: TLinkId;
|
|
354
|
-
}>;
|
|
355
|
-
type HasKnownObjectLinkIds<TObjectType extends Pick<ObjectType, "links">> = string extends TObjectType["links"][number]["id"] ? false : true;
|
|
356
|
-
/**
|
|
357
|
-
* A branded accumulator entry for one expanded link. Unconstrained on purpose —
|
|
358
|
-
* keeping recursion out of constraints is what avoids TS2589.
|
|
359
|
-
*/
|
|
360
|
-
type ExpansionNode<TLinkToken, TRegisteredObjectTypes, TTarget, TCardinality, TChildren> = {
|
|
361
|
-
readonly __linkToken: TLinkToken;
|
|
362
|
-
readonly __registeredObjectTypes: TRegisteredObjectTypes;
|
|
363
|
-
readonly __target: TTarget;
|
|
364
|
-
readonly __cardinality: TCardinality;
|
|
365
|
-
readonly __children: TChildren;
|
|
366
|
-
};
|
|
367
|
-
/** The single-key accumulator contribution of one `.expand(link, …)` call. */
|
|
368
|
-
type ExpansionEntry<TLinkToken extends LinkToken<string, string, LinkTargetObjectTypeIdValue>, TRegisteredObjectTypes extends ObjectTypeWithPropertyTokens, TChild> = {
|
|
369
|
-
[K in TLinkToken["id"]]: ExpansionNode<TLinkToken, TRegisteredObjectTypes, ObjectTypeForLinkTarget<TRegisteredObjectTypes, TLinkToken>, LinkTokenCardinality<TLinkToken>, TChild>;
|
|
370
|
-
};
|
|
371
|
-
type ExpansionNodeForSource<TNode, TObjectType extends Pick<ObjectType, "id" | "links">> = TNode extends ExpansionNode<infer TLinkToken, infer TRegisteredObjectTypes extends ObjectTypeWithPropertyTokens, infer TTarget, infer TCardinality, infer TChildren> ? LinkTokenId<TLinkToken> extends infer TLinkId extends string ? HasKnownObjectLinkIds<TObjectType> extends true ? [ObjectLinkById<TObjectType, TLinkId>] extends [never] ? never : ExpansionNode<TLinkToken, TRegisteredObjectTypes, ObjectLinkTarget<TRegisteredObjectTypes, ObjectLinkById<TObjectType, TLinkId>>, ObjectLinkCardinality<ObjectLinkById<TObjectType, TLinkId>>, TChildren> : LinkTokenSourceObjectTypeId<TLinkToken> extends TObjectType["id"] ? ExpansionNode<TLinkToken, TRegisteredObjectTypes, TTarget, TCardinality, TChildren> : never : never : never;
|
|
372
|
-
type ExpansionLinksForSource<TLinks, TObjectType extends Pick<ObjectType, "id" | "links">> = {
|
|
373
|
-
[K in keyof TLinks as [ExpansionNodeForSource<TLinks[K], TObjectType>] extends [never] ? never : K]: ExpansionNodeForSource<TLinks[K], TObjectType>;
|
|
374
|
-
};
|
|
375
|
-
/** Materialize one accumulated expansion entry into its row value. */
|
|
376
|
-
type ExpandedLinkType<TNode, TValueTypes extends readonly ValueType[]> = TNode extends ExpansionNode<unknown, infer TRegisteredObjectTypes extends ObjectTypeWithPropertyTokens, infer TTarget, infer TCardinality, infer TChildren> ? TCardinality extends "one" ? ExpandedRowType<TTarget, TChildren, TValueTypes, TRegisteredObjectTypes> | null : ExpandedRowType<TTarget, TChildren, TValueTypes, TRegisteredObjectTypes>[] : never;
|
|
377
|
-
/**
|
|
378
|
-
* An expanded child row: the target object, optional edge `linkProperties` (the
|
|
379
|
-
* executor attaches it only when the relationship carries metadata), and its own
|
|
380
|
-
* nested `links` (present only when the child was itself expanded). The recursion
|
|
381
|
-
* is confined to this lazily-evaluated position.
|
|
382
|
-
*/
|
|
383
362
|
/**
|
|
384
363
|
* Loud row substituted for a `.expand()` whose target type is MISSING from an
|
|
385
364
|
* otherwise-present ontology manifest (a stale manifest, or a wrong link target
|
|
386
365
|
* id). Reading a real property is then a compile error pointing at the fix,
|
|
387
|
-
* instead of
|
|
366
|
+
* instead of a silent `Record<string, unknown>`. The no-manifest loose
|
|
388
367
|
* default stays graceful — this only fires when the registry is concrete yet the
|
|
389
368
|
* target id is absent, i.e. precision was expected but lost.
|
|
390
369
|
*/
|
|
@@ -396,111 +375,95 @@ type UnresolvedExpansionRow = {
|
|
|
396
375
|
};
|
|
397
376
|
createdAt: Date;
|
|
398
377
|
updatedAt: Date;
|
|
399
|
-
};
|
|
400
|
-
type ExpandedRowType<TTarget, TChildren, TValueTypes extends readonly ValueType[], TRegisteredObjectTypes extends ObjectTypeWithPropertyTokens> = TTarget extends Pick<ObjectType, "id" | "properties" | "links"> ? string extends TTarget["id"] ? string extends TRegisteredObjectTypes["id"] ? ExpandedRowForSource<TTarget, TValueTypes, ExpansionLinksForSource<TChildren, TTarget>, {
|
|
401
|
-
linkProperties?: Record<string, unknown>;
|
|
402
|
-
}> : UnresolvedExpansionRow : ExpandedRowForSource<TTarget, TValueTypes, ExpansionLinksForSource<TChildren, TTarget>, {
|
|
403
378
|
linkProperties?: Record<string, unknown>;
|
|
404
|
-
}
|
|
405
|
-
|
|
379
|
+
};
|
|
380
|
+
/**
|
|
381
|
+
* The row an expanded target contributes before its own nested expansions. A polymorphic target
|
|
382
|
+
* (`link(id, [A, B])`) yields a union of rows, discriminated by `objectTypeId`.
|
|
383
|
+
*/
|
|
384
|
+
type ExpandedTargetRow<TTarget extends ObjectTypeWithPropertyTokens> = TTarget extends ObjectTypeWithPropertyTokens ? HasKnownObjectType<TTarget> extends true ? ObjectExpansionRow<TTarget> : string extends RegisteredObjectType["id"] ? ObjectExpansionRow<TTarget> : UnresolvedExpansionRow : never;
|
|
385
|
+
/** The `.links` entry one `.expand(link, …)` adds: `Target | null` for `"one"`, else `Target[]`. */
|
|
386
|
+
type ObjectExpansionLinks<TLinkToken, TChildRow> = {
|
|
406
387
|
links: {
|
|
407
|
-
[K in
|
|
388
|
+
[K in LinkTokenId<TLinkToken>]: LinkTokenCardinality<TLinkToken> extends "one" ? Simplify<TChildRow> | null : Simplify<TChildRow>[];
|
|
408
389
|
};
|
|
409
|
-
}
|
|
390
|
+
};
|
|
410
391
|
/**
|
|
411
|
-
*
|
|
412
|
-
*
|
|
413
|
-
*
|
|
392
|
+
* Add the `.links` entry of one expansion to `TRow`. Distributes over a polymorphic row, so a
|
|
393
|
+
* nested expansion declared on one member type (`owner.expand(User.l.region)`) only reaches the
|
|
394
|
+
* rows of that type.
|
|
414
395
|
*/
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
} :
|
|
396
|
+
type WithExpansion<TRow, TLinkToken extends LinkToken<string, string, LinkTargetObjectTypeIdValue>, TChildRow> = TRow extends {
|
|
397
|
+
objectTypeId: infer TObjectTypeId;
|
|
398
|
+
} ? TLinkToken["objectTypeId"] extends TObjectTypeId ? TRow & ObjectExpansionLinks<TLinkToken, TChildRow> : TRow : TRow;
|
|
418
399
|
/**
|
|
419
|
-
*
|
|
420
|
-
*
|
|
421
|
-
* registry so deeper hops stay typed and accumulating `TAccumulated` so the
|
|
422
|
-
* nested `.links` shape is recovered from the callback's return.
|
|
400
|
+
* The nested-expansion callback for a link token's resolved target type. `TChildRow`
|
|
401
|
+
* is inferred from the returned builder, recovering the nested `.links` shape.
|
|
423
402
|
*
|
|
424
|
-
*
|
|
425
|
-
*
|
|
426
|
-
*
|
|
427
|
-
* evaluated return/callback positions.
|
|
428
|
-
*
|
|
429
|
-
* When the target type is the degraded base (an unresolved id-only target), the
|
|
430
|
-
* builder collapses to the untyped, non-generic {@link UntypedExpandBuilder}:
|
|
431
|
-
* nested expansion still works, just without target-specific link/property
|
|
432
|
-
* checking, and — crucially — without the self-referential generic instantiation
|
|
433
|
-
* over the broad base type that would otherwise overflow TypeScript.
|
|
403
|
+
* Kept a plain (non-conditional) function type on purpose: wrapping the callback
|
|
404
|
+
* in a `TLinkToken extends … ? … : never` conditional blocks inference of
|
|
405
|
+
* `TChildRow` from the argument, so it would silently fall back to its default.
|
|
434
406
|
*/
|
|
435
|
-
|
|
436
|
-
readonly __links?: TAccumulated;
|
|
437
|
-
expand<TLinkToken extends LinkToken<TObjectType["id"], string, LinkTargetObjectTypeIdValue>, TChild = unknown>(link: TLinkToken, build: ObjectExpandNested<TLinkToken, TRegisteredObjectTypes, TChild>): ObjectExpandBuilder<TObjectType, TRegisteredObjectTypes, TAccumulated & ExpansionEntry<TLinkToken, TRegisteredObjectTypes, TChild>>;
|
|
438
|
-
expand<TLinkToken extends LinkToken<TObjectType["id"], string, LinkTargetObjectTypeIdValue>, TChild = unknown>(link: TLinkToken, options?: ObjectExpandOptions<ObjectTypeForLinkTarget<TRegisteredObjectTypes, TLinkToken>>, build?: ObjectExpandNested<TLinkToken, TRegisteredObjectTypes, TChild>): ObjectExpandBuilder<TObjectType, TRegisteredObjectTypes, TAccumulated & ExpansionEntry<TLinkToken, TRegisteredObjectTypes, TChild>>;
|
|
439
|
-
};
|
|
407
|
+
type ObjectExpandNested<TSource extends ObjectTypeWithPropertyTokens, TLinkToken extends LinkToken<string, string, LinkTargetObjectTypeIdValue>, TChildRow> = (nested: ObjectExpandBuilder<ObjectTypeForLinkTarget<TSource, TLinkToken>>) => ObjectExpandBuilder<ObjectTypeForLinkTarget<TSource, TLinkToken>, TChildRow>;
|
|
440
408
|
/**
|
|
441
|
-
*
|
|
442
|
-
*
|
|
443
|
-
* Nested expansions still run; their shape simply degrades to the loose row.
|
|
409
|
+
* Builder passed to the nested `.expand(..., (e) => …)` callback. Exposes only `expand`; each call
|
|
410
|
+
* adds a `.links` entry to `TRow`, the row this expanded target contributes to its parent.
|
|
444
411
|
*/
|
|
445
|
-
|
|
446
|
-
expand
|
|
447
|
-
|
|
412
|
+
export interface ObjectExpandBuilder<in out TObjectType extends ObjectTypeWithPropertyTokens, out TRow = ExpandedTargetRow<TObjectType>> {
|
|
413
|
+
expand<TLinkToken extends LinkToken<TObjectType["id"], string, LinkTargetObjectTypeIdValue>, TChildRow = ExpandedTargetRow<ObjectTypeForLinkTarget<TObjectType, TLinkToken>>>(link: TLinkToken, build: ObjectExpandNested<TObjectType, TLinkToken, TChildRow>): ObjectExpandBuilder<TObjectType, WithExpansion<TRow, TLinkToken, TChildRow>>;
|
|
414
|
+
expand<TLinkToken extends LinkToken<TObjectType["id"], string, LinkTargetObjectTypeIdValue>, TChildRow = ExpandedTargetRow<ObjectTypeForLinkTarget<TObjectType, TLinkToken>>>(link: TLinkToken, options?: ObjectExpandOptions<ObjectTypeForLinkTarget<TObjectType, TLinkToken>>, build?: ObjectExpandNested<TObjectType, TLinkToken, TChildRow>): ObjectExpandBuilder<TObjectType, WithExpansion<TRow, TLinkToken, TChildRow>>;
|
|
415
|
+
}
|
|
448
416
|
/**
|
|
449
|
-
*
|
|
450
|
-
* is inferred from the returned builder's accumulator, recovering the nested
|
|
451
|
-
* `.links` shape; on the degraded path the builder collapses and `TChild` stays
|
|
452
|
-
* its `unknown` default.
|
|
417
|
+
* Executable object query rooted at `TObjectType`, returning `TRow` rows.
|
|
453
418
|
*
|
|
454
|
-
*
|
|
455
|
-
* in
|
|
456
|
-
* `TChild` from the argument, so it would silently fall back to `unknown`.
|
|
419
|
+
* Invariant in the object type, whose predicates and tokens it both accepts and produces, and
|
|
420
|
+
* covariant in the row.
|
|
457
421
|
*/
|
|
458
|
-
|
|
459
|
-
export interface ObjectQueryBuilder<TObjectType extends ObjectTypeWithPropertyTokens, TRegisteredObjectTypes extends ObjectTypeWithPropertyTokens, TValueTypes extends readonly ValueType[], TLinks = unknown> {
|
|
422
|
+
export interface ObjectQueryBuilder<in out TObjectType extends ObjectTypeWithPropertyTokens, out TRow = ObjectQueryRow<TObjectType>> {
|
|
460
423
|
/** Normalized provider-neutral query IR. */
|
|
461
424
|
readonly ir: ObjectQuery;
|
|
462
425
|
/** Add a typed property predicate at the current object type. */
|
|
463
|
-
where(where: (builder: ObjectWhereBuilder<TObjectType
|
|
426
|
+
where(where: (builder: ObjectWhereBuilder<TObjectType>) => ObjectWhereClause<TObjectType> | readonly ObjectWhereClause<TObjectType>[]): ObjectQueryBuilder<TObjectType, TRow>;
|
|
464
427
|
/** Search configured text fields at the current object type. */
|
|
465
428
|
search(query: string, options?: {
|
|
466
429
|
fields?: readonly ObjectSetQueryPropertyToken<TObjectType>[];
|
|
467
|
-
}): ObjectQueryBuilder<TObjectType,
|
|
430
|
+
}): ObjectQueryBuilder<TObjectType, TRow>;
|
|
468
431
|
/** Search a profile; text is embedded server-side with its configured model. */
|
|
469
432
|
vector(profile: VectorProfileName<TObjectType>, vector: string, options: {
|
|
470
433
|
k: number;
|
|
471
|
-
}): ObjectQueryBuilder<TObjectType,
|
|
434
|
+
}): ObjectQueryBuilder<TObjectType, TRow>;
|
|
472
435
|
/** Follow an outgoing link and make the linked object type the current result type. */
|
|
473
436
|
traverse<TLinkToken extends LinkToken<TObjectType["id"], string, LinkTargetObjectTypeIdValue>>(link: TLinkToken, options?: {
|
|
474
437
|
direction?: "outgoing";
|
|
475
|
-
}): ObjectQueryBuilder<ObjectTypeForLinkTarget<
|
|
438
|
+
}): ObjectQueryBuilder<ObjectTypeForLinkTarget<TObjectType, TLinkToken>>;
|
|
476
439
|
/** Follow an incoming link and make the link source object type the current result type. */
|
|
477
440
|
traverse<TLinkToken extends LinkToken<string, string, TObjectType["id"] | readonly string[]>>(link: TLinkToken, options: {
|
|
478
441
|
direction: "incoming";
|
|
479
|
-
}): ObjectQueryBuilder<ObjectTypeForId<
|
|
442
|
+
}): ObjectQueryBuilder<ObjectTypeForId<TObjectType, TLinkToken["objectTypeId"]>>;
|
|
480
443
|
/**
|
|
481
444
|
* Attach an outgoing link's target objects to each row under `.links`, without
|
|
482
445
|
* changing the result type — the additive counterpart to `traverse` (which
|
|
483
446
|
* replaces the set). The callback nests deeper hops.
|
|
484
447
|
*
|
|
485
|
-
* Each call
|
|
486
|
-
*
|
|
487
|
-
*
|
|
488
|
-
*
|
|
489
|
-
*
|
|
448
|
+
* Each call adds a typed `.links` entry to the rows `list`/`first` return
|
|
449
|
+
* (cardinality `"one"` → `Target | null`, `"many"` → `Target[]`, each carrying
|
|
450
|
+
* optional `linkProperties` and its own nested `.links`). Targets are precise
|
|
451
|
+
* when they are registered or linked directly, and otherwise degrade to the
|
|
452
|
+
* loose base.
|
|
490
453
|
*/
|
|
491
|
-
expand<TLinkToken extends LinkToken<TObjectType["id"], string, LinkTargetObjectTypeIdValue>,
|
|
492
|
-
expand<TLinkToken extends LinkToken<TObjectType["id"], string, LinkTargetObjectTypeIdValue>,
|
|
454
|
+
expand<TLinkToken extends LinkToken<TObjectType["id"], string, LinkTargetObjectTypeIdValue>, TChildRow = ExpandedTargetRow<ObjectTypeForLinkTarget<TObjectType, TLinkToken>>>(link: TLinkToken, build: ObjectExpandNested<TObjectType, TLinkToken, TChildRow>): ObjectQueryBuilder<TObjectType, WithExpansion<TRow, TLinkToken, TChildRow>>;
|
|
455
|
+
expand<TLinkToken extends LinkToken<TObjectType["id"], string, LinkTargetObjectTypeIdValue>, TChildRow = ExpandedTargetRow<ObjectTypeForLinkTarget<TObjectType, TLinkToken>>>(link: TLinkToken, options?: ObjectExpandOptions<ObjectTypeForLinkTarget<TObjectType, TLinkToken>>, build?: ObjectExpandNested<TObjectType, TLinkToken, TChildRow>): ObjectQueryBuilder<TObjectType, WithExpansion<TRow, TLinkToken, TChildRow>>;
|
|
493
456
|
/** Add property ordering at the current object type. */
|
|
494
|
-
orderBy(property: ObjectSetQueryPropertyToken<TObjectType>, direction?: ObjectQuerySortDirection): ObjectQueryBuilder<TObjectType,
|
|
457
|
+
orderBy(property: ObjectSetQueryPropertyToken<TObjectType>, direction?: ObjectQuerySortDirection): ObjectQueryBuilder<TObjectType, TRow>;
|
|
495
458
|
/** Add relevance ordering for providers that support ranked search. */
|
|
496
|
-
orderByRelevance(direction?: ObjectQuerySortDirection): ObjectQueryBuilder<TObjectType,
|
|
459
|
+
orderByRelevance(direction?: ObjectQuerySortDirection): ObjectQueryBuilder<TObjectType, TRow>;
|
|
497
460
|
/** Bound the result count. */
|
|
498
|
-
limit(limit: number): ObjectQueryBuilder<TObjectType,
|
|
461
|
+
limit(limit: number): ObjectQueryBuilder<TObjectType, TRow>;
|
|
499
462
|
/** Request one page of results. */
|
|
500
463
|
page(input: {
|
|
501
464
|
pageSize: number;
|
|
502
465
|
pageToken?: string;
|
|
503
|
-
}): ObjectQueryBuilder<TObjectType,
|
|
466
|
+
}): ObjectQueryBuilder<TObjectType, TRow>;
|
|
504
467
|
/** Validate this query against the registered ontology. */
|
|
505
468
|
validate(): ValidatedObjectQuery;
|
|
506
469
|
/** Return a provider-neutral explanation tree for this query. */
|
|
@@ -508,16 +471,16 @@ export interface ObjectQueryBuilder<TObjectType extends ObjectTypeWithPropertyTo
|
|
|
508
471
|
/** Format `explain()` as a compact diagnostic string. */
|
|
509
472
|
formatExplanation(): string;
|
|
510
473
|
/** Execute this query and return matching objects (rows carry `.links` when expanded). */
|
|
511
|
-
list(): Promise<ListResult<
|
|
474
|
+
list(): Promise<ListResult<Simplify<TRow>>>;
|
|
512
475
|
list(options: {
|
|
513
476
|
includeTotal: false;
|
|
514
477
|
signal?: AbortSignal;
|
|
515
|
-
}): Promise<ListResultWithoutTotal<
|
|
478
|
+
}): Promise<ListResultWithoutTotal<Simplify<TRow>>>;
|
|
516
479
|
list(options: {
|
|
517
480
|
includeTotal?: true;
|
|
518
481
|
signal?: AbortSignal;
|
|
519
|
-
}): Promise<ListResult<
|
|
520
|
-
list(options?: ObjectQueryListOptions): Promise<ListResult<
|
|
482
|
+
}): Promise<ListResult<Simplify<TRow>>>;
|
|
483
|
+
list(options?: ObjectQueryListOptions): Promise<ListResult<Simplify<TRow>> | ListResultWithoutTotal<Simplify<TRow>>>;
|
|
521
484
|
/** Count the matching objects without returning rows. */
|
|
522
485
|
count(): Promise<number>;
|
|
523
486
|
/** Check whether any object matches without returning rows. */
|
|
@@ -525,14 +488,40 @@ export interface ObjectQueryBuilder<TObjectType extends ObjectTypeWithPropertyTo
|
|
|
525
488
|
/** Count matching objects by configured facetable properties. */
|
|
526
489
|
facets(input: readonly ObjectQueryFacetInput<TObjectType>[]): Promise<ObjectQueryFacetResult[]>;
|
|
527
490
|
/** Execute this query with an outer limit of one and return the first object. */
|
|
528
|
-
first(): Promise<
|
|
491
|
+
first(): Promise<Simplify<TRow> | null>;
|
|
529
492
|
}
|
|
530
|
-
|
|
531
|
-
|
|
493
|
+
/** Reads bound to one object id. */
|
|
494
|
+
export interface ObjectReadByIdHandle<out TObjectType extends ObjectTypeWithPropertyTokens> {
|
|
532
495
|
/** Get the object at this id, or null if it doesn't exist. */
|
|
533
|
-
get(): Promise<TwinObject<TObjectType
|
|
496
|
+
get(): Promise<TwinObject<TObjectType> | null>;
|
|
534
497
|
/** List links from this object, optionally filtered by link token. */
|
|
535
498
|
listLinks(link?: LinkTokenForObjectType<TObjectType>): Promise<readonly ObjectLinkRow[]>;
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* The reads of an object set, declared once: `sixb.objects(Type)`, a Workflow step's
|
|
502
|
+
* `sixb.objects(Type)` and an Action's `read.objects(Type)` add only their own writes on top.
|
|
503
|
+
*/
|
|
504
|
+
export interface ObjectReadSet<in out TObjectType extends ObjectTypeWithPropertyTokens> {
|
|
505
|
+
/** Get an object by id, or null if it doesn't exist. */
|
|
506
|
+
get(id: string): Promise<TwinObject<TObjectType> | null>;
|
|
507
|
+
/** Build an executable provider-neutral object query rooted at this object type. */
|
|
508
|
+
query(): ObjectQueryBuilder<TObjectType>;
|
|
509
|
+
/** Bind reads to a specific object id. */
|
|
510
|
+
byId(id: string): ObjectReadByIdHandle<TObjectType>;
|
|
511
|
+
/** List stored objects of this type with storage-system filtering and pagination. */
|
|
512
|
+
list(input?: ObjectSetListInput): Promise<ListResult<TwinObject<TObjectType>>>;
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Reads objects without writing them.
|
|
516
|
+
*
|
|
517
|
+
* An Action's `read`, a Workflow step's `sixb` and a `Sixb` runtime are all object readers, so a
|
|
518
|
+
* helper that takes an `ObjectReader` works in each of them.
|
|
519
|
+
*/
|
|
520
|
+
export interface ObjectReader {
|
|
521
|
+
objects<const TObjectType extends ObjectTypeWithPropertyTokens>(objectType: TObjectType): ObjectReadSet<TObjectType>;
|
|
522
|
+
}
|
|
523
|
+
export interface ObjectByIdHandle<TObjectType extends ObjectTypeWithPropertyTokens> extends ObjectReadByIdHandle<TObjectType> {
|
|
524
|
+
vector(profile: VectorProfileName<TObjectType>): ObjectVectorHandle;
|
|
536
525
|
/** Create or update a link from the current object to a target object. */
|
|
537
526
|
link<TLinkToken extends LinkTokenForObjectType<TObjectType>>(link: TLinkToken, target: ObjectRef<ResolveTargetTypeId<TLinkToken["targetObjectTypeId"]>>, options?: {
|
|
538
527
|
properties?: Record<string, unknown>;
|
|
@@ -582,25 +571,19 @@ export interface ObjectByIdHandle<TObjectType extends ObjectTypeWithPropertyToke
|
|
|
582
571
|
/** Withdraw a previous `delete()`. A no-op unless a projection still asserts this object. */
|
|
583
572
|
restore(): Promise<void>;
|
|
584
573
|
/** Read and write telemetry for one telemetry-mode property token. */
|
|
585
|
-
telemetry<TToken extends TelemetryPropertyToken<TObjectType>>(property: TToken): TelemetryChannel<TToken
|
|
574
|
+
telemetry<TToken extends TelemetryPropertyToken<TObjectType>>(property: TToken): TelemetryChannel<TToken>;
|
|
586
575
|
}
|
|
587
|
-
export interface ObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
|
|
588
|
-
/** Get an object by id, or null if it doesn't exist. */
|
|
589
|
-
get(id: string): Promise<TwinObject<TObjectType, TValueTypes> | null>;
|
|
576
|
+
export interface ObjectSet<TObjectType extends ObjectTypeWithPropertyTokens> extends ObjectReadSet<TObjectType> {
|
|
590
577
|
/** Upsert object state facts (latest projection). */
|
|
591
578
|
upsert(input: {
|
|
592
|
-
properties:
|
|
593
|
-
}): Promise<TwinObject<TObjectType
|
|
594
|
-
/** Build an executable provider-neutral object query rooted at this object type. */
|
|
595
|
-
query(): ObjectQueryBuilder<TObjectType, TRegisteredObjectTypes, TValueTypes>;
|
|
579
|
+
properties: ObjectTypeProperties<TObjectType>;
|
|
580
|
+
}): Promise<TwinObject<TObjectType>>;
|
|
596
581
|
/** Bind operations to a specific object id. */
|
|
597
|
-
byId(id: string): ObjectByIdHandle<TObjectType
|
|
598
|
-
/** List stored objects of this type with storage-system filtering and pagination. */
|
|
599
|
-
list(input?: ObjectSetListInput): Promise<ListResult<TwinObject<TObjectType, TValueTypes>>>;
|
|
582
|
+
byId(id: string): ObjectByIdHandle<TObjectType>;
|
|
600
583
|
/** Append telemetry for multiple objects in a single batch. */
|
|
601
584
|
appendTelemetryBatch(items: readonly {
|
|
602
585
|
id: string;
|
|
603
|
-
properties: InferTelemetryBatchProperties<TObjectType
|
|
586
|
+
properties: InferTelemetryBatchProperties<TObjectType>;
|
|
604
587
|
at?: Date;
|
|
605
588
|
}[]): Promise<void>;
|
|
606
589
|
/** Request an action on an object of this type by id (dynamic / server contexts). */
|