@sixb/core 0.0.1
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/LICENSE +21 -0
- package/README.md +470 -0
- package/dist/actions/builders/define-action.d.ts +7 -0
- package/dist/actions/builders/define-action.d.ts.map +1 -0
- package/dist/actions/builders/params.d.ts +23 -0
- package/dist/actions/builders/params.d.ts.map +1 -0
- package/dist/actions/builders.d.ts +3 -0
- package/dist/actions/builders.d.ts.map +1 -0
- package/dist/actions/commit-edits.d.ts +54 -0
- package/dist/actions/commit-edits.d.ts.map +1 -0
- package/dist/actions/errors.d.ts +9 -0
- package/dist/actions/errors.d.ts.map +1 -0
- package/dist/actions/index.d.ts +14 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +73 -0
- package/dist/actions/index.js.map +9 -0
- package/dist/actions/read-facade.d.ts +56 -0
- package/dist/actions/read-facade.d.ts.map +1 -0
- package/dist/actions/registry.d.ts +17 -0
- package/dist/actions/registry.d.ts.map +1 -0
- package/dist/actions/request.d.ts +37 -0
- package/dist/actions/request.d.ts.map +1 -0
- package/dist/actions/run-id.d.ts +3 -0
- package/dist/actions/run-id.d.ts.map +1 -0
- package/dist/actions/runtime.d.ts +11 -0
- package/dist/actions/runtime.d.ts.map +1 -0
- package/dist/actions/types/context.d.ts +147 -0
- package/dist/actions/types/context.d.ts.map +1 -0
- package/dist/actions/types/definitions.d.ts +67 -0
- package/dist/actions/types/definitions.d.ts.map +1 -0
- package/dist/actions/types/handlers.d.ts +19 -0
- package/dist/actions/types/handlers.d.ts.map +1 -0
- package/dist/actions/types/params.d.ts +45 -0
- package/dist/actions/types/params.d.ts.map +1 -0
- package/dist/actions/types.d.ts +5 -0
- package/dist/actions/types.d.ts.map +1 -0
- package/dist/actions/validation.d.ts +33 -0
- package/dist/actions/validation.d.ts.map +1 -0
- package/dist/actions/validators.d.ts +8 -0
- package/dist/actions/validators.d.ts.map +1 -0
- package/dist/actions/worker.d.ts +3 -0
- package/dist/actions/worker.d.ts.map +1 -0
- package/dist/actions/worker.js +324 -0
- package/dist/actions/worker.js.map +11 -0
- package/dist/agents/adapters.d.ts +185 -0
- package/dist/agents/adapters.d.ts.map +1 -0
- package/dist/agents/api-gateway.d.ts +21 -0
- package/dist/agents/api-gateway.d.ts.map +1 -0
- package/dist/agents/builders.d.ts +10 -0
- package/dist/agents/builders.d.ts.map +1 -0
- package/dist/agents/context-model.d.ts +4 -0
- package/dist/agents/context-model.d.ts.map +1 -0
- package/dist/agents/context-resolution.d.ts +5 -0
- package/dist/agents/context-resolution.d.ts.map +1 -0
- package/dist/agents/context.d.ts +57 -0
- package/dist/agents/context.d.ts.map +1 -0
- package/dist/agents/context.js +23 -0
- package/dist/agents/context.js.map +9 -0
- package/dist/agents/dispatch.d.ts +36 -0
- package/dist/agents/dispatch.d.ts.map +1 -0
- package/dist/agents/errors.d.ts +27 -0
- package/dist/agents/errors.d.ts.map +1 -0
- package/dist/agents/ids.d.ts +11 -0
- package/dist/agents/ids.d.ts.map +1 -0
- package/dist/agents/index.d.ts +24 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +121 -0
- package/dist/agents/index.js.map +9 -0
- package/dist/agents/message.d.ts +78 -0
- package/dist/agents/message.d.ts.map +1 -0
- package/dist/agents/prompt.d.ts +15 -0
- package/dist/agents/prompt.d.ts.map +1 -0
- package/dist/agents/request.d.ts +42 -0
- package/dist/agents/request.d.ts.map +1 -0
- package/dist/agents/runtime.d.ts +41 -0
- package/dist/agents/runtime.d.ts.map +1 -0
- package/dist/agents/streams.d.ts +72 -0
- package/dist/agents/streams.d.ts.map +1 -0
- package/dist/agents/streams.js +32 -0
- package/dist/agents/streams.js.map +9 -0
- package/dist/agents/types.d.ts +52 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/validation.d.ts +10 -0
- package/dist/agents/validation.d.ts.map +1 -0
- package/dist/auth/access-tokens.d.ts +19 -0
- package/dist/auth/access-tokens.d.ts.map +1 -0
- package/dist/auth/audience.d.ts +8 -0
- package/dist/auth/audience.d.ts.map +1 -0
- package/dist/auth/cookies.d.ts +50 -0
- package/dist/auth/cookies.d.ts.map +1 -0
- package/dist/auth/csrf.d.ts +8 -0
- package/dist/auth/csrf.d.ts.map +1 -0
- package/dist/auth/errors.d.ts +7 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/index.d.ts +15 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +101 -0
- package/dist/auth/index.js.map +9 -0
- package/dist/auth/runtime.d.ts +129 -0
- package/dist/auth/runtime.d.ts.map +1 -0
- package/dist/auth/session-cache.d.ts +44 -0
- package/dist/auth/session-cache.d.ts.map +1 -0
- package/dist/auth/sessions.d.ts +16 -0
- package/dist/auth/sessions.d.ts.map +1 -0
- package/dist/auth/strategy.d.ts +11 -0
- package/dist/auth/strategy.d.ts.map +1 -0
- package/dist/auth/strategy.js +14 -0
- package/dist/auth/strategy.js.map +9 -0
- package/dist/auth/types.d.ts +460 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/validation.d.ts +26 -0
- package/dist/auth/validation.d.ts.map +1 -0
- package/dist/authorization/application-access.d.ts +18 -0
- package/dist/authorization/application-access.d.ts.map +1 -0
- package/dist/authorization/decision.d.ts +104 -0
- package/dist/authorization/decision.d.ts.map +1 -0
- package/dist/authorization/errors.d.ts +10 -0
- package/dist/authorization/errors.d.ts.map +1 -0
- package/dist/authorization/event-visibility.d.ts +16 -0
- package/dist/authorization/event-visibility.d.ts.map +1 -0
- package/dist/authorization/grant-kinds.d.ts +48 -0
- package/dist/authorization/grant-kinds.d.ts.map +1 -0
- package/dist/authorization/index.d.ts +11 -0
- package/dist/authorization/index.d.ts.map +1 -0
- package/dist/authorization/index.js +48 -0
- package/dist/authorization/index.js.map +9 -0
- package/dist/authorization/resolve.d.ts +28 -0
- package/dist/authorization/resolve.d.ts.map +1 -0
- package/dist/authorization/run-visibility.d.ts +15 -0
- package/dist/authorization/run-visibility.d.ts.map +1 -0
- package/dist/authorization/types.d.ts +46 -0
- package/dist/authorization/types.d.ts.map +1 -0
- package/dist/blob-storage/browser.d.ts +14 -0
- package/dist/blob-storage/browser.d.ts.map +1 -0
- package/dist/blob-storage/browser.js +22 -0
- package/dist/blob-storage/browser.js.map +9 -0
- package/dist/blob-storage/constants.d.ts +10 -0
- package/dist/blob-storage/constants.d.ts.map +1 -0
- package/dist/blob-storage/derive.d.ts +4 -0
- package/dist/blob-storage/derive.d.ts.map +1 -0
- package/dist/blob-storage/errors.d.ts +7 -0
- package/dist/blob-storage/errors.d.ts.map +1 -0
- package/dist/blob-storage/in-memory.d.ts +10 -0
- package/dist/blob-storage/in-memory.d.ts.map +1 -0
- package/dist/blob-storage/index.d.ts +8 -0
- package/dist/blob-storage/index.d.ts.map +1 -0
- package/dist/blob-storage/index.js +44 -0
- package/dist/blob-storage/index.js.map +9 -0
- package/dist/blob-storage/types.d.ts +126 -0
- package/dist/blob-storage/types.d.ts.map +1 -0
- package/dist/blob-storage/utils.d.ts +9 -0
- package/dist/blob-storage/utils.d.ts.map +1 -0
- package/dist/blob-storage/validation.d.ts +6 -0
- package/dist/blob-storage/validation.d.ts.map +1 -0
- package/dist/bootstrap/discovery.d.ts +34 -0
- package/dist/bootstrap/discovery.d.ts.map +1 -0
- package/dist/bootstrap/index.d.ts +4 -0
- package/dist/bootstrap/index.d.ts.map +1 -0
- package/dist/bootstrap/index.js +80 -0
- package/dist/bootstrap/index.js.map +9 -0
- package/dist/bootstrap/ontology-type-manifest.d.ts +22 -0
- package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -0
- package/dist/broker/errors.d.ts +12 -0
- package/dist/broker/errors.d.ts.map +1 -0
- package/dist/broker/in-memory.d.ts +53 -0
- package/dist/broker/in-memory.d.ts.map +1 -0
- package/dist/broker/index.d.ts +5 -0
- package/dist/broker/index.d.ts.map +1 -0
- package/dist/broker/index.js +15 -0
- package/dist/broker/index.js.map +9 -0
- package/dist/broker/types.d.ts +119 -0
- package/dist/broker/types.d.ts.map +1 -0
- package/dist/chunk-04b07a9q.js +89 -0
- package/dist/chunk-04b07a9q.js.map +10 -0
- package/dist/chunk-0fygrz37.js +354 -0
- package/dist/chunk-0fygrz37.js.map +17 -0
- package/dist/chunk-0psb6kdw.js +989 -0
- package/dist/chunk-0psb6kdw.js.map +15 -0
- package/dist/chunk-1evzqhks.js +76 -0
- package/dist/chunk-1evzqhks.js.map +10 -0
- package/dist/chunk-1vffvydj.js +109 -0
- package/dist/chunk-1vffvydj.js.map +10 -0
- package/dist/chunk-2ab72m2h.js +59 -0
- package/dist/chunk-2ab72m2h.js.map +10 -0
- package/dist/chunk-2gpr6jsz.js +1968 -0
- package/dist/chunk-2gpr6jsz.js.map +13 -0
- package/dist/chunk-2s6sydsh.js +368 -0
- package/dist/chunk-2s6sydsh.js.map +12 -0
- package/dist/chunk-45tw90k7.js +72 -0
- package/dist/chunk-45tw90k7.js.map +11 -0
- package/dist/chunk-4pycxcj3.js +35 -0
- package/dist/chunk-4pycxcj3.js.map +11 -0
- package/dist/chunk-50kv63vj.js +523 -0
- package/dist/chunk-50kv63vj.js.map +12 -0
- package/dist/chunk-51fjndv0.js +17 -0
- package/dist/chunk-51fjndv0.js.map +11 -0
- package/dist/chunk-590dejbp.js +49 -0
- package/dist/chunk-590dejbp.js.map +10 -0
- package/dist/chunk-5yny9z0e.js +60 -0
- package/dist/chunk-5yny9z0e.js.map +10 -0
- package/dist/chunk-6wetht33.js +89 -0
- package/dist/chunk-6wetht33.js.map +10 -0
- package/dist/chunk-74drx9gd.js +362 -0
- package/dist/chunk-74drx9gd.js.map +11 -0
- package/dist/chunk-867jxh7c.js +1156 -0
- package/dist/chunk-867jxh7c.js.map +19 -0
- package/dist/chunk-88ppkr54.js +257 -0
- package/dist/chunk-88ppkr54.js.map +12 -0
- package/dist/chunk-8r8cw2xw.js +373 -0
- package/dist/chunk-8r8cw2xw.js.map +11 -0
- package/dist/chunk-8ydjhh27.js +95 -0
- package/dist/chunk-8ydjhh27.js.map +11 -0
- package/dist/chunk-9dzba0f2.js +43 -0
- package/dist/chunk-9dzba0f2.js.map +10 -0
- package/dist/chunk-aebzcsxr.js +5272 -0
- package/dist/chunk-aebzcsxr.js.map +48 -0
- package/dist/chunk-b49dgvsj.js +49 -0
- package/dist/chunk-b49dgvsj.js.map +10 -0
- package/dist/chunk-btpe64e4.js +554 -0
- package/dist/chunk-btpe64e4.js.map +13 -0
- package/dist/chunk-c3zd880g.js +629 -0
- package/dist/chunk-c3zd880g.js.map +14 -0
- package/dist/chunk-dcgrzj1t.js +2954 -0
- package/dist/chunk-dcgrzj1t.js.map +36 -0
- package/dist/chunk-dhmj53mx.js +501 -0
- package/dist/chunk-dhmj53mx.js.map +16 -0
- package/dist/chunk-dktq02ne.js +16 -0
- package/dist/chunk-dktq02ne.js.map +10 -0
- package/dist/chunk-f2b5e2gf.js +141 -0
- package/dist/chunk-f2b5e2gf.js.map +11 -0
- package/dist/chunk-gqdd7508.js +273 -0
- package/dist/chunk-gqdd7508.js.map +11 -0
- package/dist/chunk-hsv43v58.js +1390 -0
- package/dist/chunk-hsv43v58.js.map +21 -0
- package/dist/chunk-jdwx7vzs.js +454 -0
- package/dist/chunk-jdwx7vzs.js.map +14 -0
- package/dist/chunk-k25jm1x5.js +102 -0
- package/dist/chunk-k25jm1x5.js.map +10 -0
- package/dist/chunk-k41ajtz7.js +352 -0
- package/dist/chunk-k41ajtz7.js.map +13 -0
- package/dist/chunk-k6j72mtt.js +9 -0
- package/dist/chunk-k6j72mtt.js.map +10 -0
- package/dist/chunk-mx84y05q.js +426 -0
- package/dist/chunk-mx84y05q.js.map +11 -0
- package/dist/chunk-nvamz5dv.js +819 -0
- package/dist/chunk-nvamz5dv.js.map +21 -0
- package/dist/chunk-p6r5g77m.js +113 -0
- package/dist/chunk-p6r5g77m.js.map +10 -0
- package/dist/chunk-pv1yad91.js +1165 -0
- package/dist/chunk-pv1yad91.js.map +27 -0
- package/dist/chunk-q4qzq0ea.js +832 -0
- package/dist/chunk-q4qzq0ea.js.map +14 -0
- package/dist/chunk-r65yscvk.js +187 -0
- package/dist/chunk-r65yscvk.js.map +11 -0
- package/dist/chunk-ry24jbr1.js +50 -0
- package/dist/chunk-ry24jbr1.js.map +10 -0
- package/dist/chunk-t358gywy.js +991 -0
- package/dist/chunk-t358gywy.js.map +34 -0
- package/dist/chunk-t72dvahb.js +167 -0
- package/dist/chunk-t72dvahb.js.map +12 -0
- package/dist/chunk-tsk2bxs3.js +1254 -0
- package/dist/chunk-tsk2bxs3.js.map +17 -0
- package/dist/chunk-v5c085yp.js +49 -0
- package/dist/chunk-v5c085yp.js.map +10 -0
- package/dist/chunk-vj723r3p.js +146 -0
- package/dist/chunk-vj723r3p.js.map +12 -0
- package/dist/chunk-wj01s5hr.js +363 -0
- package/dist/chunk-wj01s5hr.js.map +11 -0
- package/dist/chunk-wxhdnwh4.js +37 -0
- package/dist/chunk-wxhdnwh4.js.map +10 -0
- package/dist/chunk-xqbtf4wn.js +170 -0
- package/dist/chunk-xqbtf4wn.js.map +10 -0
- package/dist/chunk-xwnf87e1.js +324 -0
- package/dist/chunk-xwnf87e1.js.map +13 -0
- package/dist/chunk-xz5g49bp.js +239 -0
- package/dist/chunk-xz5g49bp.js.map +11 -0
- package/dist/chunk-y64skrwp.js +19 -0
- package/dist/chunk-y64skrwp.js.map +9 -0
- package/dist/chunk-ya6brh8a.js +136 -0
- package/dist/chunk-ya6brh8a.js.map +11 -0
- package/dist/chunk-yt8wphsx.js +12 -0
- package/dist/chunk-yt8wphsx.js.map +10 -0
- package/dist/chunk-yvef9xwc.js +3842 -0
- package/dist/chunk-yvef9xwc.js.map +44 -0
- package/dist/chunk-yxss87qa.js +821 -0
- package/dist/chunk-yxss87qa.js.map +14 -0
- package/dist/connectors/builders.d.ts +10 -0
- package/dist/connectors/builders.d.ts.map +1 -0
- package/dist/connectors/errors.d.ts +14 -0
- package/dist/connectors/errors.d.ts.map +1 -0
- package/dist/connectors/index.d.ts +5 -0
- package/dist/connectors/index.d.ts.map +1 -0
- package/dist/connectors/runtime.d.ts +13 -0
- package/dist/connectors/runtime.d.ts.map +1 -0
- package/dist/connectors/types.d.ts +39 -0
- package/dist/connectors/types.d.ts.map +1 -0
- package/dist/datasets/builders.d.ts +54 -0
- package/dist/datasets/builders.d.ts.map +1 -0
- package/dist/datasets/errors.d.ts +4 -0
- package/dist/datasets/errors.d.ts.map +1 -0
- package/dist/datasets/index.d.ts +5 -0
- package/dist/datasets/index.d.ts.map +1 -0
- package/dist/datasets/types.d.ts +23 -0
- package/dist/datasets/types.d.ts.map +1 -0
- package/dist/datasets/validation.d.ts +8 -0
- package/dist/datasets/validation.d.ts.map +1 -0
- package/dist/edits/errors.d.ts +4 -0
- package/dist/edits/errors.d.ts.map +1 -0
- package/dist/edits/index.d.ts +4 -0
- package/dist/edits/index.d.ts.map +1 -0
- package/dist/edits/index.js +14 -0
- package/dist/edits/index.js.map +9 -0
- package/dist/edits/normalize.d.ts +14 -0
- package/dist/edits/normalize.d.ts.map +1 -0
- package/dist/edits/properties.d.ts +25 -0
- package/dist/edits/properties.d.ts.map +1 -0
- package/dist/edits/recorder.d.ts +4 -0
- package/dist/edits/recorder.d.ts.map +1 -0
- package/dist/edits/types.d.ts +159 -0
- package/dist/edits/types.d.ts.map +1 -0
- package/dist/error-reporting/capability.d.ts +57 -0
- package/dist/error-reporting/capability.d.ts.map +1 -0
- package/dist/error-reporting/internal.d.ts +4 -0
- package/dist/error-reporting/internal.d.ts.map +1 -0
- package/dist/error-reporting/internal.js +24 -0
- package/dist/error-reporting/internal.js.map +9 -0
- package/dist/error-reporting/normalize.d.ts +3 -0
- package/dist/error-reporting/normalize.d.ts.map +1 -0
- package/dist/error-reporting/reporter.d.ts +10 -0
- package/dist/error-reporting/reporter.d.ts.map +1 -0
- package/dist/error-reporting/types.d.ts +112 -0
- package/dist/error-reporting/types.d.ts.map +1 -0
- package/dist/events/definitions.d.ts +76 -0
- package/dist/events/definitions.d.ts.map +1 -0
- package/dist/events/envelope.d.ts +56 -0
- package/dist/events/envelope.d.ts.map +1 -0
- package/dist/events/errors.d.ts +8 -0
- package/dist/events/errors.d.ts.map +1 -0
- package/dist/events/index.d.ts +11 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +68 -0
- package/dist/events/index.js.map +9 -0
- package/dist/events/outbox-dispatcher.d.ts +82 -0
- package/dist/events/outbox-dispatcher.d.ts.map +1 -0
- package/dist/events/property-changes.d.ts +16 -0
- package/dist/events/property-changes.d.ts.map +1 -0
- package/dist/events/runtime.d.ts +87 -0
- package/dist/events/runtime.d.ts.map +1 -0
- package/dist/events/scope.d.ts +25 -0
- package/dist/events/scope.d.ts.map +1 -0
- package/dist/events/scope.js +10 -0
- package/dist/events/scope.js.map +9 -0
- package/dist/events/selectors/builder.d.ts +64 -0
- package/dist/events/selectors/builder.d.ts.map +1 -0
- package/dist/events/selectors/index.d.ts +5 -0
- package/dist/events/selectors/index.d.ts.map +1 -0
- package/dist/events/selectors/index.js +15 -0
- package/dist/events/selectors/index.js.map +9 -0
- package/dist/events/selectors/predicate.d.ts +5 -0
- package/dist/events/selectors/predicate.d.ts.map +1 -0
- package/dist/events/selectors/types.d.ts +141 -0
- package/dist/events/selectors/types.d.ts.map +1 -0
- package/dist/events/toStoredEvent.d.ts +10 -0
- package/dist/events/toStoredEvent.d.ts.map +1 -0
- package/dist/events/types/actions.d.ts +39 -0
- package/dist/events/types/actions.d.ts.map +1 -0
- package/dist/events/types/datasets.d.ts +20 -0
- package/dist/events/types/datasets.d.ts.map +1 -0
- package/dist/events/types/index.d.ts +137 -0
- package/dist/events/types/index.d.ts.map +1 -0
- package/dist/events/types/links.d.ts +37 -0
- package/dist/events/types/links.d.ts.map +1 -0
- package/dist/events/types/objects.d.ts +33 -0
- package/dist/events/types/objects.d.ts.map +1 -0
- package/dist/events/types/pipelines.d.ts +59 -0
- package/dist/events/types/pipelines.d.ts.map +1 -0
- package/dist/events/types/rules.d.ts +28 -0
- package/dist/events/types/rules.d.ts.map +1 -0
- package/dist/events/types/schedules.d.ts +14 -0
- package/dist/events/types/schedules.d.ts.map +1 -0
- package/dist/events/types/syncs.d.ts +25 -0
- package/dist/events/types/syncs.d.ts.map +1 -0
- package/dist/events/types/telemetry.d.ts +17 -0
- package/dist/events/types/telemetry.d.ts.map +1 -0
- package/dist/events/types/workflows.d.ts +150 -0
- package/dist/events/types/workflows.d.ts.map +1 -0
- package/dist/http/api-routes.d.ts +24 -0
- package/dist/http/api-routes.d.ts.map +1 -0
- package/dist/http/index.d.ts +4 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +16 -0
- package/dist/http/index.js.map +9 -0
- package/dist/http/route-pattern.d.ts +14 -0
- package/dist/http/route-pattern.d.ts.map +1 -0
- package/dist/index.d.ts +70 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +430 -0
- package/dist/index.js.map +9 -0
- package/dist/json.d.ts +14 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/lake-storage/definition-updates.d.ts +40 -0
- package/dist/lake-storage/definition-updates.d.ts.map +1 -0
- package/dist/lake-storage/errors.d.ts +7 -0
- package/dist/lake-storage/errors.d.ts.map +1 -0
- package/dist/lake-storage/in-memory.d.ts +25 -0
- package/dist/lake-storage/in-memory.d.ts.map +1 -0
- package/dist/lake-storage/index.d.ts +9 -0
- package/dist/lake-storage/index.d.ts.map +1 -0
- package/dist/lake-storage/index.js +24 -0
- package/dist/lake-storage/index.js.map +9 -0
- package/dist/lake-storage/sql-transforms.d.ts +45 -0
- package/dist/lake-storage/sql-transforms.d.ts.map +1 -0
- package/dist/lake-storage/types.d.ts +114 -0
- package/dist/lake-storage/types.d.ts.map +1 -0
- package/dist/logging/console-logger.d.ts +17 -0
- package/dist/logging/console-logger.d.ts.map +1 -0
- package/dist/logging/index.d.ts +5 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +45 -0
- package/dist/logging/index.js.map +9 -0
- package/dist/logging/record.d.ts +10 -0
- package/dist/logging/record.d.ts.map +1 -0
- package/dist/logging/run-logger.d.ts +61 -0
- package/dist/logging/run-logger.d.ts.map +1 -0
- package/dist/logging/runtime.d.ts +87 -0
- package/dist/logging/runtime.d.ts.map +1 -0
- package/dist/logging/stream.d.ts +24 -0
- package/dist/logging/stream.d.ts.map +1 -0
- package/dist/logging/types.d.ts +82 -0
- package/dist/logging/types.d.ts.map +1 -0
- package/dist/logging/types.js +27 -0
- package/dist/logging/types.js.map +9 -0
- package/dist/maintenance/index.d.ts +3 -0
- package/dist/maintenance/index.d.ts.map +1 -0
- package/dist/maintenance/ontology-maintenance.d.ts +48 -0
- package/dist/maintenance/ontology-maintenance.d.ts.map +1 -0
- package/dist/maintenance/types.d.ts +53 -0
- package/dist/maintenance/types.d.ts.map +1 -0
- package/dist/materialization/dataset-watermark.d.ts +5 -0
- package/dist/materialization/dataset-watermark.d.ts.map +1 -0
- package/dist/materialization/errors.d.ts +37 -0
- package/dist/materialization/errors.d.ts.map +1 -0
- package/dist/materialization/events.d.ts +57 -0
- package/dist/materialization/events.d.ts.map +1 -0
- package/dist/materialization/identity.d.ts +8 -0
- package/dist/materialization/identity.d.ts.map +1 -0
- package/dist/materialization/index.d.ts +13 -0
- package/dist/materialization/index.d.ts.map +1 -0
- package/dist/materialization/index.js +56 -0
- package/dist/materialization/index.js.map +9 -0
- package/dist/materialization/model.d.ts +342 -0
- package/dist/materialization/model.d.ts.map +1 -0
- package/dist/materialization/refs.d.ts +24 -0
- package/dist/materialization/refs.d.ts.map +1 -0
- package/dist/materializer/context.d.ts +34 -0
- package/dist/materializer/context.d.ts.map +1 -0
- package/dist/materializer/edits/apply.d.ts +35 -0
- package/dist/materializer/edits/apply.d.ts.map +1 -0
- package/dist/materializer/edits/commit.d.ts +4 -0
- package/dist/materializer/edits/commit.d.ts.map +1 -0
- package/dist/materializer/edits/execution-units.d.ts +14 -0
- package/dist/materializer/edits/execution-units.d.ts.map +1 -0
- package/dist/materializer/edits/load-state.d.ts +6 -0
- package/dist/materializer/edits/load-state.d.ts.map +1 -0
- package/dist/materializer/edits/operations.d.ts +32 -0
- package/dist/materializer/edits/operations.d.ts.map +1 -0
- package/dist/materializer/edits/plan.d.ts +18 -0
- package/dist/materializer/edits/plan.d.ts.map +1 -0
- package/dist/materializer/edits/read-set.d.ts +8 -0
- package/dist/materializer/edits/read-set.d.ts.map +1 -0
- package/dist/materializer/edits/working-state.d.ts +30 -0
- package/dist/materializer/edits/working-state.d.ts.map +1 -0
- package/dist/materializer/effective/build-events.d.ts +26 -0
- package/dist/materializer/effective/build-events.d.ts.map +1 -0
- package/dist/materializer/effective/diff.d.ts +15 -0
- package/dist/materializer/effective/diff.d.ts.map +1 -0
- package/dist/materializer/effective/load-state.d.ts +7 -0
- package/dist/materializer/effective/load-state.d.ts.map +1 -0
- package/dist/materializer/effective/resolve.d.ts +26 -0
- package/dist/materializer/effective/resolve.d.ts.map +1 -0
- package/dist/materializer/effective/validate.d.ts +11 -0
- package/dist/materializer/effective/validate.d.ts.map +1 -0
- package/dist/materializer/execution/commit-lifecycle.d.ts +8 -0
- package/dist/materializer/execution/commit-lifecycle.d.ts.map +1 -0
- package/dist/materializer/execution/plan-stream.d.ts +8 -0
- package/dist/materializer/execution/plan-stream.d.ts.map +1 -0
- package/dist/materializer/execution/run-correlation.d.ts +19 -0
- package/dist/materializer/execution/run-correlation.d.ts.map +1 -0
- package/dist/materializer/execution/work-executor.d.ts +13 -0
- package/dist/materializer/execution/work-executor.d.ts.map +1 -0
- package/dist/materializer/execution/work-records.d.ts +15 -0
- package/dist/materializer/execution/work-records.d.ts.map +1 -0
- package/dist/materializer/index.d.ts +15 -0
- package/dist/materializer/index.d.ts.map +1 -0
- package/dist/materializer/index.js +134 -0
- package/dist/materializer/index.js.map +9 -0
- package/dist/materializer/materializer.d.ts +27 -0
- package/dist/materializer/materializer.d.ts.map +1 -0
- package/dist/materializer/projections/entry-validator.d.ts +8 -0
- package/dist/materializer/projections/entry-validator.d.ts.map +1 -0
- package/dist/materializer/projections/finish-run.d.ts +4 -0
- package/dist/materializer/projections/finish-run.d.ts.map +1 -0
- package/dist/materializer/projections/replace.d.ts +4 -0
- package/dist/materializer/projections/replace.d.ts.map +1 -0
- package/dist/materializer/projections/replacement-plan.d.ts +14 -0
- package/dist/materializer/projections/replacement-plan.d.ts.map +1 -0
- package/dist/materializer/projections/source-materialization.d.ts +27 -0
- package/dist/materializer/projections/source-materialization.d.ts.map +1 -0
- package/dist/materializer/shared/abort.d.ts +2 -0
- package/dist/materializer/shared/abort.d.ts.map +1 -0
- package/dist/materializer/shared/batching.d.ts +11 -0
- package/dist/materializer/shared/batching.d.ts.map +1 -0
- package/dist/materializer/shared/chunking.d.ts +6 -0
- package/dist/materializer/shared/chunking.d.ts.map +1 -0
- package/dist/materializer/shared/identity.d.ts +38 -0
- package/dist/materializer/shared/identity.d.ts.map +1 -0
- package/dist/materializer/shared/normalize.d.ts +10 -0
- package/dist/materializer/shared/normalize.d.ts.map +1 -0
- package/dist/materializer/shared/projection-run.d.ts +19 -0
- package/dist/materializer/shared/projection-run.d.ts.map +1 -0
- package/dist/materializer/telemetry/append.d.ts +4 -0
- package/dist/materializer/telemetry/append.d.ts.map +1 -0
- package/dist/materializer/telemetry/plan.d.ts +12 -0
- package/dist/materializer/telemetry/plan.d.ts.map +1 -0
- package/dist/objects/action/errors.d.ts +39 -0
- package/dist/objects/action/errors.d.ts.map +1 -0
- package/dist/objects/action/index.d.ts +4 -0
- package/dist/objects/action/index.d.ts.map +1 -0
- package/dist/objects/action/request.d.ts +23 -0
- package/dist/objects/action/request.d.ts.map +1 -0
- package/dist/objects/context/index.d.ts +3 -0
- package/dist/objects/context/index.d.ts.map +1 -0
- package/dist/objects/context/resolve.d.ts +27 -0
- package/dist/objects/context/resolve.d.ts.map +1 -0
- package/dist/objects/context/types.d.ts +28 -0
- package/dist/objects/context/types.d.ts.map +1 -0
- package/dist/objects/contexts.d.ts +45 -0
- package/dist/objects/contexts.d.ts.map +1 -0
- package/dist/objects/errors.d.ts +8 -0
- package/dist/objects/errors.d.ts.map +1 -0
- package/dist/objects/helpers.d.ts +7 -0
- package/dist/objects/helpers.d.ts.map +1 -0
- package/dist/objects/index.d.ts +18 -0
- package/dist/objects/index.d.ts.map +1 -0
- package/dist/objects/index.js +71 -0
- package/dist/objects/index.js.map +9 -0
- package/dist/objects/link/authorization.d.ts +25 -0
- package/dist/objects/link/authorization.d.ts.map +1 -0
- package/dist/objects/link/endpoints.d.ts +28 -0
- package/dist/objects/link/endpoints.d.ts.map +1 -0
- package/dist/objects/link/index.d.ts +4 -0
- package/dist/objects/link/index.d.ts.map +1 -0
- package/dist/objects/link/remove.d.ts +8 -0
- package/dist/objects/link/remove.d.ts.map +1 -0
- package/dist/objects/link/upsert-batch.d.ts +11 -0
- package/dist/objects/link/upsert-batch.d.ts.map +1 -0
- package/dist/objects/link/upsert.d.ts +12 -0
- package/dist/objects/link/upsert.d.ts.map +1 -0
- package/dist/objects/materializer-adapter.d.ts +114 -0
- package/dist/objects/materializer-adapter.d.ts.map +1 -0
- package/dist/objects/object/delete.d.ts +17 -0
- package/dist/objects/object/delete.d.ts.map +1 -0
- package/dist/objects/object/index.d.ts +4 -0
- package/dist/objects/object/index.d.ts.map +1 -0
- package/dist/objects/object/upsert-batch.d.ts +7 -0
- package/dist/objects/object/upsert-batch.d.ts.map +1 -0
- package/dist/objects/object/upsert.d.ts +7 -0
- package/dist/objects/object/upsert.d.ts.map +1 -0
- package/dist/objects/query/errors.d.ts +23 -0
- package/dist/objects/query/errors.d.ts.map +1 -0
- package/dist/objects/query/executor.d.ts +63 -0
- package/dist/objects/query/executor.d.ts.map +1 -0
- package/dist/objects/query/explain-format.d.ts +10 -0
- package/dist/objects/query/explain-format.d.ts.map +1 -0
- package/dist/objects/query/explain.d.ts +26 -0
- package/dist/objects/query/explain.d.ts.map +1 -0
- package/dist/objects/query/index.d.ts +14 -0
- package/dist/objects/query/index.d.ts.map +1 -0
- package/dist/objects/query/index.js +54 -0
- package/dist/objects/query/index.js.map +9 -0
- package/dist/objects/query/ir.d.ts +166 -0
- package/dist/objects/query/ir.d.ts.map +1 -0
- package/dist/objects/query/normalize.d.ts +12 -0
- package/dist/objects/query/normalize.d.ts.map +1 -0
- package/dist/objects/query/planner.d.ts +32 -0
- package/dist/objects/query/planner.d.ts.map +1 -0
- package/dist/objects/query/scalar-values.d.ts +6 -0
- package/dist/objects/query/scalar-values.d.ts.map +1 -0
- package/dist/objects/query/validate.d.ts +23 -0
- package/dist/objects/query/validate.d.ts.map +1 -0
- package/dist/objects/runtime-batch.d.ts +29 -0
- package/dist/objects/runtime-batch.d.ts.map +1 -0
- package/dist/objects/sdk/index.d.ts +3 -0
- package/dist/objects/sdk/index.d.ts.map +1 -0
- package/dist/objects/sdk/object-handle.d.ts +6 -0
- package/dist/objects/sdk/object-handle.d.ts.map +1 -0
- package/dist/objects/sdk/object-set.d.ts +14 -0
- package/dist/objects/sdk/object-set.d.ts.map +1 -0
- package/dist/objects/sdk/query-builder.d.ts +20 -0
- package/dist/objects/sdk/query-builder.d.ts.map +1 -0
- package/dist/objects/sdk/query-executor.d.ts +51 -0
- package/dist/objects/sdk/query-executor.d.ts.map +1 -0
- package/dist/objects/sdk/runtime-query-executor.d.ts +16 -0
- package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -0
- package/dist/objects/sdk/telemetry-channel.d.ts +6 -0
- package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -0
- package/dist/objects/sdk/where.d.ts +15 -0
- package/dist/objects/sdk/where.d.ts.map +1 -0
- package/dist/objects/service/action-service.d.ts +12 -0
- package/dist/objects/service/action-service.d.ts.map +1 -0
- package/dist/objects/service/index.d.ts +7 -0
- package/dist/objects/service/index.d.ts.map +1 -0
- package/dist/objects/service/link-service.d.ts +26 -0
- package/dist/objects/service/link-service.d.ts.map +1 -0
- package/dist/objects/service/list-service.d.ts +24 -0
- package/dist/objects/service/list-service.d.ts.map +1 -0
- package/dist/objects/service/object-service.d.ts +12 -0
- package/dist/objects/service/object-service.d.ts.map +1 -0
- package/dist/objects/service/telemetry-service.d.ts +12 -0
- package/dist/objects/service/telemetry-service.d.ts.map +1 -0
- package/dist/objects/telemetry/append-batch.d.ts +10 -0
- package/dist/objects/telemetry/append-batch.d.ts.map +1 -0
- package/dist/objects/telemetry/history.d.ts +8 -0
- package/dist/objects/telemetry/history.d.ts.map +1 -0
- package/dist/objects/telemetry/index.d.ts +5 -0
- package/dist/objects/telemetry/index.d.ts.map +1 -0
- package/dist/objects/telemetry/write-batch.d.ts +8 -0
- package/dist/objects/telemetry/write-batch.d.ts.map +1 -0
- package/dist/ontology/builders.d.ts +323 -0
- package/dist/ontology/builders.d.ts.map +1 -0
- package/dist/ontology/decimal.d.ts +28 -0
- package/dist/ontology/decimal.d.ts.map +1 -0
- package/dist/ontology/errors.d.ts +20 -0
- package/dist/ontology/errors.d.ts.map +1 -0
- package/dist/ontology/index.d.ts +23 -0
- package/dist/ontology/index.d.ts.map +1 -0
- package/dist/ontology/index.js +120 -0
- package/dist/ontology/index.js.map +9 -0
- package/dist/ontology/inference/index.d.ts +112 -0
- package/dist/ontology/inference/index.d.ts.map +1 -0
- package/dist/ontology/internal.d.ts +4 -0
- package/dist/ontology/internal.d.ts.map +1 -0
- package/dist/ontology/internal.js +118 -0
- package/dist/ontology/internal.js.map +10 -0
- package/dist/ontology/json-schema.d.ts +9 -0
- package/dist/ontology/json-schema.d.ts.map +1 -0
- package/dist/ontology/refs.d.ts +16 -0
- package/dist/ontology/refs.d.ts.map +1 -0
- package/dist/ontology/registry.d.ts +82 -0
- package/dist/ontology/registry.d.ts.map +1 -0
- package/dist/ontology/tokens.d.ts +54 -0
- package/dist/ontology/tokens.d.ts.map +1 -0
- package/dist/ontology/types.d.ts +402 -0
- package/dist/ontology/types.d.ts.map +1 -0
- package/dist/ontology/units/index.d.ts +74 -0
- package/dist/ontology/units/index.d.ts.map +1 -0
- package/dist/ontology/units/quantitative-types.d.ts +1605 -0
- package/dist/ontology/units/quantitative-types.d.ts.map +1 -0
- package/dist/ontology/units/types.d.ts +26 -0
- package/dist/ontology/units/types.d.ts.map +1 -0
- package/dist/ontology/validation/index.d.ts +7 -0
- package/dist/ontology/validation/index.d.ts.map +1 -0
- package/dist/ontology/validation/links.d.ts +18 -0
- package/dist/ontology/validation/links.d.ts.map +1 -0
- package/dist/ontology/validation/normalize.d.ts +21 -0
- package/dist/ontology/validation/normalize.d.ts.map +1 -0
- package/dist/ontology/validation/properties.d.ts +19 -0
- package/dist/ontology/validation/properties.d.ts.map +1 -0
- package/dist/ontology/validation/query.d.ts +3 -0
- package/dist/ontology/validation/query.d.ts.map +1 -0
- package/dist/ontology/validation/schema.d.ts +7 -0
- package/dist/ontology/validation/schema.d.ts.map +1 -0
- package/dist/ontology/validation/telemetry.d.ts +7 -0
- package/dist/ontology/validation/telemetry.d.ts.map +1 -0
- package/dist/pipelines/builders.d.ts +14 -0
- package/dist/pipelines/builders.d.ts.map +1 -0
- package/dist/pipelines/errors.d.ts +4 -0
- package/dist/pipelines/errors.d.ts.map +1 -0
- package/dist/pipelines/index.d.ts +7 -0
- package/dist/pipelines/index.d.ts.map +1 -0
- package/dist/pipelines/request.d.ts +31 -0
- package/dist/pipelines/request.d.ts.map +1 -0
- package/dist/pipelines/types.d.ts +84 -0
- package/dist/pipelines/types.d.ts.map +1 -0
- package/dist/predicates/builders.d.ts +24 -0
- package/dist/predicates/builders.d.ts.map +1 -0
- package/dist/predicates/evaluate.d.ts +8 -0
- package/dist/predicates/evaluate.d.ts.map +1 -0
- package/dist/predicates/index.d.ts +5 -0
- package/dist/predicates/index.d.ts.map +1 -0
- package/dist/predicates/types.d.ts +69 -0
- package/dist/predicates/types.d.ts.map +1 -0
- package/dist/predicates/validation.d.ts +15 -0
- package/dist/predicates/validation.d.ts.map +1 -0
- package/dist/projections/builders.d.ts +212 -0
- package/dist/projections/builders.d.ts.map +1 -0
- package/dist/projections/errors.d.ts +4 -0
- package/dist/projections/errors.d.ts.map +1 -0
- package/dist/projections/index.d.ts +5 -0
- package/dist/projections/index.d.ts.map +1 -0
- package/dist/projections/internal.d.ts +24 -0
- package/dist/projections/internal.d.ts.map +1 -0
- package/dist/projections/internal.js +26 -0
- package/dist/projections/internal.js.map +9 -0
- package/dist/projections/ownership.d.ts +9 -0
- package/dist/projections/ownership.d.ts.map +1 -0
- package/dist/projections/registry.d.ts +30 -0
- package/dist/projections/registry.d.ts.map +1 -0
- package/dist/projections/revision.d.ts +7 -0
- package/dist/projections/revision.d.ts.map +1 -0
- package/dist/projections/types.d.ts +153 -0
- package/dist/projections/types.d.ts.map +1 -0
- package/dist/projections/validation.d.ts +97 -0
- package/dist/projections/validation.d.ts.map +1 -0
- package/dist/provider-scope.d.ts +12 -0
- package/dist/provider-scope.d.ts.map +1 -0
- package/dist/query.d.ts +17 -0
- package/dist/query.d.ts.map +1 -0
- package/dist/query.js +21 -0
- package/dist/query.js.map +9 -0
- package/dist/queues/errors.d.ts +7 -0
- package/dist/queues/errors.d.ts.map +1 -0
- package/dist/queues/in-memory.d.ts +73 -0
- package/dist/queues/in-memory.d.ts.map +1 -0
- package/dist/queues/index.d.ts +5 -0
- package/dist/queues/index.d.ts.map +1 -0
- package/dist/queues/index.js +12 -0
- package/dist/queues/index.js.map +9 -0
- package/dist/queues/types.d.ts +182 -0
- package/dist/queues/types.d.ts.map +1 -0
- package/dist/rules/builders.d.ts +10 -0
- package/dist/rules/builders.d.ts.map +1 -0
- package/dist/rules/dependencies.d.ts +9 -0
- package/dist/rules/dependencies.d.ts.map +1 -0
- package/dist/rules/errors.d.ts +11 -0
- package/dist/rules/errors.d.ts.map +1 -0
- package/dist/rules/index.d.ts +6 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/internal.d.ts +9 -0
- package/dist/rules/internal.d.ts.map +1 -0
- package/dist/rules/internal.js +10 -0
- package/dist/rules/internal.js.map +9 -0
- package/dist/rules/types.d.ts +72 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/validation.d.ts +23 -0
- package/dist/rules/validation.d.ts.map +1 -0
- package/dist/runtime/create.d.ts +68 -0
- package/dist/runtime/create.d.ts.map +1 -0
- package/dist/runtime/errors.d.ts +9 -0
- package/dist/runtime/errors.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +26 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/internal.d.ts +3 -0
- package/dist/runtime/internal.d.ts.map +1 -0
- package/dist/runtime/internal.js +16 -0
- package/dist/runtime/internal.js.map +9 -0
- package/dist/runtime/ontology-mutations.d.ts +16 -0
- package/dist/runtime/ontology-mutations.d.ts.map +1 -0
- package/dist/runtime/scoped.d.ts +158 -0
- package/dist/runtime/scoped.d.ts.map +1 -0
- package/dist/runtime/sixb.d.ts +226 -0
- package/dist/runtime/sixb.d.ts.map +1 -0
- package/dist/runtime/storage-readiness.d.ts +20 -0
- package/dist/runtime/storage-readiness.d.ts.map +1 -0
- package/dist/runtime/types.d.ts +840 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/sandboxes/errors.d.ts +20 -0
- package/dist/sandboxes/errors.d.ts.map +1 -0
- package/dist/sandboxes/exec.d.ts +17 -0
- package/dist/sandboxes/exec.d.ts.map +1 -0
- package/dist/sandboxes/index.d.ts +5 -0
- package/dist/sandboxes/index.d.ts.map +1 -0
- package/dist/sandboxes/index.js +18 -0
- package/dist/sandboxes/index.js.map +9 -0
- package/dist/sandboxes/sandbox.d.ts +110 -0
- package/dist/sandboxes/sandbox.d.ts.map +1 -0
- package/dist/scheduler/errors.d.ts +7 -0
- package/dist/scheduler/errors.d.ts.map +1 -0
- package/dist/scheduler/index.d.ts +4 -0
- package/dist/scheduler/index.d.ts.map +1 -0
- package/dist/scheduler/index.js +18 -0
- package/dist/scheduler/index.js.map +9 -0
- package/dist/scheduler/runtime.d.ts +32 -0
- package/dist/scheduler/runtime.d.ts.map +1 -0
- package/dist/schedules/builders.d.ts +4 -0
- package/dist/schedules/builders.d.ts.map +1 -0
- package/dist/schedules/cron.d.ts +14 -0
- package/dist/schedules/cron.d.ts.map +1 -0
- package/dist/schedules/errors.d.ts +7 -0
- package/dist/schedules/errors.d.ts.map +1 -0
- package/dist/schedules/index.d.ts +12 -0
- package/dist/schedules/index.d.ts.map +1 -0
- package/dist/schedules/index.js +37 -0
- package/dist/schedules/index.js.map +9 -0
- package/dist/schedules/next-occurrence.d.ts +11 -0
- package/dist/schedules/next-occurrence.d.ts.map +1 -0
- package/dist/schedules/runtime.d.ts +17 -0
- package/dist/schedules/runtime.d.ts.map +1 -0
- package/dist/schedules/types.d.ts +99 -0
- package/dist/schedules/types.d.ts.map +1 -0
- package/dist/schedules/validation.d.ts +13 -0
- package/dist/schedules/validation.d.ts.map +1 -0
- package/dist/security/applications.d.ts +15 -0
- package/dist/security/applications.d.ts.map +1 -0
- package/dist/security/builders.d.ts +20 -0
- package/dist/security/builders.d.ts.map +1 -0
- package/dist/security/errors.d.ts +4 -0
- package/dist/security/errors.d.ts.map +1 -0
- package/dist/security/every.d.ts +68 -0
- package/dist/security/every.d.ts.map +1 -0
- package/dist/security/grants.d.ts +40 -0
- package/dist/security/grants.d.ts.map +1 -0
- package/dist/security/index.d.ts +12 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/membership-policies.d.ts +17 -0
- package/dist/security/membership-policies.d.ts.map +1 -0
- package/dist/security/runtime.d.ts +16 -0
- package/dist/security/runtime.d.ts.map +1 -0
- package/dist/security/types.d.ts +133 -0
- package/dist/security/types.d.ts.map +1 -0
- package/dist/security/validation.d.ts +36 -0
- package/dist/security/validation.d.ts.map +1 -0
- package/dist/storage/action-runs/errors.d.ts +10 -0
- package/dist/storage/action-runs/errors.d.ts.map +1 -0
- package/dist/storage/action-runs/idempotency.d.ts +10 -0
- package/dist/storage/action-runs/idempotency.d.ts.map +1 -0
- package/dist/storage/action-runs/in-memory.d.ts +28 -0
- package/dist/storage/action-runs/in-memory.d.ts.map +1 -0
- package/dist/storage/action-runs/index.d.ts +6 -0
- package/dist/storage/action-runs/index.d.ts.map +1 -0
- package/dist/storage/action-runs/types.d.ts +138 -0
- package/dist/storage/action-runs/types.d.ts.map +1 -0
- package/dist/storage/agents/errors.d.ts +11 -0
- package/dist/storage/agents/errors.d.ts.map +1 -0
- package/dist/storage/agents/in-memory.d.ts +70 -0
- package/dist/storage/agents/in-memory.d.ts.map +1 -0
- package/dist/storage/agents/index.d.ts +7 -0
- package/dist/storage/agents/index.d.ts.map +1 -0
- package/dist/storage/agents/types.d.ts +295 -0
- package/dist/storage/agents/types.d.ts.map +1 -0
- package/dist/storage/auth/errors.d.ts +10 -0
- package/dist/storage/auth/errors.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/access-tokens.d.ts +32 -0
- package/dist/storage/auth/in-memory/access-tokens.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/auth-storage.d.ts +36 -0
- package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/group-memberships.d.ts +21 -0
- package/dist/storage/auth/in-memory/group-memberships.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/identities.d.ts +17 -0
- package/dist/storage/auth/in-memory/identities.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/index.d.ts +2 -0
- package/dist/storage/auth/in-memory/index.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/invitations.d.ts +28 -0
- package/dist/storage/auth/in-memory/invitations.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/magic-links.d.ts +28 -0
- package/dist/storage/auth/in-memory/magic-links.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/oidc-attempts.d.ts +18 -0
- package/dist/storage/auth/in-memory/oidc-attempts.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/service-account-group-memberships.d.ts +17 -0
- package/dist/storage/auth/in-memory/service-account-group-memberships.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/service-accounts.d.ts +14 -0
- package/dist/storage/auth/in-memory/service-accounts.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/sessions.d.ts +55 -0
- package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/shared.d.ts +71 -0
- package/dist/storage/auth/in-memory/shared.d.ts.map +1 -0
- package/dist/storage/auth/in-memory/users.d.ts +19 -0
- package/dist/storage/auth/in-memory/users.d.ts.map +1 -0
- package/dist/storage/auth/in-memory.d.ts +2 -0
- package/dist/storage/auth/in-memory.d.ts.map +1 -0
- package/dist/storage/auth/index.d.ts +5 -0
- package/dist/storage/auth/index.d.ts.map +1 -0
- package/dist/storage/auth/types.d.ts +584 -0
- package/dist/storage/auth/types.d.ts.map +1 -0
- package/dist/storage/errors.d.ts +27 -0
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/errors.d.ts +15 -0
- package/dist/storage/file-upload-sessions/errors.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/in-memory.d.ts +27 -0
- package/dist/storage/file-upload-sessions/in-memory.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/index.d.ts +6 -0
- package/dist/storage/file-upload-sessions/index.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/types.d.ts +53 -0
- package/dist/storage/file-upload-sessions/types.d.ts.map +1 -0
- package/dist/storage/file-upload-sessions/utils.d.ts +11 -0
- package/dist/storage/file-upload-sessions/utils.d.ts.map +1 -0
- package/dist/storage/in-memory/index.d.ts +105 -0
- package/dist/storage/in-memory/index.d.ts.map +1 -0
- package/dist/storage/in-memory/testing.d.ts +8 -0
- package/dist/storage/in-memory/testing.d.ts.map +1 -0
- package/dist/storage/index.d.ts +44 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +144 -0
- package/dist/storage/index.js.map +9 -0
- package/dist/storage/migrations/check-schema.d.ts +19 -0
- package/dist/storage/migrations/check-schema.d.ts.map +1 -0
- package/dist/storage/migrations/index.d.ts +5 -0
- package/dist/storage/migrations/index.d.ts.map +1 -0
- package/dist/storage/migrations/migrate-storage.d.ts +6 -0
- package/dist/storage/migrations/migrate-storage.d.ts.map +1 -0
- package/dist/storage/migrations/migration-set.d.ts +27 -0
- package/dist/storage/migrations/migration-set.d.ts.map +1 -0
- package/dist/storage/migrations/types.d.ts +115 -0
- package/dist/storage/migrations/types.d.ts.map +1 -0
- package/dist/storage/objects/in-memory.d.ts +126 -0
- package/dist/storage/objects/in-memory.d.ts.map +1 -0
- package/dist/storage/objects/index.d.ts +2 -0
- package/dist/storage/objects/index.d.ts.map +1 -0
- package/dist/storage/objects/types.d.ts +222 -0
- package/dist/storage/objects/types.d.ts.map +1 -0
- package/dist/storage/ontology/commits.d.ts +117 -0
- package/dist/storage/ontology/commits.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/commits.d.ts +12 -0
- package/dist/storage/ontology/in-memory/commits.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/index.d.ts +36 -0
- package/dist/storage/ontology/in-memory/index.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/materializations-finalization.d.ts +5 -0
- package/dist/storage/ontology/in-memory/materializations-finalization.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/materializations-state.d.ts +20 -0
- package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/materializations-work.d.ts +6 -0
- package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/materializations.d.ts +101 -0
- package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/outbox.d.ts +19 -0
- package/dist/storage/ontology/in-memory/outbox.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/shared-state.d.ts +48 -0
- package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/sources.d.ts +23 -0
- package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -0
- package/dist/storage/ontology/in-memory/testing.d.ts +11 -0
- package/dist/storage/ontology/in-memory/testing.d.ts.map +1 -0
- package/dist/storage/ontology/index.d.ts +16 -0
- package/dist/storage/ontology/index.d.ts.map +1 -0
- package/dist/storage/ontology/materializations.d.ts +333 -0
- package/dist/storage/ontology/materializations.d.ts.map +1 -0
- package/dist/storage/ontology/outbox.d.ts +66 -0
- package/dist/storage/ontology/outbox.d.ts.map +1 -0
- package/dist/storage/ontology/provider-header-validation.d.ts +4 -0
- package/dist/storage/ontology/provider-header-validation.d.ts.map +1 -0
- package/dist/storage/ontology/provider-validation.d.ts +6 -0
- package/dist/storage/ontology/provider-validation.d.ts.map +1 -0
- package/dist/storage/ontology/provider-work.d.ts +12 -0
- package/dist/storage/ontology/provider-work.d.ts.map +1 -0
- package/dist/storage/ontology/provider.d.ts +191 -0
- package/dist/storage/ontology/provider.d.ts.map +1 -0
- package/dist/storage/ontology/provider.js +115 -0
- package/dist/storage/ontology/provider.js.map +9 -0
- package/dist/storage/ontology/sources.d.ts +151 -0
- package/dist/storage/ontology/sources.d.ts.map +1 -0
- package/dist/storage/operation-scope.d.ts +32 -0
- package/dist/storage/operation-scope.d.ts.map +1 -0
- package/dist/storage/operation-scope.js +22 -0
- package/dist/storage/operation-scope.js.map +9 -0
- package/dist/storage/pagination.d.ts +11 -0
- package/dist/storage/pagination.d.ts.map +1 -0
- package/dist/storage/pipeline-runs/errors.d.ts +7 -0
- package/dist/storage/pipeline-runs/errors.d.ts.map +1 -0
- package/dist/storage/pipeline-runs/in-memory.d.ts +26 -0
- package/dist/storage/pipeline-runs/in-memory.d.ts.map +1 -0
- package/dist/storage/pipeline-runs/index.d.ts +4 -0
- package/dist/storage/pipeline-runs/index.d.ts.map +1 -0
- package/dist/storage/pipeline-runs/types.d.ts +133 -0
- package/dist/storage/pipeline-runs/types.d.ts.map +1 -0
- package/dist/storage/projection-runs/errors.d.ts +9 -0
- package/dist/storage/projection-runs/errors.d.ts.map +1 -0
- package/dist/storage/projection-runs/in-memory.d.ts +42 -0
- package/dist/storage/projection-runs/in-memory.d.ts.map +1 -0
- package/dist/storage/projection-runs/index.d.ts +5 -0
- package/dist/storage/projection-runs/index.d.ts.map +1 -0
- package/dist/storage/projection-runs/lifecycle.d.ts +93 -0
- package/dist/storage/projection-runs/lifecycle.d.ts.map +1 -0
- package/dist/storage/projection-runs/lifecycle.js +64 -0
- package/dist/storage/projection-runs/lifecycle.js.map +9 -0
- package/dist/storage/projection-runs/types.d.ts +175 -0
- package/dist/storage/projection-runs/types.d.ts.map +1 -0
- package/dist/storage/rules/in-memory.d.ts +26 -0
- package/dist/storage/rules/in-memory.d.ts.map +1 -0
- package/dist/storage/rules/index.d.ts +3 -0
- package/dist/storage/rules/index.d.ts.map +1 -0
- package/dist/storage/rules/types.d.ts +60 -0
- package/dist/storage/rules/types.d.ts.map +1 -0
- package/dist/storage/run-listing.d.ts +36 -0
- package/dist/storage/run-listing.d.ts.map +1 -0
- package/dist/storage/sync-runs/errors.d.ts +8 -0
- package/dist/storage/sync-runs/errors.d.ts.map +1 -0
- package/dist/storage/sync-runs/in-memory.d.ts +16 -0
- package/dist/storage/sync-runs/in-memory.d.ts.map +1 -0
- package/dist/storage/sync-runs/index.d.ts +4 -0
- package/dist/storage/sync-runs/index.d.ts.map +1 -0
- package/dist/storage/sync-runs/types.d.ts +85 -0
- package/dist/storage/sync-runs/types.d.ts.map +1 -0
- package/dist/storage/timeseries/index.d.ts +2 -0
- package/dist/storage/timeseries/index.d.ts.map +1 -0
- package/dist/storage/timeseries/store.d.ts +46 -0
- package/dist/storage/timeseries/store.d.ts.map +1 -0
- package/dist/storage/timeseries/types.d.ts +50 -0
- package/dist/storage/timeseries/types.d.ts.map +1 -0
- package/dist/storage/transaction.d.ts +4 -0
- package/dist/storage/transaction.d.ts.map +1 -0
- package/dist/storage/types.d.ts +78 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/webhook-deliveries/in-memory.d.ts +18 -0
- package/dist/storage/webhook-deliveries/in-memory.d.ts.map +1 -0
- package/dist/storage/webhook-deliveries/index.d.ts +3 -0
- package/dist/storage/webhook-deliveries/index.d.ts.map +1 -0
- package/dist/storage/webhook-deliveries/types.d.ts +43 -0
- package/dist/storage/webhook-deliveries/types.d.ts.map +1 -0
- package/dist/storage/webhook-runs/errors.d.ts +7 -0
- package/dist/storage/webhook-runs/errors.d.ts.map +1 -0
- package/dist/storage/webhook-runs/in-memory.d.ts +16 -0
- package/dist/storage/webhook-runs/in-memory.d.ts.map +1 -0
- package/dist/storage/webhook-runs/index.d.ts +4 -0
- package/dist/storage/webhook-runs/index.d.ts.map +1 -0
- package/dist/storage/webhook-runs/types.d.ts +66 -0
- package/dist/storage/webhook-runs/types.d.ts.map +1 -0
- package/dist/storage/workflow-interventions/errors.d.ts +7 -0
- package/dist/storage/workflow-interventions/errors.d.ts.map +1 -0
- package/dist/storage/workflow-interventions/in-memory.d.ts +18 -0
- package/dist/storage/workflow-interventions/in-memory.d.ts.map +1 -0
- package/dist/storage/workflow-interventions/index.d.ts +4 -0
- package/dist/storage/workflow-interventions/index.d.ts.map +1 -0
- package/dist/storage/workflow-interventions/types.d.ts +94 -0
- package/dist/storage/workflow-interventions/types.d.ts.map +1 -0
- package/dist/storage/workflow-runs/errors.d.ts +7 -0
- package/dist/storage/workflow-runs/errors.d.ts.map +1 -0
- package/dist/storage/workflow-runs/in-memory.d.ts +83 -0
- package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -0
- package/dist/storage/workflow-runs/index.d.ts +4 -0
- package/dist/storage/workflow-runs/index.d.ts.map +1 -0
- package/dist/storage/workflow-runs/types.d.ts +305 -0
- package/dist/storage/workflow-runs/types.d.ts.map +1 -0
- package/dist/syncs/builders.d.ts +9 -0
- package/dist/syncs/builders.d.ts.map +1 -0
- package/dist/syncs/errors.d.ts +4 -0
- package/dist/syncs/errors.d.ts.map +1 -0
- package/dist/syncs/index.d.ts +7 -0
- package/dist/syncs/index.d.ts.map +1 -0
- package/dist/syncs/request.d.ts +41 -0
- package/dist/syncs/request.d.ts.map +1 -0
- package/dist/syncs/types.d.ts +76 -0
- package/dist/syncs/types.d.ts.map +1 -0
- package/dist/testing/agent-storage-contract.d.ts +16 -0
- package/dist/testing/agent-storage-contract.d.ts.map +1 -0
- package/dist/testing/auth-storage-contract.d.ts +16 -0
- package/dist/testing/auth-storage-contract.d.ts.map +1 -0
- package/dist/testing/blob-storage-contract.d.ts +10 -0
- package/dist/testing/blob-storage-contract.d.ts.map +1 -0
- package/dist/testing/broker-contract.d.ts +39 -0
- package/dist/testing/broker-contract.d.ts.map +1 -0
- package/dist/testing/effective-storage-contract.d.ts +7 -0
- package/dist/testing/effective-storage-contract.d.ts.map +1 -0
- package/dist/testing/index.d.ts +15 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +7000 -0
- package/dist/testing/index.js.map +24 -0
- package/dist/testing/lake-storage-contract.d.ts +29 -0
- package/dist/testing/lake-storage-contract.d.ts.map +1 -0
- package/dist/testing/materialization-failure-contract.d.ts +26 -0
- package/dist/testing/materialization-failure-contract.d.ts.map +1 -0
- package/dist/testing/materializer-fixture.d.ts +35 -0
- package/dist/testing/materializer-fixture.d.ts.map +1 -0
- package/dist/testing/materializer-storage-contract.d.ts +7 -0
- package/dist/testing/materializer-storage-contract.d.ts.map +1 -0
- package/dist/testing/object-query-contract.d.ts +21 -0
- package/dist/testing/object-query-contract.d.ts.map +1 -0
- package/dist/testing/ontology-contract-fixture.d.ts +33 -0
- package/dist/testing/ontology-contract-fixture.d.ts.map +1 -0
- package/dist/testing/ontology-storage-contract.d.ts +21 -0
- package/dist/testing/ontology-storage-contract.d.ts.map +1 -0
- package/dist/testing/projection-run-storage-contract.d.ts +10 -0
- package/dist/testing/projection-run-storage-contract.d.ts.map +1 -0
- package/dist/testing/queues-contract.d.ts +31 -0
- package/dist/testing/queues-contract.d.ts.map +1 -0
- package/dist/testing/sandboxes-contract.d.ts +31 -0
- package/dist/testing/sandboxes-contract.d.ts.map +1 -0
- package/dist/tsconfig.json +5 -0
- package/dist/webhooks/builders.d.ts +41 -0
- package/dist/webhooks/builders.d.ts.map +1 -0
- package/dist/webhooks/connector.d.ts +10 -0
- package/dist/webhooks/connector.d.ts.map +1 -0
- package/dist/webhooks/errors.d.ts +4 -0
- package/dist/webhooks/errors.d.ts.map +1 -0
- package/dist/webhooks/index.d.ts +9 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/registry.d.ts +7 -0
- package/dist/webhooks/registry.d.ts.map +1 -0
- package/dist/webhooks/types.d.ts +79 -0
- package/dist/webhooks/types.d.ts.map +1 -0
- package/dist/webhooks/unverified.d.ts +57 -0
- package/dist/webhooks/unverified.d.ts.map +1 -0
- package/dist/workers/errors.d.ts +17 -0
- package/dist/workers/errors.d.ts.map +1 -0
- package/dist/workers/index.d.ts +7 -0
- package/dist/workers/index.d.ts.map +1 -0
- package/dist/workers/index.js +506 -0
- package/dist/workers/index.js.map +13 -0
- package/dist/workers/queue-delivery.d.ts +38 -0
- package/dist/workers/queue-delivery.d.ts.map +1 -0
- package/dist/workers/queue-worker.d.ts +30 -0
- package/dist/workers/queue-worker.d.ts.map +1 -0
- package/dist/workers/worker.d.ts +14 -0
- package/dist/workers/worker.d.ts.map +1 -0
- package/dist/workflows/builders.d.ts +27 -0
- package/dist/workflows/builders.d.ts.map +1 -0
- package/dist/workflows/errors.d.ts +11 -0
- package/dist/workflows/errors.d.ts.map +1 -0
- package/dist/workflows/index.d.ts +9 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +108 -0
- package/dist/workflows/index.js.map +9 -0
- package/dist/workflows/request.d.ts +29 -0
- package/dist/workflows/request.d.ts.map +1 -0
- package/dist/workflows/runtime.d.ts +33 -0
- package/dist/workflows/runtime.d.ts.map +1 -0
- package/dist/workflows/snapshot.d.ts +55 -0
- package/dist/workflows/snapshot.d.ts.map +1 -0
- package/dist/workflows/types.d.ts +288 -0
- package/dist/workflows/types.d.ts.map +1 -0
- package/dist/workflows/validation.d.ts +66 -0
- package/dist/workflows/validation.d.ts.map +1 -0
- package/package.json +312 -0
- package/src/actions/builders/define-action.ts +243 -0
- package/src/actions/builders/params.ts +48 -0
- package/src/actions/builders.ts +2 -0
- package/src/actions/commit-edits.ts +110 -0
- package/src/actions/errors.ts +15 -0
- package/src/actions/index.ts +75 -0
- package/src/actions/read-facade.ts +224 -0
- package/src/actions/registry.ts +135 -0
- package/src/actions/request.ts +407 -0
- package/src/actions/run-id.ts +17 -0
- package/src/actions/runtime.ts +31 -0
- package/src/actions/types/context.ts +224 -0
- package/src/actions/types/definitions.ts +181 -0
- package/src/actions/types/handlers.ts +68 -0
- package/src/actions/types/params.ts +82 -0
- package/src/actions/types.ts +4 -0
- package/src/actions/validation.ts +186 -0
- package/src/actions/validators.ts +56 -0
- package/src/actions/worker.ts +2 -0
- package/src/agents/adapters.ts +647 -0
- package/src/agents/api-gateway.ts +57 -0
- package/src/agents/builders.ts +46 -0
- package/src/agents/context-model.ts +41 -0
- package/src/agents/context-resolution.ts +43 -0
- package/src/agents/context.ts +185 -0
- package/src/agents/dispatch.ts +107 -0
- package/src/agents/errors.ts +40 -0
- package/src/agents/ids.ts +24 -0
- package/src/agents/index.ts +122 -0
- package/src/agents/message.ts +91 -0
- package/src/agents/prompt.ts +45 -0
- package/src/agents/request.ts +198 -0
- package/src/agents/runtime.ts +124 -0
- package/src/agents/streams.ts +194 -0
- package/src/agents/types.ts +70 -0
- package/src/agents/validation.ts +151 -0
- package/src/auth/access-tokens.ts +125 -0
- package/src/auth/audience.ts +28 -0
- package/src/auth/cookies.ts +263 -0
- package/src/auth/csrf.ts +41 -0
- package/src/auth/errors.ts +19 -0
- package/src/auth/index.ts +149 -0
- package/src/auth/runtime.ts +1642 -0
- package/src/auth/session-cache.ts +112 -0
- package/src/auth/sessions.ts +55 -0
- package/src/auth/strategy.ts +46 -0
- package/src/auth/types.ts +573 -0
- package/src/auth/validation.ts +241 -0
- package/src/authorization/application-access.ts +34 -0
- package/src/authorization/decision.ts +215 -0
- package/src/authorization/errors.ts +12 -0
- package/src/authorization/event-visibility.ts +99 -0
- package/src/authorization/grant-kinds.ts +149 -0
- package/src/authorization/index.ts +24 -0
- package/src/authorization/resolve.ts +101 -0
- package/src/authorization/run-visibility.ts +78 -0
- package/src/authorization/types.ts +52 -0
- package/src/blob-storage/browser.ts +28 -0
- package/src/blob-storage/constants.ts +9 -0
- package/src/blob-storage/derive.ts +13 -0
- package/src/blob-storage/errors.ts +6 -0
- package/src/blob-storage/in-memory.ts +74 -0
- package/src/blob-storage/index.ts +37 -0
- package/src/blob-storage/types.ts +143 -0
- package/src/blob-storage/utils.ts +126 -0
- package/src/blob-storage/validation.ts +58 -0
- package/src/bootstrap/discovery.ts +507 -0
- package/src/bootstrap/index.ts +26 -0
- package/src/bootstrap/ontology-type-manifest.ts +316 -0
- package/src/broker/errors.ts +15 -0
- package/src/broker/in-memory.ts +511 -0
- package/src/broker/index.ts +12 -0
- package/src/broker/types.ts +129 -0
- package/src/connectors/builders.ts +33 -0
- package/src/connectors/errors.ts +15 -0
- package/src/connectors/index.ts +9 -0
- package/src/connectors/runtime.ts +100 -0
- package/src/connectors/types.ts +64 -0
- package/src/datasets/builders.ts +233 -0
- package/src/datasets/errors.ts +3 -0
- package/src/datasets/index.ts +13 -0
- package/src/datasets/types.ts +52 -0
- package/src/datasets/validation.ts +251 -0
- package/src/edits/errors.ts +6 -0
- package/src/edits/index.ts +24 -0
- package/src/edits/normalize.ts +87 -0
- package/src/edits/properties.ts +153 -0
- package/src/edits/recorder.ts +312 -0
- package/src/edits/types.ts +275 -0
- package/src/error-reporting/capability.ts +160 -0
- package/src/error-reporting/internal.ts +13 -0
- package/src/error-reporting/normalize.ts +35 -0
- package/src/error-reporting/reporter.ts +65 -0
- package/src/error-reporting/types.ts +125 -0
- package/src/events/definitions.ts +241 -0
- package/src/events/envelope.ts +68 -0
- package/src/events/errors.ts +7 -0
- package/src/events/index.ts +167 -0
- package/src/events/outbox-dispatcher.ts +534 -0
- package/src/events/property-changes.ts +9 -0
- package/src/events/runtime.ts +401 -0
- package/src/events/scope.ts +71 -0
- package/src/events/selectors/builder.ts +531 -0
- package/src/events/selectors/index.ts +42 -0
- package/src/events/selectors/predicate.ts +91 -0
- package/src/events/selectors/types.ts +258 -0
- package/src/events/toStoredEvent.ts +35 -0
- package/src/events/types/actions.ts +42 -0
- package/src/events/types/datasets.ts +21 -0
- package/src/events/types/index.ts +206 -0
- package/src/events/types/links.ts +42 -0
- package/src/events/types/objects.ts +38 -0
- package/src/events/types/pipelines.ts +67 -0
- package/src/events/types/rules.ts +31 -0
- package/src/events/types/schedules.ts +15 -0
- package/src/events/types/syncs.ts +27 -0
- package/src/events/types/telemetry.ts +19 -0
- package/src/events/types/workflows.ts +172 -0
- package/src/http/api-routes.ts +384 -0
- package/src/http/index.ts +3 -0
- package/src/http/route-pattern.ts +37 -0
- package/src/index.ts +916 -0
- package/src/json.ts +137 -0
- package/src/lake-storage/definition-updates.ts +263 -0
- package/src/lake-storage/errors.ts +6 -0
- package/src/lake-storage/in-memory.ts +348 -0
- package/src/lake-storage/index.ts +48 -0
- package/src/lake-storage/sql-transforms.ts +67 -0
- package/src/lake-storage/types.ts +135 -0
- package/src/logging/console-logger.ts +63 -0
- package/src/logging/index.ts +43 -0
- package/src/logging/record.ts +126 -0
- package/src/logging/run-logger.ts +350 -0
- package/src/logging/runtime.ts +341 -0
- package/src/logging/stream.ts +38 -0
- package/src/logging/types.ts +156 -0
- package/src/maintenance/index.ts +9 -0
- package/src/maintenance/ontology-maintenance.ts +351 -0
- package/src/maintenance/types.ts +57 -0
- package/src/materialization/dataset-watermark.ts +52 -0
- package/src/materialization/errors.ts +73 -0
- package/src/materialization/events.ts +92 -0
- package/src/materialization/identity.ts +36 -0
- package/src/materialization/index.ts +75 -0
- package/src/materialization/model.ts +394 -0
- package/src/materialization/refs.ts +134 -0
- package/src/materializer/README.md +130 -0
- package/src/materializer/context.ts +75 -0
- package/src/materializer/edits/apply.ts +241 -0
- package/src/materializer/edits/commit.ts +311 -0
- package/src/materializer/edits/execution-units.ts +32 -0
- package/src/materializer/edits/load-state.ts +148 -0
- package/src/materializer/edits/operations.ts +298 -0
- package/src/materializer/edits/plan.ts +192 -0
- package/src/materializer/edits/read-set.ts +79 -0
- package/src/materializer/edits/working-state.ts +171 -0
- package/src/materializer/effective/build-events.ts +197 -0
- package/src/materializer/effective/diff.ts +169 -0
- package/src/materializer/effective/load-state.ts +75 -0
- package/src/materializer/effective/resolve.ts +96 -0
- package/src/materializer/effective/validate.ts +180 -0
- package/src/materializer/execution/commit-lifecycle.ts +57 -0
- package/src/materializer/execution/plan-stream.ts +97 -0
- package/src/materializer/execution/run-correlation.ts +73 -0
- package/src/materializer/execution/work-executor.ts +143 -0
- package/src/materializer/execution/work-records.ts +186 -0
- package/src/materializer/index.ts +109 -0
- package/src/materializer/materializer.ts +64 -0
- package/src/materializer/projections/entry-validator.ts +162 -0
- package/src/materializer/projections/finish-run.ts +194 -0
- package/src/materializer/projections/replace.ts +447 -0
- package/src/materializer/projections/replacement-plan.ts +376 -0
- package/src/materializer/projections/source-materialization.ts +99 -0
- package/src/materializer/shared/abort.ts +7 -0
- package/src/materializer/shared/batching.ts +32 -0
- package/src/materializer/shared/chunking.ts +27 -0
- package/src/materializer/shared/identity.ts +141 -0
- package/src/materializer/shared/normalize.ts +527 -0
- package/src/materializer/shared/projection-run.ts +61 -0
- package/src/materializer/telemetry/append.ts +503 -0
- package/src/materializer/telemetry/plan.ts +363 -0
- package/src/objects/action/errors.ts +56 -0
- package/src/objects/action/index.ts +3 -0
- package/src/objects/action/request.ts +63 -0
- package/src/objects/context/index.ts +6 -0
- package/src/objects/context/resolve.ts +51 -0
- package/src/objects/context/types.ts +31 -0
- package/src/objects/contexts.ts +64 -0
- package/src/objects/errors.ts +7 -0
- package/src/objects/helpers.ts +18 -0
- package/src/objects/index.ts +26 -0
- package/src/objects/link/authorization.ts +26 -0
- package/src/objects/link/endpoints.ts +66 -0
- package/src/objects/link/index.ts +3 -0
- package/src/objects/link/remove.ts +42 -0
- package/src/objects/link/upsert-batch.ts +80 -0
- package/src/objects/link/upsert.ts +56 -0
- package/src/objects/materializer-adapter.ts +307 -0
- package/src/objects/object/delete.ts +47 -0
- package/src/objects/object/index.ts +3 -0
- package/src/objects/object/upsert-batch.ts +57 -0
- package/src/objects/object/upsert.ts +38 -0
- package/src/objects/query/errors.ts +55 -0
- package/src/objects/query/executor.ts +1345 -0
- package/src/objects/query/explain-format.ts +34 -0
- package/src/objects/query/explain.ts +215 -0
- package/src/objects/query/index.ts +77 -0
- package/src/objects/query/ir.ts +211 -0
- package/src/objects/query/normalize.ts +245 -0
- package/src/objects/query/planner.ts +538 -0
- package/src/objects/query/scalar-values.ts +100 -0
- package/src/objects/query/validate.ts +1276 -0
- package/src/objects/runtime-batch.ts +105 -0
- package/src/objects/sdk/index.ts +2 -0
- package/src/objects/sdk/object-handle.ts +139 -0
- package/src/objects/sdk/object-set.ts +224 -0
- package/src/objects/sdk/query-builder.ts +386 -0
- package/src/objects/sdk/query-executor.ts +62 -0
- package/src/objects/sdk/runtime-query-executor.ts +88 -0
- package/src/objects/sdk/telemetry-channel.ts +81 -0
- package/src/objects/sdk/where.ts +87 -0
- package/src/objects/service/action-service.ts +40 -0
- package/src/objects/service/index.ts +6 -0
- package/src/objects/service/link-service.ts +74 -0
- package/src/objects/service/list-service.ts +89 -0
- package/src/objects/service/object-service.ts +28 -0
- package/src/objects/service/telemetry-service.ts +17 -0
- package/src/objects/telemetry/append-batch.ts +74 -0
- package/src/objects/telemetry/history.ts +32 -0
- package/src/objects/telemetry/index.ts +4 -0
- package/src/objects/telemetry/write-batch.ts +52 -0
- package/src/ontology/builders.ts +695 -0
- package/src/ontology/decimal.ts +120 -0
- package/src/ontology/errors.ts +25 -0
- package/src/ontology/index.ts +80 -0
- package/src/ontology/inference/index.ts +215 -0
- package/src/ontology/internal.ts +3 -0
- package/src/ontology/json-schema.ts +123 -0
- package/src/ontology/refs.ts +80 -0
- package/src/ontology/registry.ts +417 -0
- package/src/ontology/tokens.ts +113 -0
- package/src/ontology/types.ts +436 -0
- package/src/ontology/units/index.ts +115 -0
- package/src/ontology/units/quantitative-types.ts +608 -0
- package/src/ontology/units/types.ts +27 -0
- package/src/ontology/validation/index.ts +36 -0
- package/src/ontology/validation/links.ts +126 -0
- package/src/ontology/validation/normalize.ts +215 -0
- package/src/ontology/validation/properties.ts +235 -0
- package/src/ontology/validation/query.ts +300 -0
- package/src/ontology/validation/schema.ts +174 -0
- package/src/ontology/validation/telemetry.ts +53 -0
- package/src/pipelines/builders.ts +155 -0
- package/src/pipelines/errors.ts +3 -0
- package/src/pipelines/index.ts +26 -0
- package/src/pipelines/request.ts +71 -0
- package/src/pipelines/types.ts +199 -0
- package/src/predicates/builders.ts +152 -0
- package/src/predicates/evaluate.ts +107 -0
- package/src/predicates/index.ts +28 -0
- package/src/predicates/types.ts +124 -0
- package/src/predicates/validation.ts +152 -0
- package/src/projections/builders.ts +770 -0
- package/src/projections/errors.ts +3 -0
- package/src/projections/index.ts +32 -0
- package/src/projections/internal.ts +75 -0
- package/src/projections/ownership.ts +134 -0
- package/src/projections/registry.ts +269 -0
- package/src/projections/revision.ts +245 -0
- package/src/projections/types.ts +165 -0
- package/src/projections/validation.ts +531 -0
- package/src/provider-scope.ts +11 -0
- package/src/query.ts +75 -0
- package/src/queues/errors.ts +6 -0
- package/src/queues/in-memory.ts +364 -0
- package/src/queues/index.ts +23 -0
- package/src/queues/types.ts +230 -0
- package/src/rules/builders.ts +126 -0
- package/src/rules/dependencies.ts +76 -0
- package/src/rules/errors.ts +11 -0
- package/src/rules/index.ts +30 -0
- package/src/rules/internal.ts +8 -0
- package/src/rules/types.ts +113 -0
- package/src/rules/validation.ts +153 -0
- package/src/runtime/create.ts +163 -0
- package/src/runtime/errors.ts +8 -0
- package/src/runtime/index.ts +67 -0
- package/src/runtime/internal.ts +7 -0
- package/src/runtime/ontology-mutations.ts +90 -0
- package/src/runtime/scoped.ts +436 -0
- package/src/runtime/sixb.ts +822 -0
- package/src/runtime/storage-readiness.ts +91 -0
- package/src/runtime/types.ts +1401 -0
- package/src/sandboxes/errors.ts +22 -0
- package/src/sandboxes/exec.ts +102 -0
- package/src/sandboxes/index.ts +19 -0
- package/src/sandboxes/sandbox.ts +124 -0
- package/src/scheduler/errors.ts +7 -0
- package/src/scheduler/index.ts +3 -0
- package/src/scheduler/runtime.ts +174 -0
- package/src/schedules/builders.ts +257 -0
- package/src/schedules/cron.ts +166 -0
- package/src/schedules/errors.ts +7 -0
- package/src/schedules/index.ts +44 -0
- package/src/schedules/next-occurrence.ts +217 -0
- package/src/schedules/runtime.ts +241 -0
- package/src/schedules/types.ts +212 -0
- package/src/schedules/validation.ts +398 -0
- package/src/security/applications.ts +11 -0
- package/src/security/builders.ts +128 -0
- package/src/security/errors.ts +3 -0
- package/src/security/every.ts +108 -0
- package/src/security/grants.ts +215 -0
- package/src/security/index.ts +51 -0
- package/src/security/membership-policies.ts +101 -0
- package/src/security/runtime.ts +101 -0
- package/src/security/types.ts +156 -0
- package/src/security/validation.ts +430 -0
- package/src/storage/action-runs/errors.ts +13 -0
- package/src/storage/action-runs/idempotency.ts +68 -0
- package/src/storage/action-runs/in-memory.ts +420 -0
- package/src/storage/action-runs/index.ts +31 -0
- package/src/storage/action-runs/types.ts +169 -0
- package/src/storage/agents/errors.ts +22 -0
- package/src/storage/agents/in-memory.ts +498 -0
- package/src/storage/agents/index.ts +42 -0
- package/src/storage/agents/types.ts +348 -0
- package/src/storage/auth/errors.ts +40 -0
- package/src/storage/auth/in-memory/access-tokens.ts +123 -0
- package/src/storage/auth/in-memory/auth-storage.ts +559 -0
- package/src/storage/auth/in-memory/group-memberships.ts +46 -0
- package/src/storage/auth/in-memory/identities.ts +66 -0
- package/src/storage/auth/in-memory/index.ts +1 -0
- package/src/storage/auth/in-memory/invitations.ts +165 -0
- package/src/storage/auth/in-memory/magic-links.ts +98 -0
- package/src/storage/auth/in-memory/oidc-attempts.ts +75 -0
- package/src/storage/auth/in-memory/service-account-group-memberships.ts +102 -0
- package/src/storage/auth/in-memory/service-accounts.ts +80 -0
- package/src/storage/auth/in-memory/sessions.ts +177 -0
- package/src/storage/auth/in-memory/shared.ts +602 -0
- package/src/storage/auth/in-memory/users.ts +139 -0
- package/src/storage/auth/in-memory.ts +1 -0
- package/src/storage/auth/index.ts +58 -0
- package/src/storage/auth/types.ts +639 -0
- package/src/storage/errors.ts +45 -0
- package/src/storage/file-upload-sessions/errors.ts +24 -0
- package/src/storage/file-upload-sessions/in-memory.ts +161 -0
- package/src/storage/file-upload-sessions/index.ts +19 -0
- package/src/storage/file-upload-sessions/types.ts +61 -0
- package/src/storage/file-upload-sessions/utils.ts +49 -0
- package/src/storage/in-memory/index.ts +297 -0
- package/src/storage/in-memory/testing.ts +21 -0
- package/src/storage/index.ts +489 -0
- package/src/storage/migrations/check-schema.ts +49 -0
- package/src/storage/migrations/index.ts +23 -0
- package/src/storage/migrations/migrate-storage.ts +24 -0
- package/src/storage/migrations/migration-set.ts +270 -0
- package/src/storage/migrations/types.ts +129 -0
- package/src/storage/objects/in-memory.ts +1154 -0
- package/src/storage/objects/index.ts +24 -0
- package/src/storage/objects/types.ts +244 -0
- package/src/storage/ontology/commits.ts +132 -0
- package/src/storage/ontology/in-memory/commits.ts +122 -0
- package/src/storage/ontology/in-memory/index.ts +94 -0
- package/src/storage/ontology/in-memory/materializations-finalization.ts +484 -0
- package/src/storage/ontology/in-memory/materializations-state.ts +183 -0
- package/src/storage/ontology/in-memory/materializations-work.ts +62 -0
- package/src/storage/ontology/in-memory/materializations.ts +1192 -0
- package/src/storage/ontology/in-memory/outbox.ts +227 -0
- package/src/storage/ontology/in-memory/shared-state.ts +161 -0
- package/src/storage/ontology/in-memory/sources.ts +566 -0
- package/src/storage/ontology/in-memory/testing.ts +29 -0
- package/src/storage/ontology/index.ts +119 -0
- package/src/storage/ontology/materializations.ts +414 -0
- package/src/storage/ontology/outbox.ts +79 -0
- package/src/storage/ontology/provider-header-validation.ts +173 -0
- package/src/storage/ontology/provider-validation.ts +36 -0
- package/src/storage/ontology/provider-work.ts +330 -0
- package/src/storage/ontology/provider.ts +852 -0
- package/src/storage/ontology/sources.ts +195 -0
- package/src/storage/operation-scope.ts +248 -0
- package/src/storage/pagination.ts +23 -0
- package/src/storage/pipeline-runs/errors.ts +6 -0
- package/src/storage/pipeline-runs/in-memory.ts +307 -0
- package/src/storage/pipeline-runs/index.ts +19 -0
- package/src/storage/pipeline-runs/types.ts +148 -0
- package/src/storage/projection-runs/errors.ts +15 -0
- package/src/storage/projection-runs/in-memory.ts +321 -0
- package/src/storage/projection-runs/index.ts +36 -0
- package/src/storage/projection-runs/lifecycle.ts +793 -0
- package/src/storage/projection-runs/types.ts +254 -0
- package/src/storage/rules/in-memory.ts +191 -0
- package/src/storage/rules/index.ts +12 -0
- package/src/storage/rules/types.ts +80 -0
- package/src/storage/run-listing.ts +107 -0
- package/src/storage/sync-runs/errors.ts +7 -0
- package/src/storage/sync-runs/in-memory.ts +181 -0
- package/src/storage/sync-runs/index.ts +14 -0
- package/src/storage/sync-runs/types.ts +93 -0
- package/src/storage/timeseries/index.ts +7 -0
- package/src/storage/timeseries/store.ts +214 -0
- package/src/storage/timeseries/types.ts +57 -0
- package/src/storage/transaction.ts +56 -0
- package/src/storage/types.ts +299 -0
- package/src/storage/webhook-deliveries/in-memory.ts +108 -0
- package/src/storage/webhook-deliveries/index.ts +9 -0
- package/src/storage/webhook-deliveries/types.ts +41 -0
- package/src/storage/webhook-runs/errors.ts +6 -0
- package/src/storage/webhook-runs/in-memory.ts +131 -0
- package/src/storage/webhook-runs/index.ts +12 -0
- package/src/storage/webhook-runs/types.ts +69 -0
- package/src/storage/workflow-interventions/errors.ts +6 -0
- package/src/storage/workflow-interventions/in-memory.ts +192 -0
- package/src/storage/workflow-interventions/index.ts +14 -0
- package/src/storage/workflow-interventions/types.ts +100 -0
- package/src/storage/workflow-runs/errors.ts +6 -0
- package/src/storage/workflow-runs/in-memory.ts +777 -0
- package/src/storage/workflow-runs/index.ts +45 -0
- package/src/storage/workflow-runs/types.ts +344 -0
- package/src/syncs/builders.ts +101 -0
- package/src/syncs/errors.ts +3 -0
- package/src/syncs/index.ts +22 -0
- package/src/syncs/request.ts +91 -0
- package/src/syncs/types.ts +136 -0
- package/src/testing/agent-storage-contract.ts +824 -0
- package/src/testing/auth-storage-contract.ts +1932 -0
- package/src/testing/blob-storage-contract.ts +108 -0
- package/src/testing/broker-contract.ts +819 -0
- package/src/testing/effective-storage-contract.ts +182 -0
- package/src/testing/index.ts +65 -0
- package/src/testing/lake-storage-contract.ts +699 -0
- package/src/testing/materialization-failure-contract.ts +66 -0
- package/src/testing/materializer-fixture.ts +119 -0
- package/src/testing/materializer-storage-contract.ts +389 -0
- package/src/testing/object-query-contract.ts +1205 -0
- package/src/testing/ontology-contract-fixture.ts +192 -0
- package/src/testing/ontology-storage-contract.ts +922 -0
- package/src/testing/projection-run-storage-contract.ts +372 -0
- package/src/testing/queues-contract.ts +634 -0
- package/src/testing/sandboxes-contract.ts +404 -0
- package/src/webhooks/builders.ts +154 -0
- package/src/webhooks/connector.ts +19 -0
- package/src/webhooks/errors.ts +3 -0
- package/src/webhooks/index.ts +25 -0
- package/src/webhooks/registry.ts +127 -0
- package/src/webhooks/types.ts +98 -0
- package/src/webhooks/unverified.ts +82 -0
- package/src/workers/errors.ts +25 -0
- package/src/workers/index.ts +6 -0
- package/src/workers/queue-delivery.ts +309 -0
- package/src/workers/queue-worker.ts +260 -0
- package/src/workers/worker.ts +87 -0
- package/src/workflows/builders.ts +471 -0
- package/src/workflows/errors.ts +13 -0
- package/src/workflows/index.ts +94 -0
- package/src/workflows/request.ts +161 -0
- package/src/workflows/runtime.ts +68 -0
- package/src/workflows/snapshot.ts +383 -0
- package/src/workflows/types.ts +781 -0
- package/src/workflows/validation.ts +572 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/predicates/validation.ts", "../src/predicates/builders.ts", "../src/predicates/evaluate.ts", "../src/schedules/errors.ts", "../src/schedules/cron.ts", "../src/schedules/builders.ts", "../src/schedules/next-occurrence.ts", "../src/schedules/runtime.ts", "../src/schedules/types.ts", "../src/schedules/validation.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type {\n LinkPredicateOperator,\n Predicate,\n PredicateValue,\n PropertyPredicateOperator,\n} from \"./types\"\n\nconst propertyOperators = new Set<PropertyPredicateOperator>([\n \"eq\",\n \"notEq\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"isPresent\",\n \"isMissing\",\n])\n\nconst propertyValueOperators = new Set<PropertyPredicateOperator>([\n \"eq\",\n \"notEq\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n])\n\nconst linkOperators = new Set<LinkPredicateOperator>([\"exists\", \"isMissing\"])\n\ntype AssertPredicateShapeOptions = {\n readonly subject?: string\n readonly createError?: (message: string) => Error\n}\n\nfunction defaultError(message: string): Error {\n return new Error(message)\n}\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\nexport function isPredicateValue(value: unknown): value is PredicateValue {\n if (value === null) {\n return true\n }\n\n if (typeof value === \"number\") {\n return Number.isFinite(value)\n }\n\n return typeof value === \"string\" || typeof value === \"boolean\"\n}\n\n/**\n * Validate the portable predicate AST shape.\n *\n * Primitive-specific validators can wrap this with their own `subject` so\n * errors read as \"Rule ...\" or \"Trigger ...\" while sharing the same checks.\n */\nexport function assertPredicateShape(\n value: unknown,\n options: AssertPredicateShapeOptions = {}\n): asserts value is Predicate {\n const subject = options.subject ?? \"Predicate\"\n const createError = options.createError ?? defaultError\n\n if (!isRecord(value)) {\n throw createError(`${subject} predicate must be an object.`)\n }\n\n if (value.kind === \"all\" || value.kind === \"any\") {\n if (!Array.isArray(value.predicates)) {\n throw createError(`${subject} ${value.kind} predicate must declare predicates.`)\n }\n\n for (const predicate of value.predicates) {\n assertPredicateShape(predicate, options)\n }\n return\n }\n\n if (value.kind === \"not\") {\n assertPredicateShape(value.predicate, options)\n return\n }\n\n if (value.kind === \"property\") {\n assertNonEmptyString(value.propertyId, `${subject} property predicate propertyId`, createError)\n\n if (!propertyOperators.has(value.op as PropertyPredicateOperator)) {\n throw createError(\n `${subject} property predicate '${value.propertyId}' has invalid operator '${String(\n value.op\n )}'.`\n )\n }\n\n const op = value.op as PropertyPredicateOperator\n const hasValue = Object.hasOwn(value, \"value\")\n if (propertyValueOperators.has(op)) {\n if (!hasValue || !isPredicateValue(value.value)) {\n throw createError(\n `${subject} property predicate '${value.propertyId}' must declare a value.`\n )\n }\n return\n }\n\n if (hasValue) {\n throw createError(\n `${subject} property predicate '${value.propertyId}' must not declare a value.`\n )\n }\n return\n }\n\n if (value.kind === \"field\") {\n assertNonEmptyString(value.field, `${subject} field predicate field`, createError)\n if (value.op !== \"eq\") {\n throw createError(\n `${subject} field predicate '${value.field}' has invalid operator '${String(value.op)}'.`\n )\n }\n if (!isPredicateValue(value.value)) {\n throw createError(`${subject} field predicate '${value.field}' must declare a value.`)\n }\n return\n }\n\n if (value.kind === \"link\") {\n assertNonEmptyString(value.linkId, `${subject} link predicate linkId`, createError)\n if (!linkOperators.has(value.op as LinkPredicateOperator)) {\n throw createError(\n `${subject} link predicate '${value.linkId}' has invalid operator '${String(value.op)}'.`\n )\n }\n return\n }\n\n throw createError(`Unknown ${subject.toLowerCase()} predicate kind '${String(value.kind)}'.`)\n}\n",
|
|
6
|
+
"import type {\n FieldPredicate,\n LinkPredicate,\n LinkPredicateBuilder,\n Predicate,\n PredicateValue,\n PropertyPredicate,\n PropertyPredicateOperator,\n} from \"./types\"\nimport { isPredicateValue } from \"./validation\"\n\nexport type RuntimePropertyPredicateBuilder<TResult = PropertyPredicate> = {\n eq(value: PredicateValue): TResult\n notEq(value: PredicateValue): TResult\n gt(value: PredicateValue): TResult\n gte(value: PredicateValue): TResult\n lt(value: PredicateValue): TResult\n lte(value: PredicateValue): TResult\n isPresent(): TResult\n isMissing(): TResult\n}\n\nexport function createFieldPredicate(\n field: string,\n value: PredicateValue,\n options: Pick<PropertyPredicateBuilderOptions<unknown>, \"subject\" | \"createError\"> = {}\n): FieldPredicate {\n const subject = options.subject ?? \"Predicate\"\n const createError = options.createError ?? defaultError\n if (!field.trim()) {\n throw createError(`${subject} predicate field must not be empty.`)\n }\n assertSerializablePredicateValue(value, subject, createError)\n\n return { kind: \"field\", field, op: \"eq\", value }\n}\n\nexport type PropertyPredicateBuilderOptions<TResult> = {\n readonly subject?: string\n readonly createError?: (message: string) => Error\n readonly wrap?: (predicate: PropertyPredicate) => TResult\n}\n\nfunction defaultError(message: string): Error {\n return new Error(message)\n}\n\nfunction assertSerializablePredicateValue(\n value: PredicateValue,\n subject: string,\n createError: (message: string) => Error\n): void {\n if (!isPredicateValue(value)) {\n throw createError(`${subject} predicate values must be serializable scalar values.`)\n }\n}\n\nexport function createPropertyPredicate(\n propertyId: string,\n op: PropertyPredicateOperator,\n value?: PredicateValue,\n options: Pick<PropertyPredicateBuilderOptions<unknown>, \"subject\" | \"createError\"> = {}\n): PropertyPredicate {\n const subject = options.subject ?? \"Predicate\"\n const createError = options.createError ?? defaultError\n if (value !== undefined) {\n assertSerializablePredicateValue(value, subject, createError)\n }\n\n return {\n kind: \"property\",\n propertyId,\n op,\n ...(value !== undefined ? { value } : {}),\n }\n}\n\nexport function createPropertyPredicateBuilder<TResult = PropertyPredicate>(\n propertyId: string,\n options: PropertyPredicateBuilderOptions<TResult> = {}\n): RuntimePropertyPredicateBuilder<TResult> {\n const wrap = options.wrap ?? ((predicate: PropertyPredicate) => predicate as TResult)\n const createPredicate = (op: PropertyPredicateOperator, value?: PredicateValue) =>\n wrap(createPropertyPredicate(propertyId, op, value, options))\n\n return {\n eq(value) {\n return createPredicate(\"eq\", value)\n },\n notEq(value) {\n return createPredicate(\"notEq\", value)\n },\n gt(value) {\n return createPredicate(\"gt\", value)\n },\n gte(value) {\n return createPredicate(\"gte\", value)\n },\n lt(value) {\n return createPredicate(\"lt\", value)\n },\n lte(value) {\n return createPredicate(\"lte\", value)\n },\n isPresent() {\n return createPredicate(\"isPresent\")\n },\n isMissing() {\n return createPredicate(\"isMissing\")\n },\n }\n}\n\nexport function createLinkPredicateBuilder(linkId: string): LinkPredicateBuilder {\n return {\n exists(): LinkPredicate {\n return {\n kind: \"link\",\n linkId,\n op: \"exists\",\n }\n },\n isMissing(): LinkPredicate {\n return {\n kind: \"link\",\n linkId,\n op: \"isMissing\",\n }\n },\n }\n}\n\nexport function allPredicates(predicates: readonly Predicate[]): Predicate {\n return {\n kind: \"all\",\n predicates: [...predicates],\n }\n}\n\nexport function anyPredicates(predicates: readonly Predicate[]): Predicate {\n return {\n kind: \"any\",\n predicates: [...predicates],\n }\n}\n\nexport function notPredicate(predicate: Predicate): Predicate {\n return {\n kind: \"not\",\n predicate,\n }\n}\n",
|
|
7
|
+
"import { compareDecimalValues, isDecimalValue } from \"../ontology/decimal\"\nimport type {\n FieldPredicate,\n LinkPredicate,\n Predicate,\n PredicateValue,\n PropertyPredicate,\n} from \"./types\"\n\nexport interface PredicateEvaluationSubject {\n readonly properties?: Readonly<Record<string, unknown>>\n readonly fields?: Readonly<Record<string, unknown>>\n readonly links?: Readonly<Record<string, boolean>>\n}\n\nexport function evaluatePredicate(\n predicate: Predicate,\n subject: PredicateEvaluationSubject\n): boolean {\n switch (predicate.kind) {\n case \"all\":\n return predicate.predicates.every((child) => evaluatePredicate(child, subject))\n case \"any\":\n return predicate.predicates.some((child) => evaluatePredicate(child, subject))\n case \"not\":\n return !evaluatePredicate(predicate.predicate, subject)\n case \"property\":\n return evaluatePropertyPredicate(predicate, subject.properties ?? {})\n case \"field\":\n return evaluateFieldPredicate(predicate, subject.fields ?? {})\n case \"link\":\n return evaluateLinkPredicate(predicate, subject.links ?? {})\n }\n}\n\nfunction evaluateFieldPredicate(\n predicate: FieldPredicate,\n fields: Readonly<Record<string, unknown>>\n): boolean {\n return predicateValueEquals(fields[predicate.field], predicate.value)\n}\n\nfunction evaluatePropertyPredicate(\n predicate: PropertyPredicate,\n properties: Readonly<Record<string, unknown>>\n): boolean {\n const value = properties[predicate.propertyId]\n const isPresent = value !== undefined && value !== null\n\n switch (predicate.op) {\n case \"eq\":\n return isPresent && predicateValueEquals(value, predicate.value)\n case \"notEq\":\n return !isPresent || !predicateValueEquals(value, predicate.value)\n case \"gt\":\n return compareOrderedValues(value, predicate.value, (comparison) => comparison > 0)\n case \"gte\":\n return compareOrderedValues(value, predicate.value, (comparison) => comparison >= 0)\n case \"lt\":\n return compareOrderedValues(value, predicate.value, (comparison) => comparison < 0)\n case \"lte\":\n return compareOrderedValues(value, predicate.value, (comparison) => comparison <= 0)\n case \"isPresent\":\n return isPresent\n case \"isMissing\":\n return !isPresent\n }\n}\n\nfunction evaluateLinkPredicate(\n predicate: LinkPredicate,\n links: Readonly<Record<string, boolean>>\n): boolean {\n const exists = links[predicate.linkId] === true\n switch (predicate.op) {\n case \"exists\":\n return exists\n case \"isMissing\":\n return !exists\n }\n}\n\nfunction predicateValueEquals(left: unknown, right: PredicateValue | undefined): boolean {\n return isPredicateComparableValue(left) && right !== undefined && Object.is(left, right)\n}\n\nfunction isPredicateComparableValue(value: unknown): value is PredicateValue {\n return (\n value === null || typeof value === \"string\" || typeof value === \"boolean\" || isNumber(value)\n )\n}\n\nfunction isNumber(value: unknown): value is number {\n return typeof value === \"number\" && Number.isFinite(value)\n}\n\nfunction compareOrderedValues(\n left: unknown,\n right: unknown,\n matches: (comparison: number) => boolean\n): boolean {\n if (isNumber(left) && isNumber(right)) return matches(left - right)\n if (isDecimalValue(left) && isDecimalValue(right)) {\n return matches(compareDecimalValues(left, right))\n }\n return false\n}\n",
|
|
8
|
+
"export class ScheduleValidationError extends Error {\n readonly name = \"ScheduleValidationError\"\n}\n\nexport class CronValidationError extends Error {\n readonly name = \"CronValidationError\"\n}\n",
|
|
9
|
+
"import { CronValidationError } from \"./errors\"\n\nexport interface CronFieldMatcher {\n readonly isAny: boolean\n readonly values: ReadonlySet<number> | null\n matches(value: number): boolean\n}\n\nfunction parseInteger(input: string, fieldName: string): number {\n if (!/^\\d+$/.test(input)) {\n throw new CronValidationError(`Invalid ${fieldName}: '${input}'.`)\n }\n\n return Number.parseInt(input, 10)\n}\n\nexport function createCronFieldMatcher(params: {\n field: string\n min: number\n max: number\n fieldName: string\n normalize?: (value: number) => number\n}): CronFieldMatcher {\n const { field, min, max, fieldName } = params\n const normalize = params.normalize ?? ((value: number) => value)\n const input = field.trim()\n\n if (!input) {\n throw new CronValidationError(`Empty cron ${fieldName} field.`)\n }\n\n if (input === \"*\") {\n return {\n isAny: true,\n values: null,\n matches: () => true,\n }\n }\n\n const allowed = new Set<number>()\n const segments = input.split(\",\")\n\n for (const segment of segments) {\n if (!segment) {\n throw new CronValidationError(`Invalid cron ${fieldName} field: '${input}'.`)\n }\n\n const stepParts = segment.split(\"/\")\n if (stepParts.length > 2) {\n throw new CronValidationError(`Invalid cron ${fieldName} segment: '${segment}'.`)\n }\n\n const base = stepParts[0]\n const step =\n stepParts[1] === undefined\n ? 1\n : parseInteger(stepParts[1], `cron ${fieldName} step for '${segment}'`)\n\n if (step <= 0) {\n throw new CronValidationError(`Cron ${fieldName} step must be > 0 in segment '${segment}'.`)\n }\n\n let rangeStart: number\n let rangeEnd: number\n\n if (base === \"*\") {\n rangeStart = min\n rangeEnd = max\n } else if (base.includes(\"-\")) {\n const [rawStart, rawEnd] = base.split(\"-\")\n if (!rawStart || !rawEnd) {\n throw new CronValidationError(`Invalid cron ${fieldName} range: '${base}'.`)\n }\n\n rangeStart = parseInteger(rawStart, `cron ${fieldName} range start for '${base}'`)\n rangeEnd = parseInteger(rawEnd, `cron ${fieldName} range end for '${base}'`)\n } else {\n const value = parseInteger(base, `cron ${fieldName} value '${base}'`)\n rangeStart = value\n rangeEnd = value\n }\n\n if (rangeStart > rangeEnd) {\n throw new CronValidationError(\n `Cron ${fieldName} range start must be <= end in segment '${segment}'.`\n )\n }\n\n for (let value = rangeStart; value <= rangeEnd; value += step) {\n const normalized = normalize(value)\n if (normalized < min || normalized > max) {\n throw new CronValidationError(\n `Cron ${fieldName} value ${value} is outside range ${min}-${max}.`\n )\n }\n allowed.add(normalized)\n }\n }\n\n return {\n isAny: false,\n values: allowed,\n matches(value: number) {\n const normalized = normalize(value)\n return allowed.has(normalized)\n },\n }\n}\n\nexport function createCronMatcher(expression: string): (now: Date) => boolean {\n const parts = expression.trim().split(/\\s+/)\n if (parts.length !== 5) {\n throw new CronValidationError(\n `Invalid cron expression '${expression}'. Expected 5 fields (minute hour day month weekday).`\n )\n }\n\n const [minuteField, hourField, dayOfMonthField, monthField, dayOfWeekField] = parts\n\n const minute = createCronFieldMatcher({\n field: minuteField,\n min: 0,\n max: 59,\n fieldName: \"minute\",\n })\n const hour = createCronFieldMatcher({\n field: hourField,\n min: 0,\n max: 23,\n fieldName: \"hour\",\n })\n const dayOfMonth = createCronFieldMatcher({\n field: dayOfMonthField,\n min: 1,\n max: 31,\n fieldName: \"day-of-month\",\n })\n const month = createCronFieldMatcher({\n field: monthField,\n min: 1,\n max: 12,\n fieldName: \"month\",\n })\n const dayOfWeek = createCronFieldMatcher({\n field: dayOfWeekField,\n min: 0,\n max: 6,\n fieldName: \"day-of-week\",\n normalize: (value) => (value === 7 ? 0 : value),\n })\n\n return (now: Date) => {\n if (!minute.matches(now.getMinutes())) return false\n if (!hour.matches(now.getHours())) return false\n if (!month.matches(now.getMonth() + 1)) return false\n\n const dayOfMonthMatches = dayOfMonth.matches(now.getDate())\n const dayOfWeekMatches = dayOfWeek.matches(now.getDay())\n const dayMatches =\n dayOfMonth.isAny || dayOfWeek.isAny\n ? dayOfMonthMatches && dayOfWeekMatches\n : dayOfMonthMatches || dayOfWeekMatches\n\n return dayMatches\n }\n}\n",
|
|
10
|
+
"import type { EventSelectorSpec } from \"../events/selectors\"\nimport { eventSelectorSpec } from \"../events/selectors\"\nimport {\n allPredicates,\n anyPredicates,\n assertPredicateShape,\n createFieldPredicate,\n createPropertyPredicateBuilder,\n notPredicate,\n type Predicate,\n type RuntimePropertyPredicateBuilder,\n} from \"../predicates\"\nimport { createCronMatcher } from \"./cron\"\nimport { ScheduleValidationError } from \"./errors\"\nimport type {\n CronScheduleDefinition,\n EventScheduleCondition,\n EventScheduleConditionScope,\n EventScheduleDefinition,\n EventScheduleScopedPredicate,\n ScheduleBuilder,\n} from \"./types\"\n\ntype RuntimeEventSchedulePropertyPredicateBuilder =\n RuntimePropertyPredicateBuilder<EventScheduleScopedPredicate>\n\ntype RuntimeEventSchedulePredicateSubject = {\n p: Record<string, RuntimeEventSchedulePropertyPredicateBuilder>\n all(...predicates: EventScheduleCondition[]): EventScheduleCondition\n any(...predicates: EventScheduleCondition[]): EventScheduleCondition\n not(predicate: EventScheduleCondition): EventScheduleCondition\n}\n\ntype RuntimeEventSchedulePredicateContext = {\n object?: RuntimeEventSchedulePredicateSubject\n link?: RuntimeEventSchedulePredicateSubject\n target?: RuntimeEventScheduleTargetPredicateSubject\n}\n\ntype RuntimeEventScheduleTargetPredicateSubject = {\n is(objectType: { readonly id: string }): EventScheduleCondition\n id: { eq(value: string): EventScheduleCondition }\n}\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (!value.trim()) {\n throw new ScheduleValidationError(`Schedule ${field} must not be empty.`)\n }\n}\n\nfunction validateTimezone(timezone: string): void {\n try {\n Intl.DateTimeFormat(undefined, { timeZone: timezone })\n } catch {\n throw new ScheduleValidationError(`Invalid timezone '${timezone}'.`)\n }\n}\n\nfunction createCondition(\n scope: EventScheduleConditionScope,\n predicate: Predicate\n): EventScheduleCondition {\n return {\n kind: \"becomesTrue\",\n scope,\n predicate,\n }\n}\n\nfunction createEventSchedulePropertyPredicateBuilder(\n scope: EventScheduleConditionScope,\n propertyId: string\n): RuntimeEventSchedulePropertyPredicateBuilder {\n return createPropertyPredicateBuilder(propertyId, {\n subject: \"Schedule\",\n createError: (message) => new ScheduleValidationError(message),\n wrap: (predicate) => createCondition(scope, predicate),\n })\n}\n\nfunction createPredicateSubject(\n scope: EventScheduleConditionScope\n): RuntimeEventSchedulePredicateSubject {\n const properties = new Proxy<Record<string, RuntimeEventSchedulePropertyPredicateBuilder>>(\n {},\n {\n get(target, property) {\n if (typeof property !== \"string\") return undefined\n target[property] ??= createEventSchedulePropertyPredicateBuilder(scope, property)\n return target[property]\n },\n }\n )\n\n return {\n p: properties,\n all(...conditions) {\n return createCondition(\n scope,\n allPredicates(conditions.map((condition) => condition.predicate))\n )\n },\n any(...conditions) {\n return createCondition(\n scope,\n anyPredicates(conditions.map((condition) => condition.predicate))\n )\n },\n not(condition) {\n return createCondition(scope, notPredicate(condition.predicate))\n },\n }\n}\n\nfunction createTargetPredicateSubject(): RuntimeEventScheduleTargetPredicateSubject {\n const condition = (field: string, value: string) =>\n createCondition(\n \"event.link\",\n createFieldPredicate(field, value, {\n subject: \"Schedule\",\n createError: (message) => new ScheduleValidationError(message),\n })\n )\n\n return {\n is(objectType) {\n assertNonEmpty(objectType.id, \"target object type id\")\n return condition(\"target.objectTypeId\", objectType.id)\n },\n id: {\n eq(value) {\n assertNonEmpty(value, \"target object id\")\n return condition(\"target.primaryId\", value)\n },\n },\n }\n}\n\nfunction createPredicateContext(selector: EventSelectorSpec): RuntimeEventSchedulePredicateContext {\n if (selector.topic === \"objects\") {\n return { object: createPredicateSubject(\"event.object\") }\n }\n\n if (selector.topic === \"links\") {\n return {\n link: createPredicateSubject(\"event.link\"),\n target: createTargetPredicateSubject(),\n }\n }\n\n return {}\n}\n\nfunction assertEventSource(source: EventSelectorSpec): void {\n if (!source.types || source.types.length === 0) {\n throw new ScheduleValidationError(\n \"Schedule event source must select an event operation, e.g. .created(), .updated(), or .succeeded().\"\n )\n }\n\n switch (source.topic) {\n case \"objects\":\n assertNonEmpty(source.objectTypeId ?? \"\", \"event source objectTypeId\")\n return\n case \"links\":\n assertNonEmpty(source.objectTypeId ?? \"\", \"event source objectTypeId\")\n assertNonEmpty(source.linkId ?? \"\", \"event source linkId\")\n return\n case \"rules\":\n assertNonEmpty(source.ruleId ?? \"\", \"event source ruleId\")\n return\n case \"actions\":\n assertNonEmpty(source.actionId ?? \"\", \"event source actionId\")\n return\n case \"datasets\":\n assertNonEmpty(source.datasetId ?? \"\", \"event source datasetId\")\n return\n case \"syncs\":\n assertNonEmpty(source.syncId ?? \"\", \"event source syncId\")\n return\n case \"pipelines\":\n assertNonEmpty(source.pipelineId ?? \"\", \"event source pipelineId\")\n return\n default:\n throw new ScheduleValidationError(\n \"Schedule event source must select object, link, rule, action, dataset, sync, or pipeline events.\"\n )\n }\n}\n\n/** Define an inert, reusable policy describing when work should run. */\nexport function defineSchedule<const TId extends string>(id: TId): ScheduleBuilder<TId>\nexport function defineSchedule(id: string): ScheduleBuilder<string> {\n assertNonEmpty(id, \"id\")\n\n return {\n cron(expression, options): CronScheduleDefinition {\n assertNonEmpty(expression, \"cron expression\")\n createCronMatcher(expression)\n\n if (options?.timezone !== undefined) validateTimezone(options.timezone)\n\n return {\n kind: \"schedule\",\n id,\n trigger: {\n type: \"cron\",\n expression,\n ...(options?.timezone !== undefined ? { timezone: options.timezone } : {}),\n },\n }\n },\n on(selector: EventSelectorSpec): unknown {\n const source = eventSelectorSpec(selector)\n assertEventSource(source)\n\n const base = {\n kind: \"schedule\" as const,\n id,\n trigger: {\n type: \"event\" as const,\n source,\n },\n }\n\n if (source.topic !== \"objects\" && source.topic !== \"links\") {\n return base satisfies EventScheduleDefinition\n }\n\n Object.defineProperty(base, \"where\", {\n enumerable: false,\n value(callback: (event: RuntimeEventSchedulePredicateContext) => EventScheduleCondition) {\n const condition = callback(createPredicateContext(source))\n if (!condition || condition.kind !== \"becomesTrue\") {\n throw new ScheduleValidationError(\n \"Schedule condition must be built from the event DSL.\"\n )\n }\n assertPredicateShape(condition.predicate, {\n subject: \"Schedule\",\n createError: (message) => new ScheduleValidationError(message),\n })\n\n return {\n ...base,\n trigger: {\n ...base.trigger,\n condition,\n },\n } satisfies EventScheduleDefinition\n },\n })\n\n return base\n },\n } as ScheduleBuilder<string>\n}\n",
|
|
11
|
+
"import { type CronFieldMatcher, createCronFieldMatcher } from \"./cron\"\nimport { CronValidationError } from \"./errors\"\n\nconst MAX_SEARCH_MS = 4 * 365.25 * 24 * 60 * 60 * 1000 // ~4 years\n\ninterface LocalComponents {\n minute: number\n hour: number\n dayOfMonth: number\n month: number // 1-based\n dayOfWeek: number // 0=Sunday\n}\n\n// Intl.DateTimeFormat construction is expensive (~30-100µs each); the search\n// loop in nextCronOccurrence calls getLocalComponents many times for sparse\n// crons, so we cache one formatter per timezone for the lifetime of the process.\nconst timezoneFormatterCache = new Map<string, Intl.DateTimeFormat>()\n\nfunction getTimezoneFormatter(timezone: string): Intl.DateTimeFormat {\n let formatter = timezoneFormatterCache.get(timezone)\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(\"en-US\", {\n timeZone: timezone,\n year: \"numeric\",\n month: \"numeric\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"numeric\",\n weekday: \"short\",\n hour12: false,\n })\n timezoneFormatterCache.set(timezone, formatter)\n }\n return formatter\n}\n\nfunction getLocalComponents(date: Date, timezone: string | undefined): LocalComponents {\n if (timezone === undefined) {\n return {\n minute: date.getUTCMinutes(),\n hour: date.getUTCHours(),\n dayOfMonth: date.getUTCDate(),\n month: date.getUTCMonth() + 1,\n dayOfWeek: date.getUTCDay(),\n }\n }\n\n const formatter = getTimezoneFormatter(timezone)\n const parts = formatter.formatToParts(date)\n const get = (type: Intl.DateTimeFormatPartTypes): string => {\n const part = parts.find((p) => p.type === type)\n if (!part) throw new CronValidationError(`Failed to extract ${type} for timezone ${timezone}.`)\n return part.value\n }\n\n const weekdayStr = get(\"weekday\")\n const weekdayMap: Record<string, number> = {\n Sun: 0,\n Mon: 1,\n Tue: 2,\n Wed: 3,\n Thu: 4,\n Fri: 5,\n Sat: 6,\n }\n\n return {\n minute: Number.parseInt(get(\"minute\"), 10),\n hour: Number.parseInt(get(\"hour\"), 10) % 24,\n dayOfMonth: Number.parseInt(get(\"day\"), 10),\n month: Number.parseInt(get(\"month\"), 10),\n dayOfWeek: weekdayMap[weekdayStr] ?? 0,\n }\n}\n\nfunction matchesDay(\n dayOfMonth: CronFieldMatcher,\n dayOfWeek: CronFieldMatcher,\n comp: LocalComponents\n): boolean {\n const domMatches = dayOfMonth.matches(comp.dayOfMonth)\n const dowMatches = dayOfWeek.matches(comp.dayOfWeek)\n\n if (dayOfMonth.isAny || dayOfWeek.isAny) {\n return domMatches && dowMatches\n }\n return domMatches || dowMatches\n}\n\n/**\n * Compute the next occurrence of a cron expression after `after`.\n *\n * The returned Date is always in UTC. When `timezone` is provided, the cron\n * fields are evaluated against wall-clock time in that timezone.\n *\n * The current minute is never returned — the earliest possible result is\n * `after` rounded up to the next whole minute.\n */\nexport function nextCronOccurrence(expression: string, after: Date, timezone?: string): Date {\n const parts = expression.trim().split(/\\s+/)\n if (parts.length !== 5) {\n throw new CronValidationError(\n `Invalid cron expression '${expression}'. Expected 5 fields (minute hour day month weekday).`\n )\n }\n\n const [minuteField, hourField, dayOfMonthField, monthField, dayOfWeekField] = parts\n\n const minuteMatcher = createCronFieldMatcher({\n field: minuteField,\n min: 0,\n max: 59,\n fieldName: \"minute\",\n })\n const hourMatcher = createCronFieldMatcher({\n field: hourField,\n min: 0,\n max: 23,\n fieldName: \"hour\",\n })\n const dayOfMonthMatcher = createCronFieldMatcher({\n field: dayOfMonthField,\n min: 1,\n max: 31,\n fieldName: \"day-of-month\",\n })\n const monthMatcher = createCronFieldMatcher({\n field: monthField,\n min: 1,\n max: 12,\n fieldName: \"month\",\n })\n const dayOfWeekMatcher = createCronFieldMatcher({\n field: dayOfWeekField,\n min: 0,\n max: 6,\n fieldName: \"day-of-week\",\n normalize: (value) => (value === 7 ? 0 : value),\n })\n\n // Start from the next whole minute after `after`\n const startMs = after.getTime()\n let candidateMs = Math.ceil(startMs / 60_000) * 60_000\n if (candidateMs <= startMs) candidateMs += 60_000\n\n const limitMs = startMs + MAX_SEARCH_MS\n\n while (candidateMs <= limitMs) {\n const candidate = new Date(candidateMs)\n const comp = getLocalComponents(candidate, timezone)\n\n // Month check — skip ahead if no match\n if (!monthMatcher.matches(comp.month)) {\n if (timezone === undefined) {\n const next = findNextMatchingMonth(candidate, monthMatcher)\n candidateMs = next.getTime()\n } else {\n // Skip to next local day boundary, then continue\n candidateMs += ((24 - comp.hour) * 60 - comp.minute) * 60_000\n }\n continue\n }\n\n // Day check — skip ahead if no match\n if (!matchesDay(dayOfMonthMatcher, dayOfWeekMatcher, comp)) {\n if (timezone === undefined) {\n const next = new Date(candidateMs)\n next.setUTCDate(next.getUTCDate() + 1)\n next.setUTCHours(0, 0, 0, 0)\n candidateMs = next.getTime()\n } else {\n // Skip to next local day boundary\n candidateMs += ((24 - comp.hour) * 60 - comp.minute) * 60_000\n }\n continue\n }\n\n // Hour check — skip ahead if no match\n if (!hourMatcher.matches(comp.hour)) {\n if (timezone === undefined) {\n const next = new Date(candidateMs)\n next.setUTCHours(next.getUTCHours() + 1, 0, 0, 0)\n candidateMs = next.getTime()\n } else {\n // Skip to next local hour boundary\n candidateMs += (60 - comp.minute) * 60_000\n }\n continue\n }\n\n // Minute check\n if (!minuteMatcher.matches(comp.minute)) {\n candidateMs += 60_000\n continue\n }\n\n return candidate\n }\n\n throw new CronValidationError(`No matching occurrence found for '${expression}' within 4 years.`)\n}\n\nfunction findNextMatchingMonth(current: Date, monthMatcher: CronFieldMatcher): Date {\n const d = new Date(current)\n d.setUTCDate(1)\n d.setUTCHours(0, 0, 0, 0)\n d.setUTCMonth(d.getUTCMonth() + 1)\n\n for (let i = 0; i < 48; i++) {\n if (monthMatcher.matches(d.getUTCMonth() + 1)) {\n return d\n }\n d.setUTCMonth(d.getUTCMonth() + 1)\n }\n\n return d\n}\n",
|
|
12
|
+
"import { buildEventSelectorPredicate, type EventSelectorSpec } from \"../events/selectors\"\nimport type { DomainEvent, PropertyChange, PropertyChangeMap } from \"../events/types\"\nimport { evaluatePredicate } from \"../predicates\"\nimport type { EventScheduleConditionScope, EventScheduleTriggerDefinition } from \"./types\"\n\nexport type RuntimeEventScheduleContext = Readonly<Record<string, unknown>>\n\nexport interface RuntimeEventScheduleDefinition {\n readonly kind: \"schedule\"\n readonly id: string\n readonly trigger: EventScheduleTriggerDefinition<EventSelectorSpec<unknown>>\n}\n\nexport interface EventScheduleEvaluationResult<TEvent = unknown> {\n readonly schedule: RuntimeEventScheduleDefinition\n readonly event: TEvent\n}\n\nexport function eventScheduleSubscribedEventTypes(\n schedule: RuntimeEventScheduleDefinition\n): readonly DomainEvent[\"type\"][] {\n return schedule.trigger.source.types ?? []\n}\n\nexport function evaluateEventSchedule(\n schedule: RuntimeEventScheduleDefinition,\n event: DomainEvent\n): EventScheduleEvaluationResult | null {\n if (!buildEventSelectorPredicate(schedule.trigger.source)(event)) {\n return null\n }\n\n const eventContext = buildEventScheduleContext(event)\n if (!eventContext) {\n return null\n }\n\n const condition = schedule.trigger.condition\n if (!condition) {\n return {\n schedule,\n event: eventContext,\n }\n }\n\n const afterProperties = propertiesForScope(event, condition.scope)\n const fields = fieldsForEvent(event)\n if (!evaluatePredicate(condition.predicate, { properties: afterProperties, fields })) {\n return null\n }\n\n if (isUpdateEvent(event)) {\n const beforeProperties = previousProperties(afterProperties, event.payload.propertyChanges)\n if (evaluatePredicate(condition.predicate, { properties: beforeProperties, fields })) {\n return null\n }\n }\n\n return {\n schedule,\n event: eventContext,\n }\n}\n\nexport function buildEventScheduleContext(event: DomainEvent): RuntimeEventScheduleContext | null {\n switch (event.type) {\n case \"object.created\":\n case \"object.updated\":\n case \"object.deleted\":\n return {\n object: {\n objectTypeId: event.payload.objectTypeId,\n primaryId: event.payload.primaryId,\n p: currentProperties(event),\n },\n }\n case \"link.created\":\n case \"link.updated\":\n case \"link.deleted\":\n return {\n source: {\n objectTypeId: event.payload.sourceTypeId,\n primaryId: event.payload.sourceId,\n },\n target: {\n objectTypeId: event.payload.targetTypeId,\n primaryId: event.payload.targetId,\n },\n link: {\n id: event.payload.linkId,\n p: currentProperties(event),\n },\n }\n case \"rule.triggered\":\n case \"rule.resolved\":\n return {\n ruleId: event.payload.ruleId,\n subject: {\n objectTypeId: event.payload.subject.objectTypeId,\n primaryId: event.payload.subject.primaryId,\n },\n }\n case \"action.requested\":\n return {\n actionId: event.payload.actionId,\n runId: event.payload.runId,\n ...actionSubjectContext(event.payload.subject),\n params: { ...event.payload.params },\n }\n case \"action.completed\":\n return {\n actionId: event.payload.actionId,\n runId: event.payload.runId,\n ...actionSubjectContext(event.payload.subject),\n }\n case \"action.failed\":\n return {\n actionId: event.payload.actionId,\n runId: event.payload.runId,\n ...actionSubjectContext(event.payload.subject),\n error: event.payload.error,\n }\n case \"dataset.version.committed\":\n return { ...event.payload }\n case \"sync.run.finished\":\n return { ...event.payload }\n case \"pipeline.run.finished\":\n return { ...event.payload }\n default:\n return null\n }\n}\n\nfunction actionSubjectContext(subject: {\n readonly kind: \"none\" | \"object\"\n readonly objectTypeId?: string\n readonly primaryId?: string\n}): { readonly subject?: { readonly objectTypeId: string; readonly primaryId: string } } {\n if (\n subject.kind !== \"object\" ||\n subject.objectTypeId === undefined ||\n subject.primaryId === undefined\n ) {\n return {}\n }\n\n return {\n subject: {\n objectTypeId: subject.objectTypeId,\n primaryId: subject.primaryId,\n },\n }\n}\n\nfunction fieldsForEvent(event: DomainEvent): Readonly<Record<string, unknown>> {\n if (event.topic !== \"links\") {\n return {}\n }\n\n return {\n \"target.objectTypeId\": event.payload.targetTypeId,\n \"target.primaryId\": event.payload.targetId,\n }\n}\n\nfunction propertiesForScope(\n event: DomainEvent,\n scope: EventScheduleConditionScope\n): Readonly<Record<string, unknown>> {\n if (scope === \"event.object\" && event.topic !== \"objects\") {\n return {}\n }\n\n if (scope === \"event.link\" && event.topic !== \"links\") {\n return {}\n }\n\n return currentProperties(event)\n}\n\nfunction currentProperties(event: DomainEvent): Readonly<Record<string, unknown>> {\n const payload = event.payload\n if (payload && typeof payload === \"object\" && \"properties\" in payload) {\n return { ...((payload as { properties?: Record<string, unknown> }).properties ?? {}) }\n }\n\n if (payload && typeof payload === \"object\" && \"propertyChanges\" in payload) {\n return propertiesFromChanges(\n (payload as { propertyChanges: PropertyChangeMap }).propertyChanges,\n \"after\"\n )\n }\n\n return {}\n}\n\nfunction previousProperties(\n afterProperties: Readonly<Record<string, unknown>>,\n changes: PropertyChangeMap\n): Readonly<Record<string, unknown>> {\n const before: Record<string, unknown> = { ...afterProperties }\n\n for (const [propertyId, change] of Object.entries(changes)) {\n if (change.operation === \"created\") {\n delete before[propertyId]\n continue\n }\n before[propertyId] = change.before\n }\n\n return before\n}\n\nfunction propertiesFromChanges(\n changes: PropertyChangeMap,\n side: \"before\" | \"after\"\n): Readonly<Record<string, unknown>> {\n const properties: Record<string, unknown> = {}\n\n for (const [propertyId, change] of Object.entries(changes)) {\n const value = propertyChangeValue(change, side)\n if (value !== undefined) {\n properties[propertyId] = value\n }\n }\n\n return properties\n}\n\nfunction propertyChangeValue(change: PropertyChange, side: \"before\" | \"after\"): unknown {\n if (side === \"before\") {\n return change.operation === \"created\" ? undefined : change.before\n }\n return change.after\n}\n\nfunction isUpdateEvent(\n event: DomainEvent\n): event is Extract<DomainEvent, { type: \"object.updated\" | \"link.updated\" }> {\n return event.type === \"object.updated\" || event.type === \"link.updated\"\n}\n",
|
|
13
|
+
"import type {\n EventSelectorSpec,\n InferEventSelectorContext,\n InferEventSelectorEvent,\n LinkEventSelectorContext,\n ObjectEventSelectorContext,\n} from \"../events/selectors\"\nimport type { LinkToken, ObjectTypeWithTokens, Property, PropertyToken } from \"../ontology\"\nimport type {\n FieldPredicate,\n OrderedPredicateValueFor,\n Predicate,\n PredicateValueFor,\n PropertyPredicate,\n PropertyPredicateBuilder,\n} from \"../predicates\"\n\ndeclare const scheduleEventType: unique symbol\n\nexport interface CronScheduleTriggerDefinition {\n readonly type: \"cron\"\n readonly expression: string\n readonly timezone?: string\n}\n\nexport interface EventScheduleTriggerDefinition<\n TSelector extends EventSelectorSpec<unknown> = EventSelectorSpec,\n> {\n readonly type: \"event\"\n readonly source: TSelector\n readonly condition?: EventScheduleCondition\n}\n\nexport type ScheduleTriggerDefinition =\n | CronScheduleTriggerDefinition\n | EventScheduleTriggerDefinition\n\n/** Internal reference stored by definitions that run from a named schedule. */\nexport interface ScheduleReference {\n readonly type: \"schedule\"\n readonly scheduleId: string\n}\n\nexport function isScheduleReference(value: unknown): value is ScheduleReference {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"type\" in value &&\n value.type === \"schedule\" &&\n \"scheduleId\" in value &&\n typeof value.scheduleId === \"string\" &&\n value.scheduleId.trim().length > 0\n )\n}\n\n/** Inert, reusable definition of when work should run. */\nexport interface ScheduleDefinition<TId extends string = string, TEvent = unknown> {\n readonly [scheduleEventType]?: TEvent\n readonly kind: \"schedule\"\n readonly id: TId\n readonly trigger: ScheduleTriggerDefinition\n}\n\nexport type CronScheduleDefinition<TId extends string = string> = ScheduleDefinition<TId, never> & {\n readonly trigger: CronScheduleTriggerDefinition\n}\n\nexport type EventScheduleDefinition<\n TId extends string = string,\n TSelector extends EventSelectorSpec<unknown> = EventSelectorSpec,\n> = ScheduleDefinition<TId, InferEventSelectorEvent<TSelector>> & {\n readonly trigger: EventScheduleTriggerDefinition<TSelector>\n}\n\nexport type ScheduleDefinitionForEvent<TEvent = unknown> = ScheduleDefinition<string, TEvent> & {\n readonly trigger: EventScheduleTriggerDefinition\n}\n\nexport type InferScheduleEvent<TSchedule> = TSchedule extends {\n readonly [scheduleEventType]?: infer TEvent\n}\n ? NonNullable<TEvent>\n : never\n\nexport interface CronScheduleBuilder<TId extends string = string> {\n cron(expression: string, options?: { timezone?: string }): CronScheduleDefinition<TId>\n}\n\nexport interface EventScheduleBuilder<TId extends string = string> {\n on<const TSelector extends EventSelectorSpec<unknown>>(\n selector: TSelector\n ): EventScheduleSourceBuilder<TId, TSelector>\n}\n\nexport interface ScheduleBuilder<TId extends string = string>\n extends CronScheduleBuilder<TId>,\n EventScheduleBuilder<TId> {}\n\nexport type EventScheduleSourceBuilder<\n TId extends string,\n TSelector extends EventSelectorSpec<unknown>,\n> =\n InferEventSelectorContext<TSelector> extends ObjectEventSelectorContext | LinkEventSelectorContext\n ? EventScheduleWhereBuilder<TId, TSelector>\n : EventScheduleDefinition<TId, TSelector>\n\nexport type EventScheduleWhereBuilder<\n TId extends string,\n TSelector extends EventSelectorSpec<unknown>,\n> = EventScheduleDefinition<TId, TSelector> & {\n where(\n predicate: (\n event: EventSchedulePredicateContext<InferEventSelectorContext<TSelector>>\n ) => EventScheduleCondition\n ): EventScheduleDefinition<TId, TSelector>\n}\n\nexport type EventScheduleConditionScope = \"event.object\" | \"event.link\"\n\nexport interface EventScheduleCondition {\n readonly kind: \"becomesTrue\"\n readonly scope: EventScheduleConditionScope\n readonly predicate: Predicate\n}\n\nexport type EventScheduleScopedPredicate = EventScheduleCondition\n\nexport type EventSchedulePredicateContext<TContext> =\n TContext extends ObjectEventSelectorContext<infer TObjectType>\n ? { readonly object: EventScheduleObjectPredicateSubject<TObjectType> }\n : TContext extends LinkEventSelectorContext<infer TObjectType, infer TLink>\n ? {\n readonly link: EventScheduleLinkPredicateSubject<TObjectType, TLink>\n readonly target: EventScheduleTargetPredicateSubject<TLink>\n }\n : never\n\nexport type EventScheduleObjectPredicateSubject<TObjectType extends ObjectTypeWithTokens> =\n EventSchedulePredicateSubject<\"event.object\", TObjectType[\"p\"]>\n\nexport type EventScheduleLinkPredicateSubject<\n _TObjectType extends ObjectTypeWithTokens,\n TLink extends LinkToken,\n> = EventSchedulePredicateSubject<\"event.link\", LinkPropertyTokens<TLink>>\n\nexport type EventScheduleTargetPredicateSubject<TLink extends LinkToken> = {\n is(\n objectType: ObjectTypeWithTokens & { readonly id: AllowedTargetTypeId<TLink> }\n ): EventScheduleConditionFor<\"event.link\", FieldPredicate>\n readonly id: {\n eq(value: string): EventScheduleConditionFor<\"event.link\", FieldPredicate>\n }\n}\n\nexport type EventSchedulePredicateSubject<\n TScope extends EventScheduleConditionScope,\n TTokens extends Record<string, PropertyToken>,\n> = {\n readonly p: {\n readonly [TPropertyId in keyof TTokens]: TTokens[TPropertyId] extends PropertyToken<\n string,\n string,\n infer TProperty\n >\n ? EventSchedulePropertyPredicateBuilder<TScope, TProperty>\n : never\n }\n all(...predicates: EventScheduleCondition[]): EventScheduleCondition\n any(...predicates: EventScheduleCondition[]): EventScheduleCondition\n not(predicate: EventScheduleCondition): EventScheduleCondition\n}\n\nexport type EventSchedulePropertyPredicateBuilder<\n TScope extends EventScheduleConditionScope = EventScheduleConditionScope,\n TProperty extends Property = Property,\n> = PropertyPredicateBuilder<TProperty, EventScheduleConditionFor<TScope>>\n\nexport type EventScheduleConditionFor<\n TScope extends EventScheduleConditionScope,\n TPredicate extends Predicate = PropertyPredicate,\n> = EventScheduleCondition & {\n readonly scope: TScope\n readonly predicate: TPredicate\n}\n\nexport type EventScheduleSerializableValue<TProperty extends Property> =\n PredicateValueFor<TProperty>\n\nexport type EventScheduleNumericValue<TProperty extends Property> =\n OrderedPredicateValueFor<TProperty>\n\ntype LinkPropertyTokens<TLink extends LinkToken> =\n NonNullable<TLink[\"link\"][\"properties\"]> extends readonly Property[]\n ? {\n readonly [P in NonNullable<TLink[\"link\"][\"properties\"]>[number] as P[\"id\"]]: PropertyToken<\n TLink[\"objectTypeId\"],\n P[\"id\"],\n P\n >\n }\n : Record<never, never>\n\ntype ResolveTargetTypeId<TTarget> = TTarget extends readonly string[]\n ? TTarget[number]\n : TTarget extends string\n ? TTarget\n : string\n\ntype AllowedTargetTypeId<TLink extends LinkToken> =\n \"*\" extends ResolveTargetTypeId<TLink[\"targetObjectTypeId\"]>\n ? string\n : ResolveTargetTypeId<TLink[\"targetObjectTypeId\"]>\n",
|
|
14
|
+
"import type { EventSelectorSpec } from \"../events/selectors\"\nimport type { ObjectLink, ObjectType, OntologyRegistry } from \"../ontology\"\nimport { assertPredicateShape, type Predicate } from \"../predicates\"\nimport { createCronMatcher } from \"./cron\"\nimport { ScheduleValidationError } from \"./errors\"\nimport type { EventScheduleCondition, EventScheduleDefinition, ScheduleDefinition } from \"./types\"\n\nconst objectEventTypes = new Set([\"object.created\", \"object.updated\", \"object.deleted\"])\nconst linkEventTypes = new Set([\"link.created\", \"link.updated\", \"link.deleted\"])\nconst ruleEventTypes = new Set([\"rule.triggered\", \"rule.resolved\"])\nconst actionEventTypes = new Set([\"action.requested\", \"action.completed\", \"action.failed\"])\nconst datasetEventTypes = new Set([\"dataset.version.committed\"])\nconst syncEventTypes = new Set([\"sync.run.finished\"])\nconst pipelineEventTypes = new Set([\"pipeline.run.finished\"])\nconst runStatuses = new Set([\"succeeded\", \"failed\", \"cancelled\"])\nconst linkIdentityFields = new Set([\"target.objectTypeId\", \"target.primaryId\"])\n\nexport interface ValidateSchedulesAtStartupOptions {\n readonly registeredRuleIds?: ReadonlySet<string>\n readonly registeredActionIds?: ReadonlySet<string>\n readonly registeredDatasetIds?: ReadonlySet<string>\n readonly registeredSyncIds?: ReadonlySet<string>\n readonly registeredPipelineIds?: ReadonlySet<string>\n}\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\nexport function assertScheduleDefinition(\n value: unknown,\n createError: (message: string) => Error = (message) => new ScheduleValidationError(message)\n): asserts value is ScheduleDefinition {\n if (!isRecord(value)) throw createError(\"Schedule definition must be an object.\")\n if (value.kind !== \"schedule\") {\n throw createError(\"Schedule definition kind must be 'schedule'.\")\n }\n\n assertNonEmptyString(value.id, \"Schedule id\", createError)\n if (!isRecord(value.trigger))\n throw createError(`Schedule \"${value.id}\" trigger must be an object.`)\n\n if (value.trigger.type === \"cron\") {\n assertNonEmptyString(\n value.trigger.expression,\n `Schedule \"${value.id}\" cron expression`,\n createError\n )\n if (value.trigger.timezone !== undefined && typeof value.trigger.timezone !== \"string\") {\n throw createError(`Schedule \"${value.id}\" timezone must be a string.`)\n }\n return\n }\n\n if (value.trigger.type !== \"event\") {\n throw createError(`Schedule \"${value.id}\" trigger type is unsupported.`)\n }\n\n assertEventSourceShape(value.trigger.source, `Schedule \"${value.id}\" event source`, createError)\n if (value.trigger.condition !== undefined) {\n assertEventConditionShape(\n value.trigger.condition,\n `Schedule \"${value.id}\" condition`,\n createError\n )\n }\n}\n\nexport function isScheduleDefinition(value: unknown): value is ScheduleDefinition {\n try {\n assertScheduleDefinition(value, (message) => new Error(message))\n return true\n } catch {\n return false\n }\n}\n\nexport function validateSchedulesAtStartup(\n schedules: readonly ScheduleDefinition[],\n ontology: OntologyRegistry,\n options: ValidateSchedulesAtStartupOptions = {}\n): void {\n const seenIds = new Set<string>()\n\n for (const schedule of schedules) {\n assertScheduleDefinition(schedule)\n if (seenIds.has(schedule.id)) {\n throw new ScheduleValidationError(`Duplicate schedule id: ${schedule.id}`)\n }\n seenIds.add(schedule.id)\n\n if (schedule.trigger.type === \"cron\") {\n createCronMatcher(schedule.trigger.expression)\n if (schedule.trigger.timezone !== undefined) validateTimezone(schedule.trigger.timezone)\n continue\n }\n\n validateEventSchedule(schedule as EventScheduleDefinition, ontology, options)\n }\n}\n\nfunction validateTimezone(timezone: string): void {\n try {\n Intl.DateTimeFormat(undefined, { timeZone: timezone })\n } catch {\n throw new ScheduleValidationError(`Invalid timezone '${timezone}'.`)\n }\n}\n\nfunction assertEventSourceShape(\n value: unknown,\n path: string,\n createError: (message: string) => Error\n): asserts value is EventSelectorSpec {\n if (!isRecord(value)) throw createError(`${path} must be an event selector.`)\n if (!Array.isArray(value.types) || value.types.length === 0) {\n throw createError(`${path} must select at least one event type.`)\n }\n\n switch (value.topic) {\n case \"objects\":\n assertNonEmptyString(value.objectTypeId, `${path} objectTypeId`, createError)\n return\n case \"links\":\n assertNonEmptyString(value.objectTypeId, `${path} objectTypeId`, createError)\n assertNonEmptyString(value.linkId, `${path} linkId`, createError)\n return\n case \"rules\":\n assertNonEmptyString(value.ruleId, `${path} ruleId`, createError)\n return\n case \"actions\":\n assertNonEmptyString(value.actionId, `${path} actionId`, createError)\n return\n case \"datasets\":\n assertNonEmptyString(value.datasetId, `${path} datasetId`, createError)\n return\n case \"syncs\":\n assertNonEmptyString(value.syncId, `${path} syncId`, createError)\n assertRunStatus(value.runStatus, path, createError)\n return\n case \"pipelines\":\n assertNonEmptyString(value.pipelineId, `${path} pipelineId`, createError)\n assertRunStatus(value.runStatus, path, createError)\n return\n default:\n throw createError(\n `${path} must select object, link, rule, action, dataset, sync, or pipeline events.`\n )\n }\n}\n\nfunction assertRunStatus(\n value: unknown,\n path: string,\n createError: (message: string) => Error\n): void {\n if (typeof value !== \"string\" || !runStatuses.has(value)) {\n throw createError(`${path} must select succeeded, failed, or cancelled runs.`)\n }\n}\n\nfunction assertEventConditionShape(\n value: unknown,\n path: string,\n createError: (message: string) => Error\n): asserts value is EventScheduleCondition {\n if (!isRecord(value)) throw createError(`${path} must be an object.`)\n if (value.kind !== \"becomesTrue\") throw createError(`${path} kind must be 'becomesTrue'.`)\n if (value.scope !== \"event.object\" && value.scope !== \"event.link\") {\n throw createError(`${path} scope must be 'event.object' or 'event.link'.`)\n }\n assertPredicateShape(value.predicate, { subject: \"Schedule\", createError })\n}\n\nfunction validateEventSchedule(\n schedule: EventScheduleDefinition,\n ontology: OntologyRegistry,\n options: ValidateSchedulesAtStartupOptions\n): void {\n const { source } = schedule.trigger\n\n switch (source.topic) {\n case \"objects\":\n case \"links\": {\n const objectTypeId = source.objectTypeId\n const objectType = objectTypeId ? ontology.getObjectTypeById(objectTypeId) : undefined\n if (!objectType) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": unknown object type \"${objectTypeId}\".`\n )\n }\n if (source.topic === \"objects\") validateObjectSource(schedule, objectType)\n else validateLinkSource(schedule, objectType)\n return\n }\n case \"rules\":\n validateRegisteredSource(\n schedule,\n source.ruleId,\n options.registeredRuleIds,\n ruleEventTypes,\n \"rule\"\n )\n return\n case \"actions\":\n validateRegisteredSource(\n schedule,\n source.actionId,\n options.registeredActionIds,\n actionEventTypes,\n \"action\"\n )\n return\n case \"datasets\":\n validateRegisteredSource(\n schedule,\n source.datasetId,\n options.registeredDatasetIds,\n datasetEventTypes,\n \"dataset\"\n )\n return\n case \"syncs\":\n validateRegisteredSource(\n schedule,\n source.syncId,\n options.registeredSyncIds,\n syncEventTypes,\n \"sync\"\n )\n return\n case \"pipelines\":\n validateRegisteredSource(\n schedule,\n source.pipelineId,\n options.registeredPipelineIds,\n pipelineEventTypes,\n \"pipeline\"\n )\n return\n }\n}\n\nfunction validateObjectSource(schedule: EventScheduleDefinition, objectType: ObjectType): void {\n validateEventTypes(schedule, objectEventTypes, \"object\")\n const propertyIds = new Set(objectType.properties.map((property) => property.id))\n validateSelectorProperty(schedule, propertyIds)\n\n const condition = schedule.trigger.condition\n if (!condition) return\n if (condition.scope !== \"event.object\") {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": object event sources can only use event.object conditions.`\n )\n }\n validateConditionPredicate(schedule, propertyIds, condition.predicate)\n}\n\nfunction validateLinkSource(schedule: EventScheduleDefinition, objectType: ObjectType): void {\n validateEventTypes(schedule, linkEventTypes, \"link\")\n const source = schedule.trigger.source\n const link = objectType.links.find((candidate) => candidate.id === source.linkId)\n if (!link) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": unknown link \"${source.linkId}\" on object type \"${objectType.id}\".`\n )\n }\n\n const propertyIds = new Set((link.properties ?? []).map((property) => property.id))\n validateSelectorProperty(schedule, propertyIds)\n\n const condition = schedule.trigger.condition\n if (!condition) return\n if (condition.scope !== \"event.link\") {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": link event sources can only use event.link conditions.`\n )\n }\n validateConditionPredicate(schedule, propertyIds, condition.predicate, link)\n}\n\nfunction validateRegisteredSource(\n schedule: EventScheduleDefinition,\n sourceId: string | undefined,\n registeredIds: ReadonlySet<string> | undefined,\n supportedTypes: ReadonlySet<string>,\n sourceKind: \"rule\" | \"action\" | \"dataset\" | \"sync\" | \"pipeline\"\n): void {\n validateEventTypes(schedule, supportedTypes, sourceKind)\n if (!registeredIds?.has(sourceId ?? \"\")) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": unknown ${sourceKind} \"${sourceId}\".`\n )\n }\n if (schedule.trigger.condition) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": ${sourceKind} event sources do not support .where() conditions.`\n )\n }\n}\n\nfunction validateEventTypes(\n schedule: EventScheduleDefinition,\n supportedTypes: ReadonlySet<string>,\n sourceKind: string\n): void {\n for (const type of schedule.trigger.source.types ?? []) {\n if (!supportedTypes.has(type)) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": unsupported ${sourceKind} event type \"${type}\".`\n )\n }\n }\n}\n\nfunction validateSelectorProperty(\n schedule: EventScheduleDefinition,\n propertyIds: ReadonlySet<string>\n): void {\n const propertyId = schedule.trigger.source.propertyId\n if (propertyId !== undefined && !propertyIds.has(propertyId)) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": unknown selector property \"${propertyId}\".`\n )\n }\n}\n\nfunction validateConditionPredicate(\n schedule: EventScheduleDefinition,\n propertyIds: ReadonlySet<string>,\n predicate: Predicate,\n link?: ObjectLink\n): void {\n if (predicate.kind === \"all\" || predicate.kind === \"any\") {\n if (predicate.predicates.length === 0) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": ${predicate.kind} predicate must contain at least one predicate.`\n )\n }\n for (const child of predicate.predicates) {\n validateConditionPredicate(schedule, propertyIds, child, link)\n }\n return\n }\n\n if (predicate.kind === \"not\") {\n validateConditionPredicate(schedule, propertyIds, predicate.predicate, link)\n return\n }\n\n if (predicate.kind === \"link\") {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": link predicates are not supported in event conditions.`\n )\n }\n\n if (predicate.kind === \"field\") {\n if (!link || !linkIdentityFields.has(predicate.field)) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": unsupported event field predicate \"${predicate.field}\".`\n )\n }\n if (typeof predicate.value !== \"string\" || !predicate.value.trim()) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": event field \"${predicate.field}\" must compare against a non-empty string.`\n )\n }\n if (predicate.field === \"target.objectTypeId\") {\n const targetIds = Array.isArray(link.targetObjectTypeId)\n ? link.targetObjectTypeId\n : [link.targetObjectTypeId]\n if (!targetIds.includes(\"*\") && !targetIds.includes(predicate.value)) {\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": object type \"${predicate.value}\" is not a target of link \"${link.id}\".`\n )\n }\n }\n return\n }\n\n if (!propertyIds.has(predicate.propertyId)) {\n const source = schedule.trigger.source\n const subject = link ? `link \"${link.id}\"` : `object type \"${source.objectTypeId}\"`\n throw new ScheduleValidationError(\n `Schedule \"${schedule.id}\": unknown property \"${predicate.propertyId}\" on ${subject}.`\n )\n }\n}\n"
|
|
15
|
+
],
|
|
16
|
+
"mappings": "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",
|
|
17
|
+
"debugId": "3E911BDE3A5674D064756E2164756E21",
|
|
18
|
+
"names": []
|
|
19
|
+
}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/objects/query/errors.ts
|
|
3
|
+
class ObjectQueryValidationError extends Error {
|
|
4
|
+
name = "ObjectQueryValidationError";
|
|
5
|
+
issues;
|
|
6
|
+
constructor(issues) {
|
|
7
|
+
super(formatQueryValidationMessage(issues));
|
|
8
|
+
this.issues = issues;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class ObjectQueryPlanningError extends Error {
|
|
13
|
+
name = "ObjectQueryPlanningError";
|
|
14
|
+
issues;
|
|
15
|
+
constructor(issues) {
|
|
16
|
+
super(formatQueryPlanningMessage(issues));
|
|
17
|
+
this.issues = issues;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
class ObjectQueryExecutionError extends Error {
|
|
22
|
+
name = "ObjectQueryExecutionError";
|
|
23
|
+
code;
|
|
24
|
+
path;
|
|
25
|
+
constructor(code, message, path) {
|
|
26
|
+
super(`[Sixb] Object query execution failed: ${message}`);
|
|
27
|
+
this.code = code;
|
|
28
|
+
this.path = path;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function formatQueryValidationMessage(issues) {
|
|
32
|
+
if (issues.length === 0)
|
|
33
|
+
return "[Sixb] Object query validation failed";
|
|
34
|
+
if (issues.length === 1)
|
|
35
|
+
return `[Sixb] Object query validation failed: ${issues[0].message}`;
|
|
36
|
+
return `[Sixb] Object query validation failed with ${issues.length} issues: ${issues.map((issue) => issue.message).join("; ")}`;
|
|
37
|
+
}
|
|
38
|
+
function formatQueryPlanningMessage(issues) {
|
|
39
|
+
if (issues.length === 0)
|
|
40
|
+
return "[Sixb] Object query planning failed";
|
|
41
|
+
if (issues.length === 1)
|
|
42
|
+
return `[Sixb] Object query planning failed: ${issues[0].message}`;
|
|
43
|
+
return `[Sixb] Object query planning failed with ${issues.length} issues: ${issues.map((issue) => issue.message).join("; ")}`;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// src/objects/query/normalize.ts
|
|
47
|
+
function normalizeObjectQuery(query) {
|
|
48
|
+
return hoistExpand(normalizeNode(query));
|
|
49
|
+
}
|
|
50
|
+
function normalizeNode(query) {
|
|
51
|
+
switch (query.kind) {
|
|
52
|
+
case "start":
|
|
53
|
+
return { ...query };
|
|
54
|
+
case "filter":
|
|
55
|
+
return normalizeFilter(query.input, query.predicate);
|
|
56
|
+
case "text":
|
|
57
|
+
return {
|
|
58
|
+
...query,
|
|
59
|
+
input: normalizeObjectQuery(query.input),
|
|
60
|
+
fields: query.fields ? uniqueStrings(query.fields) : undefined,
|
|
61
|
+
fieldsByObjectType: query.fieldsByObjectType ? uniqueStringRecord(query.fieldsByObjectType) : undefined
|
|
62
|
+
};
|
|
63
|
+
case "vector":
|
|
64
|
+
return { ...query, input: normalizeObjectQuery(query.input), vector: [...query.vector] };
|
|
65
|
+
case "traverse":
|
|
66
|
+
return { ...query, input: normalizeObjectQuery(query.input) };
|
|
67
|
+
case "set":
|
|
68
|
+
return normalizeSet(query);
|
|
69
|
+
case "sort":
|
|
70
|
+
return normalizeSort(query.input, query.fields);
|
|
71
|
+
case "limit":
|
|
72
|
+
return normalizeLimit(query.input, query.limit);
|
|
73
|
+
case "page":
|
|
74
|
+
return { ...query, input: normalizeObjectQuery(query.input) };
|
|
75
|
+
case "project":
|
|
76
|
+
return {
|
|
77
|
+
...query,
|
|
78
|
+
input: normalizeObjectQuery(query.input),
|
|
79
|
+
properties: query.properties ? uniqueStrings(query.properties) : undefined
|
|
80
|
+
};
|
|
81
|
+
case "expand":
|
|
82
|
+
return normalizeExpand(query.input, query.expansions);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function hoistExpand(query) {
|
|
86
|
+
if (query.kind === "start" || query.kind === "set" || query.kind === "expand")
|
|
87
|
+
return query;
|
|
88
|
+
if (query.input.kind !== "expand")
|
|
89
|
+
return query;
|
|
90
|
+
const inner = query.input;
|
|
91
|
+
const rebuilt = normalizeObjectQuery({ ...query, input: inner.input });
|
|
92
|
+
if (rebuilt.kind === "expand") {
|
|
93
|
+
return {
|
|
94
|
+
kind: "expand",
|
|
95
|
+
input: rebuilt.input,
|
|
96
|
+
expansions: normalizeExpansions([...inner.expansions, ...rebuilt.expansions])
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return { kind: "expand", input: rebuilt, expansions: inner.expansions };
|
|
100
|
+
}
|
|
101
|
+
function normalizeExpand(input, expansions) {
|
|
102
|
+
const normalizedInput = normalizeObjectQuery(input);
|
|
103
|
+
const normalizedExpansions = normalizeExpansions(expansions);
|
|
104
|
+
if (normalizedInput.kind === "expand") {
|
|
105
|
+
return {
|
|
106
|
+
kind: "expand",
|
|
107
|
+
input: normalizedInput.input,
|
|
108
|
+
expansions: normalizeExpansions([...normalizedInput.expansions, ...normalizedExpansions])
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
return { kind: "expand", input: normalizedInput, expansions: normalizedExpansions };
|
|
112
|
+
}
|
|
113
|
+
function normalizeExpansions(expansions) {
|
|
114
|
+
const byKey = new Map;
|
|
115
|
+
for (const expansion of expansions) {
|
|
116
|
+
const normalized = normalizeExpansion(expansion);
|
|
117
|
+
const key = expansionKey(normalized);
|
|
118
|
+
const existing = byKey.get(key);
|
|
119
|
+
byKey.set(key, existing ? mergeExpansion(existing, normalized) : normalized);
|
|
120
|
+
}
|
|
121
|
+
return [...byKey.values()].sort((a, b) => {
|
|
122
|
+
const left = expansionKey(a);
|
|
123
|
+
const right = expansionKey(b);
|
|
124
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function normalizeExpansion(expansion) {
|
|
128
|
+
const nested = expansion.expand ? normalizeExpansions(expansion.expand) : [];
|
|
129
|
+
return {
|
|
130
|
+
linkId: expansion.linkId,
|
|
131
|
+
direction: expansion.direction,
|
|
132
|
+
...expansion.sourceObjectTypeId !== undefined ? { sourceObjectTypeId: expansion.sourceObjectTypeId } : {},
|
|
133
|
+
...expansion.limit !== undefined ? { limit: expansion.limit } : {},
|
|
134
|
+
...expansion.orderBy ? { orderBy: expansion.orderBy.map((field) => ({ ...field })) } : {},
|
|
135
|
+
...nested.length > 0 ? { expand: nested } : {}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function mergeExpansion(a, b) {
|
|
139
|
+
const nested = normalizeExpansions([...a.expand ?? [], ...b.expand ?? []]);
|
|
140
|
+
const { expand: _existing, ...base } = a;
|
|
141
|
+
return nested.length > 0 ? { ...base, expand: nested } : base;
|
|
142
|
+
}
|
|
143
|
+
function expansionKey(expansion) {
|
|
144
|
+
return `${expansion.direction}\x00${expansion.linkId}\x00${expansion.sourceObjectTypeId ?? ""}`;
|
|
145
|
+
}
|
|
146
|
+
function normalizeObjectQueryPredicate(predicate) {
|
|
147
|
+
switch (predicate.op) {
|
|
148
|
+
case "and":
|
|
149
|
+
case "or": {
|
|
150
|
+
const items = predicate.items.flatMap((item) => {
|
|
151
|
+
const normalized = normalizeObjectQueryPredicate(item);
|
|
152
|
+
if (normalized.op === predicate.op)
|
|
153
|
+
return normalized.items;
|
|
154
|
+
return [normalized];
|
|
155
|
+
});
|
|
156
|
+
return items.length === 1 ? items[0] : { op: predicate.op, items };
|
|
157
|
+
}
|
|
158
|
+
case "not":
|
|
159
|
+
return { op: "not", item: normalizeObjectQueryPredicate(predicate.item) };
|
|
160
|
+
case "in":
|
|
161
|
+
return { ...predicate, values: [...predicate.values] };
|
|
162
|
+
default:
|
|
163
|
+
return { ...predicate };
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function normalizeFilter(input, predicate) {
|
|
167
|
+
const normalizedInput = normalizeObjectQuery(input);
|
|
168
|
+
const normalizedPredicate = normalizeObjectQueryPredicate(predicate);
|
|
169
|
+
if (normalizedInput.kind === "filter") {
|
|
170
|
+
return normalizeObjectQuery({
|
|
171
|
+
kind: "filter",
|
|
172
|
+
input: normalizedInput.input,
|
|
173
|
+
predicate: {
|
|
174
|
+
op: "and",
|
|
175
|
+
items: [normalizedInput.predicate, normalizedPredicate]
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
kind: "filter",
|
|
181
|
+
input: normalizedInput,
|
|
182
|
+
predicate: normalizedPredicate
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
function normalizeSet(query) {
|
|
186
|
+
const inputs = query.inputs.flatMap((input) => {
|
|
187
|
+
const normalized = normalizeObjectQuery(input);
|
|
188
|
+
if (normalized.kind === "set" && normalized.op === query.op)
|
|
189
|
+
return normalized.inputs;
|
|
190
|
+
return [normalized];
|
|
191
|
+
});
|
|
192
|
+
return { ...query, inputs };
|
|
193
|
+
}
|
|
194
|
+
function normalizeSort(input, fields) {
|
|
195
|
+
const normalizedInput = normalizeObjectQuery(input);
|
|
196
|
+
const normalizedFields = fields.map((field) => ({ ...field }));
|
|
197
|
+
if (normalizedInput.kind === "sort") {
|
|
198
|
+
return {
|
|
199
|
+
kind: "sort",
|
|
200
|
+
input: normalizedInput.input,
|
|
201
|
+
fields: normalizedFields
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
return {
|
|
205
|
+
kind: "sort",
|
|
206
|
+
input: normalizedInput,
|
|
207
|
+
fields: normalizedFields
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
function normalizeLimit(input, limit) {
|
|
211
|
+
const normalizedInput = normalizeObjectQuery(input);
|
|
212
|
+
if (normalizedInput.kind === "limit") {
|
|
213
|
+
return {
|
|
214
|
+
kind: "limit",
|
|
215
|
+
input: normalizedInput.input,
|
|
216
|
+
limit: Math.min(normalizedInput.limit, limit)
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
kind: "limit",
|
|
221
|
+
input: normalizedInput,
|
|
222
|
+
limit
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
function uniqueStrings(values) {
|
|
226
|
+
return [...new Set(values)];
|
|
227
|
+
}
|
|
228
|
+
function uniqueStringRecord(record) {
|
|
229
|
+
return Object.fromEntries(Object.entries(record).map(([objectTypeId, fields]) => [objectTypeId, uniqueStrings(fields)]));
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// src/objects/query/explain-format.ts
|
|
233
|
+
function formatObjectQueryExplanation(explanation) {
|
|
234
|
+
const lines = [];
|
|
235
|
+
const status = explanation.valid === undefined ? "not validated" : explanation.valid ? "valid" : "invalid";
|
|
236
|
+
const result = explanation.result ? ` result=${explanation.result.objectTypeIds.join(" | ")}` : "";
|
|
237
|
+
lines.push(`ObjectQuery ${status}${result}`);
|
|
238
|
+
appendNodeLines(explanation.tree, lines, 0);
|
|
239
|
+
if (explanation.issues.length > 0) {
|
|
240
|
+
lines.push("Issues:");
|
|
241
|
+
for (const issue of explanation.issues) {
|
|
242
|
+
lines.push(`- ${issue.path} [${issue.code}] ${issue.message}`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return lines.join(`
|
|
246
|
+
`);
|
|
247
|
+
}
|
|
248
|
+
function appendNodeLines(node, lines, depth) {
|
|
249
|
+
lines.push(`${" ".repeat(depth)}- ${node.path} ${node.summary}`);
|
|
250
|
+
for (const child of node.children) {
|
|
251
|
+
appendNodeLines(child, lines, depth + 1);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export { ObjectQueryValidationError, ObjectQueryPlanningError, ObjectQueryExecutionError, normalizeObjectQuery, normalizeObjectQueryPredicate, formatObjectQueryExplanation };
|
|
256
|
+
|
|
257
|
+
//# debugId=623049810E5B19E064756E2164756E21
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/objects/query/errors.ts", "../src/objects/query/normalize.ts", "../src/objects/query/explain-format.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { ObjectQueryValidationIssue } from \"./validate\"\n\nexport interface ObjectQueryPlanningIssue {\n path: string\n code: string\n message: string\n}\n\nexport class ObjectQueryValidationError extends Error {\n readonly name = \"ObjectQueryValidationError\"\n readonly issues: readonly ObjectQueryValidationIssue[]\n\n constructor(issues: readonly ObjectQueryValidationIssue[]) {\n super(formatQueryValidationMessage(issues))\n this.issues = issues\n }\n}\n\nexport class ObjectQueryPlanningError extends Error {\n readonly name = \"ObjectQueryPlanningError\"\n readonly issues: readonly ObjectQueryPlanningIssue[]\n\n constructor(issues: readonly ObjectQueryPlanningIssue[]) {\n super(formatQueryPlanningMessage(issues))\n this.issues = issues\n }\n}\n\nexport class ObjectQueryExecutionError extends Error {\n readonly name = \"ObjectQueryExecutionError\"\n readonly code: string\n readonly path?: string\n\n constructor(code: string, message: string, path?: string) {\n super(`[Sixb] Object query execution failed: ${message}`)\n this.code = code\n this.path = path\n }\n}\n\nfunction formatQueryValidationMessage(issues: readonly ObjectQueryValidationIssue[]): string {\n if (issues.length === 0) return \"[Sixb] Object query validation failed\"\n if (issues.length === 1) return `[Sixb] Object query validation failed: ${issues[0].message}`\n return `[Sixb] Object query validation failed with ${issues.length} issues: ${issues\n .map((issue) => issue.message)\n .join(\"; \")}`\n}\n\nfunction formatQueryPlanningMessage(issues: readonly ObjectQueryPlanningIssue[]): string {\n if (issues.length === 0) return \"[Sixb] Object query planning failed\"\n if (issues.length === 1) return `[Sixb] Object query planning failed: ${issues[0].message}`\n return `[Sixb] Object query planning failed with ${issues.length} issues: ${issues\n .map((issue) => issue.message)\n .join(\"; \")}`\n}\n",
|
|
6
|
+
"import type {\n ObjectExpansion,\n ObjectQuery,\n ObjectQueryPredicate,\n ObjectQuerySet,\n ObjectQuerySortField,\n} from \"./ir\"\n\n/**\n * Canonicalizes query trees before validation/planning so providers see a\n * stable shape regardless of how the typed builder assembled the query.\n *\n * `expand` is output-shaping, so it is hoisted to the outermost layer here: two\n * queries that differ only in where `.expand(...)` was chained normalize to the\n * same tree (and therefore the same cache key).\n */\nexport function normalizeObjectQuery(query: ObjectQuery): ObjectQuery {\n return hoistExpand(normalizeNode(query))\n}\n\nfunction normalizeNode(query: ObjectQuery): ObjectQuery {\n switch (query.kind) {\n case \"start\":\n return { ...query }\n case \"filter\":\n return normalizeFilter(query.input, query.predicate)\n case \"text\":\n return {\n ...query,\n input: normalizeObjectQuery(query.input),\n fields: query.fields ? uniqueStrings(query.fields) : undefined,\n fieldsByObjectType: query.fieldsByObjectType\n ? uniqueStringRecord(query.fieldsByObjectType)\n : undefined,\n }\n case \"vector\":\n return { ...query, input: normalizeObjectQuery(query.input), vector: [...query.vector] }\n case \"traverse\":\n return { ...query, input: normalizeObjectQuery(query.input) }\n case \"set\":\n return normalizeSet(query)\n case \"sort\":\n return normalizeSort(query.input, query.fields)\n case \"limit\":\n return normalizeLimit(query.input, query.limit)\n case \"page\":\n return { ...query, input: normalizeObjectQuery(query.input) }\n case \"project\":\n return {\n ...query,\n input: normalizeObjectQuery(query.input),\n properties: query.properties ? uniqueStrings(query.properties) : undefined,\n }\n case \"expand\":\n return normalizeExpand(query.input, query.expansions)\n }\n}\n\n/**\n * Keeps `expand` at the outermost layer. A single-input wrapper sitting above an\n * `expand` is swapped so the `expand` wraps the (re-normalized) wrapper subtree;\n * re-normalizing collapses any nodes that became adjacent, and a wrapper that\n * lands above another `expand` is merged into one.\n */\nfunction hoistExpand(query: ObjectQuery): ObjectQuery {\n if (query.kind === \"start\" || query.kind === \"set\" || query.kind === \"expand\") return query\n if (query.input.kind !== \"expand\") return query\n\n const inner = query.input\n const rebuilt = normalizeObjectQuery({ ...query, input: inner.input })\n if (rebuilt.kind === \"expand\") {\n return {\n kind: \"expand\",\n input: rebuilt.input,\n expansions: normalizeExpansions([...inner.expansions, ...rebuilt.expansions]),\n }\n }\n return { kind: \"expand\", input: rebuilt, expansions: inner.expansions }\n}\n\nfunction normalizeExpand(input: ObjectQuery, expansions: readonly ObjectExpansion[]): ObjectQuery {\n const normalizedInput = normalizeObjectQuery(input)\n const normalizedExpansions = normalizeExpansions(expansions)\n\n // A directly-nested expand (`a.expand(X).expand(Y)` builds\n // `expand(expand(start, [X]), [Y])`) collapses into one outermost expand.\n if (normalizedInput.kind === \"expand\") {\n return {\n kind: \"expand\",\n input: normalizedInput.input,\n expansions: normalizeExpansions([...normalizedInput.expansions, ...normalizedExpansions]),\n }\n }\n\n return { kind: \"expand\", input: normalizedInput, expansions: normalizedExpansions }\n}\n\nfunction normalizeExpansions(expansions: readonly ObjectExpansion[]): ObjectExpansion[] {\n const byKey = new Map<string, ObjectExpansion>()\n for (const expansion of expansions) {\n const normalized = normalizeExpansion(expansion)\n const key = expansionKey(normalized)\n const existing = byKey.get(key)\n byKey.set(key, existing ? mergeExpansion(existing, normalized) : normalized)\n }\n\n return [...byKey.values()].sort((a, b) => {\n const left = expansionKey(a)\n const right = expansionKey(b)\n return left < right ? -1 : left > right ? 1 : 0\n })\n}\n\nfunction normalizeExpansion(expansion: ObjectExpansion): ObjectExpansion {\n const nested = expansion.expand ? normalizeExpansions(expansion.expand) : []\n return {\n linkId: expansion.linkId,\n direction: expansion.direction,\n ...(expansion.sourceObjectTypeId !== undefined\n ? { sourceObjectTypeId: expansion.sourceObjectTypeId }\n : {}),\n ...(expansion.limit !== undefined ? { limit: expansion.limit } : {}),\n ...(expansion.orderBy ? { orderBy: expansion.orderBy.map((field) => ({ ...field })) } : {}),\n ...(nested.length > 0 ? { expand: nested } : {}),\n }\n}\n\n// Two expansions of the same link in the same direction are one hydration; their\n// nested expansions merge so the normalized tree never double-hydrates a link.\nfunction mergeExpansion(a: ObjectExpansion, b: ObjectExpansion): ObjectExpansion {\n const nested = normalizeExpansions([...(a.expand ?? []), ...(b.expand ?? [])])\n const { expand: _existing, ...base } = a\n return nested.length > 0 ? { ...base, expand: nested } : base\n}\n\nfunction expansionKey(expansion: ObjectExpansion): string {\n return `${expansion.direction}\\0${expansion.linkId}\\0${expansion.sourceObjectTypeId ?? \"\"}`\n}\n\nexport function normalizeObjectQueryPredicate(\n predicate: ObjectQueryPredicate\n): ObjectQueryPredicate {\n switch (predicate.op) {\n case \"and\":\n case \"or\": {\n const items = predicate.items.flatMap((item) => {\n const normalized = normalizeObjectQueryPredicate(item)\n if (normalized.op === predicate.op) return normalized.items\n return [normalized]\n })\n return items.length === 1 ? items[0] : { op: predicate.op, items }\n }\n case \"not\":\n return { op: \"not\", item: normalizeObjectQueryPredicate(predicate.item) }\n case \"in\":\n return { ...predicate, values: [...predicate.values] }\n default:\n return { ...predicate }\n }\n}\n\nfunction normalizeFilter(input: ObjectQuery, predicate: ObjectQueryPredicate): ObjectQuery {\n const normalizedInput = normalizeObjectQuery(input)\n const normalizedPredicate = normalizeObjectQueryPredicate(predicate)\n\n // Adjacent filters are equivalent to a single conjunction and are easier for\n // capability checks and providers to inspect.\n if (normalizedInput.kind === \"filter\") {\n return normalizeObjectQuery({\n kind: \"filter\",\n input: normalizedInput.input,\n predicate: {\n op: \"and\",\n items: [normalizedInput.predicate, normalizedPredicate],\n },\n })\n }\n\n return {\n kind: \"filter\",\n input: normalizedInput,\n predicate: normalizedPredicate,\n }\n}\n\nfunction normalizeSet(query: ObjectQuerySet): ObjectQuery {\n const inputs = query.inputs.flatMap((input) => {\n const normalized = normalizeObjectQuery(input)\n if (normalized.kind === \"set\" && normalized.op === query.op) return normalized.inputs\n return [normalized]\n })\n\n return { ...query, inputs }\n}\n\nfunction normalizeSort(input: ObjectQuery, fields: readonly ObjectQuerySortField[]): ObjectQuery {\n const normalizedInput = normalizeObjectQuery(input)\n const normalizedFields = fields.map((field) => ({ ...field }))\n\n // A later sort fully determines result order, so it replaces an adjacent sort.\n if (normalizedInput.kind === \"sort\") {\n return {\n kind: \"sort\",\n input: normalizedInput.input,\n fields: normalizedFields,\n }\n }\n\n return {\n kind: \"sort\",\n input: normalizedInput,\n fields: normalizedFields,\n }\n}\n\nfunction normalizeLimit(input: ObjectQuery, limit: number): ObjectQuery {\n const normalizedInput = normalizeObjectQuery(input)\n\n // Adjacent limits collapse to the stricter bound.\n if (normalizedInput.kind === \"limit\") {\n return {\n kind: \"limit\",\n input: normalizedInput.input,\n limit: Math.min(normalizedInput.limit, limit),\n }\n }\n\n return {\n kind: \"limit\",\n input: normalizedInput,\n limit,\n }\n}\n\nfunction uniqueStrings(values: readonly string[]): string[] {\n return [...new Set(values)]\n}\n\nfunction uniqueStringRecord(\n record: Readonly<Record<string, readonly string[]>>\n): Record<string, string[]> {\n return Object.fromEntries(\n Object.entries(record).map(([objectTypeId, fields]) => [objectTypeId, uniqueStrings(fields)])\n )\n}\n",
|
|
7
|
+
"/**\n * Formatting for object query explanations.\n *\n * Lives apart from `explain.ts` so the fluent builder (and browser bundles\n * built on it) can import the formatter without pulling in the explanation\n * builder and its validation machinery.\n */\nimport type { ObjectQueryExplainNode, ObjectQueryExplanation } from \"./explain\"\n\nexport function formatObjectQueryExplanation(explanation: ObjectQueryExplanation): string {\n const lines: string[] = []\n const status =\n explanation.valid === undefined ? \"not validated\" : explanation.valid ? \"valid\" : \"invalid\"\n const result = explanation.result ? ` result=${explanation.result.objectTypeIds.join(\" | \")}` : \"\"\n\n lines.push(`ObjectQuery ${status}${result}`)\n appendNodeLines(explanation.tree, lines, 0)\n\n if (explanation.issues.length > 0) {\n lines.push(\"Issues:\")\n for (const issue of explanation.issues) {\n lines.push(`- ${issue.path} [${issue.code}] ${issue.message}`)\n }\n }\n\n return lines.join(\"\\n\")\n}\n\nfunction appendNodeLines(node: ObjectQueryExplainNode, lines: string[], depth: number): void {\n lines.push(`${\" \".repeat(depth)}- ${node.path} ${node.summary}`)\n for (const child of node.children) {\n appendNodeLines(child, lines, depth + 1)\n }\n}\n"
|
|
8
|
+
],
|
|
9
|
+
"mappings": "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",
|
|
10
|
+
"debugId": "623049810E5B19E064756E2164756E21",
|
|
11
|
+
"names": []
|
|
12
|
+
}
|