@runa-ai/runa-cli 0.7.1 → 0.7.2

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.
Files changed (136) hide show
  1. package/dist/{build-HUDIP6KU.js → build-HQMSVN6N.js} +3 -3
  2. package/dist/{check-LOMVIRHX.js → check-PCSQPYDM.js} +2 -2
  3. package/dist/{chunk-QM53IQHM.js → chunk-2QX7T24B.js} +1 -1
  4. package/dist/{chunk-XDCHRVE3.js → chunk-4XHZQRRK.js} +2 -2
  5. package/dist/{chunk-7B5C6U2K.js → chunk-A6A7JIRD.js} +35 -2
  6. package/dist/{chunk-Z4Z5DNW4.js → chunk-B3POLMII.js} +12 -0
  7. package/dist/chunk-CKRLVEIO.js +119 -0
  8. package/dist/{chunk-HD74F6W2.js → chunk-FWMGC5FP.js} +1 -0
  9. package/dist/{chunk-H2AHNI75.js → chunk-LCK2LGVR.js} +1 -1
  10. package/dist/{chunk-FHG3ILE4.js → chunk-OBYZDT2E.js} +38 -8
  11. package/dist/{chunk-AFY3TX4I.js → chunk-PMXE5XOJ.js} +1 -1
  12. package/dist/{chunk-VM3IWOT5.js → chunk-QSEF4T3Y.js} +13 -5
  13. package/dist/{chunk-NPSRD26F.js → chunk-UHDAYPHH.js} +1 -1
  14. package/dist/{chunk-2APB25TT.js → chunk-VSH3IXDQ.js} +7 -3
  15. package/dist/{chunk-644FVGIQ.js → chunk-WPMR7RQ4.js} +9 -2
  16. package/dist/{chunk-EMB6IZFT.js → chunk-XVNDDHAF.js} +20 -1
  17. package/dist/{risk-detector-plpgsql-HWKS4OLR.js → chunk-Y5ANTCKE.js} +3 -412
  18. package/dist/{chunk-CCW3PLQY.js → chunk-Z7A4BEWF.js} +1 -1
  19. package/dist/{ci-XY6IKEDC.js → ci-Z4525QW6.js} +2150 -488
  20. package/dist/{cli-UZA4RBNQ.js → cli-Q2XIQDRS.js} +72 -54
  21. package/dist/commands/ci/commands/ci-prod-db-operations.d.ts +6 -4
  22. package/dist/commands/ci/commands/ci-prod-types.d.ts +3 -0
  23. package/dist/commands/ci/commands/ci-prod-workflow.d.ts +1 -1
  24. package/dist/commands/ci/commands/ci-resolvers.d.ts +1 -1
  25. package/dist/commands/ci/commands/ci-supabase-local.d.ts +4 -0
  26. package/dist/commands/ci/machine/actors/build/build-and-playwright.d.ts +1 -1
  27. package/dist/commands/ci/machine/actors/db/collect-schema-stats.d.ts +11 -1
  28. package/dist/commands/ci/machine/actors/db/production-preview.d.ts +22 -4
  29. package/dist/commands/ci/machine/actors/db/schema-canonical-diff.d.ts +8 -1
  30. package/dist/commands/ci/machine/actors/db/sync-schema.d.ts +1 -0
  31. package/dist/commands/ci/machine/actors/finalize/index.d.ts +0 -1
  32. package/dist/commands/ci/machine/actors/index.d.ts +1 -1
  33. package/dist/commands/ci/machine/actors/setup/local.d.ts +2 -0
  34. package/dist/commands/ci/machine/actors/setup/pr-common.d.ts +3 -0
  35. package/dist/commands/ci/machine/actors/setup/pr-local.d.ts +2 -0
  36. package/dist/commands/ci/machine/commands/machine-runner.d.ts +5 -1
  37. package/dist/commands/ci/machine/commands/step-telemetry.d.ts +16 -0
  38. package/dist/commands/ci/machine/contract.d.ts +40 -0
  39. package/dist/commands/ci/machine/formatters/github-comment-types.d.ts +7 -2
  40. package/dist/commands/ci/machine/formatters/github-comment.d.ts +2 -1
  41. package/dist/commands/ci/machine/formatters/sections/final-comment.d.ts +2 -1
  42. package/dist/commands/ci/machine/formatters/sections/index.d.ts +1 -1
  43. package/dist/commands/ci/machine/formatters/summary.d.ts +4 -4
  44. package/dist/commands/ci/machine/guards.d.ts +4 -0
  45. package/dist/commands/ci/machine/helpers.d.ts +25 -0
  46. package/dist/commands/ci/machine/machine-state-helpers.d.ts +1 -1
  47. package/dist/commands/ci/machine/machine.d.ts +15 -8
  48. package/dist/commands/ci/machine/types.d.ts +9 -0
  49. package/dist/commands/ci/utils/ci-diagnostics.d.ts +67 -0
  50. package/dist/commands/ci/utils/ci-summary.d.ts +118 -0
  51. package/dist/commands/ci/utils/db-url-utils.d.ts +4 -77
  52. package/dist/commands/ci/utils/github-api.d.ts +14 -0
  53. package/dist/commands/db/apply/contract.d.ts +73 -0
  54. package/dist/commands/db/apply/helpers/alter-statement-parsers.d.ts +95 -0
  55. package/dist/commands/db/apply/helpers/data-compatibility-checker.d.ts +0 -61
  56. package/dist/commands/db/apply/helpers/function-plan-false-positive-filter.d.ts +36 -0
  57. package/dist/commands/db/apply/helpers/hazard-handler.d.ts +4 -4
  58. package/dist/commands/db/apply/helpers/index.d.ts +14 -5
  59. package/dist/commands/db/apply/helpers/partition-acl-cleaner.d.ts +3 -1
  60. package/dist/commands/db/apply/helpers/pg-schema-diff-helpers.d.ts +69 -6
  61. package/dist/commands/db/apply/helpers/plan-ast.d.ts +56 -0
  62. package/dist/commands/db/apply/helpers/plan-check-filter.d.ts +26 -0
  63. package/dist/commands/db/apply/helpers/plan-drop-protection.d.ts +43 -0
  64. package/dist/commands/db/apply/helpers/plan-ordering.d.ts +6 -0
  65. package/dist/commands/db/apply/helpers/plan-statement-parser.d.ts +39 -0
  66. package/dist/commands/db/apply/helpers/plan-validator.d.ts +8 -40
  67. package/dist/commands/db/apply/helpers/retry-logic.d.ts +1 -10
  68. package/dist/commands/db/apply/helpers/temp-db-bootstrap.d.ts +18 -0
  69. package/dist/commands/db/apply/helpers/temp-db-dsn.d.ts +14 -0
  70. package/dist/commands/db/apply/machine.d.ts +56 -32
  71. package/dist/commands/db/commands/db-apply-error.d.ts +5 -0
  72. package/dist/commands/db/commands/db-apply.d.ts +2 -0
  73. package/dist/commands/db/commands/db-sync/directory-placement-check.d.ts +4 -0
  74. package/dist/commands/db/commands/db-sync/error-classifier.d.ts +1 -1
  75. package/dist/commands/db/commands/db-sync/plan-boundary-reconciliation.d.ts +3 -0
  76. package/dist/commands/db/commands/db-sync/precheck-helpers.d.ts +18 -0
  77. package/dist/commands/db/commands/db-sync/production-precheck.d.ts +15 -0
  78. package/dist/commands/db/commands/db-sync/risk-scan-collectors.d.ts +11 -0
  79. package/dist/commands/db/commands/db-sync.d.ts +11 -5
  80. package/dist/commands/db/sync/contract.d.ts +80 -0
  81. package/dist/commands/db/sync/machine.d.ts +60 -1
  82. package/dist/commands/db/types.d.ts +5 -0
  83. package/dist/commands/db/utils/boundary-policy/rule-compiler.d.ts +2 -1
  84. package/dist/commands/db/utils/boundary-policy/types.d.ts +21 -0
  85. package/dist/commands/db/utils/boundary-policy-runtime.d.ts +12 -3
  86. package/dist/commands/db/utils/boundary-policy.d.ts +1 -1
  87. package/dist/commands/db/utils/db-target.d.ts +5 -3
  88. package/dist/commands/db/utils/declarative-dependency-collectors.d.ts +6 -0
  89. package/dist/commands/db/utils/declarative-dependency-contract.d.ts +78 -0
  90. package/dist/commands/db/utils/declarative-dependency-sql-utils.d.ts +49 -0
  91. package/dist/commands/db/utils/declarative-dependency-warning-governance.d.ts +24 -0
  92. package/dist/commands/db/utils/preflight-check.d.ts +1 -1
  93. package/dist/commands/db/utils/preflight-checks/declarative-dependency-checks.d.ts +4 -0
  94. package/dist/commands/db/utils/preflight-checks/idempotent-risk-checks.d.ts +4 -0
  95. package/dist/commands/db/utils/preflight-checks/schema-boundary-checks.d.ts +4 -0
  96. package/dist/commands/db/utils/preflight-checks/schema-risk-policy.d.ts +4 -0
  97. package/dist/commands/db/utils/preflight-checks/supabase-checks.d.ts +12 -0
  98. package/dist/commands/db/utils/psql.d.ts +23 -0
  99. package/dist/commands/db/utils/sql-table-extractor.d.ts +42 -1
  100. package/dist/commands/env/commands/setup/types.d.ts +1 -0
  101. package/dist/commands/env/constants/local-supabase.d.ts +4 -1
  102. package/dist/commands/observability.d.ts +72 -0
  103. package/dist/commands/observability.helpers.d.ts +25 -0
  104. package/dist/commands/template-check/contract.d.ts +3 -3
  105. package/dist/commands/template-check/machine.d.ts +1 -1
  106. package/dist/commands/workflow/commands/deploy-production.d.ts +0 -1
  107. package/dist/constants/versions.d.ts +1 -1
  108. package/dist/{db-Q3GF7JWP.js → db-BPQ2TEQM.js} +14361 -11076
  109. package/dist/{dev-5YXNPTCJ.js → dev-MLRKIP7F.js} +5 -5
  110. package/dist/{doctor-MZLOA53G.js → doctor-ROSWSMLH.js} +2 -2
  111. package/dist/{env-GMB3THRG.js → env-WNHJVLOT.js} +37 -20
  112. package/dist/{env-HMMRSYCI.js → env-XPPACZM4.js} +2 -2
  113. package/dist/{env-files-2UIUYLLR.js → env-files-HRNUGZ5O.js} +1 -1
  114. package/dist/{error-handler-HEXBRNVV.js → error-handler-YRQWRDEF.js} +17 -0
  115. package/dist/{hotfix-NDTPY2T4.js → hotfix-Z5EGVSMH.js} +4 -4
  116. package/dist/index.js +4 -4
  117. package/dist/{init-U4VCRHTD.js → init-S2ATHLJ6.js} +1 -1
  118. package/dist/{inject-test-attrs-P44BVTQS.js → inject-test-attrs-XN4I2AOR.js} +2 -2
  119. package/dist/internal/machines/index.d.ts +1 -1
  120. package/dist/internal/machines/snapshot-helpers.d.ts +6 -0
  121. package/dist/{manifest-TMFLESHW.js → manifest-EGCAZ4TK.js} +1 -1
  122. package/dist/observability-CJA5UFIC.js +721 -0
  123. package/dist/{risk-detector-4U6ZJ2G5.js → risk-detector-VO5HJR4R.js} +1 -1
  124. package/dist/{risk-detector-core-TK4OAI3N.js → risk-detector-core-7WZJZ5ZI.js} +61 -3
  125. package/dist/risk-detector-plpgsql-ULV7NLDB.js +638 -0
  126. package/dist/{template-check-FFJVDLBF.js → template-check-BDFMT6ZO.js} +1 -1
  127. package/dist/{upgrade-7TWORWBV.js → upgrade-BDUWBRT5.js} +1 -1
  128. package/dist/utils/db-url-utils.d.ts +81 -0
  129. package/dist/validators/risk-detector-plpgsql.d.ts +3 -1
  130. package/dist/{vuln-check-6CMNPSBR.js → vuln-check-66RXX3TO.js} +1 -1
  131. package/dist/{vuln-checker-EJJTNDNE.js → vuln-checker-FFOGOJPT.js} +1 -1
  132. package/dist/{watch-PNTKZYFB.js → watch-ITYW57SL.js} +1 -1
  133. package/dist/{workflow-H75N4BXX.js → workflow-UZIZ2JUS.js} +2 -3
  134. package/package.json +3 -3
  135. package/dist/chunk-AKZAN4BC.js +0 -90
  136. package/dist/commands/ci/machine/actors/finalize/summary.d.ts +0 -32
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';
3
- import { generateTablesManifest, writeEnvLocalBridge } from './chunk-FHG3ILE4.js';
4
- import { startAppBackground, waitForAppReady, detectApp } from './chunk-HD74F6W2.js';
5
- import './chunk-7B5C6U2K.js';
6
- import { manifestActor, supabaseStartActor, envCheckActor, depsInstallActor, detectManifestTask, detectDatabase } from './chunk-2APB25TT.js';
3
+ import { generateTablesManifest, writeEnvLocalBridge } from './chunk-OBYZDT2E.js';
4
+ import { startAppBackground, waitForAppReady, detectApp } from './chunk-FWMGC5FP.js';
5
+ import './chunk-A6A7JIRD.js';
6
+ import { manifestActor, supabaseStartActor, envCheckActor, depsInstallActor, detectManifestTask, detectDatabase } from './chunk-VSH3IXDQ.js';
7
7
  import { findRepoRoot } from './chunk-3WDV32GA.js';
8
8
  import './chunk-6FAU4IGR.js';
9
9
  import { createMachineStateChangeLogger } from './chunk-5FT3F36G.js';
10
10
  import './chunk-II7VYQEM.js';
11
- import { init_local_supabase, buildLocalDatabaseUrl, detectLocalSupabasePorts } from './chunk-VM3IWOT5.js';
11
+ import { init_local_supabase, buildLocalDatabaseUrl, detectLocalSupabasePorts } from './chunk-QSEF4T3Y.js';
12
12
  import { secureExeca } from './chunk-RZLYEO4U.js';
13
13
  import { emitJsonSuccess } from './chunk-KE6QJBZG.js';
14
14
  import './chunk-WJXC4MVY.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';
3
- import { runCheckCommand } from './chunk-QM53IQHM.js';
4
- import './chunk-644FVGIQ.js';
3
+ import { runCheckCommand } from './chunk-2QX7T24B.js';
4
+ import './chunk-WPMR7RQ4.js';
5
5
  import './chunk-DRSUEMAK.js';
6
6
  import './chunk-KE6QJBZG.js';
7
7
  import './chunk-WJXC4MVY.js';
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';
3
- import { tryResolveDatabaseUrl } from './chunk-AKZAN4BC.js';
4
3
  import { registerCleanup } from './chunk-TYIAD6SB.js';
4
+ import { tryResolveDatabaseUrl } from './chunk-CKRLVEIO.js';
5
5
  import { isNonInteractiveEnabled } from './chunk-6Y3LAUGL.js';
6
- import './chunk-NPSRD26F.js';
7
- import { loadEnvFiles } from './chunk-644FVGIQ.js';
6
+ import './chunk-UHDAYPHH.js';
7
+ import { loadEnvFiles } from './chunk-WPMR7RQ4.js';
8
8
  import { getVercelRootDirectory } from './chunk-MXRWBNIY.js';
9
9
  import { syncRunaConfigWithVercel } from './chunk-6AALH2ED.js';
10
10
  import './chunk-DRSUEMAK.js';
11
11
  import './chunk-II7VYQEM.js';
12
- import { init_local_supabase, getLocalSupabaseEnvValues, getLocalValueDescriptions } from './chunk-VM3IWOT5.js';
12
+ import { init_local_supabase, getLocalSupabaseEnvValues, getLocalValueDescriptions } from './chunk-QSEF4T3Y.js';
13
13
  import { emitJsonSuccess } from './chunk-KE6QJBZG.js';
14
14
  import './chunk-WJXC4MVY.js';
15
15
  import './chunk-HKUWEGUX.js';
@@ -231,6 +231,10 @@ function logRequiredSecrets(logger) {
231
231
  logger.info(" \u2022 SUPABASE_SERVICE_ROLE_KEY");
232
232
  logger.info(" \u2022 SUPABASE_PROJECT_REF");
233
233
  logger.info(" \u2022 DATABASE_URL (Pooler, port 6543)");
234
+ logger.info(" \u2022 DATABASE_URL_SERVICE (Pooler, port 6543)");
235
+ logger.info("");
236
+ logger.info("\u{1F4CB} Optional Vercel env vars:");
237
+ logger.info(" \u2022 DATABASE_URL_LISTENER (Direct, port 5432, for LISTEN/NOTIFY)");
234
238
  }
235
239
  async function runEnvCheckAction(options) {
236
240
  const logger = createCLILogger("env:check");
@@ -1203,7 +1207,8 @@ function writeEnvSetupFile(envVars, drizzleAppPassword, drizzleServicePassword,
1203
1207
  #
1204
1208
  # Next Steps:
1205
1209
  # 1. Review the values below
1206
- # 2. Register to Vercel: echo "<VALUE>" | vercel env add <KEY>
1210
+ # 2. Register each Vercel value to development, preview, and production
1211
+ # using printf '%s' to avoid adding a trailing newline
1207
1212
  # 3. Register to GitHub: gh secret set <KEY>
1208
1213
  # 4. Run RBAC setup: DRIZZLE_APP_PASSWORD="..." DRIZZLE_SERVICE_PASSWORD="..." pnpm db:setup-roles
1209
1214
  # 5. Delete this file: rm ${ENV_SETUP_TMP_FILE}
@@ -1211,7 +1216,10 @@ function writeEnvSetupFile(envVars, drizzleAppPassword, drizzleServicePassword,
1211
1216
  `;
1212
1217
  content += `# \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
1213
1218
  # Vercel Environment Variables
1214
- # Register: echo "<VALUE>" | vercel env add <KEY>
1219
+ # Register with exact bytes (repeat for all environments):
1220
+ # printf '%s' "<VALUE>" | vercel env add <KEY> development
1221
+ # printf '%s' "<VALUE>" | vercel env add <KEY> preview
1222
+ # printf '%s' "<VALUE>" | vercel env add <KEY> production
1215
1223
  # \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
1216
1224
  `;
1217
1225
  for (const env of vercelVars) {
@@ -1651,6 +1659,7 @@ async function getSupabaseProjectInfo(projectRef, logger, rl, providedServiceRol
1651
1659
  return {
1652
1660
  projectRef,
1653
1661
  projectName: project.name,
1662
+ region: project.region,
1654
1663
  anonKey: anon.key,
1655
1664
  serviceRoleKey: service.key,
1656
1665
  supabaseUrl: `https://${projectRef}.supabase.co`
@@ -1838,9 +1847,7 @@ async function setVercelEnvVar(linkedDir, key, value, overwrite, logger) {
1838
1847
  proc.stderr?.on("data", (data) => {
1839
1848
  stderr += data.toString();
1840
1849
  });
1841
- proc.stdin?.write(`${value}
1842
- `);
1843
- proc.stdin?.end();
1850
+ proc.stdin?.end(value);
1844
1851
  proc.on("close", (code) => {
1845
1852
  if (code === 0) {
1846
1853
  resolve5();
@@ -1981,6 +1988,10 @@ function buildEnvVarList(supabaseProject, supabaseRef, postgresPassword, drizzle
1981
1988
  const encodedPostgresPassword = encodePasswordForUrl(postgresPassword);
1982
1989
  const encodedDrizzleAppPassword = encodePasswordForUrl(drizzleAppPassword);
1983
1990
  const encodedDrizzleServicePassword = encodePasswordForUrl(drizzleServicePassword);
1991
+ const directHost = `db.${supabaseRef}.supabase.co`;
1992
+ const transactionPoolerHost = `aws-0-${supabaseProject.region}.pooler.supabase.com`;
1993
+ const buildDirectUrl = (role, password) => `postgresql://${role}:${password}@${directHost}:5432/postgres`;
1994
+ const buildTransactionPoolerUrl = (role, password) => `postgresql://${role}.${supabaseRef}:${password}@${transactionPoolerHost}:6543/postgres?pgbouncer=true`;
1984
1995
  return [
1985
1996
  // Supabase credentials
1986
1997
  {
@@ -2001,37 +2012,43 @@ function buildEnvVarList(supabaseProject, supabaseRef, postgresPassword, drizzle
2001
2012
  target: ["vercel"],
2002
2013
  description: "Supabase service role key (server-only)"
2003
2014
  },
2015
+ {
2016
+ key: "SUPABASE_PROJECT_REF",
2017
+ value: supabaseRef,
2018
+ target: ["vercel"],
2019
+ description: "Supabase project reference ID"
2020
+ },
2004
2021
  // Database URLs (Vercel)
2005
2022
  {
2006
2023
  key: "DATABASE_URL",
2007
- value: `postgresql://drizzle_app:${encodedDrizzleAppPassword}@db.${supabaseRef}.supabase.co:5432/postgres`,
2024
+ value: buildTransactionPoolerUrl("drizzle_app", encodedDrizzleAppPassword),
2008
2025
  target: ["vercel"],
2009
- description: "App database URL (drizzle_app role, DML only)"
2026
+ description: "Request runtime database URL (drizzle_app role, transaction pooler)"
2010
2027
  },
2011
2028
  {
2012
- key: "DATABASE_URL_ADMIN",
2013
- value: `postgresql://postgres:${encodedPostgresPassword}@db.${supabaseRef}.supabase.co:5432/postgres`,
2029
+ key: "DATABASE_URL_LISTENER",
2030
+ value: buildDirectUrl("drizzle_app", encodedDrizzleAppPassword),
2014
2031
  target: ["vercel"],
2015
- description: "Admin database URL (postgres role, DDL)"
2032
+ description: "Listener database URL (drizzle_app role, direct connection for LISTEN/NOTIFY)"
2016
2033
  },
2017
2034
  {
2018
2035
  key: "DATABASE_URL_SERVICE",
2019
- value: `postgresql://drizzle_service:${encodedDrizzleServicePassword}@db.${supabaseRef}.supabase.co:5432/postgres`,
2036
+ value: buildTransactionPoolerUrl("drizzle_service", encodedDrizzleServicePassword),
2020
2037
  target: ["vercel"],
2021
- description: "Service database URL (drizzle_service role, RLS bypassed - Webhooks/Background Jobs only)"
2038
+ description: "Service database URL (drizzle_service role, transaction pooler for trusted server operations)"
2022
2039
  },
2023
2040
  // Database URLs (GitHub CI)
2024
2041
  {
2025
2042
  key: "GH_DATABASE_URL_ADMIN",
2026
- value: `postgresql://postgres:${encodedPostgresPassword}@db.${supabaseRef}.supabase.co:5432/postgres`,
2043
+ value: buildDirectUrl("postgres", encodedPostgresPassword),
2027
2044
  target: ["github"],
2028
- description: "CI migrations URL (postgres role, DDL)"
2045
+ description: "CI migrations URL (postgres role, direct connection for DDL)"
2029
2046
  },
2030
2047
  {
2031
2048
  key: "GH_DATABASE_URL",
2032
- value: `postgresql://drizzle_app:${encodedDrizzleAppPassword}@db.${supabaseRef}.supabase.co:5432/postgres`,
2049
+ value: buildTransactionPoolerUrl("drizzle_app", encodedDrizzleAppPassword),
2033
2050
  target: ["github"],
2034
- description: "CI verification URL (drizzle_app role, DML)"
2051
+ description: "CI verification URL (drizzle_app role, transaction pooler)"
2035
2052
  },
2036
2053
  // NOTE: VERCEL_PROJECT_ID is NOT registered to GitHub Secrets.
2037
2054
  // Vercel GitHub Integration handles deployments automatically (no CI secrets needed).
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';
3
- export { env, getDatabaseUrl, hasEnv, isCI, isDebug, sanitizeEnv } from './chunk-NPSRD26F.js';
4
- import './chunk-VM3IWOT5.js';
3
+ export { env, getDatabaseUrl, hasEnv, isCI, isDebug, sanitizeEnv } from './chunk-UHDAYPHH.js';
4
+ import './chunk-QSEF4T3Y.js';
5
5
  import './chunk-VRXHCR5K.js';
6
6
 
7
7
  createRequire(import.meta.url);
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';
3
- export { loadEnvFiles } from './chunk-644FVGIQ.js';
3
+ export { loadEnvFiles } from './chunk-WPMR7RQ4.js';
4
4
  import './chunk-DRSUEMAK.js';
5
5
  import './chunk-JMJP4A47.js';
6
6
  import './chunk-VRXHCR5K.js';
@@ -99,6 +99,23 @@ var diagnosisRules = [
99
99
  " runa build"
100
100
  ]
101
101
  },
102
+ // Database host resolution issues
103
+ {
104
+ name: "database-host-resolution",
105
+ matches: (msg) => msg.includes("DB_HOST_RESOLUTION_FAILED") || msg.includes("Could not resolve the preview database host") || msg.includes("Could not resolve the production database host") || msg.includes("could not translate host name") || msg.includes("nodename nor servname provided") || msg.includes("name or service not known"),
106
+ getSuggestions: () => [
107
+ "\u{1F310} Database host resolution issue detected.",
108
+ "",
109
+ "For preview / production targets:",
110
+ " 1. Verify the decrypted DATABASE_URL_ADMIN host is correct",
111
+ " 2. Check DNS resolution to the database host from this environment",
112
+ " 3. Re-run from a network that can reach the target database",
113
+ "",
114
+ "Useful checks:",
115
+ " runa check",
116
+ " nslookup <db-host>"
117
+ ]
118
+ },
102
119
  // Database connection issues
103
120
  {
104
121
  name: "database-connection",
@@ -2,12 +2,12 @@
2
2
  import { createRequire } from 'module';
3
3
  import './chunk-ZZOXM6Q4.js';
4
4
  import { createError } from './chunk-JQXOVCOP.js';
5
- import { tryResolveDatabaseUrl } from './chunk-AKZAN4BC.js';
6
- import './chunk-NPSRD26F.js';
7
- import { loadEnvFiles } from './chunk-644FVGIQ.js';
5
+ import { tryResolveDatabaseUrl } from './chunk-CKRLVEIO.js';
6
+ import './chunk-UHDAYPHH.js';
7
+ import { loadEnvFiles } from './chunk-WPMR7RQ4.js';
8
8
  import { isPathContained } from './chunk-DRSUEMAK.js';
9
9
  import './chunk-II7VYQEM.js';
10
- import './chunk-VM3IWOT5.js';
10
+ import './chunk-QSEF4T3Y.js';
11
11
  import './chunk-JMJP4A47.js';
12
12
  import { init_esm_shims } from './chunk-VRXHCR5K.js';
13
13
  import { Command } from 'commander';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';
3
3
  import { getRequestedCommandNameFromArgv } from './chunk-UWWSAPDR.js';
4
- import { CLI_VERSION } from './chunk-AFY3TX4I.js';
4
+ import { CLI_VERSION } from './chunk-PMXE5XOJ.js';
5
5
  import { init_esm_shims } from './chunk-VRXHCR5K.js';
6
6
  import { realpathSync } from 'fs';
7
7
  import { fileURLToPath } from 'url';
@@ -36,7 +36,7 @@ async function getProgram(options) {
36
36
  };
37
37
  const nextKey = getProgramCacheKey(resolvedOptions);
38
38
  if (!programInstance || programCacheKey !== nextKey) {
39
- const { createProgram } = await import('./cli-UZA4RBNQ.js');
39
+ const { createProgram } = await import('./cli-Q2XIQDRS.js');
40
40
  programInstance = await createProgram(resolvedOptions);
41
41
  programCacheKey = nextKey;
42
42
  }
@@ -60,7 +60,7 @@ async function runCliFromProcessArgv() {
60
60
  return;
61
61
  }
62
62
  const { setupSignalHandlers } = await import('./signal-handler-DO3OANW5.js');
63
- const { executeProgram } = await import('./cli-UZA4RBNQ.js');
63
+ const { executeProgram } = await import('./cli-Q2XIQDRS.js');
64
64
  setupSignalHandlers();
65
65
  const options = getProgramLoadOptions(argv);
66
66
  const program = await getProgram(options);
@@ -68,7 +68,7 @@ async function runCliFromProcessArgv() {
68
68
  }
69
69
  if (isDirectlyExecuted()) {
70
70
  runCliFromProcessArgv().catch(async (error) => {
71
- const { handleCLIError } = await import('./error-handler-HEXBRNVV.js');
71
+ const { handleCLIError } = await import('./error-handler-YRQWRDEF.js');
72
72
  handleCLIError(error);
73
73
  });
74
74
  }
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'module';
3
3
  import { diagnoseInitFailure } from './chunk-AAIE4F2U.js';
4
4
  import { getVercelRootDirectory } from './chunk-MXRWBNIY.js';
5
- import { fetchTemplates } from './chunk-CCW3PLQY.js';
5
+ import { fetchTemplates } from './chunk-Z7A4BEWF.js';
6
6
  import { syncRunaConfigWithVercel } from './chunk-6AALH2ED.js';
7
7
  import './chunk-DRSUEMAK.js';
8
8
  import './chunk-RZLYEO4U.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';
3
- import { DEFAULT_INCLUDE_PATTERNS, DEFAULT_EXCLUDE_PATTERNS, injectTestAttrsAction } from './chunk-Z4Z5DNW4.js';
4
- export { processFiles } from './chunk-Z4Z5DNW4.js';
3
+ import { DEFAULT_INCLUDE_PATTERNS, DEFAULT_EXCLUDE_PATTERNS, injectTestAttrsAction } from './chunk-B3POLMII.js';
4
+ export { processFiles } from './chunk-B3POLMII.js';
5
5
  import './chunk-DRSUEMAK.js';
6
6
  import './chunk-KE6QJBZG.js';
7
7
  import './chunk-WJXC4MVY.js';
@@ -6,6 +6,6 @@
6
6
  * - Keep command handlers thin and consistent.
7
7
  */
8
8
  export { runMachine } from './machine-runner.js';
9
- export { getSnapshotError, getSnapshotStateName, isSnapshotComplete } from './snapshot-helpers.js';
9
+ export { getSnapshotError, getSnapshotStateName, getSnapshotStatePaths, isSnapshotComplete, } from './snapshot-helpers.js';
10
10
  export type { StateE2EMeta } from './types.js';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -18,6 +18,12 @@ type SnapshotWithError = {
18
18
  * Supports flat states ("idle") and compound states ({ setup: "depsInstall" }).
19
19
  */
20
20
  export declare function getSnapshotStateName(snapshot: SnapshotWithValue): string;
21
+ /**
22
+ * Collect all active leaf state paths.
23
+ *
24
+ * Supports parallel states by returning one path per active branch.
25
+ */
26
+ export declare function getSnapshotStatePaths(snapshot: SnapshotWithValue): string[];
21
27
  /**
22
28
  * Check if a snapshot has reached final status.
23
29
  */
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module';
3
- import { DEFAULT_INCLUDE_PATTERNS, DEFAULT_EXCLUDE_PATTERNS, injectTestAttrsAction } from './chunk-Z4Z5DNW4.js';
3
+ import { DEFAULT_INCLUDE_PATTERNS, DEFAULT_EXCLUDE_PATTERNS, injectTestAttrsAction } from './chunk-B3POLMII.js';
4
4
  import './chunk-DRSUEMAK.js';
5
5
  import './chunk-KE6QJBZG.js';
6
6
  import './chunk-WJXC4MVY.js';