@runa-ai/runa-cli 0.5.26
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.
Potentially problematic release.
This version of @runa-ai/runa-cli might be problematic. Click here for more details.
- package/dist/cli/contract-mode.d.ts +2 -0
- package/dist/cli/contract-mode.d.ts.map +1 -0
- package/dist/cli/contract-output.d.ts +4 -0
- package/dist/cli/contract-output.d.ts.map +1 -0
- package/dist/cli/early-flags.d.ts +10 -0
- package/dist/cli/early-flags.d.ts.map +1 -0
- package/dist/cli/error-handler.d.ts +28 -0
- package/dist/cli/error-handler.d.ts.map +1 -0
- package/dist/cli/exec.d.ts +15 -0
- package/dist/cli/exec.d.ts.map +1 -0
- package/dist/cli/index.d.ts +16 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/json-output.d.ts +4 -0
- package/dist/cli/json-output.d.ts.map +1 -0
- package/dist/cli/non-interactive.d.ts +4 -0
- package/dist/cli/non-interactive.d.ts.map +1 -0
- package/dist/cli/output-format.d.ts +5 -0
- package/dist/cli/output-format.d.ts.map +1 -0
- package/dist/cli/signal-handler.d.ts +32 -0
- package/dist/cli/signal-handler.d.ts.map +1 -0
- package/dist/commands/build/actors/build.d.ts +32 -0
- package/dist/commands/build/actors/build.d.ts.map +1 -0
- package/dist/commands/build/actors/clean.d.ts +36 -0
- package/dist/commands/build/actors/clean.d.ts.map +1 -0
- package/dist/commands/build/actors/db-sync.d.ts +30 -0
- package/dist/commands/build/actors/db-sync.d.ts.map +1 -0
- package/dist/commands/build/actors/index.d.ts +20 -0
- package/dist/commands/build/actors/index.d.ts.map +1 -0
- package/dist/commands/build/actors/manifest.d.ts +34 -0
- package/dist/commands/build/actors/manifest.d.ts.map +1 -0
- package/dist/commands/build/actors/setup.d.ts +74 -0
- package/dist/commands/build/actors/setup.d.ts.map +1 -0
- package/dist/commands/build/actors/static-checks.d.ts +36 -0
- package/dist/commands/build/actors/static-checks.d.ts.map +1 -0
- package/dist/commands/build/actors/validate.d.ts +28 -0
- package/dist/commands/build/actors/validate.d.ts.map +1 -0
- package/dist/commands/build/commands/build.d.ts +25 -0
- package/dist/commands/build/commands/build.d.ts.map +1 -0
- package/dist/commands/build/contract.d.ts +213 -0
- package/dist/commands/build/contract.d.ts.map +1 -0
- package/dist/commands/build/guards.d.ts +106 -0
- package/dist/commands/build/guards.d.ts.map +1 -0
- package/dist/commands/build/index.d.ts +9 -0
- package/dist/commands/build/index.d.ts.map +1 -0
- package/dist/commands/build/machine.d.ts +212 -0
- package/dist/commands/build/machine.d.ts.map +1 -0
- package/dist/commands/build/types.d.ts +75 -0
- package/dist/commands/build/types.d.ts.map +1 -0
- package/dist/commands/cache.d.ts +32 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/check/commands/check.d.ts +26 -0
- package/dist/commands/check/commands/check.d.ts.map +1 -0
- package/dist/commands/check/index.d.ts +24 -0
- package/dist/commands/check/index.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-checks.d.ts +14 -0
- package/dist/commands/ci/commands/ci-checks.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-layer-content.d.ts +40 -0
- package/dist/commands/ci/commands/ci-layer-content.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-pr-capabilities.d.ts +30 -0
- package/dist/commands/ci/commands/ci-pr-capabilities.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-prod-apply.d.ts +10 -0
- package/dist/commands/ci/commands/ci-prod-apply.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-prod-db-operations.d.ts +98 -0
- package/dist/commands/ci/commands/ci-prod-db-operations.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-prod-github.d.ts +28 -0
- package/dist/commands/ci/commands/ci-prod-github.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-prod-utils.d.ts +33 -0
- package/dist/commands/ci/commands/ci-prod-utils.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-resolvers.d.ts +71 -0
- package/dist/commands/ci/commands/ci-resolvers.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-static.d.ts +18 -0
- package/dist/commands/ci/commands/ci-static.d.ts.map +1 -0
- package/dist/commands/ci/commands/ci-supabase-local.d.ts +51 -0
- package/dist/commands/ci/commands/ci-supabase-local.d.ts.map +1 -0
- package/dist/commands/ci/index.d.ts +23 -0
- package/dist/commands/ci/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/build/app-build.d.ts +31 -0
- package/dist/commands/ci/machine/actors/build/app-build.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/build/app-start.d.ts +47 -0
- package/dist/commands/ci/machine/actors/build/app-start.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/build/build-and-playwright.d.ts +41 -0
- package/dist/commands/ci/machine/actors/build/build-and-playwright.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/build/index.d.ts +12 -0
- package/dist/commands/ci/machine/actors/build/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/build/playwright-install.d.ts +30 -0
- package/dist/commands/ci/machine/actors/build/playwright-install.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/build/static-checks.d.ts +35 -0
- package/dist/commands/ci/machine/actors/build/static-checks.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/apply-seeds.d.ts +32 -0
- package/dist/commands/ci/machine/actors/db/apply-seeds.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/collect-schema-stats.d.ts +38 -0
- package/dist/commands/ci/machine/actors/db/collect-schema-stats.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/index.d.ts +16 -0
- package/dist/commands/ci/machine/actors/db/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/pgtap-install.d.ts +33 -0
- package/dist/commands/ci/machine/actors/db/pgtap-install.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/production-preview.d.ts +34 -0
- package/dist/commands/ci/machine/actors/db/production-preview.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/pull-production.d.ts +35 -0
- package/dist/commands/ci/machine/actors/db/pull-production.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/reset.d.ts +31 -0
- package/dist/commands/ci/machine/actors/db/reset.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/schema-stats.d.ts +141 -0
- package/dist/commands/ci/machine/actors/db/schema-stats.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/setup-roles.d.ts +37 -0
- package/dist/commands/ci/machine/actors/db/setup-roles.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/db/sync-schema.d.ts +48 -0
- package/dist/commands/ci/machine/actors/db/sync-schema.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/finalize/github.d.ts +66 -0
- package/dist/commands/ci/machine/actors/finalize/github.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/finalize/index.d.ts +9 -0
- package/dist/commands/ci/machine/actors/finalize/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/finalize/summary.d.ts +32 -0
- package/dist/commands/ci/machine/actors/finalize/summary.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/index.d.ts +17 -0
- package/dist/commands/ci/machine/actors/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/setup/index.d.ts +10 -0
- package/dist/commands/ci/machine/actors/setup/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/setup/local.d.ts +41 -0
- package/dist/commands/ci/machine/actors/setup/local.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/setup/pr-common.d.ts +145 -0
- package/dist/commands/ci/machine/actors/setup/pr-common.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/setup/pr-local.d.ts +17 -0
- package/dist/commands/ci/machine/actors/setup/pr-local.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/test/capabilities.d.ts +66 -0
- package/dist/commands/ci/machine/actors/test/capabilities.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/test/index.d.ts +9 -0
- package/dist/commands/ci/machine/actors/test/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/actors/test/run-layers.d.ts +43 -0
- package/dist/commands/ci/machine/actors/test/run-layers.d.ts.map +1 -0
- package/dist/commands/ci/machine/commands/ci-local.d.ts +18 -0
- package/dist/commands/ci/machine/commands/ci-local.d.ts.map +1 -0
- package/dist/commands/ci/machine/commands/ci-pr.d.ts +14 -0
- package/dist/commands/ci/machine/commands/ci-pr.d.ts.map +1 -0
- package/dist/commands/ci/machine/commands/index.d.ts +13 -0
- package/dist/commands/ci/machine/commands/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/commands/machine-runner.d.ts +36 -0
- package/dist/commands/ci/machine/commands/machine-runner.d.ts.map +1 -0
- package/dist/commands/ci/machine/contract.d.ts +393 -0
- package/dist/commands/ci/machine/contract.d.ts.map +1 -0
- package/dist/commands/ci/machine/formatters/github-comment-types.d.ts +87 -0
- package/dist/commands/ci/machine/formatters/github-comment-types.d.ts.map +1 -0
- package/dist/commands/ci/machine/formatters/github-comment.d.ts +44 -0
- package/dist/commands/ci/machine/formatters/github-comment.d.ts.map +1 -0
- package/dist/commands/ci/machine/formatters/index.d.ts +13 -0
- package/dist/commands/ci/machine/formatters/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/formatters/sections/final-comment.d.ts +18 -0
- package/dist/commands/ci/machine/formatters/sections/final-comment.d.ts.map +1 -0
- package/dist/commands/ci/machine/formatters/sections/format-helpers.d.ts +63 -0
- package/dist/commands/ci/machine/formatters/sections/format-helpers.d.ts.map +1 -0
- package/dist/commands/ci/machine/formatters/sections/index.d.ts +10 -0
- package/dist/commands/ci/machine/formatters/sections/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/formatters/sections/progress-comment.d.ts +14 -0
- package/dist/commands/ci/machine/formatters/sections/progress-comment.d.ts.map +1 -0
- package/dist/commands/ci/machine/formatters/sections/schema-matrix.d.ts +25 -0
- package/dist/commands/ci/machine/formatters/sections/schema-matrix.d.ts.map +1 -0
- package/dist/commands/ci/machine/formatters/summary.d.ts +27 -0
- package/dist/commands/ci/machine/formatters/summary.d.ts.map +1 -0
- package/dist/commands/ci/machine/guards.d.ts +136 -0
- package/dist/commands/ci/machine/guards.d.ts.map +1 -0
- package/dist/commands/ci/machine/helpers.d.ts +88 -0
- package/dist/commands/ci/machine/helpers.d.ts.map +1 -0
- package/dist/commands/ci/machine/index.d.ts +21 -0
- package/dist/commands/ci/machine/index.d.ts.map +1 -0
- package/dist/commands/ci/machine/machine.d.ts +315 -0
- package/dist/commands/ci/machine/machine.d.ts.map +1 -0
- package/dist/commands/ci/machine/types.d.ts +264 -0
- package/dist/commands/ci/machine/types.d.ts.map +1 -0
- package/dist/commands/ci/utils/ai-report.d.ts +70 -0
- package/dist/commands/ci/utils/ai-report.d.ts.map +1 -0
- package/dist/commands/ci/utils/app-process.d.ts +29 -0
- package/dist/commands/ci/utils/app-process.d.ts.map +1 -0
- package/dist/commands/ci/utils/app-runtime.d.ts +27 -0
- package/dist/commands/ci/utils/app-runtime.d.ts.map +1 -0
- package/dist/commands/ci/utils/ci-config.d.ts +22 -0
- package/dist/commands/ci/utils/ci-config.d.ts.map +1 -0
- package/dist/commands/ci/utils/ci-env-schema.d.ts +128 -0
- package/dist/commands/ci/utils/ci-env-schema.d.ts.map +1 -0
- package/dist/commands/ci/utils/ci-logging.d.ts +16 -0
- package/dist/commands/ci/utils/ci-logging.d.ts.map +1 -0
- package/dist/commands/ci/utils/ci-summary.d.ts +109 -0
- package/dist/commands/ci/utils/ci-summary.d.ts.map +1 -0
- package/dist/commands/ci/utils/config-readers.d.ts +46 -0
- package/dist/commands/ci/utils/config-readers.d.ts.map +1 -0
- package/dist/commands/ci/utils/db-url-utils.d.ts +81 -0
- package/dist/commands/ci/utils/db-url-utils.d.ts.map +1 -0
- package/dist/commands/ci/utils/e2e-auth-setup.d.ts +78 -0
- package/dist/commands/ci/utils/e2e-auth-setup.d.ts.map +1 -0
- package/dist/commands/ci/utils/execa-helpers.d.ts +14 -0
- package/dist/commands/ci/utils/execa-helpers.d.ts.map +1 -0
- package/dist/commands/ci/utils/exit-code-computation.d.ts +62 -0
- package/dist/commands/ci/utils/exit-code-computation.d.ts.map +1 -0
- package/dist/commands/ci/utils/github-api.d.ts +54 -0
- package/dist/commands/ci/utils/github-api.d.ts.map +1 -0
- package/dist/commands/ci/utils/github.d.ts +43 -0
- package/dist/commands/ci/utils/github.d.ts.map +1 -0
- package/dist/commands/ci/utils/index.d.ts +25 -0
- package/dist/commands/ci/utils/index.d.ts.map +1 -0
- package/dist/commands/ci/utils/pgtap-installer.d.ts +34 -0
- package/dist/commands/ci/utils/pgtap-installer.d.ts.map +1 -0
- package/dist/commands/ci/utils/rls-verification.d.ts +72 -0
- package/dist/commands/ci/utils/rls-verification.d.ts.map +1 -0
- package/dist/commands/ci/utils/schema-operations.d.ts +42 -0
- package/dist/commands/ci/utils/schema-operations.d.ts.map +1 -0
- package/dist/commands/ci/utils/seed-operations.d.ts +101 -0
- package/dist/commands/ci/utils/seed-operations.d.ts.map +1 -0
- package/dist/commands/ci/utils/test-parallel.d.ts +45 -0
- package/dist/commands/ci/utils/test-parallel.d.ts.map +1 -0
- package/dist/commands/ci/utils/timestamp-invariants.d.ts +13 -0
- package/dist/commands/ci/utils/timestamp-invariants.d.ts.map +1 -0
- package/dist/commands/db/apply/actors.d.ts +42 -0
- package/dist/commands/db/apply/actors.d.ts.map +1 -0
- package/dist/commands/db/apply/contract.d.ts +64 -0
- package/dist/commands/db/apply/contract.d.ts.map +1 -0
- package/dist/commands/db/apply/helpers/advisory-lock.d.ts +18 -0
- package/dist/commands/db/apply/helpers/advisory-lock.d.ts.map +1 -0
- package/dist/commands/db/apply/helpers/index.d.ts +11 -0
- package/dist/commands/db/apply/helpers/index.d.ts.map +1 -0
- package/dist/commands/db/apply/helpers/pg-schema-diff-helpers.d.ts +122 -0
- package/dist/commands/db/apply/helpers/pg-schema-diff-helpers.d.ts.map +1 -0
- package/dist/commands/db/apply/helpers/retry-logic.d.ts +51 -0
- package/dist/commands/db/apply/helpers/retry-logic.d.ts.map +1 -0
- package/dist/commands/db/apply/index.d.ts +9 -0
- package/dist/commands/db/apply/index.d.ts.map +1 -0
- package/dist/commands/db/apply/machine.d.ts +126 -0
- package/dist/commands/db/apply/machine.d.ts.map +1 -0
- package/dist/commands/db/commands/db-apply.d.ts +6 -0
- package/dist/commands/db/commands/db-apply.d.ts.map +1 -0
- package/dist/commands/db/commands/db-audit.d.ts +13 -0
- package/dist/commands/db/commands/db-audit.d.ts.map +1 -0
- package/dist/commands/db/commands/db-backup.d.ts +18 -0
- package/dist/commands/db/commands/db-backup.d.ts.map +1 -0
- package/dist/commands/db/commands/db-cleanup.d.ts +3 -0
- package/dist/commands/db/commands/db-cleanup.d.ts.map +1 -0
- package/dist/commands/db/commands/db-derive-role-passwords.d.ts +18 -0
- package/dist/commands/db/commands/db-derive-role-passwords.d.ts.map +1 -0
- package/dist/commands/db/commands/db-derive-urls.d.ts +14 -0
- package/dist/commands/db/commands/db-derive-urls.d.ts.map +1 -0
- package/dist/commands/db/commands/db-diagram.d.ts +21 -0
- package/dist/commands/db/commands/db-diagram.d.ts.map +1 -0
- package/dist/commands/db/commands/db-drizzle.d.ts +17 -0
- package/dist/commands/db/commands/db-drizzle.d.ts.map +1 -0
- package/dist/commands/db/commands/db-extension.d.ts +16 -0
- package/dist/commands/db/commands/db-extension.d.ts.map +1 -0
- package/dist/commands/db/commands/db-generate-password.d.ts +19 -0
- package/dist/commands/db/commands/db-generate-password.d.ts.map +1 -0
- package/dist/commands/db/commands/db-lifecycle.d.ts +43 -0
- package/dist/commands/db/commands/db-lifecycle.d.ts.map +1 -0
- package/dist/commands/db/commands/db-rollback.d.ts +17 -0
- package/dist/commands/db/commands/db-rollback.d.ts.map +1 -0
- package/dist/commands/db/commands/db-schema.d.ts +51 -0
- package/dist/commands/db/commands/db-schema.d.ts.map +1 -0
- package/dist/commands/db/commands/db-seed-metadata.d.ts +20 -0
- package/dist/commands/db/commands/db-seed-metadata.d.ts.map +1 -0
- package/dist/commands/db/commands/db-seed-verify.d.ts +13 -0
- package/dist/commands/db/commands/db-seed-verify.d.ts.map +1 -0
- package/dist/commands/db/commands/db-seed.d.ts +32 -0
- package/dist/commands/db/commands/db-seed.d.ts.map +1 -0
- package/dist/commands/db/commands/db-snapshot.d.ts +12 -0
- package/dist/commands/db/commands/db-snapshot.d.ts.map +1 -0
- package/dist/commands/db/commands/db-stack.d.ts +17 -0
- package/dist/commands/db/commands/db-stack.d.ts.map +1 -0
- package/dist/commands/db/commands/db-stats.d.ts +15 -0
- package/dist/commands/db/commands/db-stats.d.ts.map +1 -0
- package/dist/commands/db/commands/db-sync.d.ts +3 -0
- package/dist/commands/db/commands/db-sync.d.ts.map +1 -0
- package/dist/commands/db/commands/db-test.d.ts +27 -0
- package/dist/commands/db/commands/db-test.d.ts.map +1 -0
- package/dist/commands/db/constants.d.ts +97 -0
- package/dist/commands/db/constants.d.ts.map +1 -0
- package/dist/commands/db/extension-registry.d.ts +81 -0
- package/dist/commands/db/extension-registry.d.ts.map +1 -0
- package/dist/commands/db/index.d.ts +17 -0
- package/dist/commands/db/index.d.ts.map +1 -0
- package/dist/commands/db/preflight/actors.d.ts +6 -0
- package/dist/commands/db/preflight/actors.d.ts.map +1 -0
- package/dist/commands/db/preflight/contract.d.ts +53 -0
- package/dist/commands/db/preflight/contract.d.ts.map +1 -0
- package/dist/commands/db/preflight/index.d.ts +3 -0
- package/dist/commands/db/preflight/index.d.ts.map +1 -0
- package/dist/commands/db/sync/actors.d.ts +93 -0
- package/dist/commands/db/sync/actors.d.ts.map +1 -0
- package/dist/commands/db/sync/contract.d.ts +155 -0
- package/dist/commands/db/sync/contract.d.ts.map +1 -0
- package/dist/commands/db/sync/index.d.ts +10 -0
- package/dist/commands/db/sync/index.d.ts.map +1 -0
- package/dist/commands/db/sync/machine.d.ts +159 -0
- package/dist/commands/db/sync/machine.d.ts.map +1 -0
- package/dist/commands/db/types.d.ts +107 -0
- package/dist/commands/db/types.d.ts.map +1 -0
- package/dist/commands/db/utils/db-target.d.ts +53 -0
- package/dist/commands/db/utils/db-target.d.ts.map +1 -0
- package/dist/commands/db/utils/db-url-builder.d.ts +34 -0
- package/dist/commands/db/utils/db-url-builder.d.ts.map +1 -0
- package/dist/commands/db/utils/error-handlers.d.ts +17 -0
- package/dist/commands/db/utils/error-handlers.d.ts.map +1 -0
- package/dist/commands/db/utils/preflight-check.d.ts +20 -0
- package/dist/commands/db/utils/preflight-check.d.ts.map +1 -0
- package/dist/commands/db/utils/psql.d.ts +17 -0
- package/dist/commands/db/utils/psql.d.ts.map +1 -0
- package/dist/commands/db/utils/schema-detector.d.ts +32 -0
- package/dist/commands/db/utils/schema-detector.d.ts.map +1 -0
- package/dist/commands/db/utils/schema-sync.d.ts +59 -0
- package/dist/commands/db/utils/schema-sync.d.ts.map +1 -0
- package/dist/commands/db/utils/script-runner.d.ts +34 -0
- package/dist/commands/db/utils/script-runner.d.ts.map +1 -0
- package/dist/commands/db/utils/seed-manager.d.ts +23 -0
- package/dist/commands/db/utils/seed-manager.d.ts.map +1 -0
- package/dist/commands/db/utils/semantic-mapper.d.ts +119 -0
- package/dist/commands/db/utils/semantic-mapper.d.ts.map +1 -0
- package/dist/commands/db/utils/sql-table-extractor.d.ts +56 -0
- package/dist/commands/db/utils/sql-table-extractor.d.ts.map +1 -0
- package/dist/commands/db/utils/stack-detector.d.ts +34 -0
- package/dist/commands/db/utils/stack-detector.d.ts.map +1 -0
- package/dist/commands/db/utils/table-registry.d.ts +112 -0
- package/dist/commands/db/utils/table-registry.d.ts.map +1 -0
- package/dist/commands/dev/actors/index.d.ts +14 -0
- package/dist/commands/dev/actors/index.d.ts.map +1 -0
- package/dist/commands/dev/commands/dev.d.ts +15 -0
- package/dist/commands/dev/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev/contract.d.ts +46 -0
- package/dist/commands/dev/contract.d.ts.map +1 -0
- package/dist/commands/dev/guards.d.ts +26 -0
- package/dist/commands/dev/guards.d.ts.map +1 -0
- package/dist/commands/dev/machine.d.ts +121 -0
- package/dist/commands/dev/machine.d.ts.map +1 -0
- package/dist/commands/dev/types.d.ts +44 -0
- package/dist/commands/dev/types.d.ts.map +1 -0
- package/dist/commands/env/commands/env-check.d.ts +24 -0
- package/dist/commands/env/commands/env-check.d.ts.map +1 -0
- package/dist/commands/env/commands/env-encrypt.d.ts +19 -0
- package/dist/commands/env/commands/env-encrypt.d.ts.map +1 -0
- package/dist/commands/env/commands/env-pull.d.ts +49 -0
- package/dist/commands/env/commands/env-pull.d.ts.map +1 -0
- package/dist/commands/env/commands/env-setup.d.ts +51 -0
- package/dist/commands/env/commands/env-setup.d.ts.map +1 -0
- package/dist/commands/env/commands/env-sync.d.ts +18 -0
- package/dist/commands/env/commands/env-sync.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/action.d.ts +18 -0
- package/dist/commands/env/commands/setup/action.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/auth.d.ts +25 -0
- package/dist/commands/env/commands/setup/auth.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/file-export.d.ts +20 -0
- package/dist/commands/env/commands/setup/file-export.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/github-api.d.ts +17 -0
- package/dist/commands/env/commands/setup/github-api.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/helpers.d.ts +117 -0
- package/dist/commands/env/commands/setup/helpers.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/index.d.ts +16 -0
- package/dist/commands/env/commands/setup/index.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/parsers.d.ts +66 -0
- package/dist/commands/env/commands/setup/parsers.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/prompts.d.ts +41 -0
- package/dist/commands/env/commands/setup/prompts.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/supabase-api.d.ts +30 -0
- package/dist/commands/env/commands/setup/supabase-api.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/types.d.ts +105 -0
- package/dist/commands/env/commands/setup/types.d.ts.map +1 -0
- package/dist/commands/env/commands/setup/vercel-api.d.ts +34 -0
- package/dist/commands/env/commands/setup/vercel-api.d.ts.map +1 -0
- package/dist/commands/env/constants/local-supabase.d.ts +43 -0
- package/dist/commands/env/constants/local-supabase.d.ts.map +1 -0
- package/dist/commands/env/index.d.ts +14 -0
- package/dist/commands/env/index.d.ts.map +1 -0
- package/dist/commands/hotfix/actors.d.ts +88 -0
- package/dist/commands/hotfix/actors.d.ts.map +1 -0
- package/dist/commands/hotfix/commands/hotfix-complete.d.ts +23 -0
- package/dist/commands/hotfix/commands/hotfix-complete.d.ts.map +1 -0
- package/dist/commands/hotfix/commands/hotfix-create.d.ts +23 -0
- package/dist/commands/hotfix/commands/hotfix-create.d.ts.map +1 -0
- package/dist/commands/hotfix/commands/hotfix-deploy.d.ts +23 -0
- package/dist/commands/hotfix/commands/hotfix-deploy.d.ts.map +1 -0
- package/dist/commands/hotfix/commands/hotfix-status.d.ts +20 -0
- package/dist/commands/hotfix/commands/hotfix-status.d.ts.map +1 -0
- package/dist/commands/hotfix/contract.d.ts +219 -0
- package/dist/commands/hotfix/contract.d.ts.map +1 -0
- package/dist/commands/hotfix/index.d.ts +15 -0
- package/dist/commands/hotfix/index.d.ts.map +1 -0
- package/dist/commands/hotfix/machine.d.ts +242 -0
- package/dist/commands/hotfix/machine.d.ts.map +1 -0
- package/dist/commands/hotfix/metadata.d.ts +37 -0
- package/dist/commands/hotfix/metadata.d.ts.map +1 -0
- package/dist/commands/hotfix/utils/hotfix-machine-helper.d.ts +58 -0
- package/dist/commands/hotfix/utils/hotfix-machine-helper.d.ts.map +1 -0
- package/dist/commands/init.d.ts +21 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/inject-test-attrs/action.d.ts +14 -0
- package/dist/commands/inject-test-attrs/action.d.ts.map +1 -0
- package/dist/commands/inject-test-attrs/commands/inject-test-attrs.d.ts +16 -0
- package/dist/commands/inject-test-attrs/commands/inject-test-attrs.d.ts.map +1 -0
- package/dist/commands/inject-test-attrs/contract.d.ts +52 -0
- package/dist/commands/inject-test-attrs/contract.d.ts.map +1 -0
- package/dist/commands/inject-test-attrs/formatter.d.ts +13 -0
- package/dist/commands/inject-test-attrs/formatter.d.ts.map +1 -0
- package/dist/commands/inject-test-attrs/index.d.ts +9 -0
- package/dist/commands/inject-test-attrs/index.d.ts.map +1 -0
- package/dist/commands/inject-test-attrs/manifest-generator.d.ts +21 -0
- package/dist/commands/inject-test-attrs/manifest-generator.d.ts.map +1 -0
- package/dist/commands/inject-test-attrs/processor-utils.d.ts +76 -0
- package/dist/commands/inject-test-attrs/processor-utils.d.ts.map +1 -0
- package/dist/commands/inject-test-attrs/processor.d.ts +35 -0
- package/dist/commands/inject-test-attrs/processor.d.ts.map +1 -0
- package/dist/commands/inject-test-attrs/types.d.ts +48 -0
- package/dist/commands/inject-test-attrs/types.d.ts.map +1 -0
- package/dist/commands/link.d.ts +16 -0
- package/dist/commands/link.d.ts.map +1 -0
- package/dist/commands/manifest/index.d.ts +27 -0
- package/dist/commands/manifest/index.d.ts.map +1 -0
- package/dist/commands/prepare/commands/prepare.d.ts +32 -0
- package/dist/commands/prepare/commands/prepare.d.ts.map +1 -0
- package/dist/commands/prepare/index.d.ts +10 -0
- package/dist/commands/prepare/index.d.ts.map +1 -0
- package/dist/commands/sdk/commands/publish.d.ts +33 -0
- package/dist/commands/sdk/commands/publish.d.ts.map +1 -0
- package/dist/commands/sdk/index.d.ts +14 -0
- package/dist/commands/sdk/index.d.ts.map +1 -0
- package/dist/commands/services/index.d.ts +3 -0
- package/dist/commands/services/index.d.ts.map +1 -0
- package/dist/commands/session/index.d.ts +19 -0
- package/dist/commands/session/index.d.ts.map +1 -0
- package/dist/commands/status.d.ts +13 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/telemetry.d.ts +3 -0
- package/dist/commands/telemetry.d.ts.map +1 -0
- package/dist/commands/template-check/actors/compare.d.ts +18 -0
- package/dist/commands/template-check/actors/compare.d.ts.map +1 -0
- package/dist/commands/template-check/actors/discover.d.ts +18 -0
- package/dist/commands/template-check/actors/discover.d.ts.map +1 -0
- package/dist/commands/template-check/actors/index.d.ts +9 -0
- package/dist/commands/template-check/actors/index.d.ts.map +1 -0
- package/dist/commands/template-check/actors/report.d.ts +44 -0
- package/dist/commands/template-check/actors/report.d.ts.map +1 -0
- package/dist/commands/template-check/commands/template-check.d.ts +17 -0
- package/dist/commands/template-check/commands/template-check.d.ts.map +1 -0
- package/dist/commands/template-check/config.d.ts +100 -0
- package/dist/commands/template-check/config.d.ts.map +1 -0
- package/dist/commands/template-check/contract.d.ts +169 -0
- package/dist/commands/template-check/contract.d.ts.map +1 -0
- package/dist/commands/template-check/index.d.ts +8 -0
- package/dist/commands/template-check/index.d.ts.map +1 -0
- package/dist/commands/template-check/machine.d.ts +91 -0
- package/dist/commands/template-check/machine.d.ts.map +1 -0
- package/dist/commands/template-check/types.d.ts +87 -0
- package/dist/commands/template-check/types.d.ts.map +1 -0
- package/dist/commands/template-check/utils/diff-analyzer.d.ts +40 -0
- package/dist/commands/template-check/utils/diff-analyzer.d.ts.map +1 -0
- package/dist/commands/template-check/utils/normalizer.d.ts +55 -0
- package/dist/commands/template-check/utils/normalizer.d.ts.map +1 -0
- package/dist/commands/template-check/utils/path-mapping.d.ts +43 -0
- package/dist/commands/template-check/utils/path-mapping.d.ts.map +1 -0
- package/dist/commands/test/commands/test-db.d.ts +25 -0
- package/dist/commands/test/commands/test-db.d.ts.map +1 -0
- package/dist/commands/test/commands/test-e2e.d.ts +20 -0
- package/dist/commands/test/commands/test-e2e.d.ts.map +1 -0
- package/dist/commands/test/commands/test-fast.d.ts +21 -0
- package/dist/commands/test/commands/test-fast.d.ts.map +1 -0
- package/dist/commands/test/commands/test-integration.d.ts +3 -0
- package/dist/commands/test/commands/test-integration.d.ts.map +1 -0
- package/dist/commands/test/commands/test-layer.d.ts +8 -0
- package/dist/commands/test/commands/test-layer.d.ts.map +1 -0
- package/dist/commands/test/commands/test-owasp-generate.d.ts +11 -0
- package/dist/commands/test/commands/test-owasp-generate.d.ts.map +1 -0
- package/dist/commands/test/commands/test-service.d.ts +3 -0
- package/dist/commands/test/commands/test-service.d.ts.map +1 -0
- package/dist/commands/test/commands/test-static.d.ts +3 -0
- package/dist/commands/test/commands/test-static.d.ts.map +1 -0
- package/dist/commands/test/commands/test.d.ts +3 -0
- package/dist/commands/test/commands/test.d.ts.map +1 -0
- package/dist/commands/test/index.d.ts +39 -0
- package/dist/commands/test/index.d.ts.map +1 -0
- package/dist/commands/test-gen.d.ts +39 -0
- package/dist/commands/test-gen.d.ts.map +1 -0
- package/dist/commands/ui.d.ts +12 -0
- package/dist/commands/ui.d.ts.map +1 -0
- package/dist/commands/upgrade.d.ts +38 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/validate.d.ts +9 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/vuln-check.d.ts +18 -0
- package/dist/commands/vuln-check.d.ts.map +1 -0
- package/dist/commands/watch.d.ts +21 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/workflow/commands/deploy-production.d.ts +10 -0
- package/dist/commands/workflow/commands/deploy-production.d.ts.map +1 -0
- package/dist/commands/workflow/commands/final-status.d.ts +19 -0
- package/dist/commands/workflow/commands/final-status.d.ts.map +1 -0
- package/dist/commands/workflow/commands/log.d.ts +14 -0
- package/dist/commands/workflow/commands/log.d.ts.map +1 -0
- package/dist/commands/workflow/commands/notify.d.ts +18 -0
- package/dist/commands/workflow/commands/notify.d.ts.map +1 -0
- package/dist/commands/workflow/commands/paths.d.ts +15 -0
- package/dist/commands/workflow/commands/paths.d.ts.map +1 -0
- package/dist/commands/workflow/commands/sync.d.ts +21 -0
- package/dist/commands/workflow/commands/sync.d.ts.map +1 -0
- package/dist/commands/workflow/commands/validate.d.ts +9 -0
- package/dist/commands/workflow/commands/validate.d.ts.map +1 -0
- package/dist/commands/workflow/commands/verify-credentials.d.ts +15 -0
- package/dist/commands/workflow/commands/verify-credentials.d.ts.map +1 -0
- package/dist/commands/workflow/index.d.ts +15 -0
- package/dist/commands/workflow/index.d.ts.map +1 -0
- package/dist/commands/workflow/types.d.ts +87 -0
- package/dist/commands/workflow/types.d.ts.map +1 -0
- package/dist/config/env-files.d.ts +65 -0
- package/dist/config/env-files.d.ts.map +1 -0
- package/dist/config/env.d.ts +131 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/constants/versions.d.ts +26 -0
- package/dist/constants/versions.d.ts.map +1 -0
- package/dist/contracts/envelope.d.ts +2 -0
- package/dist/contracts/envelope.d.ts.map +1 -0
- package/dist/errors/catalog.d.ts +461 -0
- package/dist/errors/catalog.d.ts.map +1 -0
- package/dist/errors/exit-codes.d.ts +46 -0
- package/dist/errors/exit-codes.d.ts.map +1 -0
- package/dist/errors/index.d.ts +13 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/incremental/affected-tests.d.ts +29 -0
- package/dist/incremental/affected-tests.d.ts.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36594 -0
- package/dist/internal/machines/index.d.ts +10 -0
- package/dist/internal/machines/index.d.ts.map +1 -0
- package/dist/internal/machines/machine-runner.d.ts +18 -0
- package/dist/internal/machines/machine-runner.d.ts.map +1 -0
- package/dist/internal/machines/types.d.ts +48 -0
- package/dist/internal/machines/types.d.ts.map +1 -0
- package/dist/internal/vuln-checker/analyzers/dependency-analyzer.d.ts +24 -0
- package/dist/internal/vuln-checker/analyzers/dependency-analyzer.d.ts.map +1 -0
- package/dist/internal/vuln-checker/analyzers/rls-analyzer.d.ts +28 -0
- package/dist/internal/vuln-checker/analyzers/rls-analyzer.d.ts.map +1 -0
- package/dist/internal/vuln-checker/analyzers/secret-analyzer.d.ts +26 -0
- package/dist/internal/vuln-checker/analyzers/secret-analyzer.d.ts.map +1 -0
- package/dist/internal/vuln-checker/analyzers/typescript-analyzer.d.ts +25 -0
- package/dist/internal/vuln-checker/analyzers/typescript-analyzer.d.ts.map +1 -0
- package/dist/internal/vuln-checker/config/loader.d.ts +16 -0
- package/dist/internal/vuln-checker/config/loader.d.ts.map +1 -0
- package/dist/internal/vuln-checker/constants.d.ts +75 -0
- package/dist/internal/vuln-checker/constants.d.ts.map +1 -0
- package/dist/internal/vuln-checker/ignore/matcher.d.ts +23 -0
- package/dist/internal/vuln-checker/ignore/matcher.d.ts.map +1 -0
- package/dist/internal/vuln-checker/index.d.ts +45 -0
- package/dist/internal/vuln-checker/index.d.ts.map +1 -0
- package/dist/internal/vuln-checker/reporters/console-reporter.d.ts +9 -0
- package/dist/internal/vuln-checker/reporters/console-reporter.d.ts.map +1 -0
- package/dist/internal/vuln-checker/reporters/json-reporter.d.ts +9 -0
- package/dist/internal/vuln-checker/reporters/json-reporter.d.ts.map +1 -0
- package/dist/internal/vuln-checker/reporters/markdown-reporter.d.ts +9 -0
- package/dist/internal/vuln-checker/reporters/markdown-reporter.d.ts.map +1 -0
- package/dist/internal/vuln-checker/reporters/sarif-reporter.d.ts +12 -0
- package/dist/internal/vuln-checker/reporters/sarif-reporter.d.ts.map +1 -0
- package/dist/internal/vuln-checker/types.d.ts +149 -0
- package/dist/internal/vuln-checker/types.d.ts.map +1 -0
- package/dist/notifiers/desktop-notifier.d.ts +34 -0
- package/dist/notifiers/desktop-notifier.d.ts.map +1 -0
- package/dist/schemas/ci.config.schema.json +206 -0
- package/dist/ui/components/db-panel.d.ts +12 -0
- package/dist/ui/components/db-panel.d.ts.map +1 -0
- package/dist/ui/components/status-bar.d.ts +6 -0
- package/dist/ui/components/status-bar.d.ts.map +1 -0
- package/dist/ui/components/test-panel.d.ts +12 -0
- package/dist/ui/components/test-panel.d.ts.map +1 -0
- package/dist/ui/dashboard.d.ts +20 -0
- package/dist/ui/dashboard.d.ts.map +1 -0
- package/dist/ui/index.d.ts +16 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/utils/config-loader.d.ts +92 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-updater.d.ts +44 -0
- package/dist/utils/config-updater.d.ts.map +1 -0
- package/dist/utils/diagnostics.d.ts +44 -0
- package/dist/utils/diagnostics.d.ts.map +1 -0
- package/dist/utils/dotenvx.d.ts +33 -0
- package/dist/utils/dotenvx.d.ts.map +1 -0
- package/dist/utils/execution-plan.d.ts +43 -0
- package/dist/utils/execution-plan.d.ts.map +1 -0
- package/dist/utils/help-system.d.ts +34 -0
- package/dist/utils/help-system.d.ts.map +1 -0
- package/dist/utils/license/admin-auth.d.ts +39 -0
- package/dist/utils/license/admin-auth.d.ts.map +1 -0
- package/dist/utils/license/allowlist-checker.d.ts +56 -0
- package/dist/utils/license/allowlist-checker.d.ts.map +1 -0
- package/dist/utils/license/ci-detector.d.ts +43 -0
- package/dist/utils/license/ci-detector.d.ts.map +1 -0
- package/dist/utils/license/index.d.ts +49 -0
- package/dist/utils/license/index.d.ts.map +1 -0
- package/dist/utils/license/owner-resolver.d.ts +35 -0
- package/dist/utils/license/owner-resolver.d.ts.map +1 -0
- package/dist/utils/license/types.d.ts +42 -0
- package/dist/utils/license/types.d.ts.map +1 -0
- package/dist/utils/license/validate-owner.d.ts +33 -0
- package/dist/utils/license/validate-owner.d.ts.map +1 -0
- package/dist/utils/port-allocator.d.ts +59 -0
- package/dist/utils/port-allocator.d.ts.map +1 -0
- package/dist/utils/secure-exec.d.ts +95 -0
- package/dist/utils/secure-exec.d.ts.map +1 -0
- package/dist/utils/template-fetcher.d.ts +63 -0
- package/dist/utils/template-fetcher.d.ts.map +1 -0
- package/dist/utils/type-guards.d.ts +25 -0
- package/dist/utils/type-guards.d.ts.map +1 -0
- package/dist/utils/vercel-project.d.ts +38 -0
- package/dist/utils/vercel-project.d.ts.map +1 -0
- package/dist/utils/workspace-detector.d.ts +71 -0
- package/dist/utils/workspace-detector.d.ts.map +1 -0
- package/dist/validators/risk-detector.d.ts +38 -0
- package/dist/validators/risk-detector.d.ts.map +1 -0
- package/dist/validators/schema-validator.d.ts +20 -0
- package/dist/validators/schema-validator.d.ts.map +1 -0
- package/dist/version.d.ts +13 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/watchers/schema-watcher.d.ts +61 -0
- package/dist/watchers/schema-watcher.d.ts.map +1 -0
- package/dist/watchers/test-watcher.d.ts +57 -0
- package/dist/watchers/test-watcher.d.ts.map +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: RLS (Row Level Security) verification utilities for CI operations
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Verify database roles and RLS configuration for test execution
|
|
5
|
+
* Critical for: Layer 2 (pgTAP) and Layer 3 (Integration) tests
|
|
6
|
+
*
|
|
7
|
+
* Design decisions:
|
|
8
|
+
* - Only probe standard Supabase roles (authenticated, service_role)
|
|
9
|
+
* - Avoid hardcoding repo-specific roles/tables
|
|
10
|
+
* - Best-effort remediation: grant privileges when possible, skip when not
|
|
11
|
+
*/
|
|
12
|
+
export interface QueryScalarParams {
|
|
13
|
+
repoRoot: string;
|
|
14
|
+
tmpDir: string;
|
|
15
|
+
databaseUrl: string;
|
|
16
|
+
sql: string;
|
|
17
|
+
logName: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Execute a SQL query and return a single scalar value.
|
|
21
|
+
*
|
|
22
|
+
* @param params - Query parameters
|
|
23
|
+
* @returns Scalar result as string
|
|
24
|
+
*/
|
|
25
|
+
export declare function queryScalar(params: QueryScalarParams): Promise<string>;
|
|
26
|
+
export interface VerifyRlsAlignmentParams {
|
|
27
|
+
repoRoot: string;
|
|
28
|
+
tmpDir: string;
|
|
29
|
+
databaseUrlAdmin: string;
|
|
30
|
+
databaseUrlApp: string;
|
|
31
|
+
allowRemediation: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Verify and optionally remediate RLS role alignment.
|
|
35
|
+
*
|
|
36
|
+
* Checks if the application role can access RLS-protected tables,
|
|
37
|
+
* and if remediation is allowed, grants necessary privileges.
|
|
38
|
+
*
|
|
39
|
+
* @param params - Verification parameters
|
|
40
|
+
*/
|
|
41
|
+
export declare function verifyDbRlsRoleAlignment(params: VerifyRlsAlignmentParams): Promise<void>;
|
|
42
|
+
export interface VerifyServiceTestParams {
|
|
43
|
+
repoRoot: string;
|
|
44
|
+
tmpDir: string;
|
|
45
|
+
databaseUrlAdmin: string;
|
|
46
|
+
databaseUrlApp: string;
|
|
47
|
+
allowRemediation: boolean;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Verify prerequisites for service (Layer 3) tests.
|
|
51
|
+
*
|
|
52
|
+
* Checks and optionally grants:
|
|
53
|
+
* 1. Schema access (USAGE on public schema)
|
|
54
|
+
* 2. Table access (SELECT, INSERT, UPDATE, DELETE)
|
|
55
|
+
* 3. Sequence access (USAGE)
|
|
56
|
+
*
|
|
57
|
+
* @param params - Verification parameters
|
|
58
|
+
*/
|
|
59
|
+
export declare function verifyServiceTestPrerequisites(params: VerifyServiceTestParams): Promise<void>;
|
|
60
|
+
export interface VerifyPgTapAccessParams {
|
|
61
|
+
repoRoot: string;
|
|
62
|
+
tmpDir: string;
|
|
63
|
+
databaseUrl: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Verify that pgTAP functions are accessible.
|
|
67
|
+
*
|
|
68
|
+
* @param params - Verification parameters
|
|
69
|
+
* @returns true if pgTAP is accessible, false otherwise
|
|
70
|
+
*/
|
|
71
|
+
export declare function verifyPgTapAccess(params: VerifyPgTapAccessParams): Promise<boolean>;
|
|
72
|
+
//# sourceMappingURL=rls-verification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rls-verification.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/utils/rls-verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU5E;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF9F;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AA4BD;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAazF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Schema application utilities for CI operations
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Apply database schemas in preview and local environments
|
|
5
|
+
*
|
|
6
|
+
* Architecture (SQL-First with pg-schema-diff):
|
|
7
|
+
* - SSOT: supabase/schemas/declarative/*.sql
|
|
8
|
+
* - TypeScript generation: drizzle-kit introspect FROM database
|
|
9
|
+
*
|
|
10
|
+
* Workflow:
|
|
11
|
+
* - runa db sync → pg-schema-diff + drizzle-kit introspect + seeds
|
|
12
|
+
* - runa db apply → Runtime schema application (no migration files)
|
|
13
|
+
*/
|
|
14
|
+
export interface ApplySchemaParams {
|
|
15
|
+
repoRoot: string;
|
|
16
|
+
tmpDir: string;
|
|
17
|
+
databaseUrlRaw: string;
|
|
18
|
+
allowRemediation: {
|
|
19
|
+
ensurePgTap: boolean;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Apply schema and ensure pgTAP for preview environment.
|
|
24
|
+
*
|
|
25
|
+
* @param params - Schema application parameters
|
|
26
|
+
*/
|
|
27
|
+
export declare function applyPreviewSchemaAndPgtap(params: ApplySchemaParams): Promise<void>;
|
|
28
|
+
export interface ApplyLocalSchemaParams {
|
|
29
|
+
repoRoot: string;
|
|
30
|
+
tmpDir: string;
|
|
31
|
+
drizzleDatabaseUrl: string;
|
|
32
|
+
allowRemediation: {
|
|
33
|
+
ensurePgTap: boolean;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Apply schema and seeds for local environment.
|
|
38
|
+
*
|
|
39
|
+
* @param params - Local schema application parameters
|
|
40
|
+
*/
|
|
41
|
+
export declare function applyLocalSchemaAndSeeds(params: ApplyLocalSchemaParams): Promise<void>;
|
|
42
|
+
//# sourceMappingURL=schema-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-operations.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/utils/schema-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5C;AAwBD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CzF;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC5F"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Seed verification and application utilities for CI operations
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Verify and apply database seeds in preview environments
|
|
5
|
+
* Philosophy: Verify-first, apply-if-needed, re-verify after application
|
|
6
|
+
*/
|
|
7
|
+
export interface VerifySeedsParams {
|
|
8
|
+
repoRoot: string;
|
|
9
|
+
tmpDir: string;
|
|
10
|
+
databaseUrlRaw: string;
|
|
11
|
+
minNonEmptyTables: number;
|
|
12
|
+
maxTablesToCheck: number;
|
|
13
|
+
}
|
|
14
|
+
export interface VerifySeedsResult {
|
|
15
|
+
needed: boolean;
|
|
16
|
+
countTotal: number;
|
|
17
|
+
countNonEmpty: number;
|
|
18
|
+
message: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Verify if seeds are needed in the database.
|
|
22
|
+
*
|
|
23
|
+
* @param params - Verification parameters
|
|
24
|
+
* @returns Result indicating if seeds are needed
|
|
25
|
+
*/
|
|
26
|
+
export declare function verifySeedsNeeded(params: VerifySeedsParams): Promise<VerifySeedsResult>;
|
|
27
|
+
export interface GenerateSeedsParams {
|
|
28
|
+
repoRoot: string;
|
|
29
|
+
tmpDir: string;
|
|
30
|
+
/** Database URL for DB-based schema analysis during seed generation */
|
|
31
|
+
databaseUrlRaw: string;
|
|
32
|
+
}
|
|
33
|
+
export interface GenerateSeedsResult {
|
|
34
|
+
success: boolean;
|
|
35
|
+
message: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Generate preview seeds if possible.
|
|
39
|
+
*
|
|
40
|
+
* @param params - Generation parameters
|
|
41
|
+
* @returns Result indicating success or failure
|
|
42
|
+
*/
|
|
43
|
+
export declare function generatePreviewSeedsIfPossible(params: GenerateSeedsParams): Promise<GenerateSeedsResult>;
|
|
44
|
+
export interface ApplySeedsParams {
|
|
45
|
+
repoRoot: string;
|
|
46
|
+
tmpDir: string;
|
|
47
|
+
databaseUrlRaw: string;
|
|
48
|
+
}
|
|
49
|
+
export interface ApplySeedsResult {
|
|
50
|
+
success: boolean;
|
|
51
|
+
message: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Apply preview seeds to the database.
|
|
55
|
+
*
|
|
56
|
+
* @param params - Application parameters
|
|
57
|
+
* @returns Result indicating success or failure
|
|
58
|
+
* @throws Error if seed application fails (for proper step failure handling)
|
|
59
|
+
*/
|
|
60
|
+
export declare function applyPreviewSeeds(params: ApplySeedsParams): Promise<ApplySeedsResult>;
|
|
61
|
+
export interface FullSeedWorkflowParams {
|
|
62
|
+
repoRoot: string;
|
|
63
|
+
tmpDir: string;
|
|
64
|
+
databaseUrlRaw: string;
|
|
65
|
+
minNonEmptyTables: number;
|
|
66
|
+
maxTablesToCheck: number;
|
|
67
|
+
allowGenerate: boolean;
|
|
68
|
+
}
|
|
69
|
+
export interface FullSeedWorkflowResult {
|
|
70
|
+
success: boolean;
|
|
71
|
+
skipped: boolean;
|
|
72
|
+
message: string;
|
|
73
|
+
countNonEmpty: number;
|
|
74
|
+
countTotal: number;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Run the full seed workflow: verify → generate → apply → re-verify.
|
|
78
|
+
*
|
|
79
|
+
* @param params - Workflow parameters
|
|
80
|
+
* @returns Result of the workflow
|
|
81
|
+
*/
|
|
82
|
+
export declare function runFullSeedWorkflow(params: FullSeedWorkflowParams): Promise<FullSeedWorkflowResult>;
|
|
83
|
+
export interface SchemaSnapshotParams {
|
|
84
|
+
repoRoot: string;
|
|
85
|
+
tmpDir: string;
|
|
86
|
+
databaseUrl: string;
|
|
87
|
+
}
|
|
88
|
+
export interface SchemaSnapshotResult {
|
|
89
|
+
tables: number;
|
|
90
|
+
columns: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Read schema snapshot from database.
|
|
94
|
+
*
|
|
95
|
+
* Counts tables and columns in non-system schemas.
|
|
96
|
+
*
|
|
97
|
+
* @param params - Snapshot parameters
|
|
98
|
+
* @returns Table and column counts
|
|
99
|
+
*/
|
|
100
|
+
export declare function readSchemaSnapshot(params: SchemaSnapshotParams): Promise<SchemaSnapshotResult>;
|
|
101
|
+
//# sourceMappingURL=seed-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed-operations.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/utils/seed-operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+C7F;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CA6D9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyB3F;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAkFjC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CA4C/B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Parallel layer test runner (process-based)
|
|
3
|
+
*
|
|
4
|
+
* Design:
|
|
5
|
+
* - Each layer runs as a separate process (easy to kill, stable output isolation)
|
|
6
|
+
* - Exit codes are written to `.runa/tmp/layerX.exit` for post-processing
|
|
7
|
+
* - Uses AbortController for proper timeout cancellation (no race condition)
|
|
8
|
+
* - All I/O errors are caught and converted to exit codes (no unhandled rejections)
|
|
9
|
+
*
|
|
10
|
+
* IMPORTANT: Success determination uses structured result files, NOT exit codes.
|
|
11
|
+
* - vitest can return exit code 1 even when all tests pass (coverage thresholds, etc.)
|
|
12
|
+
* - Each layer writes `.runa/tmp/vitest-layerN-result.json` with actual test results
|
|
13
|
+
* - Fail-fast logic reads result files to determine true success/failure
|
|
14
|
+
* - Exit code mismatch (exit=1 but success=true) is logged for debugging
|
|
15
|
+
*
|
|
16
|
+
* SSOT: LayerResultFile type is imported from @runa-ai/runa SDK.
|
|
17
|
+
* All layers (1-4) use the shared writeLayerResultFile() helper for consistency.
|
|
18
|
+
*/
|
|
19
|
+
export type LayerRunResult = {
|
|
20
|
+
layer: number;
|
|
21
|
+
exitCode: number;
|
|
22
|
+
/** Actual test success (from JSON report), not just exit code */
|
|
23
|
+
success: boolean;
|
|
24
|
+
/** True if exit code was non-zero but tests passed (vitest issue, not test failure) */
|
|
25
|
+
exitCodeMismatch: boolean;
|
|
26
|
+
/** True if layer was skipped (not executed) */
|
|
27
|
+
skipped?: boolean;
|
|
28
|
+
/** Reason why layer was skipped */
|
|
29
|
+
skippedReason?: string;
|
|
30
|
+
logPath: string;
|
|
31
|
+
exitPath: string;
|
|
32
|
+
resultPath: string;
|
|
33
|
+
};
|
|
34
|
+
export declare function runLayersInParallel(params: {
|
|
35
|
+
repoRoot: string;
|
|
36
|
+
tmpDir: string;
|
|
37
|
+
layers: number[];
|
|
38
|
+
baseUrl: string;
|
|
39
|
+
env: NodeJS.ProcessEnv;
|
|
40
|
+
playwrightWorkers: number;
|
|
41
|
+
failFast: boolean;
|
|
42
|
+
maxWaitSeconds: number;
|
|
43
|
+
progressIntervalSeconds: number;
|
|
44
|
+
}): Promise<LayerRunResult[]>;
|
|
45
|
+
//# sourceMappingURL=test-parallel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-parallel.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/utils/test-parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqCH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAmLF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;CACjC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAkF5B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Timestamp invariant repair (updated_at >= created_at)
|
|
3
|
+
*
|
|
4
|
+
* This is required for Branch DBs forked from Production-like data.
|
|
5
|
+
* Must be idempotent and safe when tables are missing.
|
|
6
|
+
*/
|
|
7
|
+
export declare function repairTimestampInvariants(params: {
|
|
8
|
+
repoRoot: string;
|
|
9
|
+
tmpDir: string;
|
|
10
|
+
databaseUrl: string;
|
|
11
|
+
labelPrefix: 'preview' | 'production';
|
|
12
|
+
}): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=timestamp-invariants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timestamp-invariants.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/utils/timestamp-invariants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuEH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC;CACvC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsGhB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { DbApplyInput } from './contract.js';
|
|
2
|
+
export interface ApplyResult {
|
|
3
|
+
filesApplied: number;
|
|
4
|
+
rolePasswordsSet: number;
|
|
5
|
+
}
|
|
6
|
+
export interface PgSchemaDiffResult {
|
|
7
|
+
sql: string;
|
|
8
|
+
hazards: string[];
|
|
9
|
+
applied: boolean;
|
|
10
|
+
/** Number of retry attempts made (for metrics) */
|
|
11
|
+
retryAttempts?: number;
|
|
12
|
+
/** Total time spent waiting between retries (ms) */
|
|
13
|
+
retryWaitMs?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Apply idempotent schemas (extensions, RBAC, cleanup) and set role passwords.
|
|
17
|
+
*
|
|
18
|
+
* Flow:
|
|
19
|
+
* 1. Apply idempotent/*.sql files (includes 15_rbac_roles.sql for ROLE creation)
|
|
20
|
+
* 2. Set passwords for drizzle_app/drizzle_service if env vars present
|
|
21
|
+
*/
|
|
22
|
+
export declare const applyIdempotentSchemas: import("xstate").PromiseActorLogic<ApplyResult, {
|
|
23
|
+
input: DbApplyInput;
|
|
24
|
+
targetDir: string;
|
|
25
|
+
}, import("xstate").EventObject>;
|
|
26
|
+
/**
|
|
27
|
+
* Apply schema changes using pg-schema-diff (or direct psql for fresh DB).
|
|
28
|
+
*/
|
|
29
|
+
export declare const applyPgSchemaDiff: import("xstate").PromiseActorLogic<PgSchemaDiffResult, {
|
|
30
|
+
input: DbApplyInput;
|
|
31
|
+
targetDir: string;
|
|
32
|
+
}, import("xstate").EventObject>;
|
|
33
|
+
/**
|
|
34
|
+
* Apply seeds.
|
|
35
|
+
*/
|
|
36
|
+
export declare const applySeeds: import("xstate").PromiseActorLogic<{
|
|
37
|
+
applied: boolean;
|
|
38
|
+
}, {
|
|
39
|
+
input: DbApplyInput;
|
|
40
|
+
targetDir: string;
|
|
41
|
+
}, import("xstate").EventObject>;
|
|
42
|
+
//# sourceMappingURL=actors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actors.d.ts","sourceRoot":"","sources":["../../../../src/commands/db/apply/actors.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAuElD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA0vBD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;WAExB,YAAY;eAAa,MAAM;gCAgCxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;WAEnB,YAAY;eAAa,MAAM;gCA6DxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;aACV,OAAO;;WACT,YAAY;eAAa,MAAM;gCAoDxC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: db apply Command Contract (Declarative Schema Management)
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Apply schema changes to any DB using pg-schema-diff at runtime
|
|
5
|
+
* Used by: Local development, CI workflow (runa ci pr), Production deployments
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* - No migration files needed
|
|
9
|
+
* - pg-schema-diff runs at runtime against actual DB state
|
|
10
|
+
* - Same logic for all environments (local, Branch DB, production)
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
export declare const DbApplyInputSchema: z.ZodObject<{
|
|
14
|
+
env: z.ZodDefault<z.ZodEnum<{
|
|
15
|
+
local: "local";
|
|
16
|
+
preview: "preview";
|
|
17
|
+
production: "production";
|
|
18
|
+
}>>;
|
|
19
|
+
databaseUrl: z.ZodOptional<z.ZodString>;
|
|
20
|
+
verbose: z.ZodDefault<z.ZodBoolean>;
|
|
21
|
+
noSeed: z.ZodDefault<z.ZodBoolean>;
|
|
22
|
+
autoApprove: z.ZodDefault<z.ZodBoolean>;
|
|
23
|
+
allowDataLoss: z.ZodDefault<z.ZodBoolean>;
|
|
24
|
+
confirmAuthzUpdate: z.ZodDefault<z.ZodBoolean>;
|
|
25
|
+
check: z.ZodDefault<z.ZodBoolean>;
|
|
26
|
+
maxLockWaitMs: z.ZodDefault<z.ZodNumber>;
|
|
27
|
+
freshDbCheckSql: z.ZodOptional<z.ZodString>;
|
|
28
|
+
}, z.core.$strict>;
|
|
29
|
+
export type DbApplyInput = z.infer<typeof DbApplyInputSchema>;
|
|
30
|
+
/**
|
|
31
|
+
* Execution metrics for observability.
|
|
32
|
+
*/
|
|
33
|
+
export declare const DbApplyMetricsSchema: z.ZodObject<{
|
|
34
|
+
totalMs: z.ZodNumber;
|
|
35
|
+
idempotentMs: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
planMs: z.ZodOptional<z.ZodNumber>;
|
|
37
|
+
applyMs: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
codegenMs: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
seedMs: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
retryAttempts: z.ZodOptional<z.ZodNumber>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
export type DbApplyMetrics = z.infer<typeof DbApplyMetricsSchema>;
|
|
43
|
+
export declare const DbApplyOutputSchema: z.ZodObject<{
|
|
44
|
+
success: z.ZodBoolean;
|
|
45
|
+
idempotentSchemasApplied: z.ZodNumber;
|
|
46
|
+
rolePasswordsSet: z.ZodOptional<z.ZodNumber>;
|
|
47
|
+
schemaChangesApplied: z.ZodBoolean;
|
|
48
|
+
hazards: z.ZodArray<z.ZodString>;
|
|
49
|
+
seedsApplied: z.ZodBoolean;
|
|
50
|
+
error: z.ZodOptional<z.ZodString>;
|
|
51
|
+
planSql: z.ZodOptional<z.ZodString>;
|
|
52
|
+
checkOnly: z.ZodOptional<z.ZodBoolean>;
|
|
53
|
+
metrics: z.ZodOptional<z.ZodObject<{
|
|
54
|
+
totalMs: z.ZodNumber;
|
|
55
|
+
idempotentMs: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
planMs: z.ZodOptional<z.ZodNumber>;
|
|
57
|
+
applyMs: z.ZodOptional<z.ZodNumber>;
|
|
58
|
+
codegenMs: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
seedMs: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
retryAttempts: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
}, z.core.$strip>>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
export type DbApplyOutput = z.infer<typeof DbApplyOutputSchema>;
|
|
64
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/commands/db/apply/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;kBAoCpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;iBAe/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;iBAwB9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Advisory Lock for Concurrent Migration Protection
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Prevent concurrent migrations using PostgreSQL advisory locks
|
|
5
|
+
* Pattern: Acquire before migration, release after completion
|
|
6
|
+
*/
|
|
7
|
+
/** Unique lock ID for runa db migrations (chosen to be unlikely to conflict) */
|
|
8
|
+
export declare const MIGRATION_LOCK_ID = 88888;
|
|
9
|
+
/**
|
|
10
|
+
* Acquire advisory lock to prevent concurrent migrations.
|
|
11
|
+
* Returns true if lock was acquired, false if another migration is running.
|
|
12
|
+
*/
|
|
13
|
+
export declare function acquireAdvisoryLock(dbUrl: string, verbose: boolean): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Release advisory lock after migration.
|
|
16
|
+
*/
|
|
17
|
+
export declare function releaseAdvisoryLock(dbUrl: string, verbose: boolean): void;
|
|
18
|
+
//# sourceMappingURL=advisory-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advisory-lock.d.ts","sourceRoot":"","sources":["../../../../../src/commands/db/apply/helpers/advisory-lock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAgB5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQzE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: db apply Helpers Barrel Export
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Export all helper functions for db apply actors
|
|
5
|
+
*/
|
|
6
|
+
export { acquireAdvisoryLock, MIGRATION_LOCK_ID, releaseAdvisoryLock, } from './advisory-lock.js';
|
|
7
|
+
export type { ParsedHazard } from './pg-schema-diff-helpers.js';
|
|
8
|
+
export { buildAllowedHazards, displayCheckModeResults, displayHazards, displayHazardsWithContext, executePgSchemaDiffPlan, filterFalsePositiveHazards, getIdempotentRoles, handleHazards, handleHazardsWithContext, handleProductionAuthzProtection, handleProductionDataProtection, isIdempotentRoleHazard, parseHazardsFromOutput, parseHazardsWithContext, resetIdempotentRolesCache, verifyDatabaseConnection, verifyPgSchemaDiffBinary, } from './pg-schema-diff-helpers.js';
|
|
9
|
+
export type { RetryConfig, RetryResult } from './retry-logic.js';
|
|
10
|
+
export { BASE_DELAY_MS, calculateBackoffDelay, DEFAULT_MAX_DELAY_MS, executeApplyWithRetry, isLockTimeoutError, MAX_RETRIES, sleep, } from './retry-logic.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/db/apply/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,wBAAwB,EACxB,+BAA+B,EAC/B,8BAA8B,EAC9B,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,KAAK,GACN,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: pg-schema-diff Helper Functions
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Utility functions for pg-schema-diff operations
|
|
5
|
+
* Pattern: Pure functions for verification, parsing, and display
|
|
6
|
+
*
|
|
7
|
+
* False Positive Filtering:
|
|
8
|
+
* - AUTHZ_UPDATE hazards for roles defined in idempotent/*.sql are filtered
|
|
9
|
+
* - Reason: idempotent files (e.g., 15_rbac_roles.sql) grant privileges that
|
|
10
|
+
* pg-schema-diff doesn't know about (it only manages declarative/*.sql)
|
|
11
|
+
*/
|
|
12
|
+
import type { DbApplyInput } from '../contract.js';
|
|
13
|
+
/**
|
|
14
|
+
* Extract role names from idempotent SQL files.
|
|
15
|
+
* These roles are managed outside pg-schema-diff and should not trigger AUTHZ_UPDATE.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getIdempotentRoles(schemasDir?: string): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Check if an AUTHZ_UPDATE hazard is a false positive.
|
|
20
|
+
*
|
|
21
|
+
* False positives occur when:
|
|
22
|
+
* - The hazard type is AUTHZ_UPDATE
|
|
23
|
+
* - The causing SQL references a role defined in idempotent/*.sql
|
|
24
|
+
* - Example: "REVOKE ... FROM drizzle_app" when drizzle_app is in 15_rbac_roles.sql
|
|
25
|
+
*/
|
|
26
|
+
export declare function isIdempotentRoleHazard(hazard: ParsedHazard, schemasDir?: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Filter out false positive hazards.
|
|
29
|
+
* Returns hazards that are NOT false positives (i.e., real issues).
|
|
30
|
+
*/
|
|
31
|
+
export declare function filterFalsePositiveHazards(hazards: ParsedHazard[], schemasDir?: string): {
|
|
32
|
+
filtered: ParsedHazard[];
|
|
33
|
+
falsePositives: ParsedHazard[];
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Reset the cached idempotent roles.
|
|
37
|
+
* Useful for testing or when schema files change.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resetIdempotentRolesCache(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Verify pg-schema-diff binary is available.
|
|
42
|
+
*/
|
|
43
|
+
export declare function verifyPgSchemaDiffBinary(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Verify database connection.
|
|
46
|
+
*/
|
|
47
|
+
export declare function verifyDatabaseConnection(dbUrl: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Parsed hazard with context information.
|
|
50
|
+
*/
|
|
51
|
+
export interface ParsedHazard {
|
|
52
|
+
type: string;
|
|
53
|
+
message: string;
|
|
54
|
+
fullMatch: string;
|
|
55
|
+
/** SQL statement that caused this hazard (if extractable) */
|
|
56
|
+
causingSql?: string;
|
|
57
|
+
/** Line number in the plan output */
|
|
58
|
+
lineNumber?: number;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Parse hazards from pg-schema-diff output with context.
|
|
62
|
+
* Enhanced to extract the SQL statement that caused each hazard.
|
|
63
|
+
*/
|
|
64
|
+
export declare function parseHazardsWithContext(planOutput: string): ParsedHazard[];
|
|
65
|
+
/**
|
|
66
|
+
* Parse hazards from pg-schema-diff output (legacy format for compatibility).
|
|
67
|
+
* Filters out false positives (AUTHZ_UPDATE for idempotent roles).
|
|
68
|
+
*/
|
|
69
|
+
export declare function parseHazardsFromOutput(planOutput: string, schemasDir?: string): string[];
|
|
70
|
+
/**
|
|
71
|
+
* Display hazards with context and return flags.
|
|
72
|
+
*/
|
|
73
|
+
export declare function displayHazardsWithContext(hazards: ParsedHazard[], verbose: boolean): {
|
|
74
|
+
hasDeletesData: boolean;
|
|
75
|
+
hasAuthzUpdate: boolean;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Display hazards and return if has DELETES_DATA (legacy interface).
|
|
79
|
+
*/
|
|
80
|
+
export declare function displayHazards(hazards: string[]): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Handle production data protection for DELETES_DATA hazard.
|
|
83
|
+
*/
|
|
84
|
+
export declare function handleProductionDataProtection(allowDataLoss: boolean): void;
|
|
85
|
+
/**
|
|
86
|
+
* Handle production RLS policy protection for AUTHZ_UPDATE hazard.
|
|
87
|
+
* RLS policy changes can silently affect security if not explicitly approved.
|
|
88
|
+
*/
|
|
89
|
+
export declare function handleProductionAuthzProtection(confirmAuthzUpdate: boolean): void;
|
|
90
|
+
/**
|
|
91
|
+
* Display check mode results.
|
|
92
|
+
*/
|
|
93
|
+
export declare function displayCheckModeResults(planOutput: string): void;
|
|
94
|
+
/**
|
|
95
|
+
* Build list of allowed hazards based on environment and flags.
|
|
96
|
+
*/
|
|
97
|
+
export declare function buildAllowedHazards(input: DbApplyInput): string[];
|
|
98
|
+
/**
|
|
99
|
+
* Handle hazards: display, validate, and block if necessary.
|
|
100
|
+
* Enhanced with AUTHZ_UPDATE protection and context display.
|
|
101
|
+
*/
|
|
102
|
+
export declare function handleHazards(hazards: string[], input: DbApplyInput): void;
|
|
103
|
+
/**
|
|
104
|
+
* Handle hazards with enhanced context display.
|
|
105
|
+
* Use this for detailed hazard reporting with SQL context.
|
|
106
|
+
*
|
|
107
|
+
* This function filters out false positive AUTHZ_UPDATE hazards for roles
|
|
108
|
+
* defined in idempotent/*.sql (e.g., drizzle_app, drizzle_service).
|
|
109
|
+
*/
|
|
110
|
+
export declare function handleHazardsWithContext(planOutput: string, input: DbApplyInput, schemasDir?: string): {
|
|
111
|
+
hazards: string[];
|
|
112
|
+
hasDeletesData: boolean;
|
|
113
|
+
hasAuthzUpdate: boolean;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Execute pg-schema-diff plan and handle errors.
|
|
117
|
+
*/
|
|
118
|
+
export declare function executePgSchemaDiffPlan(dbUrl: string, schemasDir: string, includeSchemas: string[], verbose: boolean): {
|
|
119
|
+
planOutput: string;
|
|
120
|
+
planStderr: string;
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=pg-schema-diff-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg-schema-diff-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/commands/db/apply/helpers/pg-schema-diff-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAqBnD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CA+ChE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CA0BzF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,YAAY,EAAE,EACvB,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IAAC,cAAc,EAAE,YAAY,EAAE,CAAA;CAAE,CAa9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAa/C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAe5D;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,CA8B1E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAIxF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,OAAO,GACf;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAgCtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAOzD;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI,CAgB3E;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAmBjF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAchE;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAyBjE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAsB1E;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,YAAY,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAsDzE;AAMD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,EAAE,OAAO,GACf;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CA2C5C"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Exponential Backoff Retry Logic
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Retry pg-schema-diff operations on lock_timeout errors
|
|
5
|
+
* Pattern: Exponential backoff with jitter (configurable max delay)
|
|
6
|
+
*/
|
|
7
|
+
export declare const MAX_RETRIES = 5;
|
|
8
|
+
export declare const BASE_DELAY_MS = 1000;
|
|
9
|
+
export declare const DEFAULT_MAX_DELAY_MS = 30000;
|
|
10
|
+
/**
|
|
11
|
+
* Retry configuration options.
|
|
12
|
+
*/
|
|
13
|
+
export interface RetryConfig {
|
|
14
|
+
/** Maximum number of retry attempts */
|
|
15
|
+
maxRetries?: number;
|
|
16
|
+
/** Base delay in milliseconds for exponential backoff */
|
|
17
|
+
baseDelayMs?: number;
|
|
18
|
+
/** Maximum delay in milliseconds (cap for exponential backoff) */
|
|
19
|
+
maxDelayMs?: number;
|
|
20
|
+
/** Whether to log retry attempts */
|
|
21
|
+
verbose?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Result of a retry operation with metrics.
|
|
25
|
+
*/
|
|
26
|
+
export interface RetryResult {
|
|
27
|
+
success: boolean;
|
|
28
|
+
error?: Error;
|
|
29
|
+
/** Number of retry attempts made (0 = succeeded on first try) */
|
|
30
|
+
attempts: number;
|
|
31
|
+
/** Total time spent waiting between retries (ms) */
|
|
32
|
+
totalWaitMs: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Sleep for a specified duration.
|
|
36
|
+
*/
|
|
37
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Calculate delay with exponential backoff and jitter.
|
|
40
|
+
*/
|
|
41
|
+
export declare function calculateBackoffDelay(attempt: number, maxDelayMs?: number): number;
|
|
42
|
+
/**
|
|
43
|
+
* Check if error is a lock_timeout error.
|
|
44
|
+
*/
|
|
45
|
+
export declare function isLockTimeoutError(errorOutput: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Execute pg-schema-diff apply with retry logic.
|
|
48
|
+
* Enhanced with configurable options and metrics.
|
|
49
|
+
*/
|
|
50
|
+
export declare function executeApplyWithRetry(applyArgs: string[], verbose: boolean, config?: RetryConfig): Promise<RetryResult>;
|
|
51
|
+
//# sourceMappingURL=retry-logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-logic.d.ts","sourceRoot":"","sources":["../../../../../src/commands/db/apply/helpers/retry-logic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAuB,GAAG,MAAM,CAIhG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAM/D;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC,CA8DtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/db/apply/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|