@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
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import {
|
|
3
|
-
isProjectionDefinition2
|
|
4
|
-
} from "./chunk-bbaa1fet.js";
|
|
5
2
|
import {
|
|
6
3
|
isActionDefinition2,
|
|
7
4
|
isGroupDefinition,
|
|
@@ -10,16 +7,16 @@ import {
|
|
|
10
7
|
ShareDefinitionError2,
|
|
11
8
|
isShareDefinition,
|
|
12
9
|
snapshotShareDefinition
|
|
13
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-9pfw47qx.js";
|
|
14
11
|
import {
|
|
15
|
-
|
|
16
|
-
} from "./chunk-
|
|
12
|
+
isProjectionDefinition2
|
|
13
|
+
} from "./chunk-rzcjp5m2.js";
|
|
17
14
|
import {
|
|
18
15
|
isDatasetDefinition2
|
|
19
16
|
} from "./chunk-cd234ba4.js";
|
|
20
17
|
import {
|
|
21
18
|
isPipelineDefinition2
|
|
22
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-2hbhn1ff.js";
|
|
23
20
|
import {
|
|
24
21
|
assertPredicateShape,
|
|
25
22
|
createPropertyPredicateBuilder,
|
|
@@ -29,18 +26,21 @@ import {
|
|
|
29
26
|
notPredicate,
|
|
30
27
|
isScheduleDefinition2
|
|
31
28
|
} from "./chunk-e1c18xjx.js";
|
|
32
|
-
import {
|
|
33
|
-
compileShareAccessPlan
|
|
34
|
-
} from "./chunk-3ghw2t5q.js";
|
|
35
29
|
import {
|
|
36
30
|
isSyncDefinition2
|
|
37
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-jhyc777j.js";
|
|
38
32
|
import {
|
|
39
33
|
isWorkflowDefinition2
|
|
40
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-cvrbhvtr.js";
|
|
35
|
+
import {
|
|
36
|
+
compileShareAccessPlan
|
|
37
|
+
} from "./chunk-gmt22nxx.js";
|
|
41
38
|
import {
|
|
42
39
|
isConnectorDefinition
|
|
43
40
|
} from "./chunk-9x8dybsb.js";
|
|
41
|
+
import {
|
|
42
|
+
RuntimeError2
|
|
43
|
+
} from "./chunk-m4ehq95f.js";
|
|
44
44
|
|
|
45
45
|
// src/bootstrap/discovery.ts
|
|
46
46
|
import { AsyncLocalStorage } from "async_hooks";
|
|
@@ -446,7 +446,8 @@ async function discoverOntologyTypeManifest2(projectRoot) {
|
|
|
446
446
|
const ontologyDir = join2(resolvedProjectRoot, "ontology");
|
|
447
447
|
const modulePaths = await listModuleFiles2(ontologyDir);
|
|
448
448
|
const entries = new Map;
|
|
449
|
-
const
|
|
449
|
+
const valueTypeEntries = new Map;
|
|
450
|
+
const seen = new Set;
|
|
450
451
|
for (const modulePath of modulePaths) {
|
|
451
452
|
const moduleSpecifier = toGeneratedModuleSpecifier({
|
|
452
453
|
fromDir: join2(resolvedProjectRoot, ".sixb", "types"),
|
|
@@ -463,12 +464,14 @@ async function discoverOntologyTypeManifest2(projectRoot) {
|
|
|
463
464
|
modulePath,
|
|
464
465
|
moduleSpecifier,
|
|
465
466
|
entries,
|
|
466
|
-
|
|
467
|
+
valueTypeEntries,
|
|
468
|
+
seen
|
|
467
469
|
});
|
|
468
470
|
}
|
|
469
471
|
}
|
|
470
472
|
return {
|
|
471
473
|
entries: [...entries.values()].sort((a, b) => a.objectTypeId.localeCompare(b.objectTypeId)),
|
|
474
|
+
valueTypeEntries: [...valueTypeEntries.values()].sort((a, b) => a.valueTypeId.localeCompare(b.valueTypeId)),
|
|
472
475
|
moduleCount: modulePaths.length
|
|
473
476
|
};
|
|
474
477
|
}
|
|
@@ -490,7 +493,7 @@ async function generateOntologyTypeManifest2(options) {
|
|
|
490
493
|
};
|
|
491
494
|
}
|
|
492
495
|
}
|
|
493
|
-
const content = renderOntologyTypeManifest(discovery
|
|
496
|
+
const content = renderOntologyTypeManifest(discovery);
|
|
494
497
|
await mkdir(dirname(outFile), { recursive: true });
|
|
495
498
|
const written = await writeFileIfChanged(outFile, content);
|
|
496
499
|
return {
|
|
@@ -501,64 +504,69 @@ async function generateOntologyTypeManifest2(options) {
|
|
|
501
504
|
};
|
|
502
505
|
}
|
|
503
506
|
function collectManifestEntries(input) {
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
modulePath: input.modulePath,
|
|
508
|
-
exportName: input.exportName,
|
|
509
|
-
typeExpression: `typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}]`,
|
|
510
|
-
entries: input.entries,
|
|
511
|
-
seenObjectTypes: input.seenObjectTypes
|
|
512
|
-
});
|
|
513
|
-
return;
|
|
514
|
-
}
|
|
515
|
-
if (isOntologyDocumentInput2(input.exportedValue)) {
|
|
516
|
-
for (const objectType of input.exportedValue.objectTypes) {
|
|
507
|
+
const exported = `(typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}])`;
|
|
508
|
+
const add = (value, typeExpression) => {
|
|
509
|
+
if (isObjectTypeWithPropertyTokens2(value)) {
|
|
517
510
|
addManifestEntry({
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
511
|
+
kind: "object type",
|
|
512
|
+
definition: value,
|
|
513
|
+
entry: {
|
|
514
|
+
objectTypeId: value.id,
|
|
515
|
+
modulePath: input.modulePath,
|
|
516
|
+
exportName: input.exportName,
|
|
517
|
+
typeExpression: typeExpression(value.id)
|
|
518
|
+
},
|
|
519
|
+
idOf: (entry) => entry.objectTypeId,
|
|
522
520
|
entries: input.entries,
|
|
523
|
-
|
|
521
|
+
seen: input.seen
|
|
522
|
+
});
|
|
523
|
+
} else if (isValueType2(value)) {
|
|
524
|
+
addManifestEntry({
|
|
525
|
+
kind: "value type",
|
|
526
|
+
definition: value,
|
|
527
|
+
entry: {
|
|
528
|
+
valueTypeId: value.id,
|
|
529
|
+
modulePath: input.modulePath,
|
|
530
|
+
exportName: input.exportName,
|
|
531
|
+
typeExpression: typeExpression(value.id)
|
|
532
|
+
},
|
|
533
|
+
idOf: (entry) => entry.valueTypeId,
|
|
534
|
+
entries: input.valueTypeEntries,
|
|
535
|
+
seen: input.seen
|
|
524
536
|
});
|
|
525
537
|
}
|
|
538
|
+
};
|
|
539
|
+
if (isOntologyDocumentInput2(input.exportedValue)) {
|
|
540
|
+
for (const objectType of input.exportedValue.objectTypes) {
|
|
541
|
+
add(objectType, (id) => `Extract<${exported}["objectTypes"][number], { id: ${JSON.stringify(id)} }>`);
|
|
542
|
+
}
|
|
543
|
+
for (const valueType of input.exportedValue.valueTypes ?? []) {
|
|
544
|
+
add(valueType, (id) => `Extract<${exported}["valueTypes"][number], { id: ${JSON.stringify(id)} }>`);
|
|
545
|
+
}
|
|
526
546
|
return;
|
|
527
547
|
}
|
|
528
548
|
if (Array.isArray(input.exportedValue)) {
|
|
529
549
|
for (const item of input.exportedValue) {
|
|
530
|
-
|
|
531
|
-
continue;
|
|
532
|
-
addManifestEntry({
|
|
533
|
-
objectType: item,
|
|
534
|
-
modulePath: input.modulePath,
|
|
535
|
-
exportName: input.exportName,
|
|
536
|
-
typeExpression: `Extract<(typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}])[number], { id: ${JSON.stringify(item.id)} }>`,
|
|
537
|
-
entries: input.entries,
|
|
538
|
-
seenObjectTypes: input.seenObjectTypes
|
|
539
|
-
});
|
|
550
|
+
add(item, (id) => `Extract<${exported}[number], { id: ${JSON.stringify(id)} }>`);
|
|
540
551
|
}
|
|
552
|
+
return;
|
|
541
553
|
}
|
|
554
|
+
add(input.exportedValue, () => `typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}]`);
|
|
542
555
|
}
|
|
543
556
|
function addManifestEntry(input) {
|
|
544
|
-
if (input.
|
|
557
|
+
if (input.seen.has(input.definition)) {
|
|
545
558
|
return;
|
|
546
559
|
}
|
|
547
|
-
input.
|
|
548
|
-
const
|
|
549
|
-
const
|
|
550
|
-
objectTypeId: input.objectType.id,
|
|
551
|
-
modulePath: input.modulePath,
|
|
552
|
-
exportName: input.exportName,
|
|
553
|
-
typeExpression: input.typeExpression
|
|
554
|
-
};
|
|
560
|
+
input.seen.add(input.definition);
|
|
561
|
+
const id = input.idOf(input.entry);
|
|
562
|
+
const existing = input.entries.get(id);
|
|
555
563
|
if (!existing) {
|
|
556
|
-
input.entries.set(
|
|
564
|
+
input.entries.set(id, input.entry);
|
|
557
565
|
return;
|
|
558
566
|
}
|
|
559
|
-
throw new RuntimeError2(`[Sixb] Duplicate ontology
|
|
567
|
+
throw new RuntimeError2(`[Sixb] Duplicate ontology ${input.kind} id "${id}" while generating `.concat(`the type manifest: ${relative2(process.cwd(), existing.modulePath)} and `, `${relative2(process.cwd(), input.entry.modulePath)}.`));
|
|
560
568
|
}
|
|
561
|
-
function renderOntologyTypeManifest(
|
|
569
|
+
function renderOntologyTypeManifest(discovery) {
|
|
562
570
|
const lines = [
|
|
563
571
|
"// This file is auto-generated by Sixb.",
|
|
564
572
|
"// Do not edit this file directly.",
|
|
@@ -566,9 +574,13 @@ function renderOntologyTypeManifest(entries) {
|
|
|
566
574
|
'declare module "@sixb/core/ontology" {',
|
|
567
575
|
" interface SixbObjectTypeMap {"
|
|
568
576
|
];
|
|
569
|
-
for (const entry of entries) {
|
|
577
|
+
for (const entry of discovery.entries) {
|
|
570
578
|
lines.push(` ${JSON.stringify(entry.objectTypeId)}: ${entry.typeExpression}`);
|
|
571
579
|
}
|
|
580
|
+
lines.push(" }", " interface SixbValueTypeMap {");
|
|
581
|
+
for (const entry of discovery.valueTypeEntries) {
|
|
582
|
+
lines.push(` ${JSON.stringify(entry.valueTypeId)}: ${entry.typeExpression}`);
|
|
583
|
+
}
|
|
572
584
|
lines.push(" }", "}", "", "export {}", "");
|
|
573
585
|
return lines.join(`
|
|
574
586
|
`);
|
|
@@ -647,6 +659,12 @@ function isObjectTypeWithPropertyTokens2(value) {
|
|
|
647
659
|
}
|
|
648
660
|
return typeof value.id === "string" && Array.isArray(value.properties) && Array.isArray(value.links) && isRecord3(value.p);
|
|
649
661
|
}
|
|
662
|
+
function isValueType2(value) {
|
|
663
|
+
if (!isRecord3(value)) {
|
|
664
|
+
return false;
|
|
665
|
+
}
|
|
666
|
+
return typeof value.id === "string" && typeof value.name === "string" && "schema" in value && !Array.isArray(value.properties) && !Array.isArray(value.objectTypes);
|
|
667
|
+
}
|
|
650
668
|
function isOntologyDocumentInput2(value) {
|
|
651
669
|
if (!isRecord3(value)) {
|
|
652
670
|
return false;
|
|
@@ -655,4 +673,4 @@ function isOntologyDocumentInput2(value) {
|
|
|
655
673
|
}
|
|
656
674
|
export { RuleValidationError2, isRuleDefinition2, validateRulesAtStartup, defineRule2, validateSharesAtStartup, discoverOntologySources2, withProjectModules2, listProjectModules2, discoverProjectDefinitions2, discoverOntologyTypeManifest2, generateOntologyTypeManifest2 };
|
|
657
675
|
|
|
658
|
-
//# debugId=
|
|
676
|
+
//# debugId=0C3D7CE71EFB366064756E2164756E21
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
"import type { OntologyRegistry } from \"../ontology/registry\"\nimport type { ObjectType } from \"../ontology/types\"\nimport { assertPredicateShape } from \"../predicates\"\nimport { RuleValidationError } from \"./errors\"\nimport type { RuleDefinition, RulePredicate } from \"./types\"\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nfunction assertNonEmptyString(\n value: unknown,\n field: string,\n createError: (message: string) => Error\n): asserts value is string {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw createError(`${field} must not be empty.`)\n }\n}\n\n/**\n * Validate only the portable AST shape.\n *\n * This is used by discovery/type guards and by the builder after `.where(...)`.\n * Ontology-aware checks live in `validateRulesAtStartup`, once the full\n * registry has inherited properties and links resolved.\n */\nexport function assertRulePredicateShape(\n value: unknown,\n createError: (message: string) => Error = (message) => new RuleValidationError(message)\n): asserts value is RulePredicate {\n assertPredicateShape(value, { subject: \"Rule\", createError })\n}\n\n/** Validate the serializable rule envelope without consulting ontology state. */\nexport function assertRuleDefinition(\n value: unknown,\n createError: (message: string) => Error = (message) => new RuleValidationError(message)\n): asserts value is RuleDefinition {\n if (!isRecord(value)) {\n throw createError(\"Rule definition must be an object.\")\n }\n\n if (value.kind !== \"rule\") {\n throw createError(\"Rule definition kind must be 'rule'.\")\n }\n\n assertNonEmptyString(value.id, \"Rule id\", createError)\n\n if (!isRecord(value.subject) || value.subject.kind !== \"object\") {\n throw createError(`Rule '${value.id}' subject must be an object subject.`)\n }\n\n assertNonEmptyString(\n value.subject.objectTypeId,\n `Rule '${value.id}' subject objectTypeId`,\n createError\n )\n assertRulePredicateShape(value.predicate, createError)\n}\n\nexport function isRuleDefinition(value: unknown): value is RuleDefinition {\n try {\n assertRuleDefinition(value, (message) => new Error(message))\n return true\n } catch {\n return false\n }\n}\n\n/**\n * Validate rules after the ontology registry is built.\n *\n * Startup is where we can reject references that cannot be known from the\n * serialized rule alone: duplicate ids, unknown subject types, unknown\n * properties/links, and empty logical groups.\n */\nexport function validateRulesAtStartup(\n rules: readonly RuleDefinition[],\n ontology: OntologyRegistry\n): void {\n const seenRuleIds = new Set<string>()\n\n for (const rule of rules) {\n assertRuleDefinition(rule)\n\n if (seenRuleIds.has(rule.id)) {\n throw new RuleValidationError(`Duplicate rule id: ${rule.id}`)\n }\n seenRuleIds.add(rule.id)\n\n const objectType = ontology.getObjectTypeById(rule.subject.objectTypeId)\n if (!objectType) {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": unknown object type \"${rule.subject.objectTypeId}\".`\n )\n }\n\n validatePredicateAgainstSubject(rule, objectType, rule.predicate)\n }\n}\n\n/** Walk every predicate node and check subject-scoped references. */\nfunction validatePredicateAgainstSubject(\n rule: RuleDefinition,\n objectType: ObjectType,\n predicate: RulePredicate\n): void {\n if (predicate.kind === \"all\" || predicate.kind === \"any\") {\n if (predicate.predicates.length === 0) {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": ${predicate.kind} predicate must contain at least one predicate.`\n )\n }\n\n for (const child of predicate.predicates) {\n validatePredicateAgainstSubject(rule, objectType, child)\n }\n return\n }\n\n if (predicate.kind === \"not\") {\n validatePredicateAgainstSubject(rule, objectType, predicate.predicate)\n return\n }\n\n if (predicate.kind === \"property\") {\n const propertyIds = new Set(objectType.properties.map((property) => property.id))\n if (!propertyIds.has(predicate.propertyId)) {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": unknown property \"${predicate.propertyId}\" on object type \"${objectType.id}\".`\n )\n }\n return\n }\n\n if (predicate.kind === \"field\") {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": field predicates are not supported in rule conditions.`\n )\n }\n\n const linkIds = new Set(objectType.links.map((link) => link.id))\n if (!linkIds.has(predicate.linkId)) {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": unknown link \"${predicate.linkId}\" on object type \"${objectType.id}\".`\n )\n }\n}\n",
|
|
8
8
|
"import {\n allPredicates,\n anyPredicates,\n createLinkPredicateBuilder as createSharedLinkPredicateBuilder,\n createPropertyPredicateBuilder as createSharedPropertyPredicateBuilder,\n notPredicate,\n type RuntimePropertyPredicateBuilder,\n} from \"../predicates\"\nimport { RuleValidationError } from \"./errors\"\nimport type {\n RuleBuilder,\n RuleDefinition,\n RuleLinkPredicateBuilder,\n RuleObjectType,\n RulePredicate,\n RulePropertyPredicate,\n} from \"./types\"\nimport { assertRulePredicateShape } from \"./validation\"\n\n/**\n * Runtime builders stay deliberately concrete.\n *\n * The public overload below provides typed property/link keys to callers, while\n * this internal shape keeps the implementation simple and avoids asking\n * TypeScript to instantiate the full ontology mapped type while checking this\n * file.\n */\ntype RuntimeRulePropertyPredicateBuilder = RuntimePropertyPredicateBuilder<RulePropertyPredicate>\n\ntype RuntimeRuleSubjectBuilder = {\n p: Record<string, RuntimeRulePropertyPredicateBuilder>\n l: Record<string, RuleLinkPredicateBuilder>\n all(...predicates: RulePredicate[]): RulePredicate\n any(...predicates: RulePredicate[]): RulePredicate\n not(predicate: RulePredicate): RulePredicate\n}\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (!value.trim()) {\n throw new RuleValidationError(`Rule ${field} must not be empty.`)\n }\n}\n\n/** Build the `tx.p.<propertyId>` API for one ontology property. */\nfunction createPropertyPredicateBuilder(propertyId: string): RuntimeRulePropertyPredicateBuilder {\n return createSharedPropertyPredicateBuilder(propertyId, {\n subject: \"Rule\",\n createError: (message) => new RuleValidationError(message),\n })\n}\n\n/** Build the `tx.l.<linkId>` API for one ontology link. */\nfunction createLinkPredicateBuilder(linkId: string): RuleLinkPredicateBuilder {\n return createSharedLinkPredicateBuilder(linkId)\n}\n\n/**\n * Build the callback subject from ontology metadata.\n *\n * This object is only used while `.where(...)` executes. The returned\n * RuleDefinition stores the predicate data produced by these methods, not this\n * builder object or the user callback.\n */\nfunction createRuleSubjectBuilder<TObjectType extends RuleObjectType>(\n objectType: TObjectType\n): RuntimeRuleSubjectBuilder {\n const properties = Object.fromEntries(\n objectType.properties.map((property) => [\n property.id,\n createPropertyPredicateBuilder(property.id),\n ])\n )\n\n const links = Object.fromEntries(\n objectType.links.map((link) => [link.id, createLinkPredicateBuilder(link.id)])\n )\n\n return {\n p: properties,\n l: links,\n all(...predicates: RulePredicate[]): RulePredicate {\n return allPredicates(predicates)\n },\n any(...predicates: RulePredicate[]): RulePredicate {\n return anyPredicates(predicates)\n },\n not(predicate: RulePredicate): RulePredicate {\n return notPredicate(predicate)\n },\n }\n}\n\n/**\n * Define an inert business rule.\n *\n * The overload preserves literal ids and typed property/link keys for users.\n * The implementation returns a concrete builder and casts at the boundary so\n * runtime code stays small while callers still get the typed DSL.\n */\nexport function defineRule<const TId extends string>(id: TId): RuleBuilder<TId>\nexport function defineRule(id: string): RuleBuilder<string> {\n assertNonEmpty(id, \"id\")\n\n const builder = {\n on(objectType: RuleObjectType) {\n return {\n where(callback: (subject: RuntimeRuleSubjectBuilder) => RulePredicate): RuleDefinition {\n const predicate = callback(createRuleSubjectBuilder(objectType))\n assertRulePredicateShape(predicate)\n\n return {\n kind: \"rule\",\n id,\n subject: {\n kind: \"object\",\n objectTypeId: objectType.id,\n },\n predicate,\n }\n },\n }\n },\n }\n\n return builder as unknown as RuleBuilder<string>\n}\n",
|
|
9
9
|
"import type { ActionDefinitionCatalog } from \"../actions\"\nimport type { OntologyDefinitionCatalog } from \"../ontology\"\nimport { snapshotShareDefinition } from \"./builders\"\nimport { compileShareAccessPlan } from \"./compiler\"\nimport { ShareDefinitionError } from \"./errors\"\nimport type { ShareDefinition } from \"./types\"\n\n/** Cross-validate discovered Share definitions after ontology and Actions are registered. */\nexport function validateSharesAtStartup(input: {\n readonly shares: readonly ShareDefinition[]\n readonly ontology: OntologyDefinitionCatalog\n readonly actions: ActionDefinitionCatalog\n}): ReadonlyMap<string, ShareDefinition> {\n const byId = new Map<string, ShareDefinition>()\n for (const authoredShare of input.shares) {\n const share = snapshotShareDefinition(authoredShare)\n if (byId.has(share.id)) {\n throw invalid(`Duplicate Share id: ${share.id}`)\n }\n compileShareAccessPlan({\n share,\n target: {\n objectTypeId: share.target.objectTypeId,\n primaryId: \"__sixb_share_definition_validation__\",\n },\n ontology: input.ontology,\n actions: input.actions,\n })\n byId.set(share.id, share)\n }\n return byId\n}\n\nexport function assertShareDefinitionEnvelope(value: unknown): asserts value is ShareDefinition {\n snapshotShareDefinition(value)\n}\n\nfunction invalid(message: string): ShareDefinitionError {\n return new ShareDefinitionError(`[Sixb] ${message}`)\n}\n",
|
|
10
|
-
"import { access, mkdir, readdir, readFile, writeFile } from \"node:fs/promises\"\nimport { dirname, extname, join, relative, resolve, sep } from \"node:path\"\nimport { pathToFileURL } from \"node:url\"\nimport type { OntologyDocumentInput } from \"../ontology/registry\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport { RuntimeError } from \"../runtime/errors\"\n\nconst moduleExtensions = new Set([\".ts\", \".tsx\", \".js\", \".jsx\", \".mjs\", \".cjs\"])\n\nexport interface OntologyTypeManifestEntry {\n readonly objectTypeId: string\n readonly modulePath: string\n readonly exportName: string\n readonly typeExpression: string\n}\n\nexport interface OntologyTypeManifestDiscovery {\n readonly entries: readonly OntologyTypeManifestEntry[]\n readonly moduleCount: number\n}\n\nexport interface GenerateOntologyTypeManifestOptions {\n readonly projectRoot: string\n readonly outFile?: string\n}\n\nexport interface GenerateOntologyTypeManifestResult extends OntologyTypeManifestDiscovery {\n readonly path: string\n readonly written: boolean\n readonly skipped: boolean\n}\n\nexport async function discoverOntologyTypeManifest(\n projectRoot: string\n): Promise<OntologyTypeManifestDiscovery> {\n const resolvedProjectRoot = resolve(projectRoot)\n const ontologyDir = join(resolvedProjectRoot, \"ontology\")\n const modulePaths = await listModuleFiles(ontologyDir)\n const entries = new Map<string, OntologyTypeManifestEntry>()\n const seenObjectTypes = new Set<unknown>()\n\n for (const modulePath of modulePaths) {\n const moduleSpecifier = toGeneratedModuleSpecifier({\n fromDir: join(resolvedProjectRoot, \".sixb\", \"types\"),\n modulePath,\n })\n const moduleNamespace = await loadOntologyModule({\n modulePath,\n projectRoot: resolvedProjectRoot,\n })\n\n for (const [exportName, exportedValue] of Object.entries(moduleNamespace)) {\n collectManifestEntries({\n exportedValue,\n exportName,\n modulePath,\n moduleSpecifier,\n entries,\n seenObjectTypes,\n })\n }\n }\n\n return {\n entries: [...entries.values()].sort((a, b) => a.objectTypeId.localeCompare(b.objectTypeId)),\n moduleCount: modulePaths.length,\n }\n}\n\nexport async function generateOntologyTypeManifest(\n options: GenerateOntologyTypeManifestOptions\n): Promise<GenerateOntologyTypeManifestResult> {\n const projectRoot = resolve(options.projectRoot)\n const outFile = resolve(projectRoot, options.outFile ?? join(\".sixb\", \"types\", \"ontology.d.ts\"))\n const discovery = await discoverOntologyTypeManifest(projectRoot)\n\n if (discovery.moduleCount === 0) {\n // Leave projects without ontology untouched, but clear a previously generated map.\n try {\n await access(outFile)\n } catch (error) {\n if (!isNotFoundError(error)) throw error\n return {\n ...discovery,\n path: outFile,\n written: false,\n skipped: true,\n }\n }\n }\n\n const content = renderOntologyTypeManifest(discovery.entries)\n await mkdir(dirname(outFile), { recursive: true })\n const written = await writeFileIfChanged(outFile, content)\n\n return {\n ...discovery,\n path: outFile,\n written,\n skipped: false,\n }\n}\n\nfunction collectManifestEntries(input: {\n readonly exportedValue: unknown\n readonly exportName: string\n readonly modulePath: string\n readonly moduleSpecifier: string\n readonly entries: Map<string, OntologyTypeManifestEntry>\n readonly seenObjectTypes: Set<unknown>\n}): void {\n if (isObjectTypeWithPropertyTokens(input.exportedValue)) {\n addManifestEntry({\n objectType: input.exportedValue,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: `typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(\n input.exportName\n )}]`,\n entries: input.entries,\n seenObjectTypes: input.seenObjectTypes,\n })\n return\n }\n\n if (isOntologyDocumentInput(input.exportedValue)) {\n for (const objectType of input.exportedValue.objectTypes) {\n addManifestEntry({\n objectType,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: `Extract<(typeof import(${JSON.stringify(\n input.moduleSpecifier\n )})[${JSON.stringify(input.exportName)}])[\"objectTypes\"][number], { id: ${JSON.stringify(\n objectType.id\n )} }>`,\n entries: input.entries,\n seenObjectTypes: input.seenObjectTypes,\n })\n }\n return\n }\n\n if (Array.isArray(input.exportedValue)) {\n for (const item of input.exportedValue) {\n if (!isObjectTypeWithPropertyTokens(item)) continue\n addManifestEntry({\n objectType: item,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: `Extract<(typeof import(${JSON.stringify(\n input.moduleSpecifier\n )})[${JSON.stringify(input.exportName)}])[number], { id: ${JSON.stringify(item.id)} }>`,\n entries: input.entries,\n seenObjectTypes: input.seenObjectTypes,\n })\n }\n }\n}\n\nfunction addManifestEntry(input: {\n readonly objectType: ObjectTypeWithPropertyTokens\n readonly modulePath: string\n readonly exportName: string\n readonly typeExpression: string\n readonly entries: Map<string, OntologyTypeManifestEntry>\n readonly seenObjectTypes: Set<unknown>\n}): void {\n if (input.seenObjectTypes.has(input.objectType)) {\n return\n }\n input.seenObjectTypes.add(input.objectType)\n\n const existing = input.entries.get(input.objectType.id)\n const entry: OntologyTypeManifestEntry = {\n objectTypeId: input.objectType.id,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: input.typeExpression,\n }\n\n if (!existing) {\n input.entries.set(input.objectType.id, entry)\n return\n }\n\n throw new RuntimeError(\n `[Sixb] Duplicate ontology object type id \"${input.objectType.id}\" while generating `.concat(\n `the type manifest: ${relative(process.cwd(), existing.modulePath)} and `,\n `${relative(process.cwd(), input.modulePath)}.`\n )\n )\n}\n\nfunction renderOntologyTypeManifest(entries: readonly OntologyTypeManifestEntry[]): string {\n const lines = [\n \"// This file is auto-generated by Sixb.\",\n \"// Do not edit this file directly.\",\n \"\",\n 'declare module \"@sixb/core/ontology\" {',\n \" interface SixbObjectTypeMap {\",\n ]\n\n for (const entry of entries) {\n lines.push(` ${JSON.stringify(entry.objectTypeId)}: ${entry.typeExpression}`)\n }\n\n lines.push(\" }\", \"}\", \"\", \"export {}\", \"\")\n return lines.join(\"\\n\")\n}\n\nasync function writeFileIfChanged(path: string, content: string): Promise<boolean> {\n try {\n const existing = await readFile(path, \"utf-8\")\n if (existing === content) return false\n } catch (error) {\n if (!isNotFoundError(error)) throw error\n }\n\n await writeFile(path, content, \"utf-8\")\n return true\n}\n\nasync function loadOntologyModule(input: {\n readonly modulePath: string\n readonly projectRoot: string\n}): Promise<Record<string, unknown>> {\n try {\n return (await import(pathToFileURL(input.modulePath).href)) as Record<string, unknown>\n } catch (error) {\n const relPath = relative(input.projectRoot, input.modulePath)\n const reason = error instanceof Error ? error.message : String(error)\n throw new RuntimeError(`Failed to load ontology module '${relPath}': ${reason}`)\n }\n}\n\nasync function listModuleFiles(dir: string): Promise<string[]> {\n let entries: import(\"node:fs\").Dirent[]\n try {\n entries = (await readdir(dir, { withFileTypes: true })) as import(\"node:fs\").Dirent[]\n } catch (error) {\n if (isNotFoundError(error)) {\n return []\n }\n throw error\n }\n\n const files: string[] = []\n const sortedEntries = [...entries].sort((a, b) => a.name.localeCompare(b.name))\n\n for (const entry of sortedEntries) {\n const fullPath = join(dir, entry.name)\n if (entry.isDirectory()) {\n files.push(...(await listModuleFiles(fullPath)))\n continue\n }\n\n if (!entry.isFile() || !hasSupportedModuleExtension(entry.name)) {\n continue\n }\n\n files.push(fullPath)\n }\n\n return files\n}\n\nfunction toGeneratedModuleSpecifier(input: {\n readonly fromDir: string\n readonly modulePath: string\n}): string {\n const withoutExtension = stripSupportedModuleExtension(input.modulePath)\n const relativePath = relative(input.fromDir, withoutExtension).split(sep).join(\"/\")\n return relativePath.startsWith(\".\") ? relativePath : `./${relativePath}`\n}\n\nfunction stripSupportedModuleExtension(path: string): string {\n const extension = extname(path)\n return moduleExtensions.has(extension) ? path.slice(0, -extension.length) : path\n}\n\nfunction hasSupportedModuleExtension(fileName: string): boolean {\n return moduleExtensions.has(extname(fileName).toLowerCase())\n}\n\nfunction isNotFoundError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false\n }\n\n const code = (error as NodeJS.ErrnoException).code\n return code === \"ENOENT\" || code === \"ENOTDIR\"\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nfunction isObjectTypeWithPropertyTokens(value: unknown): value is ObjectTypeWithPropertyTokens {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n Array.isArray(value.properties) &&\n Array.isArray(value.links) &&\n isRecord(value.p)\n )\n}\n\nfunction isOntologyDocumentInput(value: unknown): value is OntologyDocumentInput {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n typeof value.version === \"string\" &&\n Array.isArray(value.objectTypes)\n )\n}\n"
|
|
10
|
+
"import { access, mkdir, readdir, readFile, writeFile } from \"node:fs/promises\"\nimport { dirname, extname, join, relative, resolve, sep } from \"node:path\"\nimport { pathToFileURL } from \"node:url\"\nimport type { OntologyDocumentInput } from \"../ontology/registry\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport type { ValueType } from \"../ontology/types\"\nimport { RuntimeError } from \"../runtime/errors\"\n\nconst moduleExtensions = new Set([\".ts\", \".tsx\", \".js\", \".jsx\", \".mjs\", \".cjs\"])\n\nexport interface OntologyTypeManifestEntry {\n readonly objectTypeId: string\n readonly modulePath: string\n readonly exportName: string\n readonly typeExpression: string\n}\n\n/** A value type the manifest registers, so a string-only `valueTypeRef(\"id\")` is typed. */\nexport interface OntologyValueTypeManifestEntry {\n readonly valueTypeId: string\n readonly modulePath: string\n readonly exportName: string\n readonly typeExpression: string\n}\n\nexport interface OntologyTypeManifestDiscovery {\n readonly entries: readonly OntologyTypeManifestEntry[]\n readonly valueTypeEntries: readonly OntologyValueTypeManifestEntry[]\n readonly moduleCount: number\n}\n\nexport interface GenerateOntologyTypeManifestOptions {\n readonly projectRoot: string\n readonly outFile?: string\n}\n\nexport interface GenerateOntologyTypeManifestResult extends OntologyTypeManifestDiscovery {\n readonly path: string\n readonly written: boolean\n readonly skipped: boolean\n}\n\nexport async function discoverOntologyTypeManifest(\n projectRoot: string\n): Promise<OntologyTypeManifestDiscovery> {\n const resolvedProjectRoot = resolve(projectRoot)\n const ontologyDir = join(resolvedProjectRoot, \"ontology\")\n const modulePaths = await listModuleFiles(ontologyDir)\n const entries = new Map<string, OntologyTypeManifestEntry>()\n const valueTypeEntries = new Map<string, OntologyValueTypeManifestEntry>()\n const seen = new Set<unknown>()\n\n for (const modulePath of modulePaths) {\n const moduleSpecifier = toGeneratedModuleSpecifier({\n fromDir: join(resolvedProjectRoot, \".sixb\", \"types\"),\n modulePath,\n })\n const moduleNamespace = await loadOntologyModule({\n modulePath,\n projectRoot: resolvedProjectRoot,\n })\n\n for (const [exportName, exportedValue] of Object.entries(moduleNamespace)) {\n collectManifestEntries({\n exportedValue,\n exportName,\n modulePath,\n moduleSpecifier,\n entries,\n valueTypeEntries,\n seen,\n })\n }\n }\n\n return {\n entries: [...entries.values()].sort((a, b) => a.objectTypeId.localeCompare(b.objectTypeId)),\n valueTypeEntries: [...valueTypeEntries.values()].sort((a, b) =>\n a.valueTypeId.localeCompare(b.valueTypeId)\n ),\n moduleCount: modulePaths.length,\n }\n}\n\nexport async function generateOntologyTypeManifest(\n options: GenerateOntologyTypeManifestOptions\n): Promise<GenerateOntologyTypeManifestResult> {\n const projectRoot = resolve(options.projectRoot)\n const outFile = resolve(projectRoot, options.outFile ?? join(\".sixb\", \"types\", \"ontology.d.ts\"))\n const discovery = await discoverOntologyTypeManifest(projectRoot)\n\n if (discovery.moduleCount === 0) {\n // Leave projects without ontology untouched, but clear a previously generated map.\n try {\n await access(outFile)\n } catch (error) {\n if (!isNotFoundError(error)) throw error\n return {\n ...discovery,\n path: outFile,\n written: false,\n skipped: true,\n }\n }\n }\n\n const content = renderOntologyTypeManifest(discovery)\n await mkdir(dirname(outFile), { recursive: true })\n const written = await writeFileIfChanged(outFile, content)\n\n return {\n ...discovery,\n path: outFile,\n written,\n skipped: false,\n }\n}\n\n/**\n * Mirrors what runtime discovery registers from an `ontology/` module: exported object types and\n * value types, the ones an exported ontology document carries, and those inside exported arrays.\n */\nfunction collectManifestEntries(input: {\n readonly exportedValue: unknown\n readonly exportName: string\n readonly modulePath: string\n readonly moduleSpecifier: string\n readonly entries: Map<string, OntologyTypeManifestEntry>\n readonly valueTypeEntries: Map<string, OntologyValueTypeManifestEntry>\n readonly seen: Set<unknown>\n}): void {\n const exported = `(typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(\n input.exportName\n )}])`\n const add = (value: unknown, typeExpression: (id: string) => string): void => {\n if (isObjectTypeWithPropertyTokens(value)) {\n addManifestEntry({\n kind: \"object type\",\n definition: value,\n entry: {\n objectTypeId: value.id,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: typeExpression(value.id),\n },\n idOf: (entry) => entry.objectTypeId,\n entries: input.entries,\n seen: input.seen,\n })\n } else if (isValueType(value)) {\n addManifestEntry({\n kind: \"value type\",\n definition: value,\n entry: {\n valueTypeId: value.id,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: typeExpression(value.id),\n },\n idOf: (entry) => entry.valueTypeId,\n entries: input.valueTypeEntries,\n seen: input.seen,\n })\n }\n }\n\n if (isOntologyDocumentInput(input.exportedValue)) {\n for (const objectType of input.exportedValue.objectTypes) {\n add(\n objectType,\n (id) => `Extract<${exported}[\"objectTypes\"][number], { id: ${JSON.stringify(id)} }>`\n )\n }\n for (const valueType of input.exportedValue.valueTypes ?? []) {\n add(\n valueType,\n (id) => `Extract<${exported}[\"valueTypes\"][number], { id: ${JSON.stringify(id)} }>`\n )\n }\n return\n }\n\n if (Array.isArray(input.exportedValue)) {\n for (const item of input.exportedValue) {\n add(item, (id) => `Extract<${exported}[number], { id: ${JSON.stringify(id)} }>`)\n }\n return\n }\n\n add(\n input.exportedValue,\n () =>\n `typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}]`\n )\n}\n\nfunction addManifestEntry<TEntry extends { readonly modulePath: string }>(input: {\n readonly kind: \"object type\" | \"value type\"\n readonly definition: unknown\n readonly entry: TEntry\n readonly idOf: (entry: TEntry) => string\n readonly entries: Map<string, TEntry>\n readonly seen: Set<unknown>\n}): void {\n // The same definition re-exported from several places is one registration.\n if (input.seen.has(input.definition)) {\n return\n }\n input.seen.add(input.definition)\n\n const id = input.idOf(input.entry)\n const existing = input.entries.get(id)\n if (!existing) {\n input.entries.set(id, input.entry)\n return\n }\n\n throw new RuntimeError(\n `[Sixb] Duplicate ontology ${input.kind} id \"${id}\" while generating `.concat(\n `the type manifest: ${relative(process.cwd(), existing.modulePath)} and `,\n `${relative(process.cwd(), input.entry.modulePath)}.`\n )\n )\n}\n\nfunction renderOntologyTypeManifest(discovery: OntologyTypeManifestDiscovery): string {\n const lines = [\n \"// This file is auto-generated by Sixb.\",\n \"// Do not edit this file directly.\",\n \"\",\n 'declare module \"@sixb/core/ontology\" {',\n \" interface SixbObjectTypeMap {\",\n ]\n\n for (const entry of discovery.entries) {\n lines.push(` ${JSON.stringify(entry.objectTypeId)}: ${entry.typeExpression}`)\n }\n\n lines.push(\" }\", \" interface SixbValueTypeMap {\")\n\n for (const entry of discovery.valueTypeEntries) {\n lines.push(` ${JSON.stringify(entry.valueTypeId)}: ${entry.typeExpression}`)\n }\n\n lines.push(\" }\", \"}\", \"\", \"export {}\", \"\")\n return lines.join(\"\\n\")\n}\n\nasync function writeFileIfChanged(path: string, content: string): Promise<boolean> {\n try {\n const existing = await readFile(path, \"utf-8\")\n if (existing === content) return false\n } catch (error) {\n if (!isNotFoundError(error)) throw error\n }\n\n await writeFile(path, content, \"utf-8\")\n return true\n}\n\nasync function loadOntologyModule(input: {\n readonly modulePath: string\n readonly projectRoot: string\n}): Promise<Record<string, unknown>> {\n try {\n return (await import(pathToFileURL(input.modulePath).href)) as Record<string, unknown>\n } catch (error) {\n const relPath = relative(input.projectRoot, input.modulePath)\n const reason = error instanceof Error ? error.message : String(error)\n throw new RuntimeError(`Failed to load ontology module '${relPath}': ${reason}`)\n }\n}\n\nasync function listModuleFiles(dir: string): Promise<string[]> {\n let entries: import(\"node:fs\").Dirent[]\n try {\n entries = (await readdir(dir, { withFileTypes: true })) as import(\"node:fs\").Dirent[]\n } catch (error) {\n if (isNotFoundError(error)) {\n return []\n }\n throw error\n }\n\n const files: string[] = []\n const sortedEntries = [...entries].sort((a, b) => a.name.localeCompare(b.name))\n\n for (const entry of sortedEntries) {\n const fullPath = join(dir, entry.name)\n if (entry.isDirectory()) {\n files.push(...(await listModuleFiles(fullPath)))\n continue\n }\n\n if (!entry.isFile() || !hasSupportedModuleExtension(entry.name)) {\n continue\n }\n\n files.push(fullPath)\n }\n\n return files\n}\n\nfunction toGeneratedModuleSpecifier(input: {\n readonly fromDir: string\n readonly modulePath: string\n}): string {\n const withoutExtension = stripSupportedModuleExtension(input.modulePath)\n const relativePath = relative(input.fromDir, withoutExtension).split(sep).join(\"/\")\n return relativePath.startsWith(\".\") ? relativePath : `./${relativePath}`\n}\n\nfunction stripSupportedModuleExtension(path: string): string {\n const extension = extname(path)\n return moduleExtensions.has(extension) ? path.slice(0, -extension.length) : path\n}\n\nfunction hasSupportedModuleExtension(fileName: string): boolean {\n return moduleExtensions.has(extname(fileName).toLowerCase())\n}\n\nfunction isNotFoundError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false\n }\n\n const code = (error as NodeJS.ErrnoException).code\n return code === \"ENOENT\" || code === \"ENOTDIR\"\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nfunction isObjectTypeWithPropertyTokens(value: unknown): value is ObjectTypeWithPropertyTokens {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n Array.isArray(value.properties) &&\n Array.isArray(value.links) &&\n isRecord(value.p)\n )\n}\n\n/** Same shape test runtime discovery applies to an exported value type. */\nfunction isValueType(value: unknown): value is ValueType {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n typeof value.name === \"string\" &&\n \"schema\" in value &&\n !Array.isArray(value.properties) &&\n !Array.isArray(value.objectTypes)\n )\n}\n\nfunction isOntologyDocumentInput(value: unknown): value is OntologyDocumentInput {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n typeof value.version === \"string\" &&\n Array.isArray(value.objectTypes)\n )\n}\n"
|
|
11
11
|
],
|
|
12
|
-
"mappings": "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",
|
|
13
|
-
"debugId": "
|
|
12
|
+
"mappings": "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",
|
|
13
|
+
"debugId": "0C3D7CE71EFB366064756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} from "./chunk-
|
|
3
|
+
formatObjectQueryExplanation2,
|
|
4
|
+
normalizeObjectQuery2
|
|
5
|
+
} from "./chunk-a0073121.js";
|
|
6
|
+
import {
|
|
7
|
+
RuntimeError2
|
|
8
|
+
} from "./chunk-m4ehq95f.js";
|
|
6
9
|
import {
|
|
7
10
|
OntologyValidationError2
|
|
8
11
|
} from "./chunk-cqr3acm1.js";
|
|
@@ -68,6 +71,16 @@ function resolveWhere(whereFn) {
|
|
|
68
71
|
function createObjectQueryBuilder2(params) {
|
|
69
72
|
return new ObjectQueryBuilderImpl(params);
|
|
70
73
|
}
|
|
74
|
+
function decorateObjectQueryExecutor(builder, decorate) {
|
|
75
|
+
const source = builder;
|
|
76
|
+
if (!(source instanceof ObjectQueryBuilderImpl)) {
|
|
77
|
+
throw new RuntimeError2("[Sixb] Only query builders created by createObjectQueryBuilder can change executor.");
|
|
78
|
+
}
|
|
79
|
+
return new ObjectQueryBuilderImpl({
|
|
80
|
+
...source.params,
|
|
81
|
+
executor: decorate(source.params.executor)
|
|
82
|
+
});
|
|
83
|
+
}
|
|
71
84
|
|
|
72
85
|
class ObjectQueryBuilderImpl {
|
|
73
86
|
params;
|
|
@@ -272,6 +285,6 @@ function requireSingleTargetObjectTypeId(link) {
|
|
|
272
285
|
}
|
|
273
286
|
}
|
|
274
287
|
|
|
275
|
-
export { createObjectQueryBuilder2 };
|
|
288
|
+
export { createObjectQueryBuilder2, decorateObjectQueryExecutor };
|
|
276
289
|
|
|
277
|
-
//# debugId=
|
|
290
|
+
//# debugId=F6C84C869163827C64756E2164756E21
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/objects/sdk/where.ts", "../src/objects/sdk/query-builder.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Where-clause builder for typed ObjectSet queries.\n *\n * Provides `createWhereBuilder` (predicate DSL) and `resolveWhere` (evaluator).\n * The builder emits object query IR predicates. Property predicates are created\n * on demand through a Proxy, so no runtime ontology access is required —\n * property names are constrained at compile time and validated server-side.\n */\nimport type { ObjectTypeWithPropertyTokens } from \"../../ontology/tokens\"\nimport type { ObjectWhereBuilder, ObjectWhereClause } from \"../../runtime/types\"\nimport type { ObjectQueryPredicate } from \"../query\"\n\nfunction createPropertyPredicate(propertyId: string) {\n const comparison = (op: \"eq\" | \"neq\" | \"lt\" | \"lte\" | \"gt\" | \"gte\") => {\n return (value: unknown) => ({\n propertyId,\n op,\n value,\n })\n }\n\n return {\n eq: comparison(\"eq\"),\n neq: comparison(\"neq\"),\n lt: comparison(\"lt\"),\n lte: comparison(\"lte\"),\n gt: comparison(\"gt\"),\n gte: comparison(\"gte\"),\n in: (values: readonly unknown[]) => ({\n propertyId,\n op: \"in\",\n values,\n }),\n exists: (value = true) => ({\n propertyId,\n op: \"exists\",\n value,\n }),\n contains: (value: unknown) => ({\n propertyId,\n op: \"contains\",\n value,\n }),\n }\n}\n\nexport function createWhereBuilder<\n TObjectType extends ObjectTypeWithPropertyTokens,\n>(): ObjectWhereBuilder<TObjectType> {\n const p = new Proxy(\n {},\n {\n get: (_target, propertyId) =>\n typeof propertyId === \"string\" ? createPropertyPredicate(propertyId) : undefined,\n }\n )\n\n return {\n p,\n and: (...items: readonly ObjectQueryPredicate[]) => ({ op: \"and\", items }),\n or: (...items: readonly ObjectQueryPredicate[]) => ({ op: \"or\", items }),\n not: (item: ObjectQueryPredicate) => ({ op: \"not\", item }),\n } as ObjectWhereBuilder<TObjectType>\n}\n\nexport function resolveWhere<TObjectType extends ObjectTypeWithPropertyTokens>(\n whereFn?: (\n builder: ObjectWhereBuilder<TObjectType>\n ) => ObjectWhereClause<TObjectType> | readonly ObjectWhereClause<TObjectType>[]\n): ObjectQueryPredicate | undefined {\n if (!whereFn) return undefined\n const whereBuilder = createWhereBuilder<TObjectType>()\n const whereInput = whereFn(whereBuilder)\n if (!whereInput) return undefined\n const predicates = (\n Array.isArray(whereInput) ? whereInput : [whereInput]\n ) as readonly ObjectQueryPredicate[]\n if (predicates.length === 0) return undefined\n return predicates.length === 1 ? predicates[0] : { op: \"and\", items: predicates }\n}\n",
|
|
6
|
+
"/**\n * Fluent ObjectSet query builder.\n *\n * This is the TypeScript authoring layer for object queries. It builds the\n * provider-neutral object query IR and delegates execution to an\n * `ObjectQueryExecutor` — the server runtime executor or the HTTP client\n * executor — so the same builder serves both sides.\n */\nimport { OntologyValidationError } from \"../../ontology/errors\"\nimport type { LinkToken, ObjectTypeWithPropertyTokens, PropertyToken } from \"../../ontology/tokens\"\nimport { RuntimeError } from \"../../runtime/errors\"\nimport type {\n ListResult,\n ListResultWithoutTotal,\n ObjectExpandBuilder,\n ObjectExpandOptions,\n ObjectQueryBuilder,\n ObjectQueryFacetInput,\n ObjectQueryFacetResult,\n ObjectQueryListOptions,\n ObjectWhereBuilder,\n ObjectWhereClause,\n TwinObject,\n} from \"../../runtime/types\"\nimport { formatObjectQueryExplanation } from \"../query/explain-format\"\nimport type {\n ObjectExpansion,\n ObjectQuery,\n ObjectQueryDirection,\n ObjectQuerySortDirection,\n ObjectQuerySortField,\n} from \"../query/ir\"\nimport { normalizeObjectQuery } from \"../query/normalize\"\nimport type { ObjectQueryExecutor } from \"./query-executor\"\nimport { resolveWhere } from \"./where\"\n\ntype QueryBuilderParams = {\n query: ObjectQuery\n executor: ObjectQueryExecutor\n}\n\nexport function createObjectQueryBuilder<TObjectType extends ObjectTypeWithPropertyTokens>(\n params: QueryBuilderParams\n): ObjectQueryBuilder<TObjectType> {\n return new ObjectQueryBuilderImpl<TObjectType>(\n params\n ) as unknown as ObjectQueryBuilder<TObjectType>\n}\n\n/**\n * Returns the same query running through the executor `decorate` wraps around the builder's own.\n *\n * Refinements copy their builder's executor, so every query derived from the result, and every\n * terminal it runs, goes through the decorated executor too.\n */\nexport function decorateObjectQueryExecutor<TObjectType extends ObjectTypeWithPropertyTokens>(\n builder: ObjectQueryBuilder<TObjectType>,\n decorate: (executor: ObjectQueryExecutor) => ObjectQueryExecutor\n): ObjectQueryBuilder<TObjectType> {\n // Narrowed from `unknown`: narrowing the builder interface to the class relates both structures.\n const source: unknown = builder\n if (!(source instanceof ObjectQueryBuilderImpl)) {\n throw new RuntimeError(\n \"[Sixb] Only query builders created by createObjectQueryBuilder can change executor.\"\n )\n }\n return new ObjectQueryBuilderImpl<TObjectType>({\n ...source.params,\n executor: decorate(source.params.executor),\n }) as unknown as ObjectQueryBuilder<TObjectType>\n}\n\nclass ObjectQueryBuilderImpl<TObjectType extends ObjectTypeWithPropertyTokens> {\n /** Not private because `decorateObjectQueryExecutor` reads it; the class is not exported. */\n constructor(readonly params: QueryBuilderParams) {}\n\n get ir(): ObjectQuery {\n return normalizeObjectQuery(this.params.query)\n }\n\n where(\n whereFn: (\n builder: ObjectWhereBuilder<TObjectType>\n ) => ObjectWhereClause<TObjectType> | readonly ObjectWhereClause<TObjectType>[]\n ): ObjectQueryBuilder<TObjectType> {\n const predicate = resolveWhere<TObjectType>(whereFn)\n if (!predicate) return this as unknown as ObjectQueryBuilder<TObjectType>\n\n return this.withQuery({\n kind: \"filter\",\n input: this.ir,\n predicate,\n })\n }\n\n search(\n query: string,\n options?: { fields?: readonly PropertyToken<TObjectType[\"id\"], string>[] }\n ): ObjectQueryBuilder<TObjectType> {\n return this.withQuery({\n kind: \"text\",\n input: this.ir,\n query,\n fields: options?.fields?.map(propertyTokenToId),\n })\n }\n\n vector(profile: string, vector: string, options: { k: number }): ObjectQueryBuilder<TObjectType> {\n if (typeof profile !== \"string\" || typeof vector !== \"string\") {\n throw new Error(\"[Sixb] Vector search requires a named profile and search text\")\n }\n return this.withQuery({\n kind: \"vector\",\n input: this.ir,\n profile,\n vector,\n k: options.k,\n })\n }\n\n traverse(\n link: LinkToken<TObjectType[\"id\"], string, string>,\n options?: { direction?: \"outgoing\" }\n ): ObjectQueryBuilder<ObjectTypeWithPropertyTokens>\n traverse(\n link: LinkToken<string, string, TObjectType[\"id\"] | readonly TObjectType[\"id\"][]>,\n options: { direction: \"incoming\" }\n ): ObjectQueryBuilder<ObjectTypeWithPropertyTokens>\n traverse(\n link: LinkToken,\n options: { direction?: ObjectQueryDirection } = {}\n ): ObjectQueryBuilder<ObjectTypeWithPropertyTokens> {\n const direction = options.direction ?? \"outgoing\"\n if (direction === \"outgoing\") {\n requireSingleTargetObjectTypeId(link)\n }\n\n return new ObjectQueryBuilderImpl<ObjectTypeWithPropertyTokens>({\n ...this.params,\n query: {\n kind: \"traverse\",\n input: this.ir,\n linkId: link.id,\n direction,\n // Several object types can declare a link with the same id. The token\n // names exactly one source type, so incoming traversal pins it —\n // matching the result type the fluent API advertises.\n ...(direction === \"incoming\" ? { sourceObjectTypeId: link.objectTypeId } : {}),\n },\n }) as unknown as ObjectQueryBuilder<ObjectTypeWithPropertyTokens>\n }\n\n expand(\n link: LinkToken<string, string, string | readonly string[]>,\n optionsOrBuild?: ObjectExpandOptions<ObjectTypeWithPropertyTokens> | NestedExpandBuild,\n build?: NestedExpandBuild\n ): ObjectQueryBuilder<TObjectType> {\n return this.withQuery({\n kind: \"expand\",\n input: this.ir,\n expansions: [buildExpansion(link, optionsOrBuild, build)],\n })\n }\n\n orderBy(\n property: PropertyToken<TObjectType[\"id\"], string>,\n direction?: ObjectQuerySortDirection\n ): ObjectQueryBuilder<TObjectType> {\n return this.withQuery(\n appendSortField(this.ir, {\n kind: \"property\",\n propertyId: property.id,\n direction,\n })\n )\n }\n\n orderByRelevance(direction?: ObjectQuerySortDirection): ObjectQueryBuilder<TObjectType> {\n return this.withQuery(\n appendSortField(this.ir, {\n kind: \"relevance\",\n direction,\n })\n )\n }\n\n limit(limit: number): ObjectQueryBuilder<TObjectType> {\n return this.withQuery({\n kind: \"limit\",\n input: this.ir,\n limit,\n })\n }\n\n page(input: { pageSize: number; pageToken?: string }): ObjectQueryBuilder<TObjectType> {\n return this.withQuery({\n kind: \"page\",\n input: this.ir,\n pageSize: input.pageSize,\n pageToken: input.pageToken,\n })\n }\n\n validate() {\n if (!this.params.executor.validate) {\n throw new OntologyValidationError(\n \"[Sixb] validate() requires ontology access and is not supported by this query executor. Execute the query to get server-side validation.\"\n )\n }\n return this.params.executor.validate(this.ir)\n }\n\n explain() {\n if (!this.params.executor.explain) {\n throw new OntologyValidationError(\n \"[Sixb] explain() requires ontology access and is not supported by this query executor.\"\n )\n }\n return this.params.executor.explain(this.ir)\n }\n\n formatExplanation(): string {\n return formatObjectQueryExplanation(this.explain())\n }\n\n async list(): Promise<ListResult<TwinObject<TObjectType>>>\n async list(options: {\n includeTotal: false\n signal?: AbortSignal\n }): Promise<ListResultWithoutTotal<TwinObject<TObjectType>>>\n async list(options: {\n includeTotal?: true\n signal?: AbortSignal\n }): Promise<ListResult<TwinObject<TObjectType>>>\n async list(\n options?: ObjectQueryListOptions\n ): Promise<\n ListResult<TwinObject<TObjectType>> | ListResultWithoutTotal<TwinObject<TObjectType>>\n > {\n const result = await this.params.executor.list(this.ir, {\n includeTotal: options?.includeTotal,\n signal: options?.signal,\n })\n const objects = result.objects.map((row) => row as unknown as TwinObject<TObjectType>)\n\n if (options?.includeTotal === false) {\n return {\n objects,\n hasMore: result.hasMore,\n nextPageToken: result.nextPageToken,\n }\n }\n\n return {\n objects,\n hasMore: result.hasMore,\n nextPageToken: result.nextPageToken,\n total: result.total ?? result.objects.length,\n }\n }\n\n async count(): Promise<number> {\n return this.params.executor.count(this.ir)\n }\n\n async exists(): Promise<boolean> {\n return this.params.executor.exists(this.ir)\n }\n\n async facets(\n input: readonly ObjectQueryFacetInput<TObjectType>[]\n ): Promise<ObjectQueryFacetResult[]> {\n return this.params.executor.facets(\n this.ir,\n input.map((facet) => ({\n propertyId: facet.property.id,\n limit: facet.limit,\n }))\n )\n }\n\n async first(): Promise<TwinObject<TObjectType> | null> {\n const result = await this.params.executor.list({ kind: \"limit\", input: this.ir, limit: 1 })\n const row = result.objects[0]\n return row ? (row as unknown as TwinObject<TObjectType>) : null\n }\n\n private withQuery(query: ObjectQuery): ObjectQueryBuilder<TObjectType> {\n return new ObjectQueryBuilderImpl<TObjectType>({\n ...this.params,\n query,\n }) as unknown as ObjectQueryBuilder<TObjectType>\n }\n}\n\ntype AnyExpandBuilder = ObjectExpandBuilder<ObjectTypeWithPropertyTokens>\ntype NestedExpandBuild = (nested: AnyExpandBuilder) => AnyExpandBuilder\n\n/**\n * Runtime backing for the nested `.expand(..., (e) => …)` callback. Immutable,\n * mirroring the query builder: each `expand` returns a new instance so the\n * accumulated expansions are never shared between branches.\n */\nclass ObjectExpandBuilderImpl {\n constructor(readonly expansions: readonly ObjectExpansion[] = []) {}\n\n expand(\n link: LinkToken<string, string, string | readonly string[]>,\n optionsOrBuild?: ObjectExpandOptions<ObjectTypeWithPropertyTokens> | NestedExpandBuild,\n build?: NestedExpandBuild\n ): ObjectExpandBuilderImpl {\n return new ObjectExpandBuilderImpl([\n ...this.expansions,\n buildExpansion(link, optionsOrBuild, build),\n ])\n }\n}\n\nfunction buildExpansion(\n link: LinkToken<string, string, string | readonly string[]>,\n optionsOrBuild: ObjectExpandOptions<ObjectTypeWithPropertyTokens> | NestedExpandBuild | undefined,\n build: NestedExpandBuild | undefined\n): ObjectExpansion {\n // `.expand(link, build)` and `.expand(link, options, build)` are both valid:\n // a function in the second slot is the nested builder, otherwise it is options.\n const options = typeof optionsOrBuild === \"function\" ? undefined : optionsOrBuild\n const nestedBuild = typeof optionsOrBuild === \"function\" ? optionsOrBuild : build\n\n let nested: readonly ObjectExpansion[] = []\n if (nestedBuild) {\n const result = nestedBuild(new ObjectExpandBuilderImpl() as unknown as AnyExpandBuilder)\n nested = (result as unknown as ObjectExpandBuilderImpl).expansions\n }\n\n return {\n linkId: link.id,\n direction: \"outgoing\",\n ...(options?.limit !== undefined ? { limit: options.limit } : {}),\n ...(options?.orderBy ? { orderBy: options.orderBy.map(expansionSortToField) } : {}),\n ...(nested.length > 0 ? { expand: nested } : {}),\n }\n}\n\nfunction expansionSortToField(sort: {\n property: PropertyToken\n direction?: ObjectQuerySortDirection\n}): ObjectQuerySortField {\n return { kind: \"property\", propertyId: sort.property.id, direction: sort.direction }\n}\n\nfunction appendSortField(\n query: ObjectQuery,\n field: Extract<ObjectQuery, { kind: \"sort\" }>[\"fields\"][number]\n): ObjectQuery {\n if (query.kind === \"sort\") {\n return {\n ...query,\n fields: [...query.fields, field],\n }\n }\n\n return {\n kind: \"sort\",\n input: query,\n fields: [field],\n }\n}\n\nfunction propertyTokenToId(token: PropertyToken): string {\n return token.id\n}\n\nfunction requireSingleTargetObjectTypeId(link: LinkToken): void {\n const target = link.targetObjectTypeId\n if (target === \"*\" || typeof target !== \"string\") {\n throw new OntologyValidationError(\n \"[Sixb] Object query traverse requires a single concrete outgoing target type\"\n )\n }\n}\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "F6C84C869163827C64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
MODEL_REASONING_EFFORTS2
|
|
4
4
|
} from "./chunk-pqajwytd.js";
|
|
5
|
+
import {
|
|
6
|
+
RuntimeError2
|
|
7
|
+
} from "./chunk-m4ehq95f.js";
|
|
5
8
|
import {
|
|
6
9
|
ModelProviderError2,
|
|
7
10
|
UnsupportedModelFeatureError2,
|
|
@@ -11,11 +14,6 @@ import {
|
|
|
11
14
|
assertJsonValue2,
|
|
12
15
|
cloneJsonValue2
|
|
13
16
|
} from "./chunk-wy0qdqfm.js";
|
|
14
|
-
// src/runtime/errors.ts
|
|
15
|
-
class RuntimeError2 extends Error {
|
|
16
|
-
name = "RuntimeError";
|
|
17
|
-
}
|
|
18
|
-
|
|
19
17
|
// src/models/catalog-index.ts
|
|
20
18
|
function indexModelBindings(models, kind, validate) {
|
|
21
19
|
const byRef = new Map;
|
|
@@ -811,6 +809,6 @@ function assertRecord2(value, field) {
|
|
|
811
809
|
throw new TypeError(`[Sixb] Model ${field} must be an object.`);
|
|
812
810
|
}
|
|
813
811
|
}
|
|
814
|
-
export {
|
|
812
|
+
export { assertDecisionContent, assertDecisionQuestions, assertDecisionModel, assertDecisionSupport, validateDecisionAnswers, defineLanguageModel2, createModelCatalog2, DecisionModelResponseError2, decisionOutput2, question2, estimateModelCall, estimateModelReservation2, rateModelCall2, defineModelRateCard2 };
|
|
815
813
|
|
|
816
|
-
//# debugId=
|
|
814
|
+
//# debugId=E1F1340E09DE933964756E2164756E21
|