@cosmicdrift/kumiko-framework 0.389.0 → 0.390.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/AGENTS.md +9 -4
- package/README.md +1 -1
- package/agents/examples/apex-surface-auth.md +2 -3
- package/agents/examples/api-worker-split.md +9 -2
- package/agents/examples/auth-claims.md +1 -1
- package/agents/examples/cross-feature-events.md +12 -12
- package/agents/examples/crypto-shredding-hr.md +2 -2
- package/agents/examples/encrypted-tenant-config.md +1 -1
- package/agents/examples/error-contract.md +12 -7
- package/agents/examples/event-sourcing.md +29 -29
- package/agents/examples/files-post-processing.md +10 -8
- package/agents/examples/inbound-mail-triage.md +1 -0
- package/agents/examples/lane-routing.md +2 -1
- package/agents/examples/legal-pages.md +2 -2
- package/agents/examples/lifecycle-hooks.md +3 -3
- package/agents/examples/managed-config.md +4 -4
- package/agents/examples/managed-pages.md +1 -1
- package/agents/examples/relations.md +19 -4
- package/agents/examples/search.md +4 -4
- package/agents/examples/secrets-demo.md +9 -6
- package/agents/examples/state-machine.md +2 -2
- package/agents/examples/tenant-settings.md +1 -1
- package/agents/examples/user-data-rights.md +3 -6
- package/agents/examples/workflow-engine.md +53 -47
- package/agents/examples.md +4 -4
- package/agents/features.md +1 -1
- package/dist/api/auth-middleware.js +1 -1
- package/dist/api/auth-routes-invite.js +2 -1
- package/dist/api/entity-read-access.d.ts +3 -1
- package/dist/api/export/export-columns.d.ts +3 -1
- package/dist/api/export/export-route.js +3 -2
- package/dist/api/export/export-screen.d.ts +2 -1
- package/dist/api/extra-route.d.ts +3 -1
- package/dist/api/index.d.ts +23 -27
- package/dist/api/index.js +13 -15
- package/dist/api/jwt.js +1 -1
- package/dist/api/observability-middleware.d.ts +1 -1
- package/dist/api/observability-middleware.js +2 -1
- package/dist/api/request-context-internals.d.ts +31 -0
- package/dist/api/request-context-internals.js +11 -0
- package/dist/api/request-context-scopes.d.ts +14 -0
- package/dist/api/request-context-scopes.js +69 -0
- package/dist/api/request-context.d.ts +1 -40
- package/dist/api/request-context.js +22 -51
- package/dist/api/request-id-middleware.d.ts +1 -1
- package/dist/api/route-registrars.d.ts +2 -1
- package/dist/api/route-registrars.js +1 -1
- package/dist/api/routes.js +7 -3
- package/dist/api/server-boot-checks.d.ts +1 -1
- package/dist/api/server-boot-checks.js +2 -2
- package/dist/api/server-event-dispatcher.d.ts +6 -1
- package/dist/api/server-event-dispatcher.js +3 -4
- package/dist/api/server-extra-routes.d.ts +1 -1
- package/dist/api/server-extra-routes.js +2 -1
- package/dist/api/server-middleware.js +3 -1
- package/dist/api/server-routes.d.ts +2 -1
- package/dist/api/server-wiring.js +6 -4
- package/dist/api/server.d.ts +2 -1
- package/dist/api/sse-route.d.ts +2 -1
- package/dist/api/tenant-scoped-secrets.d.ts +2 -0
- package/dist/api/tenant-scoped-secrets.js +13 -0
- package/dist/api/websocket-route.d.ts +1 -1
- package/dist/auth/index.d.ts +0 -1
- package/dist/auth/roles.d.ts +0 -5
- package/dist/compliance/duration-spec.d.ts +0 -1
- package/dist/compliance/duration-spec.js +0 -5
- package/dist/compliance/index.d.ts +4 -4
- package/dist/compliance/index.js +2 -2
- package/dist/compliance/profiles.d.ts +0 -15
- package/dist/compliance/profiles.js +0 -23
- package/dist/config/index.d.ts +10 -10
- package/dist/config/index.js +13 -1
- package/dist/config/internals.d.ts +9 -0
- package/dist/config/internals.js +1 -0
- package/dist/consumer-cli-internals.d.ts +4 -0
- package/dist/consumer-cli-internals.js +1 -0
- package/dist/consumer-cli.d.ts +1 -4
- package/dist/consumer-cli.js +5 -1
- package/dist/crypto/event-pii.js +1 -1
- package/dist/crypto/index.d.ts +8 -9
- package/dist/crypto/index.js +7 -8
- package/dist/crypto/pg-kms-adapter.js +6 -1
- package/dist/db/apply-entity-event.d.ts +1 -1
- package/dist/db/apply-entity-event.js +15 -47
- package/dist/db/blind-index-cleanup.js +91 -77
- package/dist/db/collect-table-metas.js +1 -1
- package/dist/db/compound-types.d.ts +1 -1
- package/dist/db/compound-types.js +0 -7
- package/dist/db/config-seed.d.ts +2 -1
- package/dist/db/config-seed.js +6 -1
- package/dist/db/connection.d.ts +3 -1
- package/dist/db/connection.js +15 -5
- package/dist/db/cross-tenant-reads.d.ts +1 -1
- package/dist/db/cross-tenant-reads.js +1 -1
- package/dist/db/dialect.d.ts +0 -5
- package/dist/db/dialect.js +0 -3
- package/dist/db/driver-value-preparation.js +23 -2
- package/dist/db/eagerload.d.ts +2 -1
- package/dist/db/entity-field-encryption.d.ts +1 -1
- package/dist/db/entity-table-meta.d.ts +1 -1
- package/dist/db/event-store-executor-context.d.ts +3 -1
- package/dist/db/event-store-executor-context.js +4 -3
- package/dist/db/event-store-executor-read-filter.d.ts +1 -1
- package/dist/db/event-store-executor-read-rows.d.ts +2 -1
- package/dist/db/event-store-executor-read-search.d.ts +2 -1
- package/dist/db/event-store-executor-read-sort.d.ts +2 -1
- package/dist/db/event-store-executor-read.js +2 -2
- package/dist/db/event-store-executor-write-atomic.js +8 -7
- package/dist/db/event-store-executor-write-steps.d.ts +3 -2
- package/dist/db/event-store-executor-write.js +7 -4
- package/dist/db/event-store-executor.d.ts +1 -1
- package/dist/db/executor-managed-tables.d.ts +7 -1
- package/dist/db/executor-managed-tables.js +11 -2
- package/dist/db/index.d.ts +29 -28
- package/dist/db/index.js +22 -20
- package/dist/db/known-table-names.d.ts +6 -0
- package/dist/db/known-table-names.js +21 -0
- package/dist/db/list-aggregate-labels.d.ts +1 -1
- package/dist/db/located-timestamp.d.ts +1 -1
- package/dist/db/located-timestamp.js +0 -5
- package/dist/db/migrate-generator.d.ts +17 -1
- package/dist/db/migrate-generator.js +50 -20
- package/dist/db/migrate-primary-key.d.ts +12 -0
- package/dist/db/migrate-primary-key.js +45 -0
- package/dist/db/migrate-rls-diff.d.ts +20 -0
- package/dist/db/migrate-rls-diff.js +61 -0
- package/dist/db/migrate-runner.js +4 -0
- package/dist/db/money.d.ts +1 -1
- package/dist/db/money.js +1 -1
- package/dist/db/parent-ref-clause.d.ts +2 -1
- package/dist/db/pg-error.d.ts +2 -0
- package/dist/db/pg-error.js +11 -0
- package/dist/db/queries/ddl.d.ts +3 -0
- package/dist/db/queries/ddl.js +34 -1
- package/dist/db/queries/event-store.js +4 -2
- package/dist/db/queries/event-tenants.d.ts +2 -0
- package/dist/db/queries/event-tenants.js +17 -0
- package/dist/db/queries/rebuild-rls-guard.d.ts +2 -0
- package/dist/db/queries/rebuild-rls-guard.js +29 -0
- package/dist/db/queries/rls-boot-catalog.d.ts +16 -0
- package/dist/db/queries/rls-boot-catalog.js +39 -0
- package/dist/db/queries/rls-catalog.d.ts +6 -0
- package/dist/db/queries/rls-catalog.js +82 -0
- package/dist/db/queries/rls-scope.d.ts +3 -0
- package/dist/db/queries/rls-scope.js +17 -0
- package/dist/db/queries/rls-shape.d.ts +10 -0
- package/dist/db/queries/rls-shape.js +42 -0
- package/dist/db/queries/session-advisory-lock.d.ts +2 -0
- package/dist/db/queries/session-advisory-lock.js +23 -0
- package/dist/db/queries/shadow-swap.d.ts +1 -2
- package/dist/db/queries/shadow-swap.js +9 -25
- package/dist/db/queries/test-stack.d.ts +4 -1
- package/dist/db/queries/test-stack.js +84 -2
- package/dist/db/query.js +11 -7
- package/dist/db/reference-data.d.ts +1 -1
- package/dist/db/reference-data.js +6 -1
- package/dist/db/render-ddl.d.ts +6 -2
- package/dist/db/render-ddl.js +7 -7
- package/dist/db/render-rls-ddl.d.ts +35 -0
- package/dist/db/render-rls-ddl.js +127 -0
- package/dist/db/replay-migration-sql.d.ts +3 -1
- package/dist/db/replay-migration-sql.js +22 -5
- package/dist/db/replay-rls.d.ts +25 -0
- package/dist/db/replay-rls.js +156 -0
- package/dist/db/row-level-security-boot-check.d.ts +6 -0
- package/dist/db/row-level-security-boot-check.js +86 -0
- package/dist/db/row-level-security-connection.d.ts +3 -0
- package/dist/db/row-level-security-connection.js +213 -0
- package/dist/db/row-level-security-scope.d.ts +33 -0
- package/dist/db/row-level-security-scope.js +127 -0
- package/dist/db/scope-tenant-db-to-tenant.d.ts +3 -0
- package/dist/db/scope-tenant-db-to-tenant.js +14 -0
- package/dist/db/sql-identifier.d.ts +1 -0
- package/dist/db/sql-identifier.js +3 -0
- package/dist/db/table-builder.d.ts +2 -1
- package/dist/db/table-builder.js +1 -1
- package/dist/db/table-info.js +1 -1
- package/dist/db/table-push.d.ts +11 -2
- package/dist/db/table-push.js +15 -2
- package/dist/db/tenant-db-runner.d.ts +3 -1
- package/dist/db/tenant-db-runner.js +4 -3
- package/dist/db/tenant-db-scoped-rebind.d.ts +10 -0
- package/dist/db/tenant-db-scoped-rebind.js +33 -0
- package/dist/db/tenant-db-statement-runner.d.ts +13 -0
- package/dist/db/tenant-db-statement-runner.js +48 -0
- package/dist/db/tenant-db.d.ts +17 -12
- package/dist/db/tenant-db.js +49 -120
- package/dist/db/tenant-id-filter.d.ts +3 -0
- package/dist/db/tenant-id-filter.js +30 -0
- package/dist/db/transaction-serialization.d.ts +6 -0
- package/dist/db/transaction-serialization.js +60 -0
- package/dist/derivatives/delete-stored-file.js +1 -1
- package/dist/derivatives/index.d.ts +2 -5
- package/dist/derivatives/index.js +2 -3
- package/dist/engine/access.d.ts +2 -1
- package/dist/engine/access.js +1 -1
- package/dist/engine/boot-validator/entity-handler.d.ts +2 -1
- package/dist/engine/boot-validator/entity-handler.js +1 -1
- package/dist/engine/boot-validator/entity-list-aggregate-options.d.ts +1 -1
- package/dist/engine/boot-validator/list-table-aggregate-options.d.ts +1 -1
- package/dist/engine/boot-validator/list-table-aggregate-query.d.ts +2 -1
- package/dist/engine/boot-validator/nav.d.ts +3 -1
- package/dist/engine/boot-validator/nav.js +1 -1
- package/dist/engine/boot-validator/ownership.d.ts +2 -1
- package/dist/engine/boot-validator/parent-ref.d.ts +2 -1
- package/dist/engine/boot-validator/projection-list-screens.d.ts +2 -1
- package/dist/engine/boot-validator/query-refs.d.ts +2 -1
- package/dist/engine/boot-validator/screens-forms.d.ts +2 -1
- package/dist/engine/boot-validator/screens-kind-shared.d.ts +3 -1
- package/dist/engine/boot-validator/screens.d.ts +2 -1
- package/dist/engine/boot-validator/workspaces.d.ts +3 -1
- package/dist/engine/bridge-stub.d.ts +5 -2
- package/dist/engine/bridge-stub.js +39 -24
- package/dist/engine/config-helpers.d.ts +2 -2
- package/dist/engine/config-helpers.js +0 -9
- package/dist/engine/constants.d.ts +0 -10
- package/dist/engine/constants.js +0 -8
- package/dist/engine/create-app.js +1 -1
- package/dist/engine/define-feature.d.ts +2 -1
- package/dist/engine/define-feature.js +1 -2
- package/dist/engine/define-handler.d.ts +1 -1
- package/dist/engine/define-step.d.ts +0 -1
- package/dist/engine/define-step.js +0 -3
- package/dist/engine/embedded-derived.d.ts +1 -1
- package/dist/engine/entity-handlers.d.ts +2 -1
- package/dist/engine/entity-handlers.js +7 -7
- package/dist/engine/entity-list-runtime-options.js +3 -1
- package/dist/engine/entity-list-searchability.d.ts +2 -1
- package/dist/engine/event-def.d.ts +2 -1
- package/dist/engine/event-helpers.d.ts +3 -1
- package/dist/engine/event-helpers.js +3 -3
- package/dist/engine/extension-names.d.ts +2 -8
- package/dist/engine/extension-names.js +2 -2
- package/dist/engine/extension-selector-plugins.d.ts +1 -1
- package/dist/engine/extensions/storage-provider.d.ts +1 -2
- package/dist/engine/extensions/user-data.d.ts +0 -8
- package/dist/engine/factories.d.ts +2 -1
- package/dist/engine/feature-builder-state.d.ts +8 -1
- package/dist/engine/feature-changelog.d.ts +1 -1
- package/dist/engine/feature-config-events-jobs.d.ts +4 -1
- package/dist/engine/feature-entity-handlers.d.ts +5 -1
- package/dist/engine/feature-manifest.js +1 -1
- package/dist/engine/feature-ui-extensions.d.ts +7 -1
- package/dist/engine/feature-ui-extensions.js +6 -4
- package/dist/engine/field-access.d.ts +2 -1
- package/dist/engine/handler-field-references.d.ts +0 -4
- package/dist/engine/index.d.ts +57 -54
- package/dist/engine/index.js +22 -27
- package/dist/engine/instruction-fields.d.ts +1 -1
- package/dist/engine/personal-data-fields.d.ts +1 -1
- package/dist/engine/qualified-name.d.ts +0 -1
- package/dist/engine/read-claim.d.ts +2 -1
- package/dist/engine/registry-facade.js +0 -3
- package/dist/engine/registry-ingest.d.ts +2 -1
- package/dist/engine/registry-ingest.js +1 -2
- package/dist/engine/registry-state.d.ts +12 -2
- package/dist/engine/registry-state.js +2 -3
- package/dist/engine/registry-validate.d.ts +3 -1
- package/dist/engine/registry-validate.js +7 -7
- package/dist/engine/run-in.d.ts +1 -1
- package/dist/engine/run-in.js +0 -1
- package/dist/engine/schema-builder.d.ts +1 -1
- package/dist/engine/schema-builder.js +1 -1
- package/dist/engine/screen-filter-ops.d.ts +2 -1
- package/dist/engine/screen-filter-ops.js +0 -5
- package/dist/engine/soft-delete-cleanup.d.ts +1 -1
- package/dist/engine/soft-delete-cleanup.js +4 -4
- package/dist/engine/state-machine.js +2 -1
- package/dist/engine/steps/_read-source.js +1 -1
- package/dist/engine/steps/aggregate-append-event.js +2 -2
- package/dist/engine/steps/call-feature.js +2 -2
- package/dist/engine/steps/mail-send.js +1 -1
- package/dist/engine/steps/retry.js +1 -1
- package/dist/engine/steps/wait-for-event.js +1 -1
- package/dist/engine/steps/wait.js +1 -1
- package/dist/engine/steps/webhook-send.js +1 -1
- package/dist/engine/template-variables.d.ts +2 -1
- package/dist/engine/transfer-adjacency.d.ts +1 -1
- package/dist/engine/types/index.d.ts +8 -31
- package/dist/engine/types/index.js +2 -10
- package/dist/engine/validation.d.ts +2 -1
- package/dist/entrypoint/index.d.ts +7 -35
- package/dist/entrypoint/index.js +7 -1
- package/dist/entrypoint/internals.d.ts +40 -0
- package/dist/entrypoint/internals.js +1 -0
- package/dist/entrypoint/row-level-security-mode-check.d.ts +3 -0
- package/dist/entrypoint/row-level-security-mode-check.js +19 -0
- package/dist/env/dry-run-internals.d.ts +10 -0
- package/dist/env/dry-run-internals.js +1 -0
- package/dist/env/dry-run.d.ts +1 -10
- package/dist/env/dry-run.js +2 -1
- package/dist/env/index.d.ts +1 -85
- package/dist/env/index.js +6 -50
- package/dist/env/internals.d.ts +87 -0
- package/dist/env/internals.js +53 -0
- package/dist/errors/classes.js +2 -2
- package/dist/errors/index.d.ts +5 -14
- package/dist/errors/index.js +4 -9
- package/dist/errors/member-resolution.js +1 -1
- package/dist/errors/reasons.d.ts +0 -1
- package/dist/errors/reasons.js +7 -7
- package/dist/errors/serialize.d.ts +0 -18
- package/dist/errors/serialize.js +0 -27
- package/dist/es-ops/index.d.ts +4 -4
- package/dist/es-ops/index.js +2 -2
- package/dist/es-ops/operations-schema.d.ts +1 -1
- package/dist/es-ops/types.d.ts +4 -5
- package/dist/event-store/admin-api-internals.d.ts +14 -0
- package/dist/event-store/admin-api-internals.js +1 -0
- package/dist/event-store/admin-api.d.ts +1 -14
- package/dist/event-store/admin-api.js +11 -6
- package/dist/event-store/archive.js +4 -2
- package/dist/event-store/errors.js +2 -2
- package/dist/event-store/event-store.js +41 -34
- package/dist/event-store/events-schema.js +4 -1
- package/dist/event-store/index.d.ts +11 -13
- package/dist/event-store/index.js +7 -9
- package/dist/event-store/rebuild-dead-letter.js +4 -2
- package/dist/event-store/snapshot.js +4 -3
- package/dist/event-store/stream-scope.d.ts +2 -0
- package/dist/event-store/stream-scope.js +6 -0
- package/dist/event-store/upcaster-dead-letter.js +4 -2
- package/dist/event-store/upcaster.d.ts +2 -1
- package/dist/files/action-form-upload.d.ts +2 -1
- package/dist/files/action-form-upload.js +1 -1
- package/dist/files/assert-file-refs-belong-to-tenant.d.ts +2 -1
- package/dist/files/assert-file-refs-belong-to-tenant.js +1 -1
- package/dist/files/bind-pending-file-refs.d.ts +2 -1
- package/dist/files/bind-pending-file-refs.js +2 -1
- package/dist/files/bind-referenced-files.write.js +1 -1
- package/dist/files/create-file-ref-from-bytes.d.ts +6 -3
- package/dist/files/create-file-ref-from-bytes.js +3 -3
- package/dist/files/create-file-ref.d.ts +3 -2
- package/dist/files/create-file-ref.js +2 -2
- package/dist/files/dispose-removed-file-refs.d.ts +2 -1
- package/dist/files/dispose-removed-file-refs.js +1 -1
- package/dist/files/feature.js +2 -2
- package/dist/files/file-handle.js +1 -1
- package/dist/files/file-routes.d.ts +1 -1
- package/dist/files/file-routes.js +12 -2
- package/dist/files/index.d.ts +11 -13
- package/dist/files/index.js +5 -7
- package/dist/files/load-save-file-refs.d.ts +2 -1
- package/dist/files/load-save-file-refs.js +1 -1
- package/dist/files/provider-resolver.d.ts +5 -4
- package/dist/files/provider-resolver.js +4 -4
- package/dist/files/storage-tracking.js +4 -2
- package/dist/files/sweep-orphaned-uploads.d.ts +1 -1
- package/dist/files/sweep-orphaned-uploads.js +1 -1
- package/dist/i18n/index.d.ts +2 -8
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/internals.d.ts +7 -0
- package/dist/i18n/internals.js +1 -0
- package/dist/i18n/required-surface-keys.d.ts +4 -1
- package/dist/internal/row-level-security.d.ts +3 -0
- package/dist/internal/row-level-security.js +3 -0
- package/dist/internal/stack-support.d.ts +1 -1
- package/dist/internal/stack-support.js +1 -1
- package/dist/internal/testing.d.ts +1 -0
- package/dist/internal/testing.js +9 -5
- package/dist/jobs/index.d.ts +1 -1
- package/dist/jobs/job-append-event.d.ts +12 -0
- package/dist/jobs/job-append-event.js +30 -0
- package/dist/jobs/job-runner-context.d.ts +2 -2
- package/dist/jobs/job-runner-context.js +46 -16
- package/dist/jobs/job-runner-execution.d.ts +1 -1
- package/dist/jobs/job-runner-execution.js +6 -4
- package/dist/jobs/job-runner-gates.d.ts +1 -1
- package/dist/jobs/job-runner-gates.js +0 -1
- package/dist/jobs/job-runner-helpers.d.ts +11 -4
- package/dist/jobs/job-runner-helpers.js +10 -1
- package/dist/jobs/job-runner-scope.d.ts +5 -2
- package/dist/jobs/job-runner-types.d.ts +2 -1
- package/dist/jobs/job-runner.js +19 -6
- package/dist/jobs/max-per-tenant.d.ts +1 -1
- package/dist/logging/index.d.ts +1 -2
- package/dist/logging/index.js +1 -1
- package/dist/logging/pino-logger.js +1 -1
- package/dist/logging/utils.d.ts +1 -0
- package/dist/logging/utils.js +6 -0
- package/dist/migrations/index.d.ts +3 -3
- package/dist/migrations/index.js +3 -3
- package/dist/migrations/pending-rebuilds.d.ts +1 -1
- package/dist/migrations/pending-rebuilds.js +1 -1
- package/dist/migrations/pii-event-backfill.js +4 -1
- package/dist/observability/escape-hatch-report.d.ts +2 -1
- package/dist/observability/index.d.ts +7 -15
- package/dist/observability/index.js +4 -12
- package/dist/observability/metric-validator.js +1 -1
- package/dist/observability/metrics-handle.d.ts +0 -1
- package/dist/observability/metrics-handle.js +2 -15
- package/dist/observability/recording-tracer.d.ts +1 -2
- package/dist/observability/recording-tracer.js +0 -6
- package/dist/observability/sensitive-filter.d.ts +0 -2
- package/dist/observability/sensitive-filter.js +0 -29
- package/dist/pipeline/active-membership.d.ts +2 -1
- package/dist/pipeline/active-membership.js +6 -2
- package/dist/pipeline/append-event-core.d.ts +2 -1
- package/dist/pipeline/append-event-core.js +2 -2
- package/dist/pipeline/attach-outside-transaction.d.ts +3 -0
- package/dist/pipeline/attach-outside-transaction.js +13 -0
- package/dist/pipeline/auth-claims-resolver.d.ts +2 -1
- package/dist/pipeline/cascade-handler.d.ts +2 -1
- package/dist/pipeline/cascade-handler.js +3 -2
- package/dist/pipeline/config-accessor-factory.d.ts +1 -1
- package/dist/pipeline/config-accessor-factory.js +1 -1
- package/dist/pipeline/context-services.d.ts +56 -0
- package/dist/pipeline/context-services.js +73 -0
- package/dist/pipeline/dispatch-batch.d.ts +2 -1
- package/dist/pipeline/dispatch-batch.js +31 -18
- package/dist/pipeline/dispatch-query.js +5 -4
- package/dist/pipeline/dispatch-scope.d.ts +6 -0
- package/dist/pipeline/dispatch-scope.js +27 -0
- package/dist/pipeline/dispatch-shared.d.ts +13 -9
- package/dist/pipeline/dispatch-shared.js +75 -198
- package/dist/pipeline/dispatch-stream.js +8 -4
- package/dist/pipeline/dispatch-write.d.ts +2 -1
- package/dist/pipeline/dispatch-write.js +10 -8
- package/dist/pipeline/dispatcher-utils.d.ts +3 -1
- package/dist/pipeline/dispatcher-utils.js +8 -2
- package/dist/pipeline/dispatcher.d.ts +3 -2
- package/dist/pipeline/dispatcher.js +4 -3
- package/dist/pipeline/event-consumer-state.d.ts +0 -1
- package/dist/pipeline/event-dispatcher-delivery.d.ts +1 -1
- package/dist/pipeline/event-dispatcher-delivery.js +4 -2
- package/dist/pipeline/event-dispatcher.d.ts +2 -2
- package/dist/pipeline/event-dispatcher.js +7 -3
- package/dist/pipeline/event-retention.js +59 -56
- package/dist/pipeline/handler-access-error.js +2 -1
- package/dist/pipeline/handler-context-auth.d.ts +5 -6
- package/dist/pipeline/handler-context-auth.js +7 -4
- package/dist/pipeline/handler-context-config.d.ts +2 -5
- package/dist/pipeline/handler-context-config.js +2 -2
- package/dist/pipeline/handler-context-db.d.ts +32 -7
- package/dist/pipeline/handler-context-db.js +26 -17
- package/dist/pipeline/handler-context-dispatch.d.ts +13 -7
- package/dist/pipeline/handler-context-dispatch.js +9 -8
- package/dist/pipeline/handler-context-events.d.ts +22 -36
- package/dist/pipeline/handler-context-events.js +36 -31
- package/dist/pipeline/handler-context-member-resolution.d.ts +2 -0
- package/dist/pipeline/handler-context-member-resolution.js +110 -0
- package/dist/pipeline/handler-context-notify.d.ts +3 -2
- package/dist/pipeline/handler-context-notify.js +1 -1
- package/dist/pipeline/handler-context-observability.d.ts +2 -4
- package/dist/pipeline/handler-context-observability.js +7 -5
- package/dist/pipeline/handler-context-phase-denials.d.ts +11 -0
- package/dist/pipeline/handler-context-phase-denials.js +98 -0
- package/dist/pipeline/handler-context-scope.d.ts +7 -10
- package/dist/pipeline/handler-context-scope.js +18 -20
- package/dist/pipeline/index.d.ts +9 -21
- package/dist/pipeline/index.js +5 -7
- package/dist/pipeline/irreversible-operation-gate.d.ts +1 -1
- package/dist/pipeline/irreversible-operation-gate.js +2 -2
- package/dist/pipeline/lifecycle-pipeline.d.ts +8 -7
- package/dist/pipeline/lifecycle-pipeline.js +9 -15
- package/dist/pipeline/member-read-only-transaction.js +11 -3
- package/dist/pipeline/member-reader.d.ts +1 -1
- package/dist/pipeline/member-reader.js +2 -2
- package/dist/pipeline/msp-rebuild.js +5 -3
- package/dist/pipeline/multi-stream-apply-context.js +3 -2
- package/dist/pipeline/notify-scope.d.ts +2 -1
- package/dist/pipeline/pre-handler-gates.d.ts +2 -1
- package/dist/pipeline/pre-transaction-reservations.d.ts +3 -3
- package/dist/pipeline/pre-transaction-reservations.js +9 -7
- package/dist/pipeline/projection-rebuild.js +12 -5
- package/dist/pipeline/projection-state.d.ts +0 -6
- package/dist/pipeline/projection-state.js +0 -5
- package/dist/pipeline/projections-runner.d.ts +2 -1
- package/dist/pipeline/projections-runner.js +10 -6
- package/dist/pipeline/system-hooks.d.ts +3 -1
- package/dist/pipeline/system-hooks.js +6 -4
- package/dist/pipeline/system-identity-switch.d.ts +4 -2
- package/dist/pipeline/system-identity-switch.js +51 -36
- package/dist/pipeline/typed-append-event.d.ts +2 -0
- package/dist/pipeline/typed-append-event.js +4 -0
- package/dist/pipeline/write-origin.js +2 -2
- package/dist/pipeline/write-result-masking.d.ts +1 -1
- package/dist/random/index.d.ts +1 -2
- package/dist/random/index.js +1 -2
- package/dist/rate-limit/bucket.d.ts +2 -1
- package/dist/rate-limit/middleware.js +2 -1
- package/dist/redis/index.d.ts +3 -4
- package/dist/redis/index.js +2 -2
- package/dist/schema-cli/apply-command.js +5 -2
- package/dist/schema-cli/baseline-command.js +7 -2
- package/dist/schema-cli/generate-command.js +7 -9
- package/dist/schema-cli/shared.d.ts +12 -2
- package/dist/schema-cli/shared.js +24 -2
- package/dist/schema-cli/status-command.js +8 -2
- package/dist/schema-cli/validate-command.js +48 -4
- package/dist/schema-cli.d.ts +0 -1
- package/dist/search/configure-tenant-index.d.ts +1 -3
- package/dist/search/configure-tenant-index.js +0 -4
- package/dist/search/index.d.ts +1 -4
- package/dist/search/index.js +0 -2
- package/dist/search/meilisearch-adapter-internals.d.ts +8 -0
- package/dist/search/meilisearch-adapter-internals.js +9 -0
- package/dist/search/meilisearch-adapter.d.ts +1 -8
- package/dist/search/meilisearch-adapter.js +6 -7
- package/dist/search/meilisearch-peer.d.ts +2 -0
- package/dist/search/meilisearch-peer.js +5 -0
- package/dist/search/reindex-entity.js +93 -87
- package/dist/secrets/index.d.ts +3 -4
- package/dist/secrets/index.js +2 -3
- package/dist/seeding/index.d.ts +2 -2
- package/dist/seeding/index.js +1 -2
- package/dist/time/index.d.ts +2 -2
- package/dist/time/index.js +1 -1
- package/dist/time/tz-context.d.ts +0 -5
- package/dist/time/tz-context.js +0 -9
- package/dist/ui-types/index.d.ts +8 -11
- package/dist/ui-types/index.js +3 -3
- package/dist/upgrade-changelog.d.ts +3 -2
- package/dist/upgrade-changelog.js +12 -8
- package/dist/upgrade-cli-internals.d.ts +8 -0
- package/dist/upgrade-cli-internals.js +63 -0
- package/dist/upgrade-cli.d.ts +2 -9
- package/dist/upgrade-cli.js +28 -70
- package/dist/utils/import-optional-peer.d.ts +6 -0
- package/dist/utils/import-optional-peer.js +19 -0
- package/dist/utils/index.d.ts +1 -4
- package/dist/utils/index.js +1 -4
- package/package.json +23 -19
- package/src/changes.json +236 -0
- package/dist/crypto/request-kms-cache.d.ts +0 -8
- package/dist/crypto/request-kms-cache.js +0 -21
- package/dist/engine/codemod/index.d.ts +0 -2
- package/dist/engine/codemod/index.js +0 -1
- package/dist/engine/codemod/pipeline-codemod.d.ts +0 -50
- package/dist/engine/codemod/pipeline-codemod.js +0 -536
- package/dist/engine/feature-ast/entity-field-types.d.ts +0 -13
- package/dist/engine/feature-ast/entity-field-types.js +0 -35
- package/dist/engine/feature-ast/extractors/ai-steps.d.ts +0 -6
- package/dist/engine/feature-ast/extractors/ai-steps.js +0 -254
- package/dist/engine/feature-ast/extractors/events.d.ts +0 -5
- package/dist/engine/feature-ast/extractors/events.js +0 -275
- package/dist/engine/feature-ast/extractors/handlers.d.ts +0 -24
- package/dist/engine/feature-ast/extractors/handlers.js +0 -358
- package/dist/engine/feature-ast/extractors/hooks.d.ts +0 -24
- package/dist/engine/feature-ast/extractors/hooks.js +0 -248
- package/dist/engine/feature-ast/extractors/index.d.ts +0 -14
- package/dist/engine/feature-ast/extractors/index.js +0 -13
- package/dist/engine/feature-ast/extractors/jobs-routes.d.ts +0 -7
- package/dist/engine/feature-ast/extractors/jobs-routes.js +0 -145
- package/dist/engine/feature-ast/extractors/projections-screens.d.ts +0 -10
- package/dist/engine/feature-ast/extractors/projections-screens.js +0 -195
- package/dist/engine/feature-ast/extractors/resolve-import.d.ts +0 -21
- package/dist/engine/feature-ast/extractors/resolve-import.js +0 -180
- package/dist/engine/feature-ast/extractors/round1.d.ts +0 -11
- package/dist/engine/feature-ast/extractors/round1.js +0 -87
- package/dist/engine/feature-ast/extractors/round2.d.ts +0 -7
- package/dist/engine/feature-ast/extractors/round2.js +0 -191
- package/dist/engine/feature-ast/extractors/round3.d.ts +0 -23
- package/dist/engine/feature-ast/extractors/round3.js +0 -292
- package/dist/engine/feature-ast/extractors/round5.d.ts +0 -9
- package/dist/engine/feature-ast/extractors/round5.js +0 -68
- package/dist/engine/feature-ast/extractors/round6.d.ts +0 -4
- package/dist/engine/feature-ast/extractors/round6.js +0 -17
- package/dist/engine/feature-ast/extractors/shared.d.ts +0 -94
- package/dist/engine/feature-ast/extractors/shared.js +0 -343
- package/dist/engine/feature-ast/index.d.ts +0 -16
- package/dist/engine/feature-ast/index.js +0 -10
- package/dist/engine/feature-ast/parse.d.ts +0 -31
- package/dist/engine/feature-ast/parse.js +0 -485
- package/dist/engine/feature-ast/patch.d.ts +0 -212
- package/dist/engine/feature-ast/patch.js +0 -611
- package/dist/engine/feature-ast/patcher.d.ts +0 -217
- package/dist/engine/feature-ast/patcher.js +0 -281
- package/dist/engine/feature-ast/pattern-change-schema.d.ts +0 -1238
- package/dist/engine/feature-ast/pattern-change-schema.js +0 -1072
- package/dist/engine/feature-ast/pattern-id-matchers.d.ts +0 -7
- package/dist/engine/feature-ast/pattern-id-matchers.js +0 -211
- package/dist/engine/feature-ast/pattern-id-schema.d.ts +0 -251
- package/dist/engine/feature-ast/pattern-id-schema.js +0 -166
- package/dist/engine/feature-ast/patterns.d.ts +0 -322
- package/dist/engine/feature-ast/patterns.js +0 -107
- package/dist/engine/feature-ast/render.d.ts +0 -47
- package/dist/engine/feature-ast/render.js +0 -666
- package/dist/engine/feature-ast/source-location.d.ts +0 -17
- package/dist/engine/feature-ast/source-location.js +0 -27
- package/dist/engine/pattern-library/index.d.ts +0 -2
- package/dist/engine/pattern-library/index.js +0 -3
- package/dist/engine/pattern-library/library.d.ts +0 -14
- package/dist/engine/pattern-library/library.js +0 -94
- package/dist/engine/pattern-library/mixed-schemas.d.ts +0 -16
- package/dist/engine/pattern-library/mixed-schemas.js +0 -559
- package/dist/engine/pattern-library/opaque-schemas.d.ts +0 -7
- package/dist/engine/pattern-library/opaque-schemas.js +0 -115
- package/dist/engine/pattern-library/shared-fields.d.ts +0 -122
- package/dist/engine/pattern-library/shared-fields.js +0 -88
- package/dist/engine/pattern-library/static-schemas.d.ts +0 -21
- package/dist/engine/pattern-library/static-schemas.js +0 -487
- package/dist/engine/pattern-library/types.d.ts +0 -158
- package/dist/engine/pattern-library/types.js +0 -36
- package/dist/engine/resolve-config-or-param.d.ts +0 -18
- package/dist/engine/resolve-config-or-param.js +0 -76
- package/src/scripts/codemod/README.md +0 -187
- package/src/scripts/codemod/codemod-support.ts +0 -334
- package/src/scripts/codemod/collect-source-files.ts +0 -48
- package/src/scripts/codemod/crypto-shredding-testing-move.ts +0 -119
- package/src/scripts/codemod/db-factory.ts +0 -810
- package/src/scripts/codemod/feature-factory.ts +0 -429
- package/src/scripts/codemod/feature-layout.ts +0 -424
- package/src/scripts/codemod/import-extensions.ts +0 -118
- package/src/scripts/codemod/migrate-cross-tenant.ts +0 -328
- package/src/scripts/codemod/migrate-db-raw.ts +0 -401
- package/src/scripts/codemod/migrate-open-to-all.ts +0 -235
- package/src/scripts/codemod/object-form.ts +0 -746
- package/src/scripts/codemod/package-merge.ts +0 -299
- package/src/scripts/codemod/pii-personal-migration.ts +0 -816
- package/src/scripts/codemod/remove-engine-payload-casts.ts +0 -318
- package/src/scripts/codemod/s3-imports.ts +0 -236
- package/src/scripts/codemod/tenant-db-options.ts +0 -454
- package/src/scripts/codemod/testing-injection.ts +0 -215
- package/src/scripts/codemod/testing-move-targets.ts +0 -161
- package/src/scripts/codemod/testing-move.ts +0 -542
- package/src/scripts/codemod/unprocessable-error-details-reason.ts +0 -411
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
import type { SourceFile } from "ts-morph";
|
|
2
|
-
import type { LifecycleHookType } from "../constants.ts";
|
|
3
|
-
import type { ConfigKeyDefinition, ConfigKeyType, JobDefinition, RunIn, TranslationKeys } from "../types/config.ts";
|
|
4
|
-
import type { MetricOptions, SecretNamespaceOptions, SecretOptions } from "../types/feature.ts";
|
|
5
|
-
import type { EntityDefinition } from "../types/fields.ts";
|
|
6
|
-
import type { AccessRule, ClaimKeyType, EscapeHatchDeclaration, RateLimitOption } from "../types/handlers.ts";
|
|
7
|
-
import type { HookPhase } from "../types/hooks.ts";
|
|
8
|
-
import type { HttpRouteMethod } from "../types/http-route.ts";
|
|
9
|
-
import type { NavDefinition } from "../types/nav.ts";
|
|
10
|
-
import type { MspErrorMode } from "../types/projection.ts";
|
|
11
|
-
import type { RelationDefinition } from "../types/relations.ts";
|
|
12
|
-
import type { ScreenDefinition } from "../types/screen.ts";
|
|
13
|
-
import type { WorkspaceDefinition } from "../types/workspace.ts";
|
|
14
|
-
import { type PatternChange, type PatternId } from "./patch.ts";
|
|
15
|
-
import type { FeaturePattern } from "./patterns.ts";
|
|
16
|
-
import type { SourceLocation } from "./source-location.ts";
|
|
17
|
-
export declare const SYNTHETIC_LOC: SourceLocation;
|
|
18
|
-
export declare function rawLoc(raw: string): SourceLocation;
|
|
19
|
-
export type AddEntityArgs = {
|
|
20
|
-
readonly name: string;
|
|
21
|
-
readonly definition: EntityDefinition;
|
|
22
|
-
};
|
|
23
|
-
export type AddRelationArgs = {
|
|
24
|
-
readonly entity: string;
|
|
25
|
-
readonly name: string;
|
|
26
|
-
readonly definition: RelationDefinition;
|
|
27
|
-
};
|
|
28
|
-
export type AddWriteHandlerArgs = {
|
|
29
|
-
readonly name: string;
|
|
30
|
-
/** Source text of the Zod schema, e.g. `"z.object({ title: z.string() })"`. */
|
|
31
|
-
readonly schemaSource: string;
|
|
32
|
-
/** Source text of the handler closure, e.g. `"async (event, ctx) => { ... }"`. */
|
|
33
|
-
readonly handlerSource: string;
|
|
34
|
-
readonly access?: AccessRule;
|
|
35
|
-
readonly rateLimit?: RateLimitOption;
|
|
36
|
-
readonly unsafeSkipTransitionGuard?: boolean;
|
|
37
|
-
readonly escapeHatch?: EscapeHatchDeclaration;
|
|
38
|
-
};
|
|
39
|
-
export type AddQueryHandlerArgs = {
|
|
40
|
-
readonly name: string;
|
|
41
|
-
readonly schemaSource: string;
|
|
42
|
-
readonly handlerSource: string;
|
|
43
|
-
readonly access?: AccessRule;
|
|
44
|
-
readonly rateLimit?: RateLimitOption;
|
|
45
|
-
readonly escapeHatch?: EscapeHatchDeclaration;
|
|
46
|
-
};
|
|
47
|
-
export type AddStreamHandlerArgs = {
|
|
48
|
-
readonly name: string;
|
|
49
|
-
readonly schemaSource: string;
|
|
50
|
-
readonly handlerSource: string;
|
|
51
|
-
readonly access?: AccessRule;
|
|
52
|
-
readonly rateLimit?: RateLimitOption;
|
|
53
|
-
readonly escapeHatch?: EscapeHatchDeclaration;
|
|
54
|
-
};
|
|
55
|
-
export type AddHookArgs = {
|
|
56
|
-
readonly type: LifecycleHookType | "validation";
|
|
57
|
-
readonly target: string | readonly string[] | {
|
|
58
|
-
readonly allOf: string;
|
|
59
|
-
};
|
|
60
|
-
/** Source text of the closure, e.g. `"async (event, ctx) => { ... }"`. */
|
|
61
|
-
readonly handlerSource: string;
|
|
62
|
-
readonly phase?: HookPhase;
|
|
63
|
-
readonly escapeHatch?: EscapeHatchDeclaration;
|
|
64
|
-
};
|
|
65
|
-
export type AddJobArgs = {
|
|
66
|
-
readonly name: string;
|
|
67
|
-
readonly options: Omit<JobDefinition, "name" | "handler">;
|
|
68
|
-
readonly handlerSource: string;
|
|
69
|
-
};
|
|
70
|
-
export type AddNotificationArgs = {
|
|
71
|
-
readonly name: string;
|
|
72
|
-
readonly trigger?: {
|
|
73
|
-
readonly on: string;
|
|
74
|
-
};
|
|
75
|
-
readonly recipientSource?: string;
|
|
76
|
-
readonly dataSource?: string;
|
|
77
|
-
readonly templates?: Readonly<Record<string, string>>;
|
|
78
|
-
};
|
|
79
|
-
export type AddHttpRouteArgs = {
|
|
80
|
-
readonly method: HttpRouteMethod;
|
|
81
|
-
readonly path: string;
|
|
82
|
-
readonly handlerSource: string;
|
|
83
|
-
readonly anonymous: boolean;
|
|
84
|
-
};
|
|
85
|
-
export type AddDefineEventArgs = {
|
|
86
|
-
readonly name: string;
|
|
87
|
-
readonly schemaSource: string;
|
|
88
|
-
readonly piiFieldsSource: string;
|
|
89
|
-
readonly version?: number;
|
|
90
|
-
readonly migrations?: Readonly<Record<string, string>>;
|
|
91
|
-
};
|
|
92
|
-
export type AddProjectionArgs = {
|
|
93
|
-
readonly name: string;
|
|
94
|
-
readonly sourceEntity: string | readonly string[];
|
|
95
|
-
/** Map of event-type → closure source for the apply handler. */
|
|
96
|
-
readonly applySources: Readonly<Record<string, string>>;
|
|
97
|
-
};
|
|
98
|
-
export type AddMultiStreamProjectionArgs = {
|
|
99
|
-
readonly name: string;
|
|
100
|
-
readonly applySources: Readonly<Record<string, string>>;
|
|
101
|
-
readonly errorMode?: MspErrorMode;
|
|
102
|
-
readonly runIn?: RunIn;
|
|
103
|
-
readonly delivery?: "shared" | "per-instance";
|
|
104
|
-
};
|
|
105
|
-
export type AddReferenceDataArgs = {
|
|
106
|
-
readonly entity: string;
|
|
107
|
-
readonly data: readonly Record<string, unknown>[];
|
|
108
|
-
readonly upsertKey?: string;
|
|
109
|
-
};
|
|
110
|
-
export type AddMetricArgs = {
|
|
111
|
-
readonly name: string;
|
|
112
|
-
readonly options: MetricOptions;
|
|
113
|
-
};
|
|
114
|
-
export type AddSecretArgs = {
|
|
115
|
-
readonly name: string;
|
|
116
|
-
readonly options: SecretOptions;
|
|
117
|
-
};
|
|
118
|
-
export type AddSecretNamespaceArgs = {
|
|
119
|
-
readonly name: string;
|
|
120
|
-
readonly options: SecretNamespaceOptions;
|
|
121
|
-
};
|
|
122
|
-
export type AddClaimKeyArgs = {
|
|
123
|
-
readonly name: string;
|
|
124
|
-
readonly type: ClaimKeyType;
|
|
125
|
-
};
|
|
126
|
-
export type AddUseExtensionArgs = {
|
|
127
|
-
readonly extension: string;
|
|
128
|
-
readonly entity: string;
|
|
129
|
-
readonly options?: Readonly<Record<string, unknown>>;
|
|
130
|
-
};
|
|
131
|
-
export type AddScreenArgs = {
|
|
132
|
-
readonly definition: ScreenDefinition;
|
|
133
|
-
/** Source spans for each closure-typed sub-property; keyed by JSON-path
|
|
134
|
-
* inside the definition (e.g. `"rowActions.0.visible"`). Each entry's
|
|
135
|
-
* raw is the closure source the renderer will splice in. */
|
|
136
|
-
readonly opaqueSources?: Readonly<Record<string, string>>;
|
|
137
|
-
};
|
|
138
|
-
export type AddRequiresArgs = {
|
|
139
|
-
readonly features: readonly string[];
|
|
140
|
-
};
|
|
141
|
-
export type AddOptionalRequiresArgs = {
|
|
142
|
-
readonly features: readonly string[];
|
|
143
|
-
};
|
|
144
|
-
export type AddReadsConfigArgs = {
|
|
145
|
-
readonly keys: readonly string[];
|
|
146
|
-
};
|
|
147
|
-
export type AddToggleableArgs = {
|
|
148
|
-
readonly default: boolean;
|
|
149
|
-
};
|
|
150
|
-
export type AddDescribeArgs = {
|
|
151
|
-
readonly text: string;
|
|
152
|
-
};
|
|
153
|
-
export type AddNavArgs = {
|
|
154
|
-
readonly definition: NavDefinition;
|
|
155
|
-
};
|
|
156
|
-
export type AddWorkspaceArgs = {
|
|
157
|
-
readonly definition: WorkspaceDefinition;
|
|
158
|
-
};
|
|
159
|
-
export type AddConfigArgs = {
|
|
160
|
-
readonly keys: Readonly<Record<string, ConfigKeyDefinition<ConfigKeyType>>>;
|
|
161
|
-
};
|
|
162
|
-
export type AddTranslationsArgs = {
|
|
163
|
-
readonly keys: TranslationKeys;
|
|
164
|
-
};
|
|
165
|
-
export type AddAuthClaimsArgs = {
|
|
166
|
-
/** Source text of the claims handler closure. */
|
|
167
|
-
readonly handlerSource: string;
|
|
168
|
-
};
|
|
169
|
-
export type FeaturePatcher = {
|
|
170
|
-
readonly addRequires: (args: AddRequiresArgs) => void;
|
|
171
|
-
readonly addOptionalRequires: (args: AddOptionalRequiresArgs) => void;
|
|
172
|
-
readonly addReadsConfig: (args: AddReadsConfigArgs) => void;
|
|
173
|
-
readonly addSystemScope: () => void;
|
|
174
|
-
readonly addToggleable: (args: AddToggleableArgs) => void;
|
|
175
|
-
readonly addDescribe: (args: AddDescribeArgs) => void;
|
|
176
|
-
readonly addEntity: (args: AddEntityArgs) => void;
|
|
177
|
-
readonly addRelation: (args: AddRelationArgs) => void;
|
|
178
|
-
readonly addNav: (args: AddNavArgs) => void;
|
|
179
|
-
readonly addWorkspace: (args: AddWorkspaceArgs) => void;
|
|
180
|
-
readonly addConfig: (args: AddConfigArgs) => void;
|
|
181
|
-
readonly addTranslations: (args: AddTranslationsArgs) => void;
|
|
182
|
-
readonly addMetric: (args: AddMetricArgs) => void;
|
|
183
|
-
readonly addSecret: (args: AddSecretArgs) => void;
|
|
184
|
-
readonly addSecretNamespace: (args: AddSecretNamespaceArgs) => void;
|
|
185
|
-
readonly addClaimKey: (args: AddClaimKeyArgs) => void;
|
|
186
|
-
readonly addReferenceData: (args: AddReferenceDataArgs) => void;
|
|
187
|
-
readonly addUseExtension: (args: AddUseExtensionArgs) => void;
|
|
188
|
-
readonly addScreen: (args: AddScreenArgs) => void;
|
|
189
|
-
readonly addWriteHandler: (args: AddWriteHandlerArgs) => void;
|
|
190
|
-
readonly addQueryHandler: (args: AddQueryHandlerArgs) => void;
|
|
191
|
-
readonly addStreamHandler: (args: AddStreamHandlerArgs) => void;
|
|
192
|
-
readonly addHook: (args: AddHookArgs) => void;
|
|
193
|
-
readonly addJob: (args: AddJobArgs) => void;
|
|
194
|
-
readonly addNotification: (args: AddNotificationArgs) => void;
|
|
195
|
-
readonly addAuthClaims: (args: AddAuthClaimsArgs) => void;
|
|
196
|
-
readonly addHttpRoute: (args: AddHttpRouteArgs) => void;
|
|
197
|
-
readonly addProjection: (args: AddProjectionArgs) => void;
|
|
198
|
-
readonly addMultiStreamProjection: (args: AddMultiStreamProjectionArgs) => void;
|
|
199
|
-
readonly addDefineEvent: (args: AddDefineEventArgs) => void;
|
|
200
|
-
readonly replace: (id: PatternId, pattern: FeaturePattern) => void;
|
|
201
|
-
readonly remove: (id: PatternId) => void;
|
|
202
|
-
readonly apply: (changes: readonly PatternChange[]) => void;
|
|
203
|
-
/**
|
|
204
|
-
* Escape hatch — directly add a hand-built pattern. The typed `add{Kind}`
|
|
205
|
-
* methods above cover every pattern in the catalogue and should be the
|
|
206
|
-
* default path; this method exists for migration tools, AST-replay
|
|
207
|
-
* scenarios, and the rare case where a future pattern-kind isn't yet
|
|
208
|
-
* exposed via a typed method.
|
|
209
|
-
*/
|
|
210
|
-
readonly addPattern: (pattern: FeaturePattern) => void;
|
|
211
|
-
};
|
|
212
|
-
/**
|
|
213
|
-
* Build a patcher bound to the given source file. All methods mutate the
|
|
214
|
-
* file in place; saving is the caller's responsibility (e.g. via
|
|
215
|
-
* `sourceFile.saveSync()`).
|
|
216
|
-
*/
|
|
217
|
-
export declare function createFeaturePatcher(sourceFile: SourceFile): FeaturePatcher;
|
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
// FeaturePatcher — imperative typed wrapper around the generic apply API.
|
|
2
|
-
// Each `add{Kind}` method takes the natural arguments for that pattern
|
|
3
|
-
// (no SourceLocation gymnastics, no FeaturePattern hand-crafting) and
|
|
4
|
-
// dispatches through the renderer + addPattern under the hood.
|
|
5
|
-
//
|
|
6
|
-
// **Why this layer exists:**
|
|
7
|
-
// - **AI tool-use**: an LLM-with-tools picks methods by name. `addEntity`
|
|
8
|
-
// with typed args is a 1-shot tool-call; building a FeaturePattern
|
|
9
|
-
// literal in JSON would require teaching the model our internal
|
|
10
|
-
// discriminated-union shape (kind + source + entityName + definition).
|
|
11
|
-
// - **Designer forms**: form-submit handlers map directly to a single
|
|
12
|
-
// `patcher.addX(formData)` call — no intermediary translation step.
|
|
13
|
-
// - **Type narrowing**: each method's TypeScript signature locks the
|
|
14
|
-
// fields the caller must provide; missing required props fail at
|
|
15
|
-
// compile time, not at the parse step downstream.
|
|
16
|
-
//
|
|
17
|
-
// **What stays in the generic API:**
|
|
18
|
-
// - `replace(id, pattern)` / `remove(id)` — symmetric across kinds; the
|
|
19
|
-
// PatternId discriminator already names what to match.
|
|
20
|
-
// - `apply(changes)` — bulk operations, friendlier when the AI emits a
|
|
21
|
-
// change-list as a single JSON array.
|
|
22
|
-
import { addPattern, applyChanges, removePattern, replacePattern, } from "./patch.js";
|
|
23
|
-
// =============================================================================
|
|
24
|
-
// Synthetic SourceLocation — for new patterns that don't have a real file
|
|
25
|
-
// span yet. The renderer only reads `.raw` from body locations (handler/
|
|
26
|
-
// schema/etc.), so for static patterns the synthetic value is a placeholder
|
|
27
|
-
// that never reaches the output.
|
|
28
|
-
// =============================================================================
|
|
29
|
-
export const SYNTHETIC_LOC = {
|
|
30
|
-
file: "<patcher>",
|
|
31
|
-
start: { line: 1, column: 1 },
|
|
32
|
-
end: { line: 1, column: 1 },
|
|
33
|
-
raw: "",
|
|
34
|
-
};
|
|
35
|
-
export function rawLoc(raw) {
|
|
36
|
-
return { ...SYNTHETIC_LOC, raw };
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Build a patcher bound to the given source file. All methods mutate the
|
|
40
|
-
* file in place; saving is the caller's responsibility (e.g. via
|
|
41
|
-
* `sourceFile.saveSync()`).
|
|
42
|
-
*/
|
|
43
|
-
export function createFeaturePatcher(sourceFile) {
|
|
44
|
-
function add(pattern) {
|
|
45
|
-
addPattern(sourceFile, pattern);
|
|
46
|
-
}
|
|
47
|
-
return {
|
|
48
|
-
addRequires({ features }) {
|
|
49
|
-
add({
|
|
50
|
-
kind: "requires",
|
|
51
|
-
source: SYNTHETIC_LOC,
|
|
52
|
-
featureNames: features,
|
|
53
|
-
});
|
|
54
|
-
},
|
|
55
|
-
addOptionalRequires({ features }) {
|
|
56
|
-
add({
|
|
57
|
-
kind: "optionalRequires",
|
|
58
|
-
source: SYNTHETIC_LOC,
|
|
59
|
-
featureNames: features,
|
|
60
|
-
});
|
|
61
|
-
},
|
|
62
|
-
addReadsConfig({ keys }) {
|
|
63
|
-
add({
|
|
64
|
-
kind: "readsConfig",
|
|
65
|
-
source: SYNTHETIC_LOC,
|
|
66
|
-
qualifiedKeys: keys,
|
|
67
|
-
});
|
|
68
|
-
},
|
|
69
|
-
addSystemScope() {
|
|
70
|
-
add({ kind: "systemScope", source: SYNTHETIC_LOC });
|
|
71
|
-
},
|
|
72
|
-
addToggleable({ default: defaultOn }) {
|
|
73
|
-
add({ kind: "toggleable", source: SYNTHETIC_LOC, default: defaultOn });
|
|
74
|
-
},
|
|
75
|
-
addDescribe({ text }) {
|
|
76
|
-
add({ kind: "describe", source: SYNTHETIC_LOC, text });
|
|
77
|
-
},
|
|
78
|
-
addEntity({ name, definition }) {
|
|
79
|
-
add({
|
|
80
|
-
kind: "entity",
|
|
81
|
-
source: SYNTHETIC_LOC,
|
|
82
|
-
entityName: name,
|
|
83
|
-
definition,
|
|
84
|
-
});
|
|
85
|
-
},
|
|
86
|
-
addRelation({ entity, name, definition }) {
|
|
87
|
-
add({
|
|
88
|
-
kind: "relation",
|
|
89
|
-
source: SYNTHETIC_LOC,
|
|
90
|
-
entityName: entity,
|
|
91
|
-
relationName: name,
|
|
92
|
-
definition,
|
|
93
|
-
});
|
|
94
|
-
},
|
|
95
|
-
addNav({ definition }) {
|
|
96
|
-
add({ kind: "nav", source: SYNTHETIC_LOC, definition });
|
|
97
|
-
},
|
|
98
|
-
addWorkspace({ definition }) {
|
|
99
|
-
add({ kind: "workspace", source: SYNTHETIC_LOC, definition });
|
|
100
|
-
},
|
|
101
|
-
addConfig({ keys }) {
|
|
102
|
-
add({ kind: "config", source: SYNTHETIC_LOC, keys });
|
|
103
|
-
},
|
|
104
|
-
addTranslations({ keys }) {
|
|
105
|
-
add({ kind: "translations", source: SYNTHETIC_LOC, keys });
|
|
106
|
-
},
|
|
107
|
-
addMetric({ name, options }) {
|
|
108
|
-
add({ kind: "metric", source: SYNTHETIC_LOC, shortName: name, options });
|
|
109
|
-
},
|
|
110
|
-
addSecret({ name, options }) {
|
|
111
|
-
add({ kind: "secret", source: SYNTHETIC_LOC, shortName: name, options });
|
|
112
|
-
},
|
|
113
|
-
addSecretNamespace({ name, options }) {
|
|
114
|
-
add({ kind: "secretNamespace", source: SYNTHETIC_LOC, shortName: name, options });
|
|
115
|
-
},
|
|
116
|
-
addClaimKey({ name, type }) {
|
|
117
|
-
add({ kind: "claimKey", source: SYNTHETIC_LOC, shortName: name, claimType: type });
|
|
118
|
-
},
|
|
119
|
-
addReferenceData({ entity, data, upsertKey }) {
|
|
120
|
-
add({
|
|
121
|
-
kind: "referenceData",
|
|
122
|
-
source: SYNTHETIC_LOC,
|
|
123
|
-
entityName: entity,
|
|
124
|
-
data,
|
|
125
|
-
...(upsertKey !== undefined && { upsertKey }),
|
|
126
|
-
});
|
|
127
|
-
},
|
|
128
|
-
addUseExtension({ extension, entity, options }) {
|
|
129
|
-
add({
|
|
130
|
-
kind: "useExtension",
|
|
131
|
-
source: SYNTHETIC_LOC,
|
|
132
|
-
extensionName: extension,
|
|
133
|
-
entityName: entity,
|
|
134
|
-
...(options !== undefined && { options }),
|
|
135
|
-
});
|
|
136
|
-
},
|
|
137
|
-
addScreen({ definition, opaqueSources }) {
|
|
138
|
-
const opaqueProps = opaqueSources
|
|
139
|
-
? Object.fromEntries(Object.entries(opaqueSources).map(([k, v]) => [k, rawLoc(v)]))
|
|
140
|
-
: {};
|
|
141
|
-
add({ kind: "screen", source: SYNTHETIC_LOC, definition, opaqueProps });
|
|
142
|
-
},
|
|
143
|
-
addWriteHandler({ name, schemaSource, handlerSource, access, rateLimit, unsafeSkipTransitionGuard, escapeHatch, }) {
|
|
144
|
-
add({
|
|
145
|
-
kind: "writeHandler",
|
|
146
|
-
source: SYNTHETIC_LOC,
|
|
147
|
-
handlerName: name,
|
|
148
|
-
schemaSource: rawLoc(schemaSource),
|
|
149
|
-
handlerBody: rawLoc(handlerSource),
|
|
150
|
-
...(access !== undefined && { access }),
|
|
151
|
-
...(rateLimit !== undefined && { rateLimit }),
|
|
152
|
-
...(unsafeSkipTransitionGuard === true && { unsafeSkipTransitionGuard: true }),
|
|
153
|
-
...(escapeHatch !== undefined && { escapeHatch }),
|
|
154
|
-
});
|
|
155
|
-
},
|
|
156
|
-
addQueryHandler({ name, schemaSource, handlerSource, access, rateLimit, escapeHatch }) {
|
|
157
|
-
add({
|
|
158
|
-
kind: "queryHandler",
|
|
159
|
-
source: SYNTHETIC_LOC,
|
|
160
|
-
handlerName: name,
|
|
161
|
-
schemaSource: rawLoc(schemaSource),
|
|
162
|
-
handlerBody: rawLoc(handlerSource),
|
|
163
|
-
...(access !== undefined && { access }),
|
|
164
|
-
...(rateLimit !== undefined && { rateLimit }),
|
|
165
|
-
...(escapeHatch !== undefined && { escapeHatch }),
|
|
166
|
-
});
|
|
167
|
-
},
|
|
168
|
-
addStreamHandler({ name, schemaSource, handlerSource, access, rateLimit, escapeHatch }) {
|
|
169
|
-
add({
|
|
170
|
-
kind: "streamHandler",
|
|
171
|
-
source: SYNTHETIC_LOC,
|
|
172
|
-
handlerName: name,
|
|
173
|
-
schemaSource: rawLoc(schemaSource),
|
|
174
|
-
handlerBody: rawLoc(handlerSource),
|
|
175
|
-
...(access !== undefined && { access }),
|
|
176
|
-
...(rateLimit !== undefined && { rateLimit }),
|
|
177
|
-
...(escapeHatch !== undefined && { escapeHatch }),
|
|
178
|
-
});
|
|
179
|
-
},
|
|
180
|
-
addHook({ type, target, handlerSource, phase, escapeHatch }) {
|
|
181
|
-
add({
|
|
182
|
-
kind: "hook",
|
|
183
|
-
source: SYNTHETIC_LOC,
|
|
184
|
-
hookType: type,
|
|
185
|
-
target,
|
|
186
|
-
fnBody: rawLoc(handlerSource),
|
|
187
|
-
...(phase !== undefined && { phase }),
|
|
188
|
-
...(escapeHatch !== undefined && { escapeHatch }),
|
|
189
|
-
});
|
|
190
|
-
},
|
|
191
|
-
addJob({ name, options, handlerSource }) {
|
|
192
|
-
add({
|
|
193
|
-
kind: "job",
|
|
194
|
-
source: SYNTHETIC_LOC,
|
|
195
|
-
jobName: name,
|
|
196
|
-
options,
|
|
197
|
-
handlerBody: rawLoc(handlerSource),
|
|
198
|
-
});
|
|
199
|
-
},
|
|
200
|
-
addNotification({ name, trigger, recipientSource, dataSource, templates }) {
|
|
201
|
-
const templateLocs = templates
|
|
202
|
-
? Object.fromEntries(Object.entries(templates).map(([k, v]) => [k, rawLoc(v)]))
|
|
203
|
-
: undefined;
|
|
204
|
-
add({
|
|
205
|
-
kind: "notification",
|
|
206
|
-
source: SYNTHETIC_LOC,
|
|
207
|
-
notificationName: name,
|
|
208
|
-
...(trigger !== undefined && { trigger }),
|
|
209
|
-
...(recipientSource !== undefined && { recipientBody: rawLoc(recipientSource) }),
|
|
210
|
-
...(dataSource !== undefined && { dataBody: rawLoc(dataSource) }),
|
|
211
|
-
...(templateLocs !== undefined && { templates: templateLocs }),
|
|
212
|
-
});
|
|
213
|
-
},
|
|
214
|
-
addAuthClaims({ handlerSource }) {
|
|
215
|
-
add({
|
|
216
|
-
kind: "authClaims",
|
|
217
|
-
source: SYNTHETIC_LOC,
|
|
218
|
-
fnBody: rawLoc(handlerSource),
|
|
219
|
-
});
|
|
220
|
-
},
|
|
221
|
-
addHttpRoute({ method, path, handlerSource, anonymous }) {
|
|
222
|
-
add({
|
|
223
|
-
kind: "httpRoute",
|
|
224
|
-
source: SYNTHETIC_LOC,
|
|
225
|
-
method,
|
|
226
|
-
path,
|
|
227
|
-
handlerBody: rawLoc(handlerSource),
|
|
228
|
-
anonymous,
|
|
229
|
-
});
|
|
230
|
-
},
|
|
231
|
-
addProjection({ name, sourceEntity, applySources }) {
|
|
232
|
-
const applyBodies = Object.fromEntries(Object.entries(applySources).map(([k, v]) => [k, rawLoc(v)]));
|
|
233
|
-
add({
|
|
234
|
-
kind: "projection",
|
|
235
|
-
source: SYNTHETIC_LOC,
|
|
236
|
-
name,
|
|
237
|
-
sourceEntity,
|
|
238
|
-
applyBodies,
|
|
239
|
-
});
|
|
240
|
-
},
|
|
241
|
-
addMultiStreamProjection({ name, applySources, errorMode, runIn, delivery }) {
|
|
242
|
-
const applyBodies = Object.fromEntries(Object.entries(applySources).map(([k, v]) => [k, rawLoc(v)]));
|
|
243
|
-
add({
|
|
244
|
-
kind: "multiStreamProjection",
|
|
245
|
-
source: SYNTHETIC_LOC,
|
|
246
|
-
name,
|
|
247
|
-
applyBodies,
|
|
248
|
-
...(errorMode !== undefined && { errorMode }),
|
|
249
|
-
...(runIn !== undefined && { runIn }),
|
|
250
|
-
...(delivery !== undefined && { delivery }),
|
|
251
|
-
});
|
|
252
|
-
},
|
|
253
|
-
addDefineEvent({ name, schemaSource, piiFieldsSource, version, migrations }) {
|
|
254
|
-
const migrationLocs = migrations
|
|
255
|
-
? Object.fromEntries(Object.entries(migrations).map(([fromVersion, source]) => [
|
|
256
|
-
fromVersion,
|
|
257
|
-
rawLoc(source),
|
|
258
|
-
]))
|
|
259
|
-
: undefined;
|
|
260
|
-
add({
|
|
261
|
-
kind: "defineEvent",
|
|
262
|
-
source: SYNTHETIC_LOC,
|
|
263
|
-
eventName: name,
|
|
264
|
-
schemaSource: rawLoc(schemaSource),
|
|
265
|
-
piiFields: rawLoc(piiFieldsSource),
|
|
266
|
-
...(version !== undefined && { version }),
|
|
267
|
-
...(migrationLocs !== undefined && { migrations: migrationLocs }),
|
|
268
|
-
});
|
|
269
|
-
},
|
|
270
|
-
replace(id, pattern) {
|
|
271
|
-
replacePattern(sourceFile, id, pattern);
|
|
272
|
-
},
|
|
273
|
-
remove(id) {
|
|
274
|
-
removePattern(sourceFile, id);
|
|
275
|
-
},
|
|
276
|
-
apply(changes) {
|
|
277
|
-
applyChanges(sourceFile, changes);
|
|
278
|
-
},
|
|
279
|
-
addPattern: add,
|
|
280
|
-
};
|
|
281
|
-
}
|