@runa-ai/runa-cli 0.5.71 → 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.
Files changed (508) hide show
  1. package/dist/build-BXUJKYHC.js +1730 -0
  2. package/dist/cache-H63JKFYH.js +112 -0
  3. package/dist/check-6AB5NGWK.js +207 -0
  4. package/dist/chunk-22CS6EMA.js +31 -0
  5. package/dist/chunk-3FDQW524.js +544 -0
  6. package/dist/chunk-5NKWR4FF.js +254 -0
  7. package/dist/chunk-6AALH2ED.js +121 -0
  8. package/dist/chunk-6Y3LAUGL.js +35 -0
  9. package/dist/chunk-7QV7U6NI.js +62 -0
  10. package/dist/chunk-AAIE4F2U.js +140 -0
  11. package/dist/chunk-CCKG5R4Y.js +59 -0
  12. package/dist/chunk-CE3DEYFT.js +480 -0
  13. package/dist/chunk-DRSUEMAK.js +123 -0
  14. package/dist/chunk-GOGRLQNP.js +12 -0
  15. package/dist/chunk-HD74F6W2.js +460 -0
  16. package/dist/chunk-HKUWEGUX.js +36 -0
  17. package/dist/chunk-HPYJPB5Y.js +408 -0
  18. package/dist/chunk-IBVVGH6X.js +33 -0
  19. package/dist/chunk-II7VYQEM.js +179 -0
  20. package/dist/chunk-JMJP4A47.js +204 -0
  21. package/dist/chunk-JQXOVCOP.js +574 -0
  22. package/dist/chunk-JT5SUTWE.js +9 -0
  23. package/dist/chunk-KWX3JHCY.js +85 -0
  24. package/dist/chunk-M47WJJVS.js +71 -0
  25. package/dist/chunk-MNPMZERI.js +194 -0
  26. package/dist/chunk-MXRWBNIY.js +74 -0
  27. package/dist/chunk-NPSRD26F.js +149 -0
  28. package/dist/chunk-P7U52PBY.js +1149 -0
  29. package/dist/chunk-QDF7QXBL.js +67 -0
  30. package/dist/chunk-RRGQCUKT.js +48 -0
  31. package/dist/chunk-RZLYEO4U.js +219 -0
  32. package/dist/chunk-TYIAD6SB.js +74 -0
  33. package/dist/chunk-UU55OH7P.js +42 -0
  34. package/dist/chunk-UWWSAPDR.js +31 -0
  35. package/dist/chunk-VM3IWOT5.js +458 -0
  36. package/dist/chunk-VRXHCR5K.js +42 -0
  37. package/dist/chunk-XJBQINSA.js +351 -0
  38. package/dist/chunk-ZZOXM6Q4.js +8 -0
  39. package/dist/ci-V3PIG2GI.js +8322 -0
  40. package/dist/cli/index.d.ts +7 -1
  41. package/dist/cli/requested-command.d.ts +8 -0
  42. package/dist/cli-GFRZCJQR.js +661 -0
  43. package/dist/commands/build/actors/db-sync.d.ts +2 -0
  44. package/dist/commands/build/actors/static-checks.d.ts +7 -6
  45. package/dist/commands/build/contract.d.ts +30 -30
  46. package/dist/commands/build/machine-dry-run.d.ts +3 -0
  47. package/dist/commands/build/machine-e2e-meta.d.ts +120 -0
  48. package/dist/commands/build/machine.d.ts +22 -22
  49. package/dist/commands/build/types.d.ts +2 -4
  50. package/dist/commands/ci/machine/contract.d.ts +26 -26
  51. package/dist/commands/ci/machine/formatters/sections/final-comment.d.ts +1 -5
  52. package/dist/commands/ci/machine/formatters/sections/format-helpers.d.ts +5 -0
  53. package/dist/commands/ci/machine/formatters/sections/index.d.ts +2 -2
  54. package/dist/commands/ci/machine/machine-execution-helpers.d.ts +40 -0
  55. package/dist/commands/ci/machine/machine-state-helpers.d.ts +14 -0
  56. package/dist/commands/ci/machine/machine.d.ts +12 -12
  57. package/dist/commands/ci/machine/types.d.ts +0 -5
  58. package/dist/commands/ci/utils/ci-summary.d.ts +15 -15
  59. package/dist/commands/ci/utils/execa-helpers.d.ts +1 -0
  60. package/dist/commands/db/apply/actors/idempotent-actors.d.ts +34 -0
  61. package/dist/commands/db/apply/actors/lock-actors.d.ts +16 -0
  62. package/dist/commands/db/apply/actors/pg-schema-diff-actors.d.ts +31 -0
  63. package/dist/commands/db/apply/actors/seed-actors.d.ts +11 -0
  64. package/dist/commands/db/apply/actors/shared.d.ts +9 -0
  65. package/dist/commands/db/apply/actors.d.ts +16 -65
  66. package/dist/commands/db/apply/contract.d.ts +8 -1
  67. package/dist/commands/db/apply/helpers/data-compatibility-checker.d.ts +3 -4
  68. package/dist/commands/db/apply/helpers/data-integrity-verifier.d.ts +37 -0
  69. package/dist/commands/db/apply/helpers/fresh-db-handler.d.ts +34 -0
  70. package/dist/commands/db/apply/helpers/hazard-handler.d.ts +60 -0
  71. package/dist/commands/db/apply/helpers/idempotent-object-registry.d.ts +96 -0
  72. package/dist/commands/db/apply/helpers/idempotent-transaction.d.ts +20 -0
  73. package/dist/commands/db/apply/helpers/index.d.ts +7 -1
  74. package/dist/commands/db/apply/helpers/partition-validator.d.ts +2 -15
  75. package/dist/commands/db/apply/helpers/pg-schema-diff-helpers.d.ts +18 -162
  76. package/dist/commands/db/apply/helpers/pg-schema-diff-patterns.d.ts +55 -0
  77. package/dist/commands/db/apply/helpers/pg-schema-diff-version.d.ts +50 -0
  78. package/dist/commands/db/apply/helpers/plan-validator.d.ts +30 -10
  79. package/dist/commands/db/apply/helpers/rbac-password-manager.d.ts +34 -0
  80. package/dist/commands/db/apply/helpers/retry-logic.d.ts +16 -2
  81. package/dist/commands/db/apply/helpers/shadow-db-manager.d.ts +1 -1
  82. package/dist/commands/db/apply/helpers/sql-utils.d.ts +26 -0
  83. package/dist/commands/db/apply/machine.d.ts +52 -1
  84. package/dist/commands/db/commands/db-apply.d.ts +18 -0
  85. package/dist/commands/db/commands/db-sync/boundary-classifier.d.ts +21 -0
  86. package/dist/commands/db/commands/db-sync/plan-hazard-analyzer.d.ts +13 -0
  87. package/dist/commands/db/commands/db-sync/risk-reporter.d.ts +19 -0
  88. package/dist/commands/db/commands/db-sync/sql-parser.d.ts +25 -0
  89. package/dist/commands/db/commands/db-sync/types.d.ts +47 -0
  90. package/dist/commands/db/commands/db-sync.d.ts +14 -0
  91. package/dist/commands/db/sync/contract.d.ts +6 -2
  92. package/dist/commands/db/sync/machine.d.ts +2 -1
  93. package/dist/commands/db/types.d.ts +2 -0
  94. package/dist/commands/db/utils/boundary-policy/rule-compiler.d.ts +11 -0
  95. package/dist/commands/db/utils/boundary-policy/types.d.ts +105 -0
  96. package/dist/commands/db/utils/boundary-policy/validation.d.ts +20 -0
  97. package/dist/commands/db/utils/boundary-policy-runtime.d.ts +28 -0
  98. package/dist/commands/db/utils/boundary-policy.d.ts +5 -0
  99. package/dist/commands/db/utils/idempotent-risk-context.d.ts +29 -0
  100. package/dist/commands/db/utils/preflight-check.d.ts +14 -0
  101. package/dist/commands/db/utils/preflight-checks/domain-naming-checks.d.ts +106 -0
  102. package/dist/commands/db/utils/preflight-checks/orphan-checks.d.ts +36 -0
  103. package/dist/commands/db/utils/preflight-checks/schema-risk-checks.d.ts +22 -0
  104. package/dist/commands/db/utils/preflight-checks/supabase-checks.d.ts +55 -0
  105. package/dist/commands/db/utils/risk-detector-loader.d.ts +8 -0
  106. package/dist/commands/db/utils/schema-precheck-budget.d.ts +17 -0
  107. package/dist/commands/db/utils/sql-boundary-parser.d.ts +12 -0
  108. package/dist/commands/db/utils/sql-file-collector.d.ts +8 -0
  109. package/dist/commands/db/utils/sql-filename-parser.d.ts +20 -0
  110. package/dist/commands/db/utils/sql-table-extractor-ast.d.ts +19 -0
  111. package/dist/commands/db/utils/sql-table-extractor-regex.d.ts +50 -0
  112. package/dist/commands/db/utils/sql-table-extractor-rls.d.ts +13 -0
  113. package/dist/commands/db/utils/sql-table-extractor.d.ts +79 -1
  114. package/dist/commands/db/utils/table-registry-introspection.d.ts +68 -0
  115. package/dist/commands/db/utils/table-registry.d.ts +3 -38
  116. package/dist/commands/dev/actors/app-lifecycle.d.ts +18 -0
  117. package/dist/commands/dev/actors/index.d.ts +7 -2
  118. package/dist/commands/dev/actors/process-check.d.ts +12 -0
  119. package/dist/commands/dev/actors/shared.d.ts +15 -0
  120. package/dist/commands/dev/contract.d.ts +2 -2
  121. package/dist/commands/dev/machine.d.ts +7 -31
  122. package/dist/commands/env/commands/env-pull/auth.d.ts +13 -0
  123. package/dist/commands/env/commands/env-pull/dotenv-files.d.ts +14 -0
  124. package/dist/commands/env/commands/env-pull/security.d.ts +12 -0
  125. package/dist/commands/env/commands/env-pull/service.d.ts +8 -0
  126. package/dist/commands/env/commands/env-pull/shared.d.ts +79 -0
  127. package/dist/commands/env/commands/setup/types.d.ts +1 -1
  128. package/dist/commands/env/constants/local-supabase.d.ts +2 -0
  129. package/dist/commands/template-check/contract.d.ts +6 -6
  130. package/dist/commands/template-check/machine.d.ts +2 -2
  131. package/dist/commands/template-check/types.d.ts +0 -4
  132. package/dist/commands/template-check/utils/diff-analyzer.d.ts +0 -4
  133. package/dist/config/env.d.ts +4 -4
  134. package/dist/config-loader-GT3HAQ7U.js +7 -0
  135. package/dist/db-HR7CREX2.js +15913 -0
  136. package/dist/dev-A7RW6XQV.js +873 -0
  137. package/dist/env-B47Z4747.js +2624 -0
  138. package/dist/env-HMMRSYCI.js +7 -0
  139. package/dist/env-files-K2C7O7L5.js +8 -0
  140. package/dist/error-handler-4EYSDOSE.js +460 -0
  141. package/dist/hotfix-CULKKMGS.js +1477 -0
  142. package/dist/index.d.ts +5 -1
  143. package/dist/index.js +48 -42912
  144. package/dist/init-ELK5QCWR.js +632 -0
  145. package/dist/inject-test-attrs-Y5UD5P7Q.js +36 -0
  146. package/dist/internal/machines/snapshot-helpers.d.ts +6 -0
  147. package/dist/lib/sql-comment-utils.d.ts +25 -0
  148. package/dist/license-OB7GVJQ2.js +468 -0
  149. package/dist/link-C43JRZWY.js +60 -0
  150. package/dist/manifest-2NOQ2IMK.js +32 -0
  151. package/dist/prepare-32DOVHTE.js +250 -0
  152. package/dist/risk-detector-BXUY2WKS.js +6 -0
  153. package/dist/risk-detector-core-O7I7SPR7.js +166 -0
  154. package/dist/risk-detector-plpgsql-SGMVKYJP.js +1856 -0
  155. package/dist/sdk-XK6HQU7S.js +348 -0
  156. package/dist/services-7VK5KZTO.js +177 -0
  157. package/dist/session-SFW5QSXZ.js +142 -0
  158. package/dist/signal-handler-DO3OANW5.js +6 -0
  159. package/dist/status-IJ4ZWHMX.js +95 -0
  160. package/dist/telemetry-FN7V727Y.js +94 -0
  161. package/dist/template-check-PNG5NQ5H.js +1933 -0
  162. package/dist/test-QYXE5UVW.js +626 -0
  163. package/dist/test-gen-QPWOIEHU.js +89 -0
  164. package/dist/ui-RJAMCWUI.js +331 -0
  165. package/dist/upgrade-3SLWVNAC.js +625 -0
  166. package/dist/utils/config-loader.d.ts +0 -3
  167. package/dist/validate-SM4PXPS7.js +55 -0
  168. package/dist/validators/risk-detector-content-risks.d.ts +13 -0
  169. package/dist/validators/risk-detector-core.d.ts +25 -0
  170. package/dist/validators/risk-detector-patterns.d.ts +15 -0
  171. package/dist/validators/risk-detector-plpgsql-expression-resolver.d.ts +22 -0
  172. package/dist/validators/risk-detector-plpgsql-parser.d.ts +5 -0
  173. package/dist/validators/risk-detector-plpgsql-tokenizer.d.ts +18 -0
  174. package/dist/validators/risk-detector-plpgsql.d.ts +9 -0
  175. package/dist/validators/risk-detector-text-utils.d.ts +6 -0
  176. package/dist/validators/risk-detector-types.d.ts +16 -0
  177. package/dist/validators/risk-detector.d.ts +7 -26
  178. package/dist/vuln-check-TYQNEFS7.js +122 -0
  179. package/dist/vuln-checker-2QXGN5YT.js +2950 -0
  180. package/dist/watch-UCDVOQAH.js +911 -0
  181. package/dist/workflow-ZB5Q2PFY.js +898 -0
  182. package/package.json +4 -1
  183. package/dist/cli/contract-mode.d.ts.map +0 -1
  184. package/dist/cli/contract-output.d.ts.map +0 -1
  185. package/dist/cli/early-flags.d.ts.map +0 -1
  186. package/dist/cli/error-handler.d.ts.map +0 -1
  187. package/dist/cli/exec.d.ts.map +0 -1
  188. package/dist/cli/index.d.ts.map +0 -1
  189. package/dist/cli/json-output.d.ts.map +0 -1
  190. package/dist/cli/non-interactive.d.ts.map +0 -1
  191. package/dist/cli/output-format.d.ts.map +0 -1
  192. package/dist/cli/signal-handler.d.ts.map +0 -1
  193. package/dist/commands/build/actors/build.d.ts.map +0 -1
  194. package/dist/commands/build/actors/clean.d.ts.map +0 -1
  195. package/dist/commands/build/actors/db-sync.d.ts.map +0 -1
  196. package/dist/commands/build/actors/index.d.ts.map +0 -1
  197. package/dist/commands/build/actors/manifest.d.ts.map +0 -1
  198. package/dist/commands/build/actors/setup.d.ts.map +0 -1
  199. package/dist/commands/build/actors/static-checks.d.ts.map +0 -1
  200. package/dist/commands/build/actors/validate.d.ts.map +0 -1
  201. package/dist/commands/build/commands/build.d.ts.map +0 -1
  202. package/dist/commands/build/contract.d.ts.map +0 -1
  203. package/dist/commands/build/guards.d.ts.map +0 -1
  204. package/dist/commands/build/index.d.ts.map +0 -1
  205. package/dist/commands/build/machine.d.ts.map +0 -1
  206. package/dist/commands/build/types.d.ts.map +0 -1
  207. package/dist/commands/cache.d.ts.map +0 -1
  208. package/dist/commands/check/commands/check.d.ts.map +0 -1
  209. package/dist/commands/check/index.d.ts.map +0 -1
  210. package/dist/commands/ci/commands/ci-checks.d.ts.map +0 -1
  211. package/dist/commands/ci/commands/ci-layer-content.d.ts.map +0 -1
  212. package/dist/commands/ci/commands/ci-pr-capabilities.d.ts.map +0 -1
  213. package/dist/commands/ci/commands/ci-prod-apply.d.ts.map +0 -1
  214. package/dist/commands/ci/commands/ci-prod-db-operations.d.ts.map +0 -1
  215. package/dist/commands/ci/commands/ci-prod-github.d.ts.map +0 -1
  216. package/dist/commands/ci/commands/ci-prod-types.d.ts.map +0 -1
  217. package/dist/commands/ci/commands/ci-prod-utils.d.ts.map +0 -1
  218. package/dist/commands/ci/commands/ci-prod-workflow.d.ts.map +0 -1
  219. package/dist/commands/ci/commands/ci-resolvers.d.ts.map +0 -1
  220. package/dist/commands/ci/commands/ci-static.d.ts.map +0 -1
  221. package/dist/commands/ci/commands/ci-supabase-local.d.ts.map +0 -1
  222. package/dist/commands/ci/index.d.ts.map +0 -1
  223. package/dist/commands/ci/machine/actors/build/app-build.d.ts.map +0 -1
  224. package/dist/commands/ci/machine/actors/build/app-start.d.ts.map +0 -1
  225. package/dist/commands/ci/machine/actors/build/build-and-playwright.d.ts.map +0 -1
  226. package/dist/commands/ci/machine/actors/build/index.d.ts.map +0 -1
  227. package/dist/commands/ci/machine/actors/build/playwright-install.d.ts.map +0 -1
  228. package/dist/commands/ci/machine/actors/build/static-checks.d.ts.map +0 -1
  229. package/dist/commands/ci/machine/actors/db/apply-seeds.d.ts.map +0 -1
  230. package/dist/commands/ci/machine/actors/db/collect-schema-stats.d.ts.map +0 -1
  231. package/dist/commands/ci/machine/actors/db/index.d.ts.map +0 -1
  232. package/dist/commands/ci/machine/actors/db/pgtap-install.d.ts.map +0 -1
  233. package/dist/commands/ci/machine/actors/db/production-preview.d.ts.map +0 -1
  234. package/dist/commands/ci/machine/actors/db/pull-production.d.ts.map +0 -1
  235. package/dist/commands/ci/machine/actors/db/reset.d.ts.map +0 -1
  236. package/dist/commands/ci/machine/actors/db/schema-stats.d.ts.map +0 -1
  237. package/dist/commands/ci/machine/actors/db/setup-roles.d.ts.map +0 -1
  238. package/dist/commands/ci/machine/actors/db/sync-schema.d.ts.map +0 -1
  239. package/dist/commands/ci/machine/actors/finalize/github.d.ts.map +0 -1
  240. package/dist/commands/ci/machine/actors/finalize/index.d.ts.map +0 -1
  241. package/dist/commands/ci/machine/actors/finalize/summary.d.ts.map +0 -1
  242. package/dist/commands/ci/machine/actors/index.d.ts.map +0 -1
  243. package/dist/commands/ci/machine/actors/setup/index.d.ts.map +0 -1
  244. package/dist/commands/ci/machine/actors/setup/local.d.ts.map +0 -1
  245. package/dist/commands/ci/machine/actors/setup/pr-common.d.ts.map +0 -1
  246. package/dist/commands/ci/machine/actors/setup/pr-local.d.ts.map +0 -1
  247. package/dist/commands/ci/machine/actors/test/capabilities.d.ts.map +0 -1
  248. package/dist/commands/ci/machine/actors/test/index.d.ts.map +0 -1
  249. package/dist/commands/ci/machine/actors/test/run-layers.d.ts.map +0 -1
  250. package/dist/commands/ci/machine/commands/ci-local.d.ts.map +0 -1
  251. package/dist/commands/ci/machine/commands/ci-pr.d.ts.map +0 -1
  252. package/dist/commands/ci/machine/commands/index.d.ts.map +0 -1
  253. package/dist/commands/ci/machine/commands/machine-runner.d.ts.map +0 -1
  254. package/dist/commands/ci/machine/commands/runtime-env.d.ts.map +0 -1
  255. package/dist/commands/ci/machine/contract.d.ts.map +0 -1
  256. package/dist/commands/ci/machine/formatters/github-comment-types.d.ts.map +0 -1
  257. package/dist/commands/ci/machine/formatters/github-comment.d.ts.map +0 -1
  258. package/dist/commands/ci/machine/formatters/index.d.ts.map +0 -1
  259. package/dist/commands/ci/machine/formatters/sections/final-comment.d.ts.map +0 -1
  260. package/dist/commands/ci/machine/formatters/sections/format-helpers.d.ts.map +0 -1
  261. package/dist/commands/ci/machine/formatters/sections/index.d.ts.map +0 -1
  262. package/dist/commands/ci/machine/formatters/sections/progress-comment.d.ts.map +0 -1
  263. package/dist/commands/ci/machine/formatters/sections/schema-matrix.d.ts.map +0 -1
  264. package/dist/commands/ci/machine/formatters/summary.d.ts.map +0 -1
  265. package/dist/commands/ci/machine/guards.d.ts.map +0 -1
  266. package/dist/commands/ci/machine/helpers.d.ts.map +0 -1
  267. package/dist/commands/ci/machine/index.d.ts.map +0 -1
  268. package/dist/commands/ci/machine/machine.d.ts.map +0 -1
  269. package/dist/commands/ci/machine/types.d.ts.map +0 -1
  270. package/dist/commands/ci/utils/ai-report.d.ts.map +0 -1
  271. package/dist/commands/ci/utils/app-process.d.ts.map +0 -1
  272. package/dist/commands/ci/utils/app-runtime.d.ts.map +0 -1
  273. package/dist/commands/ci/utils/ci-config.d.ts.map +0 -1
  274. package/dist/commands/ci/utils/ci-env-schema.d.ts.map +0 -1
  275. package/dist/commands/ci/utils/ci-logging.d.ts.map +0 -1
  276. package/dist/commands/ci/utils/ci-summary.d.ts.map +0 -1
  277. package/dist/commands/ci/utils/config-readers.d.ts.map +0 -1
  278. package/dist/commands/ci/utils/db-url-utils.d.ts.map +0 -1
  279. package/dist/commands/ci/utils/e2e-auth-setup.d.ts.map +0 -1
  280. package/dist/commands/ci/utils/env-security.d.ts.map +0 -1
  281. package/dist/commands/ci/utils/execa-helpers.d.ts.map +0 -1
  282. package/dist/commands/ci/utils/exit-code-computation.d.ts.map +0 -1
  283. package/dist/commands/ci/utils/github-api.d.ts.map +0 -1
  284. package/dist/commands/ci/utils/github.d.ts.map +0 -1
  285. package/dist/commands/ci/utils/index.d.ts.map +0 -1
  286. package/dist/commands/ci/utils/pgtap-installer.d.ts.map +0 -1
  287. package/dist/commands/ci/utils/rls-verification.d.ts.map +0 -1
  288. package/dist/commands/ci/utils/schema-operations.d.ts.map +0 -1
  289. package/dist/commands/ci/utils/seed-operations.d.ts.map +0 -1
  290. package/dist/commands/ci/utils/test-parallel.d.ts.map +0 -1
  291. package/dist/commands/ci/utils/timestamp-invariants.d.ts.map +0 -1
  292. package/dist/commands/ci/utils/workflow-idempotency.d.ts.map +0 -1
  293. package/dist/commands/db/apply/actors.d.ts.map +0 -1
  294. package/dist/commands/db/apply/contract.d.ts.map +0 -1
  295. package/dist/commands/db/apply/helpers/advisory-lock.d.ts.map +0 -1
  296. package/dist/commands/db/apply/helpers/data-compatibility-checker.d.ts.map +0 -1
  297. package/dist/commands/db/apply/helpers/index.d.ts.map +0 -1
  298. package/dist/commands/db/apply/helpers/partition-acl-cleaner.d.ts.map +0 -1
  299. package/dist/commands/db/apply/helpers/partition-prefilter.d.ts.map +0 -1
  300. package/dist/commands/db/apply/helpers/partition-validator.d.ts.map +0 -1
  301. package/dist/commands/db/apply/helpers/pg-schema-diff-helpers.d.ts.map +0 -1
  302. package/dist/commands/db/apply/helpers/plan-validator.d.ts.map +0 -1
  303. package/dist/commands/db/apply/helpers/retry-logic.d.ts.map +0 -1
  304. package/dist/commands/db/apply/helpers/shadow-db-manager.d.ts.map +0 -1
  305. package/dist/commands/db/apply/index.d.ts.map +0 -1
  306. package/dist/commands/db/apply/machine.d.ts.map +0 -1
  307. package/dist/commands/db/commands/db-apply.d.ts.map +0 -1
  308. package/dist/commands/db/commands/db-audit.d.ts.map +0 -1
  309. package/dist/commands/db/commands/db-backup.d.ts.map +0 -1
  310. package/dist/commands/db/commands/db-cleanup.d.ts.map +0 -1
  311. package/dist/commands/db/commands/db-derive-role-passwords.d.ts.map +0 -1
  312. package/dist/commands/db/commands/db-derive-urls.d.ts.map +0 -1
  313. package/dist/commands/db/commands/db-diagram.d.ts.map +0 -1
  314. package/dist/commands/db/commands/db-drizzle.d.ts.map +0 -1
  315. package/dist/commands/db/commands/db-extension.d.ts.map +0 -1
  316. package/dist/commands/db/commands/db-generate-password.d.ts.map +0 -1
  317. package/dist/commands/db/commands/db-lifecycle.d.ts.map +0 -1
  318. package/dist/commands/db/commands/db-rollback.d.ts.map +0 -1
  319. package/dist/commands/db/commands/db-schema.d.ts.map +0 -1
  320. package/dist/commands/db/commands/db-seed-metadata.d.ts.map +0 -1
  321. package/dist/commands/db/commands/db-seed-verify.d.ts.map +0 -1
  322. package/dist/commands/db/commands/db-seed.d.ts.map +0 -1
  323. package/dist/commands/db/commands/db-snapshot.d.ts.map +0 -1
  324. package/dist/commands/db/commands/db-stack.d.ts.map +0 -1
  325. package/dist/commands/db/commands/db-stats.d.ts.map +0 -1
  326. package/dist/commands/db/commands/db-sync.d.ts.map +0 -1
  327. package/dist/commands/db/commands/db-test.d.ts.map +0 -1
  328. package/dist/commands/db/constants.d.ts.map +0 -1
  329. package/dist/commands/db/extension-registry.d.ts.map +0 -1
  330. package/dist/commands/db/index.d.ts.map +0 -1
  331. package/dist/commands/db/preflight/actors.d.ts.map +0 -1
  332. package/dist/commands/db/preflight/contract.d.ts.map +0 -1
  333. package/dist/commands/db/preflight/index.d.ts.map +0 -1
  334. package/dist/commands/db/sync/actors.d.ts.map +0 -1
  335. package/dist/commands/db/sync/contract.d.ts.map +0 -1
  336. package/dist/commands/db/sync/index.d.ts.map +0 -1
  337. package/dist/commands/db/sync/machine.d.ts.map +0 -1
  338. package/dist/commands/db/types.d.ts.map +0 -1
  339. package/dist/commands/db/utils/db-target.d.ts.map +0 -1
  340. package/dist/commands/db/utils/db-url-builder.d.ts.map +0 -1
  341. package/dist/commands/db/utils/error-handlers.d.ts.map +0 -1
  342. package/dist/commands/db/utils/import-impact-analyzer.d.ts.map +0 -1
  343. package/dist/commands/db/utils/preflight-check.d.ts.map +0 -1
  344. package/dist/commands/db/utils/psql.d.ts.map +0 -1
  345. package/dist/commands/db/utils/schema-detector.d.ts.map +0 -1
  346. package/dist/commands/db/utils/schema-sync.d.ts.map +0 -1
  347. package/dist/commands/db/utils/script-runner.d.ts.map +0 -1
  348. package/dist/commands/db/utils/seed-manager.d.ts.map +0 -1
  349. package/dist/commands/db/utils/semantic-mapper.d.ts.map +0 -1
  350. package/dist/commands/db/utils/sql-table-extractor.d.ts.map +0 -1
  351. package/dist/commands/db/utils/stack-detector.d.ts.map +0 -1
  352. package/dist/commands/db/utils/table-registry.d.ts.map +0 -1
  353. package/dist/commands/db/utils/table-source-classifier.d.ts.map +0 -1
  354. package/dist/commands/dev/actors/index.d.ts.map +0 -1
  355. package/dist/commands/dev/commands/dev.d.ts.map +0 -1
  356. package/dist/commands/dev/contract.d.ts.map +0 -1
  357. package/dist/commands/dev/guards.d.ts.map +0 -1
  358. package/dist/commands/dev/helpers/stale-process-detector.d.ts.map +0 -1
  359. package/dist/commands/dev/machine.d.ts.map +0 -1
  360. package/dist/commands/dev/types.d.ts.map +0 -1
  361. package/dist/commands/env/commands/env-check.d.ts.map +0 -1
  362. package/dist/commands/env/commands/env-encrypt.d.ts.map +0 -1
  363. package/dist/commands/env/commands/env-pull.d.ts.map +0 -1
  364. package/dist/commands/env/commands/env-setup.d.ts.map +0 -1
  365. package/dist/commands/env/commands/env-sync.d.ts.map +0 -1
  366. package/dist/commands/env/commands/setup/action.d.ts.map +0 -1
  367. package/dist/commands/env/commands/setup/auth.d.ts.map +0 -1
  368. package/dist/commands/env/commands/setup/file-export.d.ts.map +0 -1
  369. package/dist/commands/env/commands/setup/github-api.d.ts.map +0 -1
  370. package/dist/commands/env/commands/setup/helpers.d.ts.map +0 -1
  371. package/dist/commands/env/commands/setup/index.d.ts.map +0 -1
  372. package/dist/commands/env/commands/setup/parsers.d.ts.map +0 -1
  373. package/dist/commands/env/commands/setup/prompts.d.ts.map +0 -1
  374. package/dist/commands/env/commands/setup/supabase-api.d.ts.map +0 -1
  375. package/dist/commands/env/commands/setup/types.d.ts.map +0 -1
  376. package/dist/commands/env/commands/setup/vercel-api.d.ts.map +0 -1
  377. package/dist/commands/env/constants/local-supabase.d.ts.map +0 -1
  378. package/dist/commands/env/index.d.ts.map +0 -1
  379. package/dist/commands/hotfix/actors.d.ts.map +0 -1
  380. package/dist/commands/hotfix/commands/hotfix-complete.d.ts.map +0 -1
  381. package/dist/commands/hotfix/commands/hotfix-create.d.ts.map +0 -1
  382. package/dist/commands/hotfix/commands/hotfix-deploy.d.ts.map +0 -1
  383. package/dist/commands/hotfix/commands/hotfix-status.d.ts.map +0 -1
  384. package/dist/commands/hotfix/contract.d.ts.map +0 -1
  385. package/dist/commands/hotfix/index.d.ts.map +0 -1
  386. package/dist/commands/hotfix/machine.d.ts.map +0 -1
  387. package/dist/commands/hotfix/metadata.d.ts.map +0 -1
  388. package/dist/commands/hotfix/utils/hotfix-machine-helper.d.ts.map +0 -1
  389. package/dist/commands/init.d.ts.map +0 -1
  390. package/dist/commands/inject-test-attrs/action.d.ts.map +0 -1
  391. package/dist/commands/inject-test-attrs/commands/inject-test-attrs.d.ts.map +0 -1
  392. package/dist/commands/inject-test-attrs/contract.d.ts.map +0 -1
  393. package/dist/commands/inject-test-attrs/detection-diagnostics.d.ts.map +0 -1
  394. package/dist/commands/inject-test-attrs/formatter.d.ts.map +0 -1
  395. package/dist/commands/inject-test-attrs/index.d.ts.map +0 -1
  396. package/dist/commands/inject-test-attrs/manifest-generator.d.ts.map +0 -1
  397. package/dist/commands/inject-test-attrs/processor-utils.d.ts.map +0 -1
  398. package/dist/commands/inject-test-attrs/processor.d.ts.map +0 -1
  399. package/dist/commands/inject-test-attrs/types.d.ts.map +0 -1
  400. package/dist/commands/link.d.ts.map +0 -1
  401. package/dist/commands/manifest/index.d.ts.map +0 -1
  402. package/dist/commands/prepare/commands/prepare.d.ts.map +0 -1
  403. package/dist/commands/prepare/index.d.ts.map +0 -1
  404. package/dist/commands/sdk/commands/publish.d.ts.map +0 -1
  405. package/dist/commands/sdk/index.d.ts.map +0 -1
  406. package/dist/commands/services/index.d.ts.map +0 -1
  407. package/dist/commands/session/index.d.ts.map +0 -1
  408. package/dist/commands/status.d.ts.map +0 -1
  409. package/dist/commands/telemetry.d.ts.map +0 -1
  410. package/dist/commands/template-check/actors/compare.d.ts.map +0 -1
  411. package/dist/commands/template-check/actors/discover.d.ts.map +0 -1
  412. package/dist/commands/template-check/actors/index.d.ts.map +0 -1
  413. package/dist/commands/template-check/actors/report.d.ts.map +0 -1
  414. package/dist/commands/template-check/commands/template-check.d.ts.map +0 -1
  415. package/dist/commands/template-check/config.d.ts.map +0 -1
  416. package/dist/commands/template-check/contract.d.ts.map +0 -1
  417. package/dist/commands/template-check/index.d.ts.map +0 -1
  418. package/dist/commands/template-check/machine.d.ts.map +0 -1
  419. package/dist/commands/template-check/types.d.ts.map +0 -1
  420. package/dist/commands/template-check/utils/diff-analyzer.d.ts.map +0 -1
  421. package/dist/commands/template-check/utils/normalizer.d.ts.map +0 -1
  422. package/dist/commands/template-check/utils/path-mapping.d.ts.map +0 -1
  423. package/dist/commands/test/commands/test-db.d.ts.map +0 -1
  424. package/dist/commands/test/commands/test-e2e.d.ts.map +0 -1
  425. package/dist/commands/test/commands/test-fast.d.ts.map +0 -1
  426. package/dist/commands/test/commands/test-integration.d.ts.map +0 -1
  427. package/dist/commands/test/commands/test-layer.d.ts.map +0 -1
  428. package/dist/commands/test/commands/test-owasp-generate.d.ts.map +0 -1
  429. package/dist/commands/test/commands/test-service.d.ts.map +0 -1
  430. package/dist/commands/test/commands/test-static.d.ts.map +0 -1
  431. package/dist/commands/test/commands/test.d.ts.map +0 -1
  432. package/dist/commands/test/index.d.ts.map +0 -1
  433. package/dist/commands/test-gen.d.ts.map +0 -1
  434. package/dist/commands/ui.d.ts.map +0 -1
  435. package/dist/commands/upgrade.d.ts.map +0 -1
  436. package/dist/commands/validate.d.ts.map +0 -1
  437. package/dist/commands/vuln-check.d.ts.map +0 -1
  438. package/dist/commands/watch.d.ts.map +0 -1
  439. package/dist/commands/workflow/commands/deploy-production.d.ts.map +0 -1
  440. package/dist/commands/workflow/commands/final-status.d.ts.map +0 -1
  441. package/dist/commands/workflow/commands/log.d.ts.map +0 -1
  442. package/dist/commands/workflow/commands/notify.d.ts.map +0 -1
  443. package/dist/commands/workflow/commands/paths.d.ts.map +0 -1
  444. package/dist/commands/workflow/commands/sync.d.ts.map +0 -1
  445. package/dist/commands/workflow/commands/validate.d.ts.map +0 -1
  446. package/dist/commands/workflow/commands/verify-credentials.d.ts.map +0 -1
  447. package/dist/commands/workflow/index.d.ts.map +0 -1
  448. package/dist/commands/workflow/types.d.ts.map +0 -1
  449. package/dist/config/env-files.d.ts.map +0 -1
  450. package/dist/config/env.d.ts.map +0 -1
  451. package/dist/constants/versions.d.ts.map +0 -1
  452. package/dist/contracts/envelope.d.ts.map +0 -1
  453. package/dist/errors/catalog.d.ts.map +0 -1
  454. package/dist/errors/exit-codes.d.ts.map +0 -1
  455. package/dist/errors/index.d.ts.map +0 -1
  456. package/dist/incremental/affected-tests.d.ts.map +0 -1
  457. package/dist/index.d.ts.map +0 -1
  458. package/dist/internal/machines/index.d.ts.map +0 -1
  459. package/dist/internal/machines/machine-runner.d.ts.map +0 -1
  460. package/dist/internal/machines/snapshot-helpers.d.ts.map +0 -1
  461. package/dist/internal/machines/types.d.ts.map +0 -1
  462. package/dist/internal/vuln-checker/analyzers/dependency-analyzer.d.ts.map +0 -1
  463. package/dist/internal/vuln-checker/analyzers/rls-analyzer.d.ts.map +0 -1
  464. package/dist/internal/vuln-checker/analyzers/secret-analyzer.d.ts.map +0 -1
  465. package/dist/internal/vuln-checker/analyzers/typescript-analyzer.d.ts.map +0 -1
  466. package/dist/internal/vuln-checker/config/loader.d.ts.map +0 -1
  467. package/dist/internal/vuln-checker/constants.d.ts.map +0 -1
  468. package/dist/internal/vuln-checker/ignore/matcher.d.ts.map +0 -1
  469. package/dist/internal/vuln-checker/index.d.ts.map +0 -1
  470. package/dist/internal/vuln-checker/reporters/console-reporter.d.ts.map +0 -1
  471. package/dist/internal/vuln-checker/reporters/json-reporter.d.ts.map +0 -1
  472. package/dist/internal/vuln-checker/reporters/markdown-reporter.d.ts.map +0 -1
  473. package/dist/internal/vuln-checker/reporters/sarif-reporter.d.ts.map +0 -1
  474. package/dist/internal/vuln-checker/security/path-validation.d.ts.map +0 -1
  475. package/dist/internal/vuln-checker/types.d.ts.map +0 -1
  476. package/dist/notifiers/desktop-notifier.d.ts.map +0 -1
  477. package/dist/ui/components/db-panel.d.ts.map +0 -1
  478. package/dist/ui/components/status-bar.d.ts.map +0 -1
  479. package/dist/ui/components/test-panel.d.ts.map +0 -1
  480. package/dist/ui/dashboard.d.ts.map +0 -1
  481. package/dist/ui/index.d.ts.map +0 -1
  482. package/dist/utils/config-loader.d.ts.map +0 -1
  483. package/dist/utils/config-updater.d.ts.map +0 -1
  484. package/dist/utils/diagnostics.d.ts.map +0 -1
  485. package/dist/utils/dotenvx.d.ts.map +0 -1
  486. package/dist/utils/env-local-bridge.d.ts.map +0 -1
  487. package/dist/utils/execution-plan.d.ts.map +0 -1
  488. package/dist/utils/github-output-security.d.ts.map +0 -1
  489. package/dist/utils/help-system.d.ts.map +0 -1
  490. package/dist/utils/license/admin-auth.d.ts.map +0 -1
  491. package/dist/utils/license/allowlist-checker.d.ts.map +0 -1
  492. package/dist/utils/license/ci-detector.d.ts.map +0 -1
  493. package/dist/utils/license/index.d.ts.map +0 -1
  494. package/dist/utils/license/owner-resolver.d.ts.map +0 -1
  495. package/dist/utils/license/types.d.ts.map +0 -1
  496. package/dist/utils/license/validate-owner.d.ts.map +0 -1
  497. package/dist/utils/path-security.d.ts.map +0 -1
  498. package/dist/utils/port-allocator.d.ts.map +0 -1
  499. package/dist/utils/secure-exec.d.ts.map +0 -1
  500. package/dist/utils/template-fetcher.d.ts.map +0 -1
  501. package/dist/utils/type-guards.d.ts.map +0 -1
  502. package/dist/utils/vercel-project.d.ts.map +0 -1
  503. package/dist/utils/workspace-detector.d.ts.map +0 -1
  504. package/dist/validators/risk-detector.d.ts.map +0 -1
  505. package/dist/validators/schema-validator.d.ts.map +0 -1
  506. package/dist/version.d.ts.map +0 -1
  507. package/dist/watchers/schema-watcher.d.ts.map +0 -1
  508. package/dist/watchers/test-watcher.d.ts.map +0 -1
@@ -0,0 +1,25 @@
1
+ /**
2
+ * AI HINT: Shared SQL Comment Stripping Utilities
3
+ *
4
+ * Purpose: Canonical implementation of SQL comment/string stripping.
5
+ * Used by: partition-validator, schema-detector, sql-table-extractor, sql-parser
6
+ *
7
+ * Handles:
8
+ * - Line comments (-- ...)
9
+ * - Nested block comments (PostgreSQL supports nested block comments)
10
+ * - Single-quoted strings with escaped quotes ('')
11
+ * - Double-quoted identifiers with escaped quotes ("")
12
+ * - Dollar-quoted strings ($tag$...$tag$)
13
+ * - PostgreSQL E-string literals (E'...' with backslash escapes)
14
+ */
15
+ export declare function stripSqlComments(content: string): string;
16
+ /**
17
+ * Replace content inside dollar-quoted strings with spaces.
18
+ * This prevents false-positive matches inside PL/pgSQL function bodies.
19
+ *
20
+ * Input is already comment-stripped (from stripSqlComments), so we only need to
21
+ * handle dollar-quoted strings — single/double quotes are already handled by the
22
+ * regex (they can't span multi-statement patterns).
23
+ */
24
+ export declare function blankDollarQuotedBodies(content: string): string;
25
+ //# sourceMappingURL=sql-comment-utils.d.ts.map
@@ -0,0 +1,468 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'module';
3
+ import { createError } from './chunk-JQXOVCOP.js';
4
+ import { init_esm_shims } from './chunk-VRXHCR5K.js';
5
+ import { createCLILogger as createCLILogger$1 } from '@runa-ai/runa/cli-runtime';
6
+ import { createCLILogger, CLIError } from '@runa-ai/runa';
7
+ import { execa } from 'execa';
8
+
9
+ createRequire(import.meta.url);
10
+
11
+ // src/utils/license/index.ts
12
+ init_esm_shims();
13
+
14
+ // src/utils/license/allowlist-checker.ts
15
+ init_esm_shims();
16
+ var DEFAULT_ALLOWLIST_API_URL = "https://api.runa.dev/api/license/check";
17
+ var ALLOWED_API_HOSTNAMES = ["api.runa.dev", "localhost", "127.0.0.1"];
18
+ function isPrivateIP(hostname) {
19
+ const privateIPPatterns = [
20
+ /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,
21
+ // 127.0.0.0/8 (loopback)
22
+ /^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,
23
+ // 10.0.0.0/8 (private class A)
24
+ /^172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}$/,
25
+ // 172.16.0.0/12 (private class B)
26
+ /^192\.168\.\d{1,3}\.\d{1,3}$/,
27
+ // 192.168.0.0/16 (private class C)
28
+ /^169\.254\.\d{1,3}\.\d{1,3}$/,
29
+ // 169.254.0.0/16 (link-local, metadata)
30
+ /^0\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
31
+ // 0.0.0.0/8 (current network)
32
+ ];
33
+ const privateIPv6Patterns = [
34
+ /^::1$/,
35
+ // IPv6 loopback
36
+ /^fe80:/i,
37
+ // IPv6 link-local
38
+ /^fc00:/i,
39
+ // IPv6 unique local (part of fd00::/8)
40
+ /^fd[0-9a-f]{2}:/i
41
+ // IPv6 unique local
42
+ ];
43
+ for (const pattern of privateIPPatterns) {
44
+ if (pattern.test(hostname)) {
45
+ return true;
46
+ }
47
+ }
48
+ for (const pattern of privateIPv6Patterns) {
49
+ if (pattern.test(hostname)) {
50
+ return true;
51
+ }
52
+ }
53
+ return false;
54
+ }
55
+ function validateApiUrl(urlString) {
56
+ const logger3 = createCLILogger("allowlist");
57
+ try {
58
+ const url = new URL(urlString);
59
+ const isLocalhost = url.hostname === "localhost" || url.hostname === "127.0.0.1";
60
+ if (url.protocol !== "https:" && !(url.protocol === "http:" && isLocalhost)) {
61
+ logger3.warn(`[allowlist] SECURITY: Rejected URL with non-HTTPS protocol: ${url.protocol}`);
62
+ return null;
63
+ }
64
+ if (isPrivateIP(url.hostname) && !isLocalhost) {
65
+ logger3.warn(`[allowlist] SECURITY: Rejected URL with private IP: ${url.hostname}`);
66
+ return null;
67
+ }
68
+ if (!ALLOWED_API_HOSTNAMES.includes(url.hostname.toLowerCase())) {
69
+ logger3.warn(
70
+ `[allowlist] SECURITY: Custom API hostname '${url.hostname}' is not in the allowed list. Allowed: ${ALLOWED_API_HOSTNAMES.join(", ")}`
71
+ );
72
+ return null;
73
+ }
74
+ return urlString;
75
+ } catch {
76
+ logger3.warn(`[allowlist] SECURITY: Invalid URL format: ${urlString}`);
77
+ return null;
78
+ }
79
+ }
80
+ function getValidatedApiUrl() {
81
+ const customUrl = process.env.RUNA_ALLOWLIST_API_URL;
82
+ if (!customUrl) {
83
+ return DEFAULT_ALLOWLIST_API_URL;
84
+ }
85
+ const validatedUrl = validateApiUrl(customUrl);
86
+ if (validatedUrl) {
87
+ return validatedUrl;
88
+ }
89
+ const logger3 = createCLILogger("allowlist");
90
+ logger3.warn("[allowlist] SECURITY: Falling back to default API URL due to invalid custom URL");
91
+ return DEFAULT_ALLOWLIST_API_URL;
92
+ }
93
+ var ALLOWLIST_API_URL = getValidatedApiUrl();
94
+ var CACHE_TTL_MS = 4 * 60 * 60 * 1e3;
95
+ var LAST_KNOWN_GOOD_TTL_MS = 24 * 60 * 60 * 1e3;
96
+ var API_TIMEOUT_MS = 1e4;
97
+ var logger = createCLILogger("allowlist");
98
+ var cache = /* @__PURE__ */ new Map();
99
+ async function checkAllowlist(owner) {
100
+ const cacheKey = owner.toLowerCase();
101
+ const cached = cache.get(cacheKey);
102
+ if (cached?.confirmed && Date.now() - cached.timestamp < CACHE_TTL_MS) {
103
+ logger.debug(`[allowlist] Cache hit for: ${owner} (allowed: ${cached.allowed})`);
104
+ return cached.allowed;
105
+ }
106
+ const url = `${ALLOWLIST_API_URL}?owner=${encodeURIComponent(owner)}`;
107
+ logger.debug(`[allowlist] Checking API: ${url}`);
108
+ const controller = new AbortController();
109
+ const timeoutId = setTimeout(() => controller.abort(), API_TIMEOUT_MS);
110
+ try {
111
+ const response = await fetch(url, {
112
+ method: "GET",
113
+ headers: {
114
+ Accept: "application/json",
115
+ "User-Agent": "runa-cli"
116
+ },
117
+ signal: controller.signal
118
+ });
119
+ clearTimeout(timeoutId);
120
+ if (!response.ok) {
121
+ throw new Error(`API returned ${response.status}: ${response.statusText}`);
122
+ }
123
+ const data = await response.json();
124
+ logger.debug(`[allowlist] API response: ${JSON.stringify(data)}`);
125
+ cache.set(cacheKey, {
126
+ allowed: data.allowed,
127
+ timestamp: Date.now(),
128
+ confirmed: true
129
+ });
130
+ return data.allowed;
131
+ } catch (error) {
132
+ clearTimeout(timeoutId);
133
+ const errorMessage = error instanceof Error && error.name === "AbortError" ? `API request timed out after ${API_TIMEOUT_MS}ms` : error instanceof Error ? error.message : "Unknown error";
134
+ logger.debug(`[allowlist] API error: ${errorMessage}`);
135
+ if (cached && Date.now() - cached.timestamp < LAST_KNOWN_GOOD_TTL_MS) {
136
+ logger.debug(
137
+ `[allowlist] Using last-known-good for: ${owner} (allowed: ${cached.allowed}, age: ${Math.round((Date.now() - cached.timestamp) / 1e3 / 60)}min)`
138
+ );
139
+ return cached.allowed;
140
+ }
141
+ throw new Error(`Allowlist check failed: ${errorMessage}`);
142
+ }
143
+ }
144
+ function clearAllowlistCache() {
145
+ cache.clear();
146
+ }
147
+ function getAllowlistCacheStats() {
148
+ return {
149
+ size: cache.size,
150
+ entries: Array.from(cache.keys())
151
+ };
152
+ }
153
+
154
+ // src/utils/license/ci-detector.ts
155
+ init_esm_shims();
156
+ var CI_PROVIDERS = {
157
+ // GitHub Actions
158
+ GITHUB_ACTIONS: "github-actions",
159
+ // GitLab CI
160
+ GITLAB_CI: "gitlab-ci",
161
+ // CircleCI
162
+ CIRCLECI: "circleci",
163
+ // Jenkins
164
+ JENKINS_URL: "jenkins",
165
+ // Travis CI
166
+ TRAVIS: "travis-ci",
167
+ // Bitbucket Pipelines
168
+ BITBUCKET_BUILD_NUMBER: "bitbucket-pipelines",
169
+ // Azure Pipelines
170
+ TF_BUILD: "azure-pipelines",
171
+ // AWS CodeBuild
172
+ CODEBUILD_BUILD_ID: "aws-codebuild",
173
+ // Google Cloud Build
174
+ CLOUD_BUILD_PROJECT: "google-cloud-build",
175
+ // Vercel
176
+ VERCEL: "vercel",
177
+ // Netlify
178
+ NETLIFY: "netlify"
179
+ };
180
+ function isCI() {
181
+ if (process.env.CI === "true" || process.env.CI === "1") {
182
+ return true;
183
+ }
184
+ for (const envVar of Object.keys(CI_PROVIDERS)) {
185
+ if (process.env[envVar]) {
186
+ return true;
187
+ }
188
+ }
189
+ return false;
190
+ }
191
+ function detectCIProvider() {
192
+ for (const [envVar, provider] of Object.entries(CI_PROVIDERS)) {
193
+ if (process.env[envVar]) {
194
+ return provider;
195
+ }
196
+ }
197
+ if (process.env.CI === "true" || process.env.CI === "1") {
198
+ return "generic-ci";
199
+ }
200
+ return void 0;
201
+ }
202
+ function detectCI() {
203
+ const provider = detectCIProvider();
204
+ return {
205
+ isCI: provider !== void 0,
206
+ provider
207
+ };
208
+ }
209
+
210
+ // src/utils/license/owner-resolver.ts
211
+ init_esm_shims();
212
+ function parseGitRemoteUrl(url) {
213
+ const sshMatch = url.match(/git@github\.com:([^/]+)\/([^/]+?)(?:\.git)?$/);
214
+ if (sshMatch?.[1] && sshMatch[2]) {
215
+ return { owner: sshMatch[1], repo: sshMatch[2] };
216
+ }
217
+ const httpsMatch = url.match(/https?:\/\/github\.com\/([^/]+)\/([^/]+?)(?:\.git)?$/);
218
+ if (httpsMatch?.[1] && httpsMatch[2]) {
219
+ return { owner: httpsMatch[1], repo: httpsMatch[2] };
220
+ }
221
+ const gitlabSshMatch = url.match(/git@gitlab\.com:([^/]+)\/([^/]+?)(?:\.git)?$/);
222
+ if (gitlabSshMatch?.[1] && gitlabSshMatch[2]) {
223
+ return { owner: gitlabSshMatch[1], repo: gitlabSshMatch[2] };
224
+ }
225
+ const gitlabHttpsMatch = url.match(/https?:\/\/gitlab\.com\/([^/]+)\/([^/]+?)(?:\.git)?$/);
226
+ if (gitlabHttpsMatch?.[1] && gitlabHttpsMatch[2]) {
227
+ return { owner: gitlabHttpsMatch[1], repo: gitlabHttpsMatch[2] };
228
+ }
229
+ return null;
230
+ }
231
+ function resolveFromGitHubActions() {
232
+ const githubRepo = process.env.GITHUB_REPOSITORY;
233
+ if (!githubRepo) return null;
234
+ if (process.env.GITHUB_ACTIONS !== "true") {
235
+ return null;
236
+ }
237
+ const [owner, repo] = githubRepo.split("/");
238
+ if (!owner) return null;
239
+ return { owner, repo, source: "github-env" };
240
+ }
241
+ function resolveFromGitLabCI() {
242
+ const projectPath = process.env.CI_PROJECT_PATH;
243
+ if (!projectPath) return null;
244
+ if (process.env.GITLAB_CI !== "true") {
245
+ return null;
246
+ }
247
+ const [owner, ...repoParts] = projectPath.split("/");
248
+ if (!owner) return null;
249
+ return {
250
+ owner,
251
+ repo: repoParts.join("/") || void 0,
252
+ source: "gitlab-env"
253
+ };
254
+ }
255
+ function resolveFromCircleCI() {
256
+ const owner = process.env.CIRCLE_PROJECT_USERNAME;
257
+ const repo = process.env.CIRCLE_PROJECT_REPONAME;
258
+ if (!owner) return null;
259
+ if (process.env.CIRCLECI !== "true") {
260
+ return null;
261
+ }
262
+ return { owner, repo: repo || void 0, source: "circleci-env" };
263
+ }
264
+ async function resolveFromGitRemote() {
265
+ try {
266
+ const { stdout } = await execa("git", ["remote", "get-url", "origin"], {
267
+ timeout: 5e3
268
+ });
269
+ const result = parseGitRemoteUrl(stdout.trim());
270
+ if (!result) return null;
271
+ return { owner: result.owner, repo: result.repo, source: "git-remote" };
272
+ } catch {
273
+ return null;
274
+ }
275
+ }
276
+ async function resolveGitHubOwner() {
277
+ const gitRemoteResult = await resolveFromGitRemote();
278
+ if (gitRemoteResult) return gitRemoteResult;
279
+ const githubResult = resolveFromGitHubActions();
280
+ if (githubResult) return githubResult;
281
+ const gitlabResult = resolveFromGitLabCI();
282
+ if (gitlabResult) return gitlabResult;
283
+ const circleciResult = resolveFromCircleCI();
284
+ if (circleciResult) return circleciResult;
285
+ return null;
286
+ }
287
+
288
+ // src/utils/license/validate-owner.ts
289
+ init_esm_shims();
290
+ var GITHUB_OWNER_PATTERN = /^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$/;
291
+ var MAX_OWNER_LENGTH = 100;
292
+ function validateOwner(owner) {
293
+ if (!owner || owner.length < 1 || owner.length > MAX_OWNER_LENGTH) {
294
+ throw new CLIError(
295
+ `Invalid owner format: must be 1-${MAX_OWNER_LENGTH} characters`,
296
+ "INVALID_OWNER_FORMAT",
297
+ ["Provide a valid GitHub organization or user name"]
298
+ );
299
+ }
300
+ if (!GITHUB_OWNER_PATTERN.test(owner)) {
301
+ throw new CLIError(`Invalid owner format: "${owner}"`, "INVALID_OWNER_FORMAT", [
302
+ "GitHub usernames must be alphanumeric with optional hyphens",
303
+ "Cannot start or end with a hyphen",
304
+ "Example: acme-corp, myorg, user123"
305
+ ]);
306
+ }
307
+ }
308
+ function isValidOwner(owner) {
309
+ if (!owner || owner.length < 1 || owner.length > MAX_OWNER_LENGTH) {
310
+ return false;
311
+ }
312
+ return GITHUB_OWNER_PATTERN.test(owner);
313
+ }
314
+
315
+ // src/utils/license/admin-auth.ts
316
+ init_esm_shims();
317
+ var ADMIN_ORG = "r06-dev";
318
+ var cachedAdminUser = null;
319
+ async function getAuthenticatedUser() {
320
+ try {
321
+ const result = await execa("gh", ["api", "user", "--jq", ".login"], {
322
+ stdio: "pipe",
323
+ reject: false
324
+ });
325
+ if (result.exitCode === 0 && result.stdout.trim()) {
326
+ return result.stdout.trim();
327
+ }
328
+ return null;
329
+ } catch {
330
+ return null;
331
+ }
332
+ }
333
+ async function isOrgMember(username) {
334
+ try {
335
+ const result = await execa("gh", ["api", `orgs/${ADMIN_ORG}/members/${username}`, "--silent"], {
336
+ stdio: "pipe",
337
+ reject: false
338
+ });
339
+ if (result.exitCode === 0) {
340
+ return true;
341
+ }
342
+ const publicResult = await execa(
343
+ "gh",
344
+ ["api", `orgs/${ADMIN_ORG}/public_members/${username}`, "--silent"],
345
+ {
346
+ stdio: "pipe",
347
+ reject: false
348
+ }
349
+ );
350
+ return publicResult.exitCode === 0;
351
+ } catch {
352
+ return false;
353
+ }
354
+ }
355
+ async function getGitHubUserEmail() {
356
+ try {
357
+ const result = await execa("gh", ["api", "user", "--jq", ".email"], {
358
+ stdio: "pipe",
359
+ reject: false
360
+ });
361
+ if (result.exitCode === 0 && result.stdout.trim()) {
362
+ return result.stdout.trim();
363
+ }
364
+ const gitResult = await execa("git", ["config", "user.email"], {
365
+ stdio: "pipe",
366
+ reject: false
367
+ });
368
+ if (gitResult.exitCode === 0 && gitResult.stdout.trim()) {
369
+ return gitResult.stdout.trim();
370
+ }
371
+ return void 0;
372
+ } catch {
373
+ return void 0;
374
+ }
375
+ }
376
+ async function verifyAdminAuth() {
377
+ if (cachedAdminUser) {
378
+ return cachedAdminUser;
379
+ }
380
+ try {
381
+ const authResult = await execa("gh", ["auth", "status"], {
382
+ stdio: "pipe",
383
+ reject: false
384
+ });
385
+ if (authResult.exitCode !== 0) {
386
+ throw new CLIError("GitHub CLI not authenticated", "ADMIN_AUTH_REQUIRED", [
387
+ "Admin operations require GitHub CLI authentication",
388
+ "Run: gh auth login"
389
+ ]);
390
+ }
391
+ } catch (error) {
392
+ if (error instanceof CLIError) throw error;
393
+ throw new CLIError("GitHub CLI not found", "GH_CLI_NOT_FOUND", [
394
+ "Admin operations require GitHub CLI (gh)",
395
+ "Install: brew install gh (macOS) or see https://cli.github.com/"
396
+ ]);
397
+ }
398
+ const username = await getAuthenticatedUser();
399
+ if (!username) {
400
+ throw new CLIError("Could not determine authenticated user", "ADMIN_AUTH_REQUIRED", [
401
+ "Ensure GitHub CLI is properly configured",
402
+ "Run: gh auth login"
403
+ ]);
404
+ }
405
+ const isMember = await isOrgMember(username);
406
+ if (!isMember) {
407
+ throw new CLIError(
408
+ `User "${username}" is not authorized for admin operations`,
409
+ "ADMIN_NOT_AUTHORIZED",
410
+ [
411
+ `Admin operations require membership in the "${ADMIN_ORG}" organization`,
412
+ "Contact organization admin if you need access"
413
+ ]
414
+ );
415
+ }
416
+ cachedAdminUser = username;
417
+ return username;
418
+ }
419
+ function clearAdminAuthCache() {
420
+ cachedAdminUser = null;
421
+ }
422
+
423
+ // src/utils/license/index.ts
424
+ var TRUSTED_ORG = "r06-dev";
425
+ var logger2 = createCLILogger$1("license");
426
+ function isTrustedOrg(owner) {
427
+ return owner.toLowerCase() === TRUSTED_ORG.toLowerCase();
428
+ }
429
+ async function checkLicense() {
430
+ if (process.env.RUNA_SKIP_LICENSE_CHECK === "1") {
431
+ if (isCI()) {
432
+ logger2.warn("[license] RUNA_SKIP_LICENSE_CHECK is ignored in CI environments");
433
+ } else {
434
+ return { allowed: true, reason: "skip-flag" };
435
+ }
436
+ }
437
+ if (!isCI()) {
438
+ return { allowed: true, reason: "not-ci" };
439
+ }
440
+ const result = await resolveGitHubOwner();
441
+ if (!result?.owner) {
442
+ logger2.warn("[license] Could not determine repository owner, denying access");
443
+ return { allowed: false, reason: "owner-resolution-failed" };
444
+ }
445
+ const owner = result.owner;
446
+ if (isTrustedOrg(owner)) {
447
+ return { allowed: true, reason: "trusted-org", owner };
448
+ }
449
+ logger2.debug(`[license] External org detected: ${owner}`);
450
+ try {
451
+ const isAllowed = await checkAllowlist(owner);
452
+ if (isAllowed) {
453
+ return { allowed: true, reason: "allowlist", owner };
454
+ }
455
+ return { allowed: false, reason: "not-found", owner };
456
+ } catch (error) {
457
+ logger2.debug(`[license] Allowlist check failed with no fallback: ${error}`);
458
+ return { allowed: false, reason: "error", owner };
459
+ }
460
+ }
461
+ async function enforceLicenseInCI() {
462
+ const result = await checkLicense();
463
+ if (!result.allowed) {
464
+ throw createError("LICENSE_UNAUTHORIZED", { owner: result.owner ?? "unknown" });
465
+ }
466
+ }
467
+
468
+ export { checkAllowlist, checkLicense, clearAdminAuthCache, clearAllowlistCache, detectCI, detectCIProvider, enforceLicenseInCI, getAllowlistCacheStats, getGitHubUserEmail, isCI, isValidOwner, resolveGitHubOwner, validateOwner, verifyAdminAuth };
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'module';
3
+ import { emitJsonSuccess } from './chunk-UU55OH7P.js';
4
+ import './chunk-RRGQCUKT.js';
5
+ import './chunk-JT5SUTWE.js';
6
+ import './chunk-HKUWEGUX.js';
7
+ import { init_esm_shims } from './chunk-VRXHCR5K.js';
8
+ import { createCLILogger, CLIError } from '@runa-ai/runa/cli-runtime';
9
+ import { linkCliGlobally, LinkCliOutputSchema, unlinkCliGlobally, UnlinkCliOutputSchema } from '@runa-ai/runa/link';
10
+ import { Command } from 'commander';
11
+
12
+ createRequire(import.meta.url);
13
+
14
+ // src/commands/link.ts
15
+ init_esm_shims();
16
+ var linkCommand = new Command("link").description("Link runa CLI globally (enables `runa` command everywhere)").action(async () => {
17
+ const logger = createCLILogger("link");
18
+ logger.section("Global CLI Linking");
19
+ try {
20
+ const result = await linkCliGlobally({ targetDir: process.cwd() });
21
+ if (process.env.RUNA_OUTPUT_FORMAT !== "json") {
22
+ logger.info(result.isRunaRepo ? "Detected: runa-repo (development)" : "Detected: pj-repo");
23
+ logger.success("runa CLI linked successfully");
24
+ logger.info("To unlink: runa unlink");
25
+ }
26
+ emitJsonSuccess(linkCommand, LinkCliOutputSchema, result);
27
+ } catch (error) {
28
+ throw new CLIError(
29
+ `Failed to link runa CLI: ${error instanceof Error ? error.message : "Unknown error"}`,
30
+ "LINK_FAILED",
31
+ [
32
+ "Manual linking:",
33
+ " 1. cd packages/cli (or node_modules/@runa-ai/runa-cli)",
34
+ " 2. pnpm link --global"
35
+ ],
36
+ error instanceof Error ? error : void 0
37
+ );
38
+ }
39
+ });
40
+ var unlinkCommand = new Command("unlink").description("Unlink runa CLI globally (removes `runa` command)").action(async () => {
41
+ const logger = createCLILogger("unlink");
42
+ logger.section("Global CLI Unlinking");
43
+ try {
44
+ const result = await unlinkCliGlobally();
45
+ if (process.env.RUNA_OUTPUT_FORMAT !== "json") {
46
+ logger.success("runa CLI unlinked successfully");
47
+ logger.info("To re-link: runa link");
48
+ }
49
+ emitJsonSuccess(unlinkCommand, UnlinkCliOutputSchema, result);
50
+ } catch (error) {
51
+ throw new CLIError(
52
+ `Failed to unlink runa CLI: ${error instanceof Error ? error.message : "Unknown error"}`,
53
+ "UNLINK_FAILED",
54
+ ["Check pnpm installation", "Try: pnpm unlink --global @runa-ai/runa-cli"],
55
+ error instanceof Error ? error : void 0
56
+ );
57
+ }
58
+ });
59
+
60
+ export { linkCommand, unlinkCommand };
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'module';
3
+ import { injectTestAttrsAction } from './chunk-P7U52PBY.js';
4
+ import './chunk-DRSUEMAK.js';
5
+ import './chunk-UU55OH7P.js';
6
+ import './chunk-RRGQCUKT.js';
7
+ import './chunk-JT5SUTWE.js';
8
+ import './chunk-HKUWEGUX.js';
9
+ import { init_esm_shims } from './chunk-VRXHCR5K.js';
10
+ import { Command } from 'commander';
11
+
12
+ createRequire(import.meta.url);
13
+
14
+ // src/commands/manifest/index.ts
15
+ init_esm_shims();
16
+ var manifestCommand = new Command("manifest").description("Generate E2E manifest (manifest.json) - alias for inject-test-attrs").option("--check", "Check if manifest needs regeneration (CI mode)").option("--force", "Force regeneration even if up-to-date").option("--verbose", "Show detailed output").option("--include <patterns...>", "Glob patterns to include", [
17
+ "apps/**/*.tsx",
18
+ "apps/**/*.ts",
19
+ "packages/**/*.tsx",
20
+ "packages/**/*.ts"
21
+ ]).option("--exclude <patterns...>", "Glob patterns to exclude", [
22
+ "**/node_modules/**",
23
+ "**/.next/**",
24
+ "**/dist/**",
25
+ "**/*.test.*",
26
+ "**/*.spec.*",
27
+ "**/*.stories.*"
28
+ ]).option("--no-manifest", "Skip manifest file generation (attributes only)").option("--manifest-dir <dir>", "Output directory for manifest files", ".runa").option("--strict-detect", "Fail when fallback machine detection is used (for deterministic CI)").action(async (options) => {
29
+ await injectTestAttrsAction(options, manifestCommand);
30
+ });
31
+
32
+ export { manifestCommand };