@runa-ai/runa-cli 0.5.72 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-BXUJKYHC.js +1730 -0
- package/dist/cache-H63JKFYH.js +112 -0
- package/dist/check-6AB5NGWK.js +207 -0
- package/dist/chunk-22CS6EMA.js +31 -0
- package/dist/chunk-3FDQW524.js +544 -0
- package/dist/chunk-5NKWR4FF.js +254 -0
- package/dist/chunk-6AALH2ED.js +121 -0
- package/dist/chunk-6Y3LAUGL.js +35 -0
- package/dist/chunk-7QV7U6NI.js +62 -0
- package/dist/chunk-AAIE4F2U.js +140 -0
- package/dist/chunk-CCKG5R4Y.js +59 -0
- package/dist/chunk-CE3DEYFT.js +480 -0
- package/dist/chunk-DRSUEMAK.js +123 -0
- package/dist/chunk-GOGRLQNP.js +12 -0
- package/dist/chunk-HD74F6W2.js +460 -0
- package/dist/chunk-HKUWEGUX.js +36 -0
- package/dist/chunk-HPYJPB5Y.js +408 -0
- package/dist/chunk-IBVVGH6X.js +33 -0
- package/dist/chunk-II7VYQEM.js +179 -0
- package/dist/chunk-JMJP4A47.js +204 -0
- package/dist/chunk-JQXOVCOP.js +574 -0
- package/dist/chunk-JT5SUTWE.js +9 -0
- package/dist/chunk-KWX3JHCY.js +85 -0
- package/dist/chunk-M47WJJVS.js +71 -0
- package/dist/chunk-MNPMZERI.js +194 -0
- package/dist/chunk-MXRWBNIY.js +74 -0
- package/dist/chunk-NPSRD26F.js +149 -0
- package/dist/chunk-P7U52PBY.js +1149 -0
- package/dist/chunk-QDF7QXBL.js +67 -0
- package/dist/chunk-RRGQCUKT.js +48 -0
- package/dist/chunk-RZLYEO4U.js +219 -0
- package/dist/chunk-TYIAD6SB.js +74 -0
- package/dist/chunk-UU55OH7P.js +42 -0
- package/dist/chunk-UWWSAPDR.js +31 -0
- package/dist/chunk-VM3IWOT5.js +458 -0
- package/dist/chunk-VRXHCR5K.js +42 -0
- package/dist/chunk-XJBQINSA.js +351 -0
- package/dist/chunk-ZZOXM6Q4.js +8 -0
- package/dist/ci-V3PIG2GI.js +8322 -0
- package/dist/cli/index.d.ts +7 -1
- package/dist/cli/requested-command.d.ts +8 -0
- package/dist/cli-GFRZCJQR.js +661 -0
- package/dist/commands/build/actors/db-sync.d.ts +2 -0
- package/dist/commands/build/actors/static-checks.d.ts +7 -6
- package/dist/commands/build/contract.d.ts +30 -30
- package/dist/commands/build/machine-dry-run.d.ts +3 -0
- package/dist/commands/build/machine-e2e-meta.d.ts +120 -0
- package/dist/commands/build/machine.d.ts +22 -22
- package/dist/commands/build/types.d.ts +2 -4
- package/dist/commands/ci/machine/contract.d.ts +26 -26
- package/dist/commands/ci/machine/formatters/sections/final-comment.d.ts +1 -5
- package/dist/commands/ci/machine/formatters/sections/format-helpers.d.ts +5 -0
- package/dist/commands/ci/machine/formatters/sections/index.d.ts +2 -2
- package/dist/commands/ci/machine/machine-execution-helpers.d.ts +40 -0
- package/dist/commands/ci/machine/machine-state-helpers.d.ts +14 -0
- package/dist/commands/ci/machine/machine.d.ts +12 -12
- package/dist/commands/ci/machine/types.d.ts +0 -5
- package/dist/commands/ci/utils/ci-summary.d.ts +15 -15
- package/dist/commands/ci/utils/execa-helpers.d.ts +1 -0
- package/dist/commands/db/apply/actors/idempotent-actors.d.ts +34 -0
- package/dist/commands/db/apply/actors/lock-actors.d.ts +16 -0
- package/dist/commands/db/apply/actors/pg-schema-diff-actors.d.ts +31 -0
- package/dist/commands/db/apply/actors/seed-actors.d.ts +11 -0
- package/dist/commands/db/apply/actors/shared.d.ts +9 -0
- package/dist/commands/db/apply/actors.d.ts +16 -65
- package/dist/commands/db/apply/contract.d.ts +8 -1
- package/dist/commands/db/apply/helpers/data-compatibility-checker.d.ts +3 -4
- package/dist/commands/db/apply/helpers/data-integrity-verifier.d.ts +37 -0
- package/dist/commands/db/apply/helpers/fresh-db-handler.d.ts +34 -0
- package/dist/commands/db/apply/helpers/hazard-handler.d.ts +60 -0
- package/dist/commands/db/apply/helpers/idempotent-object-registry.d.ts +96 -0
- package/dist/commands/db/apply/helpers/idempotent-transaction.d.ts +20 -0
- package/dist/commands/db/apply/helpers/index.d.ts +6 -0
- package/dist/commands/db/apply/helpers/partition-validator.d.ts +2 -15
- package/dist/commands/db/apply/helpers/pg-schema-diff-helpers.d.ts +18 -162
- package/dist/commands/db/apply/helpers/pg-schema-diff-patterns.d.ts +55 -0
- package/dist/commands/db/apply/helpers/pg-schema-diff-version.d.ts +50 -0
- package/dist/commands/db/apply/helpers/plan-validator.d.ts +4 -10
- package/dist/commands/db/apply/helpers/rbac-password-manager.d.ts +34 -0
- package/dist/commands/db/apply/helpers/retry-logic.d.ts +16 -2
- package/dist/commands/db/apply/helpers/shadow-db-manager.d.ts +1 -1
- package/dist/commands/db/apply/helpers/sql-utils.d.ts +26 -0
- package/dist/commands/db/apply/machine.d.ts +52 -1
- package/dist/commands/db/commands/db-apply.d.ts +18 -0
- package/dist/commands/db/commands/db-sync/boundary-classifier.d.ts +21 -0
- package/dist/commands/db/commands/db-sync/plan-hazard-analyzer.d.ts +13 -0
- package/dist/commands/db/commands/db-sync/risk-reporter.d.ts +19 -0
- package/dist/commands/db/commands/db-sync/sql-parser.d.ts +25 -0
- package/dist/commands/db/commands/db-sync/types.d.ts +47 -0
- package/dist/commands/db/commands/db-sync.d.ts +14 -0
- package/dist/commands/db/sync/contract.d.ts +6 -2
- package/dist/commands/db/sync/machine.d.ts +2 -1
- package/dist/commands/db/types.d.ts +2 -0
- package/dist/commands/db/utils/boundary-policy/rule-compiler.d.ts +11 -0
- package/dist/commands/db/utils/boundary-policy/types.d.ts +105 -0
- package/dist/commands/db/utils/boundary-policy/validation.d.ts +20 -0
- package/dist/commands/db/utils/boundary-policy-runtime.d.ts +28 -0
- package/dist/commands/db/utils/boundary-policy.d.ts +5 -0
- package/dist/commands/db/utils/idempotent-risk-context.d.ts +29 -0
- package/dist/commands/db/utils/preflight-check.d.ts +14 -0
- package/dist/commands/db/utils/preflight-checks/domain-naming-checks.d.ts +106 -0
- package/dist/commands/db/utils/preflight-checks/orphan-checks.d.ts +36 -0
- package/dist/commands/db/utils/preflight-checks/schema-risk-checks.d.ts +22 -0
- package/dist/commands/db/utils/preflight-checks/supabase-checks.d.ts +55 -0
- package/dist/commands/db/utils/risk-detector-loader.d.ts +8 -0
- package/dist/commands/db/utils/schema-precheck-budget.d.ts +17 -0
- package/dist/commands/db/utils/sql-boundary-parser.d.ts +12 -0
- package/dist/commands/db/utils/sql-file-collector.d.ts +8 -0
- package/dist/commands/db/utils/sql-filename-parser.d.ts +20 -0
- package/dist/commands/db/utils/sql-table-extractor-ast.d.ts +19 -0
- package/dist/commands/db/utils/sql-table-extractor-regex.d.ts +50 -0
- package/dist/commands/db/utils/sql-table-extractor-rls.d.ts +13 -0
- package/dist/commands/db/utils/sql-table-extractor.d.ts +79 -1
- package/dist/commands/db/utils/table-registry-introspection.d.ts +68 -0
- package/dist/commands/db/utils/table-registry.d.ts +3 -38
- package/dist/commands/dev/actors/app-lifecycle.d.ts +18 -0
- package/dist/commands/dev/actors/index.d.ts +7 -2
- package/dist/commands/dev/actors/process-check.d.ts +12 -0
- package/dist/commands/dev/actors/shared.d.ts +15 -0
- package/dist/commands/dev/contract.d.ts +2 -2
- package/dist/commands/dev/machine.d.ts +7 -31
- package/dist/commands/env/commands/env-pull/auth.d.ts +13 -0
- package/dist/commands/env/commands/env-pull/dotenv-files.d.ts +14 -0
- package/dist/commands/env/commands/env-pull/security.d.ts +12 -0
- package/dist/commands/env/commands/env-pull/service.d.ts +8 -0
- package/dist/commands/env/commands/env-pull/shared.d.ts +79 -0
- package/dist/commands/env/commands/setup/types.d.ts +1 -1
- package/dist/commands/env/constants/local-supabase.d.ts +2 -0
- package/dist/commands/template-check/contract.d.ts +6 -6
- package/dist/commands/template-check/machine.d.ts +2 -2
- package/dist/commands/template-check/types.d.ts +0 -4
- package/dist/commands/template-check/utils/diff-analyzer.d.ts +0 -4
- package/dist/config/env.d.ts +4 -4
- package/dist/config-loader-GT3HAQ7U.js +7 -0
- package/dist/db-HR7CREX2.js +15913 -0
- package/dist/dev-A7RW6XQV.js +873 -0
- package/dist/env-B47Z4747.js +2624 -0
- package/dist/env-HMMRSYCI.js +7 -0
- package/dist/env-files-K2C7O7L5.js +8 -0
- package/dist/error-handler-4EYSDOSE.js +460 -0
- package/dist/hotfix-CULKKMGS.js +1477 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +48 -42995
- package/dist/init-ELK5QCWR.js +632 -0
- package/dist/inject-test-attrs-Y5UD5P7Q.js +36 -0
- package/dist/internal/machines/snapshot-helpers.d.ts +6 -0
- package/dist/lib/sql-comment-utils.d.ts +25 -0
- package/dist/license-OB7GVJQ2.js +468 -0
- package/dist/link-C43JRZWY.js +60 -0
- package/dist/manifest-2NOQ2IMK.js +32 -0
- package/dist/prepare-32DOVHTE.js +250 -0
- package/dist/risk-detector-BXUY2WKS.js +6 -0
- package/dist/risk-detector-core-O7I7SPR7.js +166 -0
- package/dist/risk-detector-plpgsql-SGMVKYJP.js +1856 -0
- package/dist/sdk-XK6HQU7S.js +348 -0
- package/dist/services-7VK5KZTO.js +177 -0
- package/dist/session-SFW5QSXZ.js +142 -0
- package/dist/signal-handler-DO3OANW5.js +6 -0
- package/dist/status-IJ4ZWHMX.js +95 -0
- package/dist/telemetry-FN7V727Y.js +94 -0
- package/dist/template-check-PNG5NQ5H.js +1933 -0
- package/dist/test-QYXE5UVW.js +626 -0
- package/dist/test-gen-QPWOIEHU.js +89 -0
- package/dist/ui-RJAMCWUI.js +331 -0
- package/dist/upgrade-3SLWVNAC.js +625 -0
- package/dist/utils/config-loader.d.ts +0 -3
- package/dist/validate-SM4PXPS7.js +55 -0
- package/dist/validators/risk-detector-content-risks.d.ts +13 -0
- package/dist/validators/risk-detector-core.d.ts +25 -0
- package/dist/validators/risk-detector-patterns.d.ts +15 -0
- package/dist/validators/risk-detector-plpgsql-expression-resolver.d.ts +22 -0
- package/dist/validators/risk-detector-plpgsql-parser.d.ts +5 -0
- package/dist/validators/risk-detector-plpgsql-tokenizer.d.ts +18 -0
- package/dist/validators/risk-detector-plpgsql.d.ts +9 -0
- package/dist/validators/risk-detector-text-utils.d.ts +6 -0
- package/dist/validators/risk-detector-types.d.ts +16 -0
- package/dist/validators/risk-detector.d.ts +7 -26
- package/dist/vuln-check-TYQNEFS7.js +122 -0
- package/dist/vuln-checker-2QXGN5YT.js +2950 -0
- package/dist/watch-UCDVOQAH.js +911 -0
- package/dist/workflow-ZB5Q2PFY.js +898 -0
- package/package.json +4 -1
- package/dist/cli/contract-mode.d.ts.map +0 -1
- package/dist/cli/contract-output.d.ts.map +0 -1
- package/dist/cli/early-flags.d.ts.map +0 -1
- package/dist/cli/error-handler.d.ts.map +0 -1
- package/dist/cli/exec.d.ts.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/json-output.d.ts.map +0 -1
- package/dist/cli/non-interactive.d.ts.map +0 -1
- package/dist/cli/output-format.d.ts.map +0 -1
- package/dist/cli/signal-handler.d.ts.map +0 -1
- package/dist/commands/build/actors/build.d.ts.map +0 -1
- package/dist/commands/build/actors/clean.d.ts.map +0 -1
- package/dist/commands/build/actors/db-sync.d.ts.map +0 -1
- package/dist/commands/build/actors/index.d.ts.map +0 -1
- package/dist/commands/build/actors/manifest.d.ts.map +0 -1
- package/dist/commands/build/actors/setup.d.ts.map +0 -1
- package/dist/commands/build/actors/static-checks.d.ts.map +0 -1
- package/dist/commands/build/actors/validate.d.ts.map +0 -1
- package/dist/commands/build/commands/build.d.ts.map +0 -1
- package/dist/commands/build/contract.d.ts.map +0 -1
- package/dist/commands/build/guards.d.ts.map +0 -1
- package/dist/commands/build/index.d.ts.map +0 -1
- package/dist/commands/build/machine.d.ts.map +0 -1
- package/dist/commands/build/types.d.ts.map +0 -1
- package/dist/commands/cache.d.ts.map +0 -1
- package/dist/commands/check/commands/check.d.ts.map +0 -1
- package/dist/commands/check/index.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-checks.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-layer-content.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-pr-capabilities.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-prod-apply.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-prod-db-operations.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-prod-github.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-prod-types.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-prod-utils.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-prod-workflow.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-resolvers.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-static.d.ts.map +0 -1
- package/dist/commands/ci/commands/ci-supabase-local.d.ts.map +0 -1
- package/dist/commands/ci/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/build/app-build.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/build/app-start.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/build/build-and-playwright.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/build/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/build/playwright-install.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/build/static-checks.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/apply-seeds.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/collect-schema-stats.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/pgtap-install.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/production-preview.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/pull-production.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/reset.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/schema-stats.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/setup-roles.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/db/sync-schema.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/finalize/github.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/finalize/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/finalize/summary.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/setup/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/setup/local.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/setup/pr-common.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/setup/pr-local.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/test/capabilities.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/test/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/actors/test/run-layers.d.ts.map +0 -1
- package/dist/commands/ci/machine/commands/ci-local.d.ts.map +0 -1
- package/dist/commands/ci/machine/commands/ci-pr.d.ts.map +0 -1
- package/dist/commands/ci/machine/commands/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/commands/machine-runner.d.ts.map +0 -1
- package/dist/commands/ci/machine/commands/runtime-env.d.ts.map +0 -1
- package/dist/commands/ci/machine/contract.d.ts.map +0 -1
- package/dist/commands/ci/machine/formatters/github-comment-types.d.ts.map +0 -1
- package/dist/commands/ci/machine/formatters/github-comment.d.ts.map +0 -1
- package/dist/commands/ci/machine/formatters/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/formatters/sections/final-comment.d.ts.map +0 -1
- package/dist/commands/ci/machine/formatters/sections/format-helpers.d.ts.map +0 -1
- package/dist/commands/ci/machine/formatters/sections/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/formatters/sections/progress-comment.d.ts.map +0 -1
- package/dist/commands/ci/machine/formatters/sections/schema-matrix.d.ts.map +0 -1
- package/dist/commands/ci/machine/formatters/summary.d.ts.map +0 -1
- package/dist/commands/ci/machine/guards.d.ts.map +0 -1
- package/dist/commands/ci/machine/helpers.d.ts.map +0 -1
- package/dist/commands/ci/machine/index.d.ts.map +0 -1
- package/dist/commands/ci/machine/machine.d.ts.map +0 -1
- package/dist/commands/ci/machine/types.d.ts.map +0 -1
- package/dist/commands/ci/utils/ai-report.d.ts.map +0 -1
- package/dist/commands/ci/utils/app-process.d.ts.map +0 -1
- package/dist/commands/ci/utils/app-runtime.d.ts.map +0 -1
- package/dist/commands/ci/utils/ci-config.d.ts.map +0 -1
- package/dist/commands/ci/utils/ci-env-schema.d.ts.map +0 -1
- package/dist/commands/ci/utils/ci-logging.d.ts.map +0 -1
- package/dist/commands/ci/utils/ci-summary.d.ts.map +0 -1
- package/dist/commands/ci/utils/config-readers.d.ts.map +0 -1
- package/dist/commands/ci/utils/db-url-utils.d.ts.map +0 -1
- package/dist/commands/ci/utils/e2e-auth-setup.d.ts.map +0 -1
- package/dist/commands/ci/utils/env-security.d.ts.map +0 -1
- package/dist/commands/ci/utils/execa-helpers.d.ts.map +0 -1
- package/dist/commands/ci/utils/exit-code-computation.d.ts.map +0 -1
- package/dist/commands/ci/utils/github-api.d.ts.map +0 -1
- package/dist/commands/ci/utils/github.d.ts.map +0 -1
- package/dist/commands/ci/utils/index.d.ts.map +0 -1
- package/dist/commands/ci/utils/pgtap-installer.d.ts.map +0 -1
- package/dist/commands/ci/utils/rls-verification.d.ts.map +0 -1
- package/dist/commands/ci/utils/schema-operations.d.ts.map +0 -1
- package/dist/commands/ci/utils/seed-operations.d.ts.map +0 -1
- package/dist/commands/ci/utils/test-parallel.d.ts.map +0 -1
- package/dist/commands/ci/utils/timestamp-invariants.d.ts.map +0 -1
- package/dist/commands/ci/utils/workflow-idempotency.d.ts.map +0 -1
- package/dist/commands/db/apply/actors.d.ts.map +0 -1
- package/dist/commands/db/apply/contract.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/advisory-lock.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/data-compatibility-checker.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/index.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/partition-acl-cleaner.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/partition-prefilter.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/partition-validator.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/pg-schema-diff-helpers.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/plan-validator.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/retry-logic.d.ts.map +0 -1
- package/dist/commands/db/apply/helpers/shadow-db-manager.d.ts.map +0 -1
- package/dist/commands/db/apply/index.d.ts.map +0 -1
- package/dist/commands/db/apply/machine.d.ts.map +0 -1
- package/dist/commands/db/commands/db-apply.d.ts.map +0 -1
- package/dist/commands/db/commands/db-audit.d.ts.map +0 -1
- package/dist/commands/db/commands/db-backup.d.ts.map +0 -1
- package/dist/commands/db/commands/db-cleanup.d.ts.map +0 -1
- package/dist/commands/db/commands/db-derive-role-passwords.d.ts.map +0 -1
- package/dist/commands/db/commands/db-derive-urls.d.ts.map +0 -1
- package/dist/commands/db/commands/db-diagram.d.ts.map +0 -1
- package/dist/commands/db/commands/db-drizzle.d.ts.map +0 -1
- package/dist/commands/db/commands/db-extension.d.ts.map +0 -1
- package/dist/commands/db/commands/db-generate-password.d.ts.map +0 -1
- package/dist/commands/db/commands/db-lifecycle.d.ts.map +0 -1
- package/dist/commands/db/commands/db-rollback.d.ts.map +0 -1
- package/dist/commands/db/commands/db-schema.d.ts.map +0 -1
- package/dist/commands/db/commands/db-seed-metadata.d.ts.map +0 -1
- package/dist/commands/db/commands/db-seed-verify.d.ts.map +0 -1
- package/dist/commands/db/commands/db-seed.d.ts.map +0 -1
- package/dist/commands/db/commands/db-snapshot.d.ts.map +0 -1
- package/dist/commands/db/commands/db-stack.d.ts.map +0 -1
- package/dist/commands/db/commands/db-stats.d.ts.map +0 -1
- package/dist/commands/db/commands/db-sync.d.ts.map +0 -1
- package/dist/commands/db/commands/db-test.d.ts.map +0 -1
- package/dist/commands/db/constants.d.ts.map +0 -1
- package/dist/commands/db/extension-registry.d.ts.map +0 -1
- package/dist/commands/db/index.d.ts.map +0 -1
- package/dist/commands/db/preflight/actors.d.ts.map +0 -1
- package/dist/commands/db/preflight/contract.d.ts.map +0 -1
- package/dist/commands/db/preflight/index.d.ts.map +0 -1
- package/dist/commands/db/sync/actors.d.ts.map +0 -1
- package/dist/commands/db/sync/contract.d.ts.map +0 -1
- package/dist/commands/db/sync/index.d.ts.map +0 -1
- package/dist/commands/db/sync/machine.d.ts.map +0 -1
- package/dist/commands/db/types.d.ts.map +0 -1
- package/dist/commands/db/utils/db-target.d.ts.map +0 -1
- package/dist/commands/db/utils/db-url-builder.d.ts.map +0 -1
- package/dist/commands/db/utils/error-handlers.d.ts.map +0 -1
- package/dist/commands/db/utils/import-impact-analyzer.d.ts.map +0 -1
- package/dist/commands/db/utils/preflight-check.d.ts.map +0 -1
- package/dist/commands/db/utils/psql.d.ts.map +0 -1
- package/dist/commands/db/utils/schema-detector.d.ts.map +0 -1
- package/dist/commands/db/utils/schema-sync.d.ts.map +0 -1
- package/dist/commands/db/utils/script-runner.d.ts.map +0 -1
- package/dist/commands/db/utils/seed-manager.d.ts.map +0 -1
- package/dist/commands/db/utils/semantic-mapper.d.ts.map +0 -1
- package/dist/commands/db/utils/sql-table-extractor.d.ts.map +0 -1
- package/dist/commands/db/utils/stack-detector.d.ts.map +0 -1
- package/dist/commands/db/utils/table-registry.d.ts.map +0 -1
- package/dist/commands/db/utils/table-source-classifier.d.ts.map +0 -1
- package/dist/commands/dev/actors/index.d.ts.map +0 -1
- package/dist/commands/dev/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev/contract.d.ts.map +0 -1
- package/dist/commands/dev/guards.d.ts.map +0 -1
- package/dist/commands/dev/helpers/stale-process-detector.d.ts.map +0 -1
- package/dist/commands/dev/machine.d.ts.map +0 -1
- package/dist/commands/dev/types.d.ts.map +0 -1
- package/dist/commands/env/commands/env-check.d.ts.map +0 -1
- package/dist/commands/env/commands/env-encrypt.d.ts.map +0 -1
- package/dist/commands/env/commands/env-pull.d.ts.map +0 -1
- package/dist/commands/env/commands/env-setup.d.ts.map +0 -1
- package/dist/commands/env/commands/env-sync.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/action.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/auth.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/file-export.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/github-api.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/helpers.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/index.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/parsers.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/prompts.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/supabase-api.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/types.d.ts.map +0 -1
- package/dist/commands/env/commands/setup/vercel-api.d.ts.map +0 -1
- package/dist/commands/env/constants/local-supabase.d.ts.map +0 -1
- package/dist/commands/env/index.d.ts.map +0 -1
- package/dist/commands/hotfix/actors.d.ts.map +0 -1
- package/dist/commands/hotfix/commands/hotfix-complete.d.ts.map +0 -1
- package/dist/commands/hotfix/commands/hotfix-create.d.ts.map +0 -1
- package/dist/commands/hotfix/commands/hotfix-deploy.d.ts.map +0 -1
- package/dist/commands/hotfix/commands/hotfix-status.d.ts.map +0 -1
- package/dist/commands/hotfix/contract.d.ts.map +0 -1
- package/dist/commands/hotfix/index.d.ts.map +0 -1
- package/dist/commands/hotfix/machine.d.ts.map +0 -1
- package/dist/commands/hotfix/metadata.d.ts.map +0 -1
- package/dist/commands/hotfix/utils/hotfix-machine-helper.d.ts.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/action.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/commands/inject-test-attrs.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/contract.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/detection-diagnostics.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/formatter.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/index.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/manifest-generator.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/processor-utils.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/processor.d.ts.map +0 -1
- package/dist/commands/inject-test-attrs/types.d.ts.map +0 -1
- package/dist/commands/link.d.ts.map +0 -1
- package/dist/commands/manifest/index.d.ts.map +0 -1
- package/dist/commands/prepare/commands/prepare.d.ts.map +0 -1
- package/dist/commands/prepare/index.d.ts.map +0 -1
- package/dist/commands/sdk/commands/publish.d.ts.map +0 -1
- package/dist/commands/sdk/index.d.ts.map +0 -1
- package/dist/commands/services/index.d.ts.map +0 -1
- package/dist/commands/session/index.d.ts.map +0 -1
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/telemetry.d.ts.map +0 -1
- package/dist/commands/template-check/actors/compare.d.ts.map +0 -1
- package/dist/commands/template-check/actors/discover.d.ts.map +0 -1
- package/dist/commands/template-check/actors/index.d.ts.map +0 -1
- package/dist/commands/template-check/actors/report.d.ts.map +0 -1
- package/dist/commands/template-check/commands/template-check.d.ts.map +0 -1
- package/dist/commands/template-check/config.d.ts.map +0 -1
- package/dist/commands/template-check/contract.d.ts.map +0 -1
- package/dist/commands/template-check/index.d.ts.map +0 -1
- package/dist/commands/template-check/machine.d.ts.map +0 -1
- package/dist/commands/template-check/types.d.ts.map +0 -1
- package/dist/commands/template-check/utils/diff-analyzer.d.ts.map +0 -1
- package/dist/commands/template-check/utils/normalizer.d.ts.map +0 -1
- package/dist/commands/template-check/utils/path-mapping.d.ts.map +0 -1
- package/dist/commands/test/commands/test-db.d.ts.map +0 -1
- package/dist/commands/test/commands/test-e2e.d.ts.map +0 -1
- package/dist/commands/test/commands/test-fast.d.ts.map +0 -1
- package/dist/commands/test/commands/test-integration.d.ts.map +0 -1
- package/dist/commands/test/commands/test-layer.d.ts.map +0 -1
- package/dist/commands/test/commands/test-owasp-generate.d.ts.map +0 -1
- package/dist/commands/test/commands/test-service.d.ts.map +0 -1
- package/dist/commands/test/commands/test-static.d.ts.map +0 -1
- package/dist/commands/test/commands/test.d.ts.map +0 -1
- package/dist/commands/test/index.d.ts.map +0 -1
- package/dist/commands/test-gen.d.ts.map +0 -1
- package/dist/commands/ui.d.ts.map +0 -1
- package/dist/commands/upgrade.d.ts.map +0 -1
- package/dist/commands/validate.d.ts.map +0 -1
- package/dist/commands/vuln-check.d.ts.map +0 -1
- package/dist/commands/watch.d.ts.map +0 -1
- package/dist/commands/workflow/commands/deploy-production.d.ts.map +0 -1
- package/dist/commands/workflow/commands/final-status.d.ts.map +0 -1
- package/dist/commands/workflow/commands/log.d.ts.map +0 -1
- package/dist/commands/workflow/commands/notify.d.ts.map +0 -1
- package/dist/commands/workflow/commands/paths.d.ts.map +0 -1
- package/dist/commands/workflow/commands/sync.d.ts.map +0 -1
- package/dist/commands/workflow/commands/validate.d.ts.map +0 -1
- package/dist/commands/workflow/commands/verify-credentials.d.ts.map +0 -1
- package/dist/commands/workflow/index.d.ts.map +0 -1
- package/dist/commands/workflow/types.d.ts.map +0 -1
- package/dist/config/env-files.d.ts.map +0 -1
- package/dist/config/env.d.ts.map +0 -1
- package/dist/constants/versions.d.ts.map +0 -1
- package/dist/contracts/envelope.d.ts.map +0 -1
- package/dist/errors/catalog.d.ts.map +0 -1
- package/dist/errors/exit-codes.d.ts.map +0 -1
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/incremental/affected-tests.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/internal/machines/index.d.ts.map +0 -1
- package/dist/internal/machines/machine-runner.d.ts.map +0 -1
- package/dist/internal/machines/snapshot-helpers.d.ts.map +0 -1
- package/dist/internal/machines/types.d.ts.map +0 -1
- package/dist/internal/vuln-checker/analyzers/dependency-analyzer.d.ts.map +0 -1
- package/dist/internal/vuln-checker/analyzers/rls-analyzer.d.ts.map +0 -1
- package/dist/internal/vuln-checker/analyzers/secret-analyzer.d.ts.map +0 -1
- package/dist/internal/vuln-checker/analyzers/typescript-analyzer.d.ts.map +0 -1
- package/dist/internal/vuln-checker/config/loader.d.ts.map +0 -1
- package/dist/internal/vuln-checker/constants.d.ts.map +0 -1
- package/dist/internal/vuln-checker/ignore/matcher.d.ts.map +0 -1
- package/dist/internal/vuln-checker/index.d.ts.map +0 -1
- package/dist/internal/vuln-checker/reporters/console-reporter.d.ts.map +0 -1
- package/dist/internal/vuln-checker/reporters/json-reporter.d.ts.map +0 -1
- package/dist/internal/vuln-checker/reporters/markdown-reporter.d.ts.map +0 -1
- package/dist/internal/vuln-checker/reporters/sarif-reporter.d.ts.map +0 -1
- package/dist/internal/vuln-checker/security/path-validation.d.ts.map +0 -1
- package/dist/internal/vuln-checker/types.d.ts.map +0 -1
- package/dist/notifiers/desktop-notifier.d.ts.map +0 -1
- package/dist/ui/components/db-panel.d.ts.map +0 -1
- package/dist/ui/components/status-bar.d.ts.map +0 -1
- package/dist/ui/components/test-panel.d.ts.map +0 -1
- package/dist/ui/dashboard.d.ts.map +0 -1
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/utils/config-loader.d.ts.map +0 -1
- package/dist/utils/config-updater.d.ts.map +0 -1
- package/dist/utils/diagnostics.d.ts.map +0 -1
- package/dist/utils/dotenvx.d.ts.map +0 -1
- package/dist/utils/env-local-bridge.d.ts.map +0 -1
- package/dist/utils/execution-plan.d.ts.map +0 -1
- package/dist/utils/github-output-security.d.ts.map +0 -1
- package/dist/utils/help-system.d.ts.map +0 -1
- package/dist/utils/license/admin-auth.d.ts.map +0 -1
- package/dist/utils/license/allowlist-checker.d.ts.map +0 -1
- package/dist/utils/license/ci-detector.d.ts.map +0 -1
- package/dist/utils/license/index.d.ts.map +0 -1
- package/dist/utils/license/owner-resolver.d.ts.map +0 -1
- package/dist/utils/license/types.d.ts.map +0 -1
- package/dist/utils/license/validate-owner.d.ts.map +0 -1
- package/dist/utils/path-security.d.ts.map +0 -1
- package/dist/utils/port-allocator.d.ts.map +0 -1
- package/dist/utils/secure-exec.d.ts.map +0 -1
- package/dist/utils/template-fetcher.d.ts.map +0 -1
- package/dist/utils/type-guards.d.ts.map +0 -1
- package/dist/utils/vercel-project.d.ts.map +0 -1
- package/dist/utils/workspace-detector.d.ts.map +0 -1
- package/dist/validators/risk-detector.d.ts.map +0 -1
- package/dist/validators/schema-validator.d.ts.map +0 -1
- package/dist/version.d.ts.map +0 -1
- package/dist/watchers/schema-watcher.d.ts.map +0 -1
- package/dist/watchers/test-watcher.d.ts.map +0 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Domain Naming Consistency Checker (Preflight Sub-Check)
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Validate declarative SQL files follow the naming convention:
|
|
5
|
+
* {PREFIX}_{DOMAIN}.sql → CREATE SCHEMA {DOMAIN} → {DOMAIN}.{table}
|
|
6
|
+
*
|
|
7
|
+
* Rules:
|
|
8
|
+
* 1. DOMAIN_FILENAME_SCHEMA_MISMATCH (ERROR) - file domain vs CREATE SCHEMA
|
|
9
|
+
* 2. DOMAIN_CROSS_DOMAIN_TABLE (WARNING) - table in wrong domain file
|
|
10
|
+
* 3. DOMAIN_MISSING_CREATE_SCHEMA (WARNING) - schema used but not created
|
|
11
|
+
* 4. DOMAIN_FK_PREFIX_ORDER (INFO) - FK references higher-prefix file
|
|
12
|
+
* 5. DOMAIN_FILE_TOO_LARGE (INFO) - file exceeds 2000 lines
|
|
13
|
+
* 6. DOMAIN_FK_TARGET_NOT_DECLARATIVE (ERROR) - FK target not in declarative SQL
|
|
14
|
+
* 7. DOMAIN_DUPLICATE_TABLE (ERROR) - same table defined in multiple files
|
|
15
|
+
* 8. DOMAIN_POLICY_CROSS_SCHEMA_REF (WARNING) - RLS policy references cross-schema table
|
|
16
|
+
*
|
|
17
|
+
* Reuses: schema-detector.ts, sql-boundary-parser.ts, sql-comment-utils.ts
|
|
18
|
+
*/
|
|
19
|
+
import type { createCLILogger } from '@runa-ai/runa';
|
|
20
|
+
import type { PreflightCheckResult, StepCounter } from '../preflight-check.js';
|
|
21
|
+
import { type ParsedSqlFilename } from '../sql-filename-parser.js';
|
|
22
|
+
type DomainNamingRule = 'DOMAIN_FILENAME_SCHEMA_MISMATCH' | 'DOMAIN_CROSS_DOMAIN_TABLE' | 'DOMAIN_MISSING_CREATE_SCHEMA' | 'DOMAIN_FK_PREFIX_ORDER' | 'DOMAIN_FILE_TOO_LARGE' | 'DOMAIN_FK_TARGET_NOT_DECLARATIVE' | 'DOMAIN_DUPLICATE_TABLE' | 'DOMAIN_POLICY_CROSS_SCHEMA_REF';
|
|
23
|
+
export interface DomainNamingIssue {
|
|
24
|
+
file: string;
|
|
25
|
+
line?: number;
|
|
26
|
+
rule: DomainNamingRule;
|
|
27
|
+
severity: 'error' | 'warning' | 'info';
|
|
28
|
+
message: string;
|
|
29
|
+
}
|
|
30
|
+
interface FileAnalysis {
|
|
31
|
+
parsed: ParsedSqlFilename;
|
|
32
|
+
content: string;
|
|
33
|
+
strippedContent: string;
|
|
34
|
+
lineCount: number;
|
|
35
|
+
declaredSchemas: string[];
|
|
36
|
+
tables: TableRef[];
|
|
37
|
+
fkRefs: FkRef[];
|
|
38
|
+
}
|
|
39
|
+
interface TableRef {
|
|
40
|
+
schema: string;
|
|
41
|
+
table: string;
|
|
42
|
+
line: number;
|
|
43
|
+
}
|
|
44
|
+
interface FkRef {
|
|
45
|
+
schema: string;
|
|
46
|
+
table: string;
|
|
47
|
+
line: number;
|
|
48
|
+
}
|
|
49
|
+
declare function analyzeFile(sqlDir: string, filename: string): FileAnalysis | null;
|
|
50
|
+
/** Rule 1: Filename ↔ Schema name mismatch */
|
|
51
|
+
declare function checkFilenameSchemaMatch(analysis: FileAnalysis): DomainNamingIssue[];
|
|
52
|
+
/** Rule 2: Cross-domain table definition */
|
|
53
|
+
declare function checkCrossDomainTables(analysis: FileAnalysis): DomainNamingIssue[];
|
|
54
|
+
/**
|
|
55
|
+
* Rule 3: Missing CREATE SCHEMA
|
|
56
|
+
* Checks against all schemas declared across the entire project,
|
|
57
|
+
* not just the current file. This supports multi-file schemas
|
|
58
|
+
* (e.g., 10_accounts.sql + 11_accounts_rls.sql sharing a schema).
|
|
59
|
+
*/
|
|
60
|
+
declare function checkMissingCreateSchema(analysis: FileAnalysis, allDeclaredSchemas: Set<string>): DomainNamingIssue[];
|
|
61
|
+
/** Rule 4: FK dependency prefix order violation */
|
|
62
|
+
declare function checkFkPrefixOrder(analysis: FileAnalysis, tableToDomain: Map<string, number>): DomainNamingIssue[];
|
|
63
|
+
/** Rule 5: File too large */
|
|
64
|
+
declare function checkFileSize(analysis: FileAnalysis): DomainNamingIssue[];
|
|
65
|
+
/**
|
|
66
|
+
* Rule 6: FK target not in declarative SQL
|
|
67
|
+
*
|
|
68
|
+
* When a FK references a table whose schema is "managed" (has at least one
|
|
69
|
+
* table in declarative files) but the specific table is NOT defined in any
|
|
70
|
+
* declarative file, pg-schema-diff will fail because the shadow DB won't
|
|
71
|
+
* contain the referenced table.
|
|
72
|
+
*
|
|
73
|
+
* FKs to non-managed schemas (e.g. auth, extensions) are skipped — those
|
|
74
|
+
* are platform-managed and not part of the desired schema.
|
|
75
|
+
*/
|
|
76
|
+
declare function checkFkTargetInDeclarative(analysis: FileAnalysis, tablePrefixMap: Map<string, number>, managedSchemas: Set<string>): DomainNamingIssue[];
|
|
77
|
+
/**
|
|
78
|
+
* Rule 7: Duplicate table definition across files
|
|
79
|
+
*
|
|
80
|
+
* Each table must be defined in exactly one declarative SQL file.
|
|
81
|
+
* Duplicates cause ambiguous ownership and unpredictable pg-schema-diff behavior.
|
|
82
|
+
* This is a cross-file check (operates on all analyses, not per-file).
|
|
83
|
+
*/
|
|
84
|
+
declare function checkDuplicateTables(analyses: FileAnalysis[]): DomainNamingIssue[];
|
|
85
|
+
/**
|
|
86
|
+
* Rule 8: Cross-schema table references in RLS policies
|
|
87
|
+
*
|
|
88
|
+
* pg-schema-diff does NOT track cross-schema references inside
|
|
89
|
+
* USING/WITH CHECK expressions. A policy on schema_a.table that
|
|
90
|
+
* references schema_b.other_table via EXISTS(...) will fail if
|
|
91
|
+
* schema_b tables are created after the policy.
|
|
92
|
+
*
|
|
93
|
+
* Workaround: use PL/pgSQL wrapper functions with dynamic SQL
|
|
94
|
+
* (lazy binding). See database-known-limitations.md #11.
|
|
95
|
+
*/
|
|
96
|
+
declare function checkPolicyCrossSchemaRef(analysis: FileAnalysis, managedSchemas: Set<string>): DomainNamingIssue[];
|
|
97
|
+
declare function buildTablePrefixMap(analyses: FileAnalysis[]): Map<string, number>;
|
|
98
|
+
/**
|
|
99
|
+
* Derive the set of "managed schemas" — schemas that have at least one
|
|
100
|
+
* table defined in declarative SQL files. FK references to tables in
|
|
101
|
+
* non-managed schemas (e.g., auth, extensions) are not checked.
|
|
102
|
+
*/
|
|
103
|
+
declare function buildManagedSchemas(tablePrefixMap: Map<string, number>): Set<string>;
|
|
104
|
+
export declare function runDomainNamingCheck(result: PreflightCheckResult, logger: ReturnType<typeof createCLILogger>, step: StepCounter): Promise<void>;
|
|
105
|
+
export { checkFilenameSchemaMatch as _checkFilenameSchemaMatch, checkCrossDomainTables as _checkCrossDomainTables, checkMissingCreateSchema as _checkMissingCreateSchema, checkFkPrefixOrder as _checkFkPrefixOrder, checkFileSize as _checkFileSize, checkFkTargetInDeclarative as _checkFkTargetInDeclarative, checkDuplicateTables as _checkDuplicateTables, checkPolicyCrossSchemaRef as _checkPolicyCrossSchemaRef, analyzeFile as _analyzeFile, buildTablePrefixMap as _buildTablePrefixMap, buildManagedSchemas as _buildManagedSchemas, type FileAnalysis, };
|
|
106
|
+
//# sourceMappingURL=domain-naming-checks.d.ts.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Orphan Database Object Checks
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Detect orphaned tables/enums in the database that exist
|
|
5
|
+
* in the live database but not in the schema definition files.
|
|
6
|
+
* Also checks PostgreSQL extension configuration.
|
|
7
|
+
*
|
|
8
|
+
* Extracted from preflight-check.ts for modularity.
|
|
9
|
+
*/
|
|
10
|
+
import { type createCLILogger } from '@runa-ai/runa';
|
|
11
|
+
import type { PreflightCheckResult, StepCounter } from '../preflight-check.js';
|
|
12
|
+
interface OrphanDiff {
|
|
13
|
+
orphanTables: string[];
|
|
14
|
+
extraEnums: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Log orphan diff details and fix suggestions.
|
|
18
|
+
*/
|
|
19
|
+
export declare function logOrphanDetails(diff: OrphanDiff, result: PreflightCheckResult, logger: ReturnType<typeof createCLILogger>): void;
|
|
20
|
+
/**
|
|
21
|
+
* Check for orphaned database objects (local only)
|
|
22
|
+
*
|
|
23
|
+
* Orphaned objects are tables/enums that exist in the database but not in the schema.
|
|
24
|
+
* This commonly happens when previous Supabase runs left behind schemas.
|
|
25
|
+
*/
|
|
26
|
+
export declare function runOrphanCheck(env: string, dbPackagePath: string | null, result: PreflightCheckResult, logger: ReturnType<typeof createCLILogger>, step: StepCounter): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Inventory PostgreSQL extensions used in idempotent/*.sql
|
|
29
|
+
*
|
|
30
|
+
* This is an informational check (non-blocking). Extensions are managed via
|
|
31
|
+
* CREATE EXTENSION IF NOT EXISTS in idempotent/*.sql (SQL-managed).
|
|
32
|
+
* [db.extensions] in config.toml is NOT supported by Supabase CLI 2.72.7+.
|
|
33
|
+
*/
|
|
34
|
+
export declare function runExtensionConfigCheck(_result: PreflightCheckResult, logger: ReturnType<typeof createCLILogger>, step: StepCounter): void;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=orphan-checks.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: SQL Schema Risk Checks
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Scan SQL schema files for dangerous patterns
|
|
5
|
+
* (auth.*, extensions.* references) that violate
|
|
6
|
+
* Supabase Auth Schema Independence rules.
|
|
7
|
+
*
|
|
8
|
+
* HIGH risk violations block db sync.
|
|
9
|
+
*
|
|
10
|
+
* Extracted from preflight-check.ts for modularity.
|
|
11
|
+
*/
|
|
12
|
+
import type { createCLILogger } from '@runa-ai/runa';
|
|
13
|
+
import type { PreflightCheckResult, StepCounter } from '../preflight-check.js';
|
|
14
|
+
/**
|
|
15
|
+
* Scan SQL schema files for dangerous patterns (auth.*, extensions.* references)
|
|
16
|
+
*
|
|
17
|
+
* HIGH risk violations block db sync to prevent Supabase Auth Schema Independence violations
|
|
18
|
+
* per AGENTS.md rules.
|
|
19
|
+
*/
|
|
20
|
+
export declare function runSqlSchemaRiskCheck(result: PreflightCheckResult, logger: ReturnType<typeof createCLILogger>, step: StepCounter): Promise<void>;
|
|
21
|
+
export { categorizeRisks } from '../../../../validators/risk-detector.js';
|
|
22
|
+
//# sourceMappingURL=schema-risk-checks.d.ts.map
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Supabase Preflight Checks
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Check Supabase running status, test database connection,
|
|
5
|
+
* and provide Docker port diagnostics for local development.
|
|
6
|
+
*
|
|
7
|
+
* Extracted from preflight-check.ts for modularity.
|
|
8
|
+
*/
|
|
9
|
+
import type { createCLILogger } from '@runa-ai/runa';
|
|
10
|
+
import type { PreflightCheckResult, StepCounter } from '../preflight-check.js';
|
|
11
|
+
/**
|
|
12
|
+
* Parse supabase status output to determine if Supabase is running.
|
|
13
|
+
* Pure function for testability.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isSupabaseStatusRunning(output: {
|
|
16
|
+
exitCode: number;
|
|
17
|
+
stdout: string;
|
|
18
|
+
stderr: string;
|
|
19
|
+
}): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Check if Supabase is running (local only)
|
|
22
|
+
*/
|
|
23
|
+
export declare function checkSupabaseRunning(): Promise<{
|
|
24
|
+
running: boolean;
|
|
25
|
+
error?: string;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Test actual database connection with SELECT 1
|
|
29
|
+
*
|
|
30
|
+
* This is more reliable than just checking supabase status,
|
|
31
|
+
* as it verifies:
|
|
32
|
+
* - Correct port configuration
|
|
33
|
+
* - Database is accepting connections
|
|
34
|
+
* - Credentials are valid
|
|
35
|
+
*/
|
|
36
|
+
export declare function testDatabaseConnection(projectRoot?: string): Promise<{
|
|
37
|
+
connected: boolean;
|
|
38
|
+
port: number;
|
|
39
|
+
error?: string;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Get Docker container port diagnostics for supabase_db
|
|
43
|
+
* Used to detect port mismatch between supabase status and actual Docker port
|
|
44
|
+
*/
|
|
45
|
+
export declare function getDockerPortDiagnostics(): Promise<{
|
|
46
|
+
containerFound: boolean;
|
|
47
|
+
containerName?: string;
|
|
48
|
+
actualPort?: number;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* Run Supabase-related checks for local environment.
|
|
52
|
+
* Checks: Supabase status, database connection, Docker port diagnostics.
|
|
53
|
+
*/
|
|
54
|
+
export declare function runSupabaseChecksIfLocal(env: string, result: PreflightCheckResult, logger: ReturnType<typeof createCLILogger>, step: StepCounter): Promise<void>;
|
|
55
|
+
//# sourceMappingURL=supabase-checks.d.ts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SchemaRisk } from '../../../validators/risk-detector.js';
|
|
2
|
+
export type DetectSchemaRisksFn = (filePath: string) => Promise<SchemaRisk[]>;
|
|
3
|
+
type RiskDetectorModule = {
|
|
4
|
+
detectSchemaRisks: DetectSchemaRisksFn;
|
|
5
|
+
};
|
|
6
|
+
export declare function loadRiskDetectorModule(): Promise<RiskDetectorModule>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=risk-detector-loader.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const RUNA_SCHEMA_PRECHECK_MAX_FILES: number;
|
|
2
|
+
export declare const RUNA_SCHEMA_PRECHECK_MAX_TOTAL_BYTES: number;
|
|
3
|
+
export declare const RUNA_SCHEMA_PRECHECK_MAX_FILE_BYTES: number;
|
|
4
|
+
export declare const RUNA_PLAN_PRECHECK_MAX_BYTES: number;
|
|
5
|
+
export declare const RUNA_PLAN_PRECHECK_MAX_STATEMENTS: number;
|
|
6
|
+
export type SchemaPrecheckBudgetState = {
|
|
7
|
+
scannedFiles: number;
|
|
8
|
+
scannedBytes: number;
|
|
9
|
+
maxFiles: number;
|
|
10
|
+
maxBytes: number;
|
|
11
|
+
maxFileBytes: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function formatBytes(value: number): string;
|
|
14
|
+
export declare function buildBudgetExceededReason(context: string, files: number, bytes: number, maxFiles: number, maxBytes: number): string;
|
|
15
|
+
export declare function createSchemaPrecheckBudgetState(): SchemaPrecheckBudgetState;
|
|
16
|
+
export declare function shouldAbortSchemaPrecheckForBudget(state: SchemaPrecheckBudgetState, filePath: string): string | null;
|
|
17
|
+
//# sourceMappingURL=schema-precheck-budget.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type ParsedSqlStatement = {
|
|
2
|
+
statement: string;
|
|
3
|
+
line: number;
|
|
4
|
+
};
|
|
5
|
+
export declare function splitSqlStatements(content: string): ParsedSqlStatement[];
|
|
6
|
+
export declare function isNonDdlMaintenanceStatement(statement: string): boolean;
|
|
7
|
+
export declare function isNonSchemaOperation(statement: string): boolean;
|
|
8
|
+
export declare function extractDdlObject(statement: string): string | null;
|
|
9
|
+
export declare function isPartitionOfCreateTable(statement: string): boolean;
|
|
10
|
+
export declare function shouldReviewUnknownDeclarativeDdl(statement: string, declarativePreferredObjects: Set<string>, idempotentPreferredObjects: Set<string>): string | null;
|
|
11
|
+
export declare function shouldReviewUnknownIdempotentDdl(statement: string, idempotentPreferredObjects: Set<string>, declarativePreferredObjects: Set<string>): string | null;
|
|
12
|
+
//# sourceMappingURL=sql-boundary-parser.d.ts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recursively collect `.sql` files.
|
|
3
|
+
*
|
|
4
|
+
* Uses queue + index traversal to avoid O(n^2) behavior from shift().
|
|
5
|
+
* Unreadable directories are ignored so callers can keep precheck resilient.
|
|
6
|
+
*/
|
|
7
|
+
export declare function collectSqlFilesRecursively(baseDir: string): Generator<string>;
|
|
8
|
+
//# sourceMappingURL=sql-file-collector.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Declarative SQL Filename Parser
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Extract prefix and domain from declarative SQL filenames
|
|
5
|
+
* Convention: {PREFIX}_{DOMAIN}.sql (e.g., 10_accounts.sql → prefix=10, domain='accounts')
|
|
6
|
+
* Used by: domain-naming-checks (preflight check)
|
|
7
|
+
*/
|
|
8
|
+
export interface ParsedSqlFilename {
|
|
9
|
+
prefix: number;
|
|
10
|
+
domain: string;
|
|
11
|
+
raw: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Parse declarative SQL filename: {PREFIX}_{DOMAIN}.sql
|
|
15
|
+
* Returns null if filename doesn't match the convention.
|
|
16
|
+
*
|
|
17
|
+
* Special case: 00_public.sql → domain = 'public'
|
|
18
|
+
*/
|
|
19
|
+
export declare function parseSqlFilename(filename: string): ParsedSqlFilename | null;
|
|
20
|
+
//# sourceMappingURL=sql-filename-parser.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: SQL Table Extractor — AST-based Parsing
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Extract table definitions using libpg-query AST (primary parser)
|
|
5
|
+
* Extracted from: sql-table-extractor.ts (AST-based Parsing section)
|
|
6
|
+
*
|
|
7
|
+
* Functions:
|
|
8
|
+
* - extractTablesWithAst: Parse SQL content using libpg-query AST
|
|
9
|
+
* - convertAstColumns: Convert AST columns to ColumnDefinition array
|
|
10
|
+
* - convertAstForeignKeys: Convert AST foreign keys to ForeignKeyDefinition array
|
|
11
|
+
* - convertAstIndexes: Convert AST indexes to IndexDefinition array
|
|
12
|
+
*/
|
|
13
|
+
import type { TableEntry } from '@runa-ai/runa/manifests';
|
|
14
|
+
import type { ResolvedOptions } from './sql-table-extractor.js';
|
|
15
|
+
/**
|
|
16
|
+
* Extract tables using libpg-query AST
|
|
17
|
+
*/
|
|
18
|
+
export declare function extractTablesWithAst(content: string, filePath: string, opts: ResolvedOptions): Promise<TableEntry[]>;
|
|
19
|
+
//# sourceMappingURL=sql-table-extractor-ast.d.ts.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: SQL Table Extractor — Regex-based Parsing
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Fallback parsing when libpg-query AST is not available
|
|
5
|
+
* Extracted from: sql-table-extractor.ts (Regex-based Parsing section)
|
|
6
|
+
*
|
|
7
|
+
* Functions:
|
|
8
|
+
* - findTablesRegex: Find all CREATE TABLE statements
|
|
9
|
+
* - parseColumnsRegex: Parse column definitions from table body
|
|
10
|
+
* - parsePrimaryKeyRegex: Parse PRIMARY KEY constraints
|
|
11
|
+
* - parseForeignKeysRegex: Parse FOREIGN KEY constraints (explicit + inline)
|
|
12
|
+
* - parseIndexesRegex: Parse CREATE INDEX statements
|
|
13
|
+
* - hasRlsEnabledRegex: Check if RLS is enabled for a table
|
|
14
|
+
*/
|
|
15
|
+
import type { ColumnDefinition, ForeignKeyDefinition, IndexDefinition } from '@runa-ai/runa/manifests';
|
|
16
|
+
import type { ParseContext, ParsedTable } from './sql-table-extractor.js';
|
|
17
|
+
/**
|
|
18
|
+
* Find all CREATE TABLE statements in content (regex)
|
|
19
|
+
*/
|
|
20
|
+
export declare function findTablesRegex(ctx: ParseContext): ParsedTable[];
|
|
21
|
+
export interface ParsedColumnDeclarationResult {
|
|
22
|
+
name: string;
|
|
23
|
+
type: string;
|
|
24
|
+
hasDefault: boolean;
|
|
25
|
+
notNull: boolean;
|
|
26
|
+
isPrimaryKey: boolean;
|
|
27
|
+
inlineReferenceTable?: string;
|
|
28
|
+
inlineReferenceColumn?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parse column definitions from table body (regex)
|
|
32
|
+
*/
|
|
33
|
+
export declare function parseColumnsRegex(tableBody: string): ColumnDefinition[];
|
|
34
|
+
/**
|
|
35
|
+
* Parse PRIMARY KEY constraint (regex)
|
|
36
|
+
*/
|
|
37
|
+
export declare function parsePrimaryKeyRegex(tableBody: string): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Parse FOREIGN KEY constraints (regex)
|
|
40
|
+
*/
|
|
41
|
+
export declare function parseForeignKeysRegex(tableBody: string): ForeignKeyDefinition[];
|
|
42
|
+
/**
|
|
43
|
+
* Parse indexes from full file content (regex)
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseIndexesRegex(content: string, schema: string, tableName: string): IndexDefinition[];
|
|
46
|
+
/**
|
|
47
|
+
* Check if RLS is enabled for table (regex)
|
|
48
|
+
*/
|
|
49
|
+
export declare function hasRlsEnabledRegex(content: string, schema: string, tableName: string): boolean;
|
|
50
|
+
//# sourceMappingURL=sql-table-extractor-regex.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: SQL Table Extractor — RLS Policy Parsing
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Parse CREATE POLICY statements from SQL content
|
|
5
|
+
* Extracted from: sql-table-extractor.ts (RLS Policy Parsing section)
|
|
6
|
+
*
|
|
7
|
+
* Functions:
|
|
8
|
+
* - extractCreatePolicyStatements: Find all CREATE POLICY statements
|
|
9
|
+
* - parsePoliciesRegex: Parse policy details (name, command, USING, WITH CHECK)
|
|
10
|
+
*/
|
|
11
|
+
import type { RlsPolicyDefinition } from '@runa-ai/runa/manifests';
|
|
12
|
+
export declare function parsePoliciesRegex(content: string, schema: string, tableName: string): RlsPolicyDefinition[];
|
|
13
|
+
//# sourceMappingURL=sql-table-extractor-rls.d.ts.map
|
|
@@ -16,11 +16,82 @@
|
|
|
16
16
|
* Architecture:
|
|
17
17
|
* - Primary: libpg-query AST parsing (accurate, handles edge cases)
|
|
18
18
|
* - Fallback: Regex parsing (for pj-repos without libpg-query)
|
|
19
|
+
* - Split modules: regex, rls, ast (see sql-table-extractor-*.ts)
|
|
19
20
|
*
|
|
20
21
|
* Note: This is a lightweight parser for manifest generation.
|
|
21
22
|
* For full SQL parsing, use pg_catalog queries (see introspectColumns).
|
|
22
23
|
*/
|
|
23
|
-
import type { TableEntry } from '@runa-ai/runa/manifests';
|
|
24
|
+
import type { ForeignKeyDefinition, TableEntry } from '@runa-ai/runa/manifests';
|
|
25
|
+
type SqlParserUtils = Awaited<ReturnType<typeof import('@runa-ai/runa/ast').loadSqlParserUtils>>;
|
|
26
|
+
/**
|
|
27
|
+
* Get SQL parser utilities (requires AST to be available)
|
|
28
|
+
*/
|
|
29
|
+
export declare function getSqlParserUtils(): Promise<SqlParserUtils | null>;
|
|
30
|
+
/**
|
|
31
|
+
* Regex patterns for SQL parsing (used as fallback when libpg-query unavailable)
|
|
32
|
+
*/
|
|
33
|
+
export declare const SQL_IDENTIFIER = "(?:\"(?:[^\"]|\"\")*\"|[a-zA-Z_][a-zA-Z0-9_]*)";
|
|
34
|
+
export declare const TABLE_REFERENCE = "(?:\"(?:[^\"]|\"\")*\"|[a-zA-Z_][a-zA-Z0-9_]*)(?:\\s*\\.\\s*(?:\"(?:[^\"]|\"\")*\"|[a-zA-Z_][a-zA-Z0-9_]*))?";
|
|
35
|
+
export declare const SQL_PATTERNS: {
|
|
36
|
+
readonly createTable: RegExp;
|
|
37
|
+
readonly primaryKey: RegExp;
|
|
38
|
+
readonly foreignKey: RegExp;
|
|
39
|
+
readonly createIndex: RegExp;
|
|
40
|
+
readonly enableRls: RegExp;
|
|
41
|
+
};
|
|
42
|
+
export interface ParsedTable {
|
|
43
|
+
schema: string;
|
|
44
|
+
name: string;
|
|
45
|
+
lineNumber: number;
|
|
46
|
+
tableBody: string;
|
|
47
|
+
}
|
|
48
|
+
export interface ParseContext {
|
|
49
|
+
filePath: string;
|
|
50
|
+
content: string;
|
|
51
|
+
lines: string[];
|
|
52
|
+
}
|
|
53
|
+
export declare function splitTopLevelSqlStatements(content: string): string[];
|
|
54
|
+
export declare function splitTopLevelCsv(content: string): string[];
|
|
55
|
+
/**
|
|
56
|
+
* Convert snake_case to camelCase
|
|
57
|
+
*/
|
|
58
|
+
export declare function snakeToCamel(str: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Get line number from character position
|
|
61
|
+
*/
|
|
62
|
+
export declare function getLineNumber(content: string, position: number): number;
|
|
63
|
+
/**
|
|
64
|
+
* Extract table body (content between parentheses)
|
|
65
|
+
*/
|
|
66
|
+
export declare function extractTableBody(content: string, startPos: number): string;
|
|
67
|
+
/**
|
|
68
|
+
* Normalize PostgreSQL data type
|
|
69
|
+
*/
|
|
70
|
+
export declare function normalizeType(type: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Unquote PostgreSQL identifier and unescape doubled quotes.
|
|
73
|
+
*/
|
|
74
|
+
export declare function unquoteIdentifier(identifier: string): string;
|
|
75
|
+
export declare function parseTableReference(ref: string): {
|
|
76
|
+
schema: string;
|
|
77
|
+
name: string;
|
|
78
|
+
} | null;
|
|
79
|
+
/**
|
|
80
|
+
* Strip SQL comments while preserving quoted text and line structure.
|
|
81
|
+
*/
|
|
82
|
+
/**
|
|
83
|
+
* Parse index column names from raw SQL fragment
|
|
84
|
+
*
|
|
85
|
+
* Handles:
|
|
86
|
+
* - Quoted identifiers: "timestamp" → timestamp
|
|
87
|
+
* - Sort directions: created_at DESC → created_at
|
|
88
|
+
* - Mixed: "user_id" ASC, "created_at" DESC → [user_id, created_at]
|
|
89
|
+
*/
|
|
90
|
+
export declare function parseIndexColumns(rawColumns: string): string[];
|
|
91
|
+
/**
|
|
92
|
+
* Normalize ON DELETE/UPDATE action
|
|
93
|
+
*/
|
|
94
|
+
export declare function normalizeOnAction(action: string | undefined): ForeignKeyDefinition['onDelete'];
|
|
24
95
|
export interface ExtractOptions {
|
|
25
96
|
/** Include column definitions */
|
|
26
97
|
includeColumns?: boolean;
|
|
@@ -31,6 +102,12 @@ export interface ExtractOptions {
|
|
|
31
102
|
/** Include RLS policies */
|
|
32
103
|
includeRlsPolicies?: boolean;
|
|
33
104
|
}
|
|
105
|
+
export interface ResolvedOptions {
|
|
106
|
+
includeColumns: boolean;
|
|
107
|
+
includeForeignKeys: boolean;
|
|
108
|
+
includeIndexes: boolean;
|
|
109
|
+
includeRlsPolicies: boolean;
|
|
110
|
+
}
|
|
34
111
|
/**
|
|
35
112
|
* Extract table definitions from SQL files
|
|
36
113
|
*
|
|
@@ -53,4 +130,5 @@ export declare function extractTablesFromSqlDir(sqlDir: string, options?: Extrac
|
|
|
53
130
|
* Uses libpg-query AST parsing when available, falls back to regex parsing.
|
|
54
131
|
*/
|
|
55
132
|
export declare function extractTablesFromSqlFile(filePath: string, options?: ExtractOptions): Promise<TableEntry[]>;
|
|
133
|
+
export {};
|
|
56
134
|
//# sourceMappingURL=sql-table-extractor.d.ts.map
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI HINT: Table Registry - DB Introspection Module
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Database introspection logic for table registry manifest generation
|
|
5
|
+
* Pattern: DB Introspection PRIMARY, SQL regex FALLBACK
|
|
6
|
+
*
|
|
7
|
+
* Extracted from table-registry.ts to reduce file size.
|
|
8
|
+
* Contains:
|
|
9
|
+
* - SQL injection prevention helpers (validatePgIdentifier, buildSafeSchemaInClause)
|
|
10
|
+
* - introspectTablesFromDb (PRIMARY source via PostgreSQL system catalogs)
|
|
11
|
+
* - Lookup map builders (FK, index, RLS, check constraints, triggers, PK)
|
|
12
|
+
* - convertIntrospectionToTableEntries
|
|
13
|
+
* - crossCheckWithDrizzle (Drizzle validation)
|
|
14
|
+
* - introspectColumns (enriched column info from DB)
|
|
15
|
+
*
|
|
16
|
+
* @see table-registry.ts - Main manifest generation and load/save
|
|
17
|
+
*/
|
|
18
|
+
import type { TableEntry } from '@runa-ai/runa/manifests';
|
|
19
|
+
/**
|
|
20
|
+
* SECURITY (Issue #535): Build safe SQL IN clause for schema names.
|
|
21
|
+
*
|
|
22
|
+
* Each schema name is:
|
|
23
|
+
* 1. Validated to be a safe PostgreSQL identifier
|
|
24
|
+
* 2. Escaped as a string literal (defense-in-depth)
|
|
25
|
+
*
|
|
26
|
+
* @param schemas - Array of schema names to include
|
|
27
|
+
* @returns SQL fragment like "'public','accounts'" (without parentheses)
|
|
28
|
+
* @throws Error if any schema name is invalid
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildSafeSchemaInClause(schemas: string[]): string;
|
|
31
|
+
/**
|
|
32
|
+
* Introspect tables from database using PostgreSQL system catalogs
|
|
33
|
+
*
|
|
34
|
+
* This is the PRIMARY source for table metadata (when database is available).
|
|
35
|
+
* PostgreSQL system catalogs are 100% accurate because PostgreSQL itself
|
|
36
|
+
* parsed and stored the schema information.
|
|
37
|
+
*
|
|
38
|
+
* @param databaseUrl - PostgreSQL connection string
|
|
39
|
+
* @param schemas - Schema names to include (default: auto-detect non-system schemas)
|
|
40
|
+
* @returns TableEntry[] with accurate metadata from database
|
|
41
|
+
* @throws Error if database connection or introspection fails
|
|
42
|
+
*/
|
|
43
|
+
export declare function introspectTablesFromDb(databaseUrl: string, schemas?: string[]): Promise<TableEntry[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Cross-check SQL tables with Drizzle schema
|
|
46
|
+
*
|
|
47
|
+
* Uses dynamic import to load Drizzle schema and verify table names match.
|
|
48
|
+
* Returns discrepancies if any.
|
|
49
|
+
*
|
|
50
|
+
* Note: This is for validation only. SQL is the SSOT.
|
|
51
|
+
*/
|
|
52
|
+
export declare function crossCheckWithDrizzle(sqlTables: TableEntry[], drizzleSchemaPath: string): Promise<{
|
|
53
|
+
matched: TableEntry[];
|
|
54
|
+
sqlOnly: TableEntry[];
|
|
55
|
+
drizzleOnly: string[];
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Introspect column information from database
|
|
59
|
+
*
|
|
60
|
+
* Zero Hardcode: All info from pg_catalog
|
|
61
|
+
* This enriches SQL-extracted data with runtime database metadata.
|
|
62
|
+
*
|
|
63
|
+
* @param databaseUrl - PostgreSQL connection string
|
|
64
|
+
* @param tables - Tables to introspect
|
|
65
|
+
* @returns Tables with enriched column information
|
|
66
|
+
*/
|
|
67
|
+
export declare function introspectColumns(databaseUrl: string, tables: TableEntry[]): Promise<TableEntry[]>;
|
|
68
|
+
//# sourceMappingURL=table-registry-introspection.d.ts.map
|
|
@@ -20,46 +20,10 @@
|
|
|
20
20
|
* @see packages/sdk/src/core/manifests/types.ts - TablesManifest type definition
|
|
21
21
|
* @see packages/sdk/src/test/generator/introspectors/db-introspector.ts - DB introspection
|
|
22
22
|
* @see packages/cli/src/commands/db/utils/sql-table-extractor.ts - SQL parser (fallback)
|
|
23
|
+
* @see table-registry-introspection.ts - DB introspection logic (extracted)
|
|
23
24
|
*/
|
|
24
|
-
import type {
|
|
25
|
+
import type { TablesManifest } from '@runa-ai/runa/manifests';
|
|
25
26
|
import { type MappingOptions } from './semantic-mapper.js';
|
|
26
|
-
/**
|
|
27
|
-
* Introspect tables from database using PostgreSQL system catalogs
|
|
28
|
-
*
|
|
29
|
-
* This is the PRIMARY source for table metadata (when database is available).
|
|
30
|
-
* PostgreSQL system catalogs are 100% accurate because PostgreSQL itself
|
|
31
|
-
* parsed and stored the schema information.
|
|
32
|
-
*
|
|
33
|
-
* @param databaseUrl - PostgreSQL connection string
|
|
34
|
-
* @param schemas - Schema names to include (default: auto-detect non-system schemas)
|
|
35
|
-
* @returns TableEntry[] with accurate metadata from database
|
|
36
|
-
* @throws Error if database connection or introspection fails
|
|
37
|
-
*/
|
|
38
|
-
export declare function introspectTablesFromDb(databaseUrl: string, schemas?: string[]): Promise<TableEntry[]>;
|
|
39
|
-
/**
|
|
40
|
-
* Cross-check SQL tables with Drizzle schema
|
|
41
|
-
*
|
|
42
|
-
* Uses dynamic import to load Drizzle schema and verify table names match.
|
|
43
|
-
* Returns discrepancies if any.
|
|
44
|
-
*
|
|
45
|
-
* Note: This is for validation only. SQL is the SSOT.
|
|
46
|
-
*/
|
|
47
|
-
export declare function crossCheckWithDrizzle(sqlTables: TableEntry[], drizzleSchemaPath: string): Promise<{
|
|
48
|
-
matched: TableEntry[];
|
|
49
|
-
sqlOnly: TableEntry[];
|
|
50
|
-
drizzleOnly: string[];
|
|
51
|
-
}>;
|
|
52
|
-
/**
|
|
53
|
-
* Introspect column information from database
|
|
54
|
-
*
|
|
55
|
-
* Zero Hardcode: All info from pg_catalog
|
|
56
|
-
* This enriches SQL-extracted data with runtime database metadata.
|
|
57
|
-
*
|
|
58
|
-
* @param databaseUrl - PostgreSQL connection string
|
|
59
|
-
* @param tables - Tables to introspect
|
|
60
|
-
* @returns Tables with enriched column information
|
|
61
|
-
*/
|
|
62
|
-
export declare function introspectColumns(databaseUrl: string, tables: TableEntry[]): Promise<TableEntry[]>;
|
|
63
27
|
export interface GenerateManifestOptions {
|
|
64
28
|
/** SQL directory (default: supabase/schemas/declarative) */
|
|
65
29
|
sqlDir?: string;
|
|
@@ -113,4 +77,5 @@ export declare function loadTablesManifest(projectRoot: string): TablesManifest
|
|
|
113
77
|
export type { TableEntry, TablesManifest } from '@runa-ai/runa/manifests';
|
|
114
78
|
export { applyMappingToTables, generateMapping, generateSemanticName, type MappingOptions, type MappingResult, snakeToCamel, snakeToPascal, validateCompleteness, validateMapping, } from './semantic-mapper.js';
|
|
115
79
|
export { extractTablesFromSqlDir, extractTablesFromSqlFile } from './sql-table-extractor.js';
|
|
80
|
+
export { crossCheckWithDrizzle, introspectColumns, introspectTablesFromDb, } from './table-registry-introspection.js';
|
|
116
81
|
//# sourceMappingURL=table-registry.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface AppStartInput {
|
|
2
|
+
repoRoot: string;
|
|
3
|
+
appDir: string;
|
|
4
|
+
port: number;
|
|
5
|
+
tmpDir: string;
|
|
6
|
+
stream: boolean;
|
|
7
|
+
bundler?: 'turbopack' | 'webpack';
|
|
8
|
+
}
|
|
9
|
+
export interface AppStartOutput {
|
|
10
|
+
pid: number;
|
|
11
|
+
cleanupStreams: () => void;
|
|
12
|
+
}
|
|
13
|
+
export interface ShutdownInput {
|
|
14
|
+
pid: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const appStartActor: import("xstate").PromiseActorLogic<AppStartOutput, AppStartInput, import("xstate").EventObject>;
|
|
17
|
+
export declare const shutdownActor: import("xstate").PromiseActorLogic<void, ShutdownInput, import("xstate").EventObject>;
|
|
18
|
+
//# sourceMappingURL=app-lifecycle.d.ts.map
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AI HINT: Dev Command Actors
|
|
3
3
|
*
|
|
4
|
-
* Purpose: Re-export actors
|
|
5
|
-
* Pattern: Actor reuse for dev workflow
|
|
4
|
+
* Purpose: Re-export all actors for the dev workflow
|
|
6
5
|
*
|
|
7
6
|
* Actors:
|
|
8
7
|
* - depsInstallActor: Check/install dependencies
|
|
9
8
|
* - envCheckActor: Check environment variables
|
|
10
9
|
* - supabaseStartActor: Start Supabase local
|
|
10
|
+
* - processCheckActor: Check for existing processes and port availability
|
|
11
11
|
* - appStartActor: Start Next.js dev server
|
|
12
|
+
* - shutdownActor: Gracefully shut down dev server
|
|
12
13
|
*/
|
|
13
14
|
export { depsInstallActor, envCheckActor, supabaseStartActor, } from '../../build/actors/setup.js';
|
|
15
|
+
export { processCheckActor } from './process-check.js';
|
|
16
|
+
export type { ProcessCheckInput, ProcessCheckOutput } from './process-check.js';
|
|
17
|
+
export { appStartActor, shutdownActor } from './app-lifecycle.js';
|
|
18
|
+
export type { AppStartInput, AppStartOutput, ShutdownInput } from './app-lifecycle.js';
|
|
14
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface ProcessCheckInput {
|
|
2
|
+
repoRoot: string;
|
|
3
|
+
tmpDir: string;
|
|
4
|
+
port: number;
|
|
5
|
+
replace: boolean;
|
|
6
|
+
skipApp: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface ProcessCheckOutput {
|
|
9
|
+
staleProcessRecovered: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const processCheckActor: import("xstate").PromiseActorLogic<ProcessCheckOutput, ProcessCheckInput, import("xstate").EventObject>;
|
|
12
|
+
//# sourceMappingURL=process-check.d.ts.map
|