@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
package/dist/upgrade-cli.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readdirSync, readFileSync, realpathSync, statSync, writeFileSync, } from "node:fs";
|
|
2
2
|
import { dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
3
|
-
import { propertyOf } from "@cosmicdrift/kumiko-types/type-guards";
|
|
4
3
|
import { getFlag, getStringFlag, parseArgs } from "./arg-parser.js";
|
|
5
|
-
import {
|
|
4
|
+
import { sortEntries } from "./engine/feature-changelog.js";
|
|
5
|
+
import { compareVersions, filterEntriesAfter, parseFeatureChangelog, } from "./engine/index.js";
|
|
6
6
|
import { ensureTemporalPolyfill } from "./time/index.js";
|
|
7
|
-
import { mergeUpgradeSection,
|
|
7
|
+
import { mergeUpgradeSection, syncResolvedManualStatuses, } from "./upgrade-changelog.js";
|
|
8
|
+
import { CODEMOD_SUBDIR, findCodemodScriptsRoot, findFeatureChangelogFiles, } from "./upgrade-cli-internals.js";
|
|
8
9
|
import { dedupeManualById, manualEntryId, parseStoredMarker, SEMVER_RE, } from "./upgrade-marker-parse.js";
|
|
9
|
-
export { manualEntryId };
|
|
10
10
|
const SEMVER_CORE_RE = /^(\d+\.\d+\.\d+)(?:-[0-9A-Za-z.-]+)?$/;
|
|
11
|
-
const CODEMOD_SUBDIR = "scripts/codemod";
|
|
12
11
|
function readPackageJsonVersion(packageJsonPath) {
|
|
13
12
|
if (!existsSync(packageJsonPath))
|
|
14
13
|
return null;
|
|
@@ -86,26 +85,6 @@ function readChangelogFile(filePath) {
|
|
|
86
85
|
return [];
|
|
87
86
|
}
|
|
88
87
|
}
|
|
89
|
-
export function findFeatureChangelogFiles(featuresDir) {
|
|
90
|
-
if (!existsSync(featuresDir))
|
|
91
|
-
return [];
|
|
92
|
-
const files = [];
|
|
93
|
-
const features = readdirSync(featuresDir, { withFileTypes: true })
|
|
94
|
-
.filter((d) => d.isDirectory())
|
|
95
|
-
.map((d) => d.name);
|
|
96
|
-
for (const name of features) {
|
|
97
|
-
// Layout is detected per-package, not guessed from a naming convention:
|
|
98
|
-
// enterprise packages keep changes.json under src/, framework's
|
|
99
|
-
// bundled-features keep it flat. A name-prefix heuristic (e.g. "ai-*")
|
|
100
|
-
// silently drops packages that don't match it.
|
|
101
|
-
const srcLayout = join(featuresDir, name, "src", "changes.json");
|
|
102
|
-
const flatLayout = join(featuresDir, name, "changes.json");
|
|
103
|
-
const changelogPath = existsSync(srcLayout) ? srcLayout : flatLayout;
|
|
104
|
-
if (existsSync(changelogPath))
|
|
105
|
-
files.push(changelogPath);
|
|
106
|
-
}
|
|
107
|
-
return files;
|
|
108
|
-
}
|
|
109
88
|
function collectChangelogs(featuresDir) {
|
|
110
89
|
return findFeatureChangelogFiles(featuresDir).flatMap(readChangelogFile);
|
|
111
90
|
}
|
|
@@ -201,43 +180,9 @@ export function findFeaturesDirs(cwd) {
|
|
|
201
180
|
return dirs;
|
|
202
181
|
}
|
|
203
182
|
// Consumer-facing codemod scripts ship inside the published
|
|
204
|
-
// @cosmicdrift/kumiko-
|
|
183
|
+
// @cosmicdrift/kumiko-feature-ast package (src/scripts/codemod), not at the
|
|
205
184
|
// git repo root — only the installed package path exists in a consumer's
|
|
206
185
|
// node_modules after a plain npm/bun install.
|
|
207
|
-
export function findCodemodScriptsRoot(repoRoot) {
|
|
208
|
-
const local = join(repoRoot, "packages/framework/src");
|
|
209
|
-
if (existsSync(join(local, CODEMOD_SUBDIR))) {
|
|
210
|
-
// If package.json exists, require it to be kumiko-framework so a generic
|
|
211
|
-
// monorepo `packages/framework` cannot shadow the installed package.
|
|
212
|
-
// Missing package.json (test fixtures / incomplete trees) keeps prior behavior.
|
|
213
|
-
const pkgPath = join(repoRoot, "packages/framework/package.json");
|
|
214
|
-
if (existsSync(pkgPath)) {
|
|
215
|
-
try {
|
|
216
|
-
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
217
|
-
if (propertyOf(pkg, "name") === "@cosmicdrift/kumiko-framework")
|
|
218
|
-
return local;
|
|
219
|
-
// wrong name → fall through
|
|
220
|
-
}
|
|
221
|
-
catch {
|
|
222
|
-
// unreadable → fall through
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
return local;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
let dir = repoRoot;
|
|
230
|
-
for (let i = 0; i < 10; i++) {
|
|
231
|
-
const nmSrc = join(dir, "node_modules/@cosmicdrift/kumiko-framework/src");
|
|
232
|
-
if (existsSync(join(nmSrc, CODEMOD_SUBDIR)))
|
|
233
|
-
return nmSrc;
|
|
234
|
-
const parent = join(dir, "..");
|
|
235
|
-
if (parent === dir)
|
|
236
|
-
break;
|
|
237
|
-
dir = parent;
|
|
238
|
-
}
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
186
|
// Resolves a changes.json `codemod` field to an absolute script path,
|
|
242
187
|
// refusing anything that would escape scripts/codemod/ (path traversal,
|
|
243
188
|
// absolute paths, symlinks pointing outward) or that isn't a real .ts file.
|
|
@@ -268,6 +213,10 @@ function resolveCodemodScriptAt(codemodScriptsRoot, codemodField) {
|
|
|
268
213
|
}
|
|
269
214
|
return resolved;
|
|
270
215
|
}
|
|
216
|
+
function findCodemodScriptsRootPreferring(resolveFrom, repoRoot) {
|
|
217
|
+
const own = resolveFrom === undefined ? null : findCodemodScriptsRoot(resolveFrom);
|
|
218
|
+
return own ?? findCodemodScriptsRoot(repoRoot);
|
|
219
|
+
}
|
|
271
220
|
export function resolveCodemodScript(repoRoot, codemodField) {
|
|
272
221
|
const scriptsRoot = findCodemodScriptsRoot(repoRoot);
|
|
273
222
|
if (!scriptsRoot)
|
|
@@ -405,14 +354,15 @@ function manualWithStatus(manualEntries, previous) {
|
|
|
405
354
|
function writeUpgradeChangelog(targetDir, bump) {
|
|
406
355
|
const path = join(targetDir, "CHANGELOG.md");
|
|
407
356
|
const existing = existsSync(path) ? readFileSync(path, "utf-8") : undefined;
|
|
408
|
-
|
|
357
|
+
const merged = mergeUpgradeSection(existing, {
|
|
409
358
|
from: bump.from,
|
|
410
359
|
to: bump.to,
|
|
411
360
|
date: Temporal.Now.instant().toString().slice(0, 10),
|
|
412
361
|
breaking: bump.pending.filter((entry) => entry.type === "breaking"),
|
|
413
362
|
manual: manualWithStatus(bump.manualEntries, bump.previous),
|
|
414
363
|
codemods: bump.ran,
|
|
415
|
-
})
|
|
364
|
+
});
|
|
365
|
+
writeFileSync(path, syncResolvedManualStatuses(merged, bump.previous.resolvedManual), "utf-8");
|
|
416
366
|
}
|
|
417
367
|
// Records the codemods that already wrote files before a later one failed, so
|
|
418
368
|
// a re-run resumes after them instead of replaying non-idempotent codemods.
|
|
@@ -442,7 +392,7 @@ function writePartialMarker(out, targetDir, pending, manualEntries, failedVersio
|
|
|
442
392
|
// even with zero pending entries, so an already-current app still gets a
|
|
443
393
|
// bootstrap marker recording its installed version.
|
|
444
394
|
// kumiko-lint-ignore complexity-budget sequential codemod runner with zero-pending bootstrap marker
|
|
445
|
-
async function applyCodemods(out, pending,
|
|
395
|
+
async function applyCodemods(out, pending, codemodLocation, targetDir, dryRun,
|
|
446
396
|
// Installed version for the zero-pending bootstrap marker — never a
|
|
447
397
|
// `--from` filter override (that would permanently skip real pending
|
|
448
398
|
// codemods once the CI guard compares against the fake marker).
|
|
@@ -497,14 +447,16 @@ markerVersion, previous, fromVersion, manualDetails) {
|
|
|
497
447
|
}
|
|
498
448
|
return 0;
|
|
499
449
|
}
|
|
500
|
-
const
|
|
450
|
+
const { repoRoot, resolveFrom: codemodResolveFrom } = codemodLocation;
|
|
451
|
+
const codemodScriptsRoot = findCodemodScriptsRootPreferring(codemodResolveFrom, repoRoot);
|
|
501
452
|
if (codemodScriptsRoot === null) {
|
|
502
|
-
|
|
453
|
+
const searched = codemodResolveFrom === undefined ? repoRoot : `${codemodResolveFrom} and ${repoRoot}`;
|
|
454
|
+
out.err(` ✗ could not locate @cosmicdrift/kumiko-feature-ast/src/scripts/codemod — is @cosmicdrift/kumiko-cli or @cosmicdrift/kumiko-dev-server installed? searched from ${searched} upward`);
|
|
503
455
|
return 1;
|
|
504
456
|
}
|
|
505
457
|
const ran = [];
|
|
506
458
|
for (const e of codemodEntries) {
|
|
507
|
-
const scriptPath =
|
|
459
|
+
const scriptPath = resolveCodemodScriptAt(codemodScriptsRoot, e.codemod);
|
|
508
460
|
if (!scriptPath) {
|
|
509
461
|
out.err(` ✗ ${e.version} · ${e.title} — invalid codemod path "${e.codemod}"`);
|
|
510
462
|
if (!dryRun)
|
|
@@ -627,7 +579,7 @@ function resolveManualMigrations(out, args, targetDir) {
|
|
|
627
579
|
const changelogPath = join(targetDir, "CHANGELOG.md");
|
|
628
580
|
if (existsSync(changelogPath)) {
|
|
629
581
|
const content = readFileSync(changelogPath, "utf-8");
|
|
630
|
-
writeFileSync(changelogPath,
|
|
582
|
+
writeFileSync(changelogPath, syncResolvedManualStatuses(content, resolvedManual), "utf-8");
|
|
631
583
|
}
|
|
632
584
|
out.log("");
|
|
633
585
|
out.log(` ✓ Marked ${newlyResolved.length} manual migration(s) as ${resolution}:`);
|
|
@@ -735,7 +687,7 @@ function planUpgrade(args, cwd, targetDir) {
|
|
|
735
687
|
value: { ...baseline.value, targetInstalledVersion, allEntries, pending },
|
|
736
688
|
};
|
|
737
689
|
}
|
|
738
|
-
async function applyPlannedUpgrade(out, args, plan,
|
|
690
|
+
async function applyPlannedUpgrade(out, args, plan, codemodLocation, targetDir) {
|
|
739
691
|
// Marker must reflect what is actually installed under the target (or
|
|
740
692
|
// cwd), not the filter baseline above — otherwise CI stays green forever.
|
|
741
693
|
const markerVersion = plan.targetInstalledVersion;
|
|
@@ -744,7 +696,7 @@ async function applyPlannedUpgrade(out, args, plan, repoRoot, targetDir) {
|
|
|
744
696
|
return failUpgrade(out, `Could not detect the installed Kumiko version under ${targetDir}.`, "Refusing to write an upgrade marker without it (--from is only a filter).");
|
|
745
697
|
}
|
|
746
698
|
out.log("");
|
|
747
|
-
const code = await applyCodemods(out, plan.pending,
|
|
699
|
+
const code = await applyCodemods(out, plan.pending, codemodLocation, targetDir, dryRun, markerVersion ?? plan.currentVersion, carryOf(plan.markerRead), plan.currentVersion, getFlag(args, "verbose") ? manualDetailsOf(plan.allEntries) : undefined);
|
|
748
700
|
out.log("");
|
|
749
701
|
return code;
|
|
750
702
|
}
|
|
@@ -856,7 +808,13 @@ export async function runUpgradeCli(argv, cwd, out, options) {
|
|
|
856
808
|
if (planned.kind === "error")
|
|
857
809
|
return failUpgrade(out, ...planned.lines);
|
|
858
810
|
if (getFlag(args, "apply")) {
|
|
859
|
-
|
|
811
|
+
const codemodLocation = {
|
|
812
|
+
repoRoot: options?.repoRoot ?? cwd,
|
|
813
|
+
...(options?.codemodResolveFrom !== undefined && {
|
|
814
|
+
resolveFrom: options.codemodResolveFrom,
|
|
815
|
+
}),
|
|
816
|
+
};
|
|
817
|
+
return applyPlannedUpgrade(out, args, planned.value, codemodLocation, targetDir);
|
|
860
818
|
}
|
|
861
819
|
if (getFlag(args, "json"))
|
|
862
820
|
return reportUpgradeJson(out, planned.value);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { errorCodeOf } from "@cosmicdrift/kumiko-types/type-guards";
|
|
2
|
+
// Bun and Node both report a missing package as ERR_MODULE_NOT_FOUND with
|
|
3
|
+
// "Cannot find package '<name>' imported from ...". A peer's own missing
|
|
4
|
+
// dependency carries a different name, so it must not be mistaken for the peer.
|
|
5
|
+
function isPeerItselfMissing(error, peerName) {
|
|
6
|
+
return (errorCodeOf(error) === "ERR_MODULE_NOT_FOUND" &&
|
|
7
|
+
error instanceof Error &&
|
|
8
|
+
error.message.includes(`'${peerName}'`));
|
|
9
|
+
}
|
|
10
|
+
export async function importOptionalPeer(peer, importer) {
|
|
11
|
+
try {
|
|
12
|
+
return await importer();
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
if (!isPeerItselfMissing(error, peer.name))
|
|
16
|
+
throw error;
|
|
17
|
+
throw new Error(`${peer.name} is not installed. ${peer.requiredBy} needs it as a peer dependency: bun add ${peer.name}@${peer.range}`, { cause: error });
|
|
18
|
+
}
|
|
19
|
+
}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
export { assertUnreachable } from "./assert.ts";
|
|
2
|
-
export { toSnakeCase } from "./case.ts";
|
|
3
|
-
export { compareByCodepoint } from "./compare.ts";
|
|
4
|
-
export { readPositiveIntEnv } from "./env-parse.ts";
|
|
5
2
|
export { generateDeterministicId, generateId } from "./ids.ts";
|
|
6
3
|
export { isPlainObject } from "./is-plain-object.ts";
|
|
7
4
|
export { parseStringArrayJson } from "./parse-string-array-json.ts";
|
|
8
|
-
export { parseJsonOrThrow, parseJsonSafe
|
|
5
|
+
export { parseJsonOrThrow, parseJsonSafe } from "./safe-json.ts";
|
|
9
6
|
export { parseRoles } from "./serialization.ts";
|
package/dist/utils/index.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
export { assertUnreachable } from "./assert.js";
|
|
2
|
-
export { toSnakeCase } from "./case.js";
|
|
3
|
-
export { compareByCodepoint } from "./compare.js";
|
|
4
|
-
export { readPositiveIntEnv } from "./env-parse.js";
|
|
5
2
|
export { generateDeterministicId, generateId } from "./ids.js";
|
|
6
3
|
export { isPlainObject } from "./is-plain-object.js";
|
|
7
4
|
export { parseStringArrayJson } from "./parse-string-array-json.js";
|
|
8
|
-
export { parseJsonOrThrow, parseJsonSafe
|
|
5
|
+
export { parseJsonOrThrow, parseJsonSafe } from "./safe-json.js";
|
|
9
6
|
export { parseRoles } from "./serialization.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-framework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.390.1",
|
|
4
4
|
"description": "Framework core — engine, pipeline, API, DB, and every other bit that makes Kumiko go.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"type": "module",
|
|
26
26
|
"kumiko": {
|
|
27
27
|
"runtime": "runtime",
|
|
28
|
-
"
|
|
29
|
-
"./
|
|
30
|
-
|
|
28
|
+
"optionalPeerExports": {
|
|
29
|
+
"./search/meilisearch": "meilisearch"
|
|
30
|
+
}
|
|
31
31
|
},
|
|
32
32
|
"exports": {
|
|
33
33
|
"./compliance": {
|
|
@@ -60,10 +60,6 @@
|
|
|
60
60
|
"types": "./dist/env/dry-run.d.ts",
|
|
61
61
|
"default": "./dist/env/dry-run.js"
|
|
62
62
|
},
|
|
63
|
-
"./engine/codemod": {
|
|
64
|
-
"types": "./dist/engine/codemod/index.d.ts",
|
|
65
|
-
"default": "./dist/engine/codemod/index.js"
|
|
66
|
-
},
|
|
67
63
|
"./errors": {
|
|
68
64
|
"types": "./dist/errors/index.d.ts",
|
|
69
65
|
"default": "./dist/errors/index.js"
|
|
@@ -176,6 +172,10 @@
|
|
|
176
172
|
"types": "./dist/api/request-context.d.ts",
|
|
177
173
|
"default": "./dist/api/request-context.js"
|
|
178
174
|
},
|
|
175
|
+
"./internal/row-level-security": {
|
|
176
|
+
"types": "./dist/internal/row-level-security.d.ts",
|
|
177
|
+
"default": "./dist/internal/row-level-security.js"
|
|
178
|
+
},
|
|
179
179
|
"./internal/stack-support": {
|
|
180
180
|
"types": "./dist/internal/stack-support.d.ts",
|
|
181
181
|
"default": "./dist/internal/stack-support.js"
|
|
@@ -199,27 +199,32 @@
|
|
|
199
199
|
"./package.json": "./package.json"
|
|
200
200
|
},
|
|
201
201
|
"dependencies": {
|
|
202
|
-
"@cosmicdrift/kumiko-types": "0.
|
|
202
|
+
"@cosmicdrift/kumiko-types": "0.390.1",
|
|
203
203
|
"bullmq": "^5.76.7",
|
|
204
204
|
"hono": "^4.13.1",
|
|
205
205
|
"i18next": "^26.1.0",
|
|
206
206
|
"ioredis": "^5.10.1",
|
|
207
207
|
"jose": "^6.2.3",
|
|
208
|
-
"meilisearch": "^0.58.0",
|
|
209
208
|
"pino": "^10.3.1",
|
|
210
209
|
"temporal-polyfill": "^0.3.2",
|
|
211
|
-
"ts-morph": "^28.0.0",
|
|
212
210
|
"uuid": "^14.0.0",
|
|
213
211
|
"write-excel-file": "^4.1.1",
|
|
214
|
-
"zod": "^4.
|
|
212
|
+
"zod": "^4.6.7"
|
|
215
213
|
},
|
|
216
214
|
"peerDependencies": {
|
|
217
|
-
"bun-types": "^1.4.4"
|
|
215
|
+
"bun-types": "^1.4.4",
|
|
216
|
+
"meilisearch": "^0.58.0"
|
|
217
|
+
},
|
|
218
|
+
"peerDependenciesMeta": {
|
|
219
|
+
"meilisearch": {
|
|
220
|
+
"optional": true
|
|
221
|
+
}
|
|
218
222
|
},
|
|
219
223
|
"devDependencies": {
|
|
220
|
-
"@cosmicdrift/kumiko-testing": "0.
|
|
224
|
+
"@cosmicdrift/kumiko-testing": "0.390.1",
|
|
221
225
|
"bun-types": "^1.4.4",
|
|
222
226
|
"fflate": "^0.8.2",
|
|
227
|
+
"meilisearch": "^0.58.0",
|
|
223
228
|
"pino-pretty": "^13.1.3"
|
|
224
229
|
},
|
|
225
230
|
"publishConfig": {
|
|
@@ -256,10 +261,6 @@
|
|
|
256
261
|
"types": "./dist/env/dry-run.d.ts",
|
|
257
262
|
"default": "./dist/env/dry-run.js"
|
|
258
263
|
},
|
|
259
|
-
"./engine/codemod": {
|
|
260
|
-
"types": "./dist/engine/codemod/index.d.ts",
|
|
261
|
-
"default": "./dist/engine/codemod/index.js"
|
|
262
|
-
},
|
|
263
264
|
"./errors": {
|
|
264
265
|
"types": "./dist/errors/index.d.ts",
|
|
265
266
|
"default": "./dist/errors/index.js"
|
|
@@ -372,6 +373,10 @@
|
|
|
372
373
|
"types": "./dist/api/request-context.d.ts",
|
|
373
374
|
"default": "./dist/api/request-context.js"
|
|
374
375
|
},
|
|
376
|
+
"./internal/row-level-security": {
|
|
377
|
+
"types": "./dist/internal/row-level-security.d.ts",
|
|
378
|
+
"default": "./dist/internal/row-level-security.js"
|
|
379
|
+
},
|
|
375
380
|
"./internal/stack-support": {
|
|
376
381
|
"types": "./dist/internal/stack-support.d.ts",
|
|
377
382
|
"default": "./dist/internal/stack-support.js"
|
|
@@ -400,7 +405,6 @@
|
|
|
400
405
|
"kumiko-es-tables.json",
|
|
401
406
|
"presets",
|
|
402
407
|
"src/changes.json",
|
|
403
|
-
"src/scripts/codemod",
|
|
404
408
|
"README.md",
|
|
405
409
|
"LICENSE",
|
|
406
410
|
"AGENTS.md",
|