@deftai/directive-core 0.55.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 (861) hide show
  1. package/dist/architecture/sor-preflight.d.ts +66 -0
  2. package/dist/architecture/sor-preflight.js +903 -0
  3. package/dist/branch/evaluate.d.ts +23 -0
  4. package/dist/branch/evaluate.js +136 -0
  5. package/dist/branch/git.d.ts +15 -0
  6. package/dist/branch/git.js +42 -0
  7. package/dist/branch/index.d.ts +3 -0
  8. package/dist/branch/index.js +3 -0
  9. package/dist/cache/cli.d.ts +3 -0
  10. package/dist/cache/cli.js +8 -0
  11. package/dist/cache/constants.d.ts +12 -0
  12. package/dist/cache/constants.js +14 -0
  13. package/dist/cache/errors.d.ts +34 -0
  14. package/dist/cache/errors.js +52 -0
  15. package/dist/cache/fetch.d.ts +101 -0
  16. package/dist/cache/fetch.js +413 -0
  17. package/dist/cache/index.d.ts +14 -0
  18. package/dist/cache/index.js +14 -0
  19. package/dist/cache/io.d.ts +15 -0
  20. package/dist/cache/io.js +53 -0
  21. package/dist/cache/json.d.ts +11 -0
  22. package/dist/cache/json.js +32 -0
  23. package/dist/cache/main.d.ts +3 -0
  24. package/dist/cache/main.js +319 -0
  25. package/dist/cache/operations.d.ts +34 -0
  26. package/dist/cache/operations.js +348 -0
  27. package/dist/cache/paths.d.ts +7 -0
  28. package/dist/cache/paths.js +27 -0
  29. package/dist/cache/quota.d.ts +56 -0
  30. package/dist/cache/quota.js +191 -0
  31. package/dist/cache/scanner.d.ts +28 -0
  32. package/dist/cache/scanner.js +362 -0
  33. package/dist/cache/test-helpers.d.ts +10 -0
  34. package/dist/cache/test-helpers.js +17 -0
  35. package/dist/cache/time.d.ts +9 -0
  36. package/dist/cache/time.js +20 -0
  37. package/dist/cache/types.d.ts +50 -0
  38. package/dist/cache/types.js +2 -0
  39. package/dist/cache/validate.d.ts +3 -0
  40. package/dist/cache/validate.js +118 -0
  41. package/dist/capacity/backfill.d.ts +52 -0
  42. package/dist/capacity/backfill.js +429 -0
  43. package/dist/capacity/index.d.ts +3 -0
  44. package/dist/capacity/index.js +3 -0
  45. package/dist/capacity/show.d.ts +73 -0
  46. package/dist/capacity/show.js +387 -0
  47. package/dist/check/index.d.ts +3 -0
  48. package/dist/check/index.js +2 -0
  49. package/dist/check/orchestrator.d.ts +51 -0
  50. package/dist/check/orchestrator.js +71 -0
  51. package/dist/codebase/constants.d.ts +2 -0
  52. package/dist/codebase/constants.js +2 -0
  53. package/dist/codebase/default-extractor.d.ts +28 -0
  54. package/dist/codebase/default-extractor.js +713 -0
  55. package/dist/codebase/index.d.ts +8 -0
  56. package/dist/codebase/index.js +8 -0
  57. package/dist/codebase/json.d.ts +14 -0
  58. package/dist/codebase/json.js +45 -0
  59. package/dist/codebase/map-fresh.d.ts +11 -0
  60. package/dist/codebase/map-fresh.js +125 -0
  61. package/dist/codebase/map.d.ts +19 -0
  62. package/dist/codebase/map.js +345 -0
  63. package/dist/codebase/projection-registry.d.ts +25 -0
  64. package/dist/codebase/projection-registry.js +93 -0
  65. package/dist/codebase/provider.d.ts +30 -0
  66. package/dist/codebase/provider.js +696 -0
  67. package/dist/content-contracts/skills/greptile-detector.d.ts +56 -0
  68. package/dist/content-contracts/skills/greptile-detector.js +368 -0
  69. package/dist/content-contracts/skills/helpers.d.ts +24 -0
  70. package/dist/content-contracts/skills/helpers.js +73 -0
  71. package/dist/content-contracts/skills/skill-frontmatter.d.ts +7 -0
  72. package/dist/content-contracts/skills/skill-frontmatter.js +65 -0
  73. package/dist/content-contracts/standards/_helpers.d.ts +49 -0
  74. package/dist/content-contracts/standards/_helpers.js +227 -0
  75. package/dist/content-contracts/standards/_shapes.d.ts +12 -0
  76. package/dist/content-contracts/standards/_shapes.js +45 -0
  77. package/dist/content-contracts/standards/_taskfile-helpers.d.ts +12 -0
  78. package/dist/content-contracts/standards/_taskfile-helpers.js +61 -0
  79. package/dist/content-root.d.ts +47 -0
  80. package/dist/content-root.js +89 -0
  81. package/dist/doctor/agents-md.d.ts +14 -0
  82. package/dist/doctor/agents-md.js +263 -0
  83. package/dist/doctor/checks.d.ts +16 -0
  84. package/dist/doctor/checks.js +351 -0
  85. package/dist/doctor/cli.d.ts +2 -0
  86. package/dist/doctor/cli.js +7 -0
  87. package/dist/doctor/constants.d.ts +15 -0
  88. package/dist/doctor/constants.js +40 -0
  89. package/dist/doctor/doctor-state.d.ts +16 -0
  90. package/dist/doctor/doctor-state.js +117 -0
  91. package/dist/doctor/flags.d.ts +5 -0
  92. package/dist/doctor/flags.js +63 -0
  93. package/dist/doctor/index.d.ts +14 -0
  94. package/dist/doctor/index.js +14 -0
  95. package/dist/doctor/json.d.ts +3 -0
  96. package/dist/doctor/json.js +21 -0
  97. package/dist/doctor/main.d.ts +3 -0
  98. package/dist/doctor/main.js +387 -0
  99. package/dist/doctor/manifest.d.ts +11 -0
  100. package/dist/doctor/manifest.js +114 -0
  101. package/dist/doctor/output.d.ts +19 -0
  102. package/dist/doctor/output.js +49 -0
  103. package/dist/doctor/paths.d.ts +16 -0
  104. package/dist/doctor/paths.js +106 -0
  105. package/dist/doctor/payload-staleness.d.ts +13 -0
  106. package/dist/doctor/payload-staleness.js +165 -0
  107. package/dist/doctor/taskfile.d.ts +6 -0
  108. package/dist/doctor/taskfile.js +65 -0
  109. package/dist/doctor/types.d.ts +76 -0
  110. package/dist/doctor/types.js +4 -0
  111. package/dist/doctor/which.d.ts +3 -0
  112. package/dist/doctor/which.js +17 -0
  113. package/dist/encoding/evaluate.d.ts +19 -0
  114. package/dist/encoding/evaluate.js +155 -0
  115. package/dist/encoding/git.d.ts +11 -0
  116. package/dist/encoding/git.js +36 -0
  117. package/dist/encoding/index.d.ts +6 -0
  118. package/dist/encoding/index.js +6 -0
  119. package/dist/encoding/patterns.d.ts +29 -0
  120. package/dist/encoding/patterns.js +109 -0
  121. package/dist/encoding/scan.d.ts +24 -0
  122. package/dist/encoding/scan.js +182 -0
  123. package/dist/encoding/text.d.ts +21 -0
  124. package/dist/encoding/text.js +111 -0
  125. package/dist/index.d.ts +54 -0
  126. package/dist/index.js +55 -0
  127. package/dist/intake/candidates-log.d.ts +20 -0
  128. package/dist/intake/candidates-log.js +224 -0
  129. package/dist/intake/github-auth-modes-cli.d.ts +3 -0
  130. package/dist/intake/github-auth-modes-cli.js +23 -0
  131. package/dist/intake/github-auth-modes.d.ts +54 -0
  132. package/dist/intake/github-auth-modes.js +275 -0
  133. package/dist/intake/github-body-cli.d.ts +3 -0
  134. package/dist/intake/github-body-cli.js +30 -0
  135. package/dist/intake/github-body.d.ts +48 -0
  136. package/dist/intake/github-body.js +151 -0
  137. package/dist/intake/index.d.ts +15 -0
  138. package/dist/intake/index.js +15 -0
  139. package/dist/intake/issue-emit-cli.d.ts +3 -0
  140. package/dist/intake/issue-emit-cli.js +34 -0
  141. package/dist/intake/issue-emit.d.ts +63 -0
  142. package/dist/intake/issue-emit.js +351 -0
  143. package/dist/intake/issue-ingest-cli.d.ts +3 -0
  144. package/dist/intake/issue-ingest-cli.js +33 -0
  145. package/dist/intake/issue-ingest.d.ts +53 -0
  146. package/dist/intake/issue-ingest.js +477 -0
  147. package/dist/intake/markdown-scanners.d.ts +23 -0
  148. package/dist/intake/markdown-scanners.js +247 -0
  149. package/dist/intake/parity-scenarios.d.ts +22 -0
  150. package/dist/intake/parity-scenarios.js +32 -0
  151. package/dist/intake/platform-capabilities.d.ts +11 -0
  152. package/dist/intake/platform-capabilities.js +34 -0
  153. package/dist/intake/reconcile-issues-cli.d.ts +3 -0
  154. package/dist/intake/reconcile-issues-cli.js +31 -0
  155. package/dist/intake/reconcile-issues.d.ts +60 -0
  156. package/dist/intake/reconcile-issues.js +756 -0
  157. package/dist/integration-e2e/bootstrap-cache-module.d.ts +5 -0
  158. package/dist/integration-e2e/bootstrap-cache-module.js +21 -0
  159. package/dist/integration-e2e/helpers.d.ts +28 -0
  160. package/dist/integration-e2e/helpers.js +157 -0
  161. package/dist/lifecycle/event-detect.d.ts +32 -0
  162. package/dist/lifecycle/event-detect.js +172 -0
  163. package/dist/lifecycle/events.d.ts +45 -0
  164. package/dist/lifecycle/events.js +340 -0
  165. package/dist/lifecycle/index.d.ts +4 -0
  166. package/dist/lifecycle/index.js +4 -0
  167. package/dist/lifecycle/lifecycle-hygiene.d.ts +59 -0
  168. package/dist/lifecycle/lifecycle-hygiene.js +388 -0
  169. package/dist/orchestration/index.d.ts +7 -0
  170. package/dist/orchestration/index.js +7 -0
  171. package/dist/orchestration/judgment-policy.d.ts +23 -0
  172. package/dist/orchestration/judgment-policy.js +228 -0
  173. package/dist/orchestration/pathspec.d.ts +11 -0
  174. package/dist/orchestration/pathspec.js +95 -0
  175. package/dist/orchestration/probe-session.d.ts +74 -0
  176. package/dist/orchestration/probe-session.js +478 -0
  177. package/dist/orchestration/subagent-monitor.d.ts +64 -0
  178. package/dist/orchestration/subagent-monitor.js +405 -0
  179. package/dist/orchestration/verify-investigation.d.ts +27 -0
  180. package/dist/orchestration/verify-investigation.js +314 -0
  181. package/dist/orchestration/verify-judgment-gates.d.ts +66 -0
  182. package/dist/orchestration/verify-judgment-gates.js +710 -0
  183. package/dist/packs/index.d.ts +4 -0
  184. package/dist/packs/index.js +4 -0
  185. package/dist/packs/pack-render.d.ts +31 -0
  186. package/dist/packs/pack-render.js +357 -0
  187. package/dist/packs/packs-slice.d.ts +58 -0
  188. package/dist/packs/packs-slice.js +649 -0
  189. package/dist/packs/quarantine-ext.d.ts +7 -0
  190. package/dist/packs/quarantine-ext.js +164 -0
  191. package/dist/platform/agents-md.d.ts +31 -0
  192. package/dist/platform/agents-md.js +320 -0
  193. package/dist/platform/changelog-cli.d.ts +3 -0
  194. package/dist/platform/changelog-cli.js +64 -0
  195. package/dist/platform/constants.d.ts +20 -0
  196. package/dist/platform/constants.js +27 -0
  197. package/dist/platform/index.d.ts +9 -0
  198. package/dist/platform/index.js +9 -0
  199. package/dist/platform/ip-risk.d.ts +10 -0
  200. package/dist/platform/ip-risk.js +235 -0
  201. package/dist/platform/linear-scan.d.ts +36 -0
  202. package/dist/platform/linear-scan.js +174 -0
  203. package/dist/platform/platform-capabilities.d.ts +45 -0
  204. package/dist/platform/platform-capabilities.js +190 -0
  205. package/dist/platform/resolve-changelog-unreleased.d.ts +24 -0
  206. package/dist/platform/resolve-changelog-unreleased.js +364 -0
  207. package/dist/platform/resolve-version.d.ts +22 -0
  208. package/dist/platform/resolve-version.js +303 -0
  209. package/dist/platform/slug-normalize.d.ts +9 -0
  210. package/dist/platform/slug-normalize.js +110 -0
  211. package/dist/policy/autonomy.d.ts +43 -0
  212. package/dist/policy/autonomy.js +220 -0
  213. package/dist/policy/capacity.d.ts +45 -0
  214. package/dist/policy/capacity.js +251 -0
  215. package/dist/policy/decisions.d.ts +26 -0
  216. package/dist/policy/decisions.js +114 -0
  217. package/dist/policy/disclosure.d.ts +4 -0
  218. package/dist/policy/disclosure.js +19 -0
  219. package/dist/policy/index.d.ts +43 -0
  220. package/dist/policy/index.js +298 -0
  221. package/dist/policy/resolve.d.ts +38 -0
  222. package/dist/policy/resolve.js +228 -0
  223. package/dist/policy/wip.d.ts +15 -0
  224. package/dist/policy/wip.js +81 -0
  225. package/dist/pr-closing-keywords/constants.d.ts +6 -0
  226. package/dist/pr-closing-keywords/constants.js +6 -0
  227. package/dist/pr-closing-keywords/detect.d.ts +5 -0
  228. package/dist/pr-closing-keywords/detect.js +113 -0
  229. package/dist/pr-closing-keywords/gh.d.ts +6 -0
  230. package/dist/pr-closing-keywords/gh.js +129 -0
  231. package/dist/pr-closing-keywords/index.d.ts +7 -0
  232. package/dist/pr-closing-keywords/index.js +6 -0
  233. package/dist/pr-closing-keywords/io.d.ts +3 -0
  234. package/dist/pr-closing-keywords/io.js +22 -0
  235. package/dist/pr-closing-keywords/main.d.ts +9 -0
  236. package/dist/pr-closing-keywords/main.js +246 -0
  237. package/dist/pr-closing-keywords/types.d.ts +23 -0
  238. package/dist/pr-closing-keywords/types.js +2 -0
  239. package/dist/pr-merge-readiness/compute.d.ts +7 -0
  240. package/dist/pr-merge-readiness/compute.js +210 -0
  241. package/dist/pr-merge-readiness/constants.d.ts +20 -0
  242. package/dist/pr-merge-readiness/constants.js +32 -0
  243. package/dist/pr-merge-readiness/evaluate.d.ts +5 -0
  244. package/dist/pr-merge-readiness/evaluate.js +48 -0
  245. package/dist/pr-merge-readiness/gh.d.ts +22 -0
  246. package/dist/pr-merge-readiness/gh.js +281 -0
  247. package/dist/pr-merge-readiness/index.d.ts +9 -0
  248. package/dist/pr-merge-readiness/index.js +8 -0
  249. package/dist/pr-merge-readiness/main.d.ts +14 -0
  250. package/dist/pr-merge-readiness/main.js +67 -0
  251. package/dist/pr-merge-readiness/output.d.ts +7 -0
  252. package/dist/pr-merge-readiness/output.js +98 -0
  253. package/dist/pr-merge-readiness/parse.d.ts +6 -0
  254. package/dist/pr-merge-readiness/parse.js +83 -0
  255. package/dist/pr-merge-readiness/types.d.ts +29 -0
  256. package/dist/pr-merge-readiness/types.js +2 -0
  257. package/dist/pr-monitor/cadence.d.ts +3 -0
  258. package/dist/pr-monitor/cadence.js +12 -0
  259. package/dist/pr-monitor/constants.d.ts +8 -0
  260. package/dist/pr-monitor/constants.js +12 -0
  261. package/dist/pr-monitor/index.d.ts +7 -0
  262. package/dist/pr-monitor/index.js +6 -0
  263. package/dist/pr-monitor/main.d.ts +17 -0
  264. package/dist/pr-monitor/main.js +169 -0
  265. package/dist/pr-monitor/monitor.d.ts +9 -0
  266. package/dist/pr-monitor/monitor.js +106 -0
  267. package/dist/pr-monitor/readiness.d.ts +6 -0
  268. package/dist/pr-monitor/readiness.js +64 -0
  269. package/dist/pr-monitor/types.d.ts +30 -0
  270. package/dist/pr-monitor/types.js +2 -0
  271. package/dist/pr-protected-issues/constants.d.ts +7 -0
  272. package/dist/pr-protected-issues/constants.js +7 -0
  273. package/dist/pr-protected-issues/gh.d.ts +9 -0
  274. package/dist/pr-protected-issues/gh.js +96 -0
  275. package/dist/pr-protected-issues/index.d.ts +6 -0
  276. package/dist/pr-protected-issues/index.js +5 -0
  277. package/dist/pr-protected-issues/main.d.ts +14 -0
  278. package/dist/pr-protected-issues/main.js +128 -0
  279. package/dist/pr-protected-issues/parse.d.ts +6 -0
  280. package/dist/pr-protected-issues/parse.js +21 -0
  281. package/dist/pr-protected-issues/types.d.ts +8 -0
  282. package/dist/pr-protected-issues/types.js +2 -0
  283. package/dist/pr-wait-mergeable/cascade.d.ts +12 -0
  284. package/dist/pr-wait-mergeable/cascade.js +107 -0
  285. package/dist/pr-wait-mergeable/classify.d.ts +5 -0
  286. package/dist/pr-wait-mergeable/classify.js +47 -0
  287. package/dist/pr-wait-mergeable/constants.d.ts +5 -0
  288. package/dist/pr-wait-mergeable/constants.js +5 -0
  289. package/dist/pr-wait-mergeable/index.d.ts +8 -0
  290. package/dist/pr-wait-mergeable/index.js +7 -0
  291. package/dist/pr-wait-mergeable/main.d.ts +18 -0
  292. package/dist/pr-wait-mergeable/main.js +213 -0
  293. package/dist/pr-wait-mergeable/result.d.ts +9 -0
  294. package/dist/pr-wait-mergeable/result.js +38 -0
  295. package/dist/pr-wait-mergeable/types.d.ts +16 -0
  296. package/dist/pr-wait-mergeable/types.js +2 -0
  297. package/dist/pr-wait-mergeable/wrappers.d.ts +26 -0
  298. package/dist/pr-wait-mergeable/wrappers.js +103 -0
  299. package/dist/preflight/evaluate.d.ts +22 -0
  300. package/dist/preflight/evaluate.js +137 -0
  301. package/dist/preflight/index.d.ts +3 -0
  302. package/dist/preflight/index.js +2 -0
  303. package/dist/preflight-cache/evaluate.d.ts +40 -0
  304. package/dist/preflight-cache/evaluate.js +481 -0
  305. package/dist/preflight-cache/index.d.ts +3 -0
  306. package/dist/preflight-cache/index.js +2 -0
  307. package/dist/preflight-gh/classifier.d.ts +56 -0
  308. package/dist/preflight-gh/classifier.js +415 -0
  309. package/dist/preflight-gh/index.d.ts +3 -0
  310. package/dist/preflight-gh/index.js +2 -0
  311. package/dist/release/changelog.d.ts +9 -0
  312. package/dist/release/changelog.js +105 -0
  313. package/dist/release/cli.d.ts +2 -0
  314. package/dist/release/cli.js +7 -0
  315. package/dist/release/constants.d.ts +22 -0
  316. package/dist/release/constants.js +85 -0
  317. package/dist/release/flags.d.ts +4 -0
  318. package/dist/release/flags.js +131 -0
  319. package/dist/release/gh.d.ts +16 -0
  320. package/dist/release/gh.js +210 -0
  321. package/dist/release/git.d.ts +11 -0
  322. package/dist/release/git.js +84 -0
  323. package/dist/release/index.d.ts +14 -0
  324. package/dist/release/index.js +15 -0
  325. package/dist/release/main.d.ts +3 -0
  326. package/dist/release/main.js +47 -0
  327. package/dist/release/paths.d.ts +6 -0
  328. package/dist/release/paths.js +39 -0
  329. package/dist/release/pipeline.d.ts +6 -0
  330. package/dist/release/pipeline.js +314 -0
  331. package/dist/release/pyproject-sync.d.ts +6 -0
  332. package/dist/release/pyproject-sync.js +52 -0
  333. package/dist/release/pyproject.d.ts +3 -0
  334. package/dist/release/pyproject.js +33 -0
  335. package/dist/release/python-bridge.d.ts +7 -0
  336. package/dist/release/python-bridge.js +144 -0
  337. package/dist/release/spawn.d.ts +8 -0
  338. package/dist/release/spawn.js +44 -0
  339. package/dist/release/types.d.ts +58 -0
  340. package/dist/release/types.js +2 -0
  341. package/dist/release/version.d.ts +11 -0
  342. package/dist/release/version.js +74 -0
  343. package/dist/release-e2e/constants.d.ts +22 -0
  344. package/dist/release-e2e/constants.js +43 -0
  345. package/dist/release-e2e/entrypoint-worker-thread.d.ts +2 -0
  346. package/dist/release-e2e/entrypoint-worker-thread.js +22 -0
  347. package/dist/release-e2e/entrypoint-worker.d.ts +13 -0
  348. package/dist/release-e2e/entrypoint-worker.js +50 -0
  349. package/dist/release-e2e/entrypoint.d.ts +40 -0
  350. package/dist/release-e2e/entrypoint.js +257 -0
  351. package/dist/release-e2e/flags.d.ts +5 -0
  352. package/dist/release-e2e/flags.js +80 -0
  353. package/dist/release-e2e/gh-ops.d.ts +5 -0
  354. package/dist/release-e2e/gh-ops.js +72 -0
  355. package/dist/release-e2e/git-ops.d.ts +6 -0
  356. package/dist/release-e2e/git-ops.js +47 -0
  357. package/dist/release-e2e/index.d.ts +10 -0
  358. package/dist/release-e2e/index.js +10 -0
  359. package/dist/release-e2e/main.d.ts +4 -0
  360. package/dist/release-e2e/main.js +78 -0
  361. package/dist/release-e2e/npm-ops.d.ts +29 -0
  362. package/dist/release-e2e/npm-ops.js +149 -0
  363. package/dist/release-e2e/rehearsal.d.ts +3 -0
  364. package/dist/release-e2e/rehearsal.js +51 -0
  365. package/dist/release-e2e/rollback-bridge.d.ts +3 -0
  366. package/dist/release-e2e/rollback-bridge.js +20 -0
  367. package/dist/release-e2e/types.d.ts +40 -0
  368. package/dist/release-e2e/types.js +2 -0
  369. package/dist/release-publish/cli.d.ts +2 -0
  370. package/dist/release-publish/cli.js +7 -0
  371. package/dist/release-publish/constants.d.ts +4 -0
  372. package/dist/release-publish/constants.js +24 -0
  373. package/dist/release-publish/flags.d.ts +5 -0
  374. package/dist/release-publish/flags.js +67 -0
  375. package/dist/release-publish/gh-api.d.ts +6 -0
  376. package/dist/release-publish/gh-api.js +102 -0
  377. package/dist/release-publish/index.d.ts +7 -0
  378. package/dist/release-publish/index.js +8 -0
  379. package/dist/release-publish/main.d.ts +3 -0
  380. package/dist/release-publish/main.js +38 -0
  381. package/dist/release-publish/pipeline.d.ts +4 -0
  382. package/dist/release-publish/pipeline.js +46 -0
  383. package/dist/release-publish/types.d.ts +25 -0
  384. package/dist/release-publish/types.js +2 -0
  385. package/dist/release-rollback/constants.d.ts +18 -0
  386. package/dist/release-rollback/constants.js +55 -0
  387. package/dist/release-rollback/flags.d.ts +4 -0
  388. package/dist/release-rollback/flags.js +136 -0
  389. package/dist/release-rollback/gh.d.ts +5 -0
  390. package/dist/release-rollback/gh.js +71 -0
  391. package/dist/release-rollback/git.d.ts +9 -0
  392. package/dist/release-rollback/git.js +87 -0
  393. package/dist/release-rollback/guard.d.ts +12 -0
  394. package/dist/release-rollback/guard.js +97 -0
  395. package/dist/release-rollback/index.d.ts +9 -0
  396. package/dist/release-rollback/index.js +10 -0
  397. package/dist/release-rollback/main.d.ts +3 -0
  398. package/dist/release-rollback/main.js +51 -0
  399. package/dist/release-rollback/pipeline.d.ts +7 -0
  400. package/dist/release-rollback/pipeline.js +221 -0
  401. package/dist/release-rollback/types.d.ts +41 -0
  402. package/dist/release-rollback/types.js +2 -0
  403. package/dist/render/constants.d.ts +16 -0
  404. package/dist/render/constants.js +78 -0
  405. package/dist/render/framework-commands.d.ts +41 -0
  406. package/dist/render/framework-commands.js +416 -0
  407. package/dist/render/index.d.ts +15 -0
  408. package/dist/render/index.js +15 -0
  409. package/dist/render/prd-render.d.ts +14 -0
  410. package/dist/render/prd-render.js +79 -0
  411. package/dist/render/project-render.d.ts +20 -0
  412. package/dist/render/project-render.js +169 -0
  413. package/dist/render/roadmap-render.d.ts +8 -0
  414. package/dist/render/roadmap-render.js +387 -0
  415. package/dist/render/spec-render.d.ts +13 -0
  416. package/dist/render/spec-render.js +362 -0
  417. package/dist/render/spec-validate.d.ts +6 -0
  418. package/dist/render/spec-validate.js +157 -0
  419. package/dist/render/text-utils.d.ts +8 -0
  420. package/dist/render/text-utils.js +72 -0
  421. package/dist/scm/argv.d.ts +7 -0
  422. package/dist/scm/argv.js +54 -0
  423. package/dist/scm/binary.d.ts +11 -0
  424. package/dist/scm/binary.js +35 -0
  425. package/dist/scm/build-command.d.ts +11 -0
  426. package/dist/scm/build-command.js +23 -0
  427. package/dist/scm/call.d.ts +25 -0
  428. package/dist/scm/call.js +38 -0
  429. package/dist/scm/cli.d.ts +3 -0
  430. package/dist/scm/cli.js +7 -0
  431. package/dist/scm/constants.d.ts +11 -0
  432. package/dist/scm/constants.js +11 -0
  433. package/dist/scm/errors.d.ts +5 -0
  434. package/dist/scm/errors.js +8 -0
  435. package/dist/scm/gh-rest.d.ts +74 -0
  436. package/dist/scm/gh-rest.js +326 -0
  437. package/dist/scm/index.d.ts +11 -0
  438. package/dist/scm/index.js +11 -0
  439. package/dist/scm/main.d.ts +12 -0
  440. package/dist/scm/main.js +65 -0
  441. package/dist/scm/py-format.d.ts +9 -0
  442. package/dist/scm/py-format.js +31 -0
  443. package/dist/scm/rest-dispatch.d.ts +14 -0
  444. package/dist/scm/rest-dispatch.js +175 -0
  445. package/dist/scope/audit-log.d.ts +14 -0
  446. package/dist/scope/audit-log.js +186 -0
  447. package/dist/scope/capacity-stamp.d.ts +3 -0
  448. package/dist/scope/capacity-stamp.js +45 -0
  449. package/dist/scope/cli.d.ts +4 -0
  450. package/dist/scope/cli.js +11 -0
  451. package/dist/scope/constants.d.ts +19 -0
  452. package/dist/scope/constants.js +44 -0
  453. package/dist/scope/decompose.d.ts +42 -0
  454. package/dist/scope/decompose.js +1016 -0
  455. package/dist/scope/decomposed-refs.d.ts +6 -0
  456. package/dist/scope/decomposed-refs.js +173 -0
  457. package/dist/scope/demote.d.ts +24 -0
  458. package/dist/scope/demote.js +209 -0
  459. package/dist/scope/index.d.ts +12 -0
  460. package/dist/scope/index.js +12 -0
  461. package/dist/scope/main.d.ts +30 -0
  462. package/dist/scope/main.js +365 -0
  463. package/dist/scope/project-context.d.ts +6 -0
  464. package/dist/scope/project-context.js +55 -0
  465. package/dist/scope/project-definition-sync.d.ts +3 -0
  466. package/dist/scope/project-definition-sync.js +157 -0
  467. package/dist/scope/transition.d.ts +10 -0
  468. package/dist/scope/transition.js +133 -0
  469. package/dist/scope/undo.d.ts +25 -0
  470. package/dist/scope/undo.js +334 -0
  471. package/dist/scope/vbrief-json.d.ts +4 -0
  472. package/dist/scope/vbrief-json.js +8 -0
  473. package/dist/scope/vbrief-ref.d.ts +11 -0
  474. package/dist/scope/vbrief-ref.js +100 -0
  475. package/dist/scope/wip-cap-check.d.ts +11 -0
  476. package/dist/scope/wip-cap-check.js +23 -0
  477. package/dist/session/git.d.ts +14 -0
  478. package/dist/session/git.js +49 -0
  479. package/dist/session/index.d.ts +9 -0
  480. package/dist/session/index.js +9 -0
  481. package/dist/session/json.d.ts +7 -0
  482. package/dist/session/json.js +29 -0
  483. package/dist/session/resume-conditions.d.ts +56 -0
  484. package/dist/session/resume-conditions.js +486 -0
  485. package/dist/session/ritual-entrypoint.d.ts +20 -0
  486. package/dist/session/ritual-entrypoint.js +86 -0
  487. package/dist/session/ritual-sentinel.d.ts +58 -0
  488. package/dist/session/ritual-sentinel.js +338 -0
  489. package/dist/session/session-start-hook.d.ts +14 -0
  490. package/dist/session/session-start-hook.js +53 -0
  491. package/dist/session/session-start.d.ts +41 -0
  492. package/dist/session/session-start.js +290 -0
  493. package/dist/session/staleness.d.ts +8 -0
  494. package/dist/session/staleness.js +91 -0
  495. package/dist/session/time.d.ts +5 -0
  496. package/dist/session/time.js +19 -0
  497. package/dist/session/verify-session-ritual.d.ts +29 -0
  498. package/dist/session/verify-session-ritual.js +222 -0
  499. package/dist/slice/cli.d.ts +21 -0
  500. package/dist/slice/cli.js +248 -0
  501. package/dist/slice/constants.d.ts +18 -0
  502. package/dist/slice/constants.js +30 -0
  503. package/dist/slice/errors.d.ts +9 -0
  504. package/dist/slice/errors.js +15 -0
  505. package/dist/slice/existing.d.ts +53 -0
  506. package/dist/slice/existing.js +344 -0
  507. package/dist/slice/index.d.ts +10 -0
  508. package/dist/slice/index.js +10 -0
  509. package/dist/slice/json.d.ts +7 -0
  510. package/dist/slice/json.js +25 -0
  511. package/dist/slice/lock.d.ts +9 -0
  512. package/dist/slice/lock.js +59 -0
  513. package/dist/slice/project-context.d.ts +15 -0
  514. package/dist/slice/project-context.js +87 -0
  515. package/dist/slice/record.d.ts +50 -0
  516. package/dist/slice/record.js +139 -0
  517. package/dist/slice/validate.d.ts +3 -0
  518. package/dist/slice/validate.js +86 -0
  519. package/dist/story-ready/allocation.d.ts +14 -0
  520. package/dist/story-ready/allocation.js +61 -0
  521. package/dist/story-ready/evaluate.d.ts +23 -0
  522. package/dist/story-ready/evaluate.js +161 -0
  523. package/dist/story-ready/git.d.ts +6 -0
  524. package/dist/story-ready/git.js +26 -0
  525. package/dist/story-ready/index.d.ts +4 -0
  526. package/dist/story-ready/index.js +4 -0
  527. package/dist/subprocess/max-buffer.d.ts +18 -0
  528. package/dist/subprocess/max-buffer.js +18 -0
  529. package/dist/swarm/complete-cohort-cli.d.ts +3 -0
  530. package/dist/swarm/complete-cohort-cli.js +42 -0
  531. package/dist/swarm/complete-cohort.d.ts +34 -0
  532. package/dist/swarm/complete-cohort.js +407 -0
  533. package/dist/swarm/constants.d.ts +18 -0
  534. package/dist/swarm/constants.js +24 -0
  535. package/dist/swarm/index.d.ts +18 -0
  536. package/dist/swarm/index.js +18 -0
  537. package/dist/swarm/launch-cli.d.ts +5 -0
  538. package/dist/swarm/launch-cli.js +111 -0
  539. package/dist/swarm/launch.d.ts +78 -0
  540. package/dist/swarm/launch.js +587 -0
  541. package/dist/swarm/readiness-cli.d.ts +3 -0
  542. package/dist/swarm/readiness-cli.js +25 -0
  543. package/dist/swarm/readiness.d.ts +24 -0
  544. package/dist/swarm/readiness.js +606 -0
  545. package/dist/swarm/routing-set-cli.d.ts +3 -0
  546. package/dist/swarm/routing-set-cli.js +82 -0
  547. package/dist/swarm/routing-verify-cli.d.ts +3 -0
  548. package/dist/swarm/routing-verify-cli.js +51 -0
  549. package/dist/swarm/routing-verify.d.ts +20 -0
  550. package/dist/swarm/routing-verify.js +104 -0
  551. package/dist/swarm/routing.d.ts +57 -0
  552. package/dist/swarm/routing.js +173 -0
  553. package/dist/swarm/subagent-backend.d.ts +22 -0
  554. package/dist/swarm/subagent-backend.js +162 -0
  555. package/dist/swarm/subprocess.d.ts +10 -0
  556. package/dist/swarm/subprocess.js +34 -0
  557. package/dist/swarm/verify-review-clean-cli.d.ts +3 -0
  558. package/dist/swarm/verify-review-clean-cli.js +38 -0
  559. package/dist/swarm/verify-review-clean.d.ts +40 -0
  560. package/dist/swarm/verify-review-clean.js +240 -0
  561. package/dist/swarm/worktrees-cli.d.ts +9 -0
  562. package/dist/swarm/worktrees-cli.js +57 -0
  563. package/dist/swarm/worktrees.d.ts +39 -0
  564. package/dist/swarm/worktrees.js +178 -0
  565. package/dist/text/redos-safe.d.ts +29 -0
  566. package/dist/text/redos-safe.js +338 -0
  567. package/dist/triage/actions/candidates-log.d.ts +8 -0
  568. package/dist/triage/actions/candidates-log.js +195 -0
  569. package/dist/triage/actions/errors.d.ts +17 -0
  570. package/dist/triage/actions/errors.js +29 -0
  571. package/dist/triage/actions/index.d.ts +19 -0
  572. package/dist/triage/actions/index.js +305 -0
  573. package/dist/triage/actions/resume-on.d.ts +3 -0
  574. package/dist/triage/actions/resume-on.js +65 -0
  575. package/dist/triage/actions/types.d.ts +57 -0
  576. package/dist/triage/actions/types.js +2 -0
  577. package/dist/triage/bootstrap/gitignore.d.ts +16 -0
  578. package/dist/triage/bootstrap/gitignore.js +414 -0
  579. package/dist/triage/bootstrap/index.d.ts +44 -0
  580. package/dist/triage/bootstrap/index.js +572 -0
  581. package/dist/triage/bootstrap/types.d.ts +60 -0
  582. package/dist/triage/bootstrap/types.js +2 -0
  583. package/dist/triage/bulk/index.d.ts +99 -0
  584. package/dist/triage/bulk/index.js +454 -0
  585. package/dist/triage/classify/index.d.ts +88 -0
  586. package/dist/triage/classify/index.js +738 -0
  587. package/dist/triage/help/index.d.ts +25 -0
  588. package/dist/triage/help/index.js +212 -0
  589. package/dist/triage/help/registry-data.d.ts +555 -0
  590. package/dist/triage/help/registry-data.js +841 -0
  591. package/dist/triage/index.d.ts +23 -0
  592. package/dist/triage/index.js +23 -0
  593. package/dist/triage/queue/audit.d.ts +12 -0
  594. package/dist/triage/queue/audit.js +47 -0
  595. package/dist/triage/queue/build-queue.d.ts +9 -0
  596. package/dist/triage/queue/build-queue.js +133 -0
  597. package/dist/triage/queue/cache.d.ts +20 -0
  598. package/dist/triage/queue/cache.js +169 -0
  599. package/dist/triage/queue/constants.d.ts +22 -0
  600. package/dist/triage/queue/constants.js +28 -0
  601. package/dist/triage/queue/derive-group.d.ts +7 -0
  602. package/dist/triage/queue/derive-group.js +20 -0
  603. package/dist/triage/queue/index.d.ts +12 -0
  604. package/dist/triage/queue/index.js +12 -0
  605. package/dist/triage/queue/project.d.ts +6 -0
  606. package/dist/triage/queue/project.js +18 -0
  607. package/dist/triage/queue/ranking-labels.d.ts +10 -0
  608. package/dist/triage/queue/ranking-labels.js +54 -0
  609. package/dist/triage/queue/render.d.ts +9 -0
  610. package/dist/triage/queue/render.js +35 -0
  611. package/dist/triage/queue/repo.d.ts +5 -0
  612. package/dist/triage/queue/repo.js +36 -0
  613. package/dist/triage/queue/scope-walk.d.ts +13 -0
  614. package/dist/triage/queue/scope-walk.js +170 -0
  615. package/dist/triage/queue/selection.d.ts +28 -0
  616. package/dist/triage/queue/selection.js +109 -0
  617. package/dist/triage/queue/types.d.ts +58 -0
  618. package/dist/triage/queue/types.js +2 -0
  619. package/dist/triage/reconcile/audit.d.ts +4 -0
  620. package/dist/triage/reconcile/audit.js +62 -0
  621. package/dist/triage/reconcile/index.d.ts +5 -0
  622. package/dist/triage/reconcile/index.js +5 -0
  623. package/dist/triage/reconcile/parse-uri.d.ts +4 -0
  624. package/dist/triage/reconcile/parse-uri.js +43 -0
  625. package/dist/triage/reconcile/reconcile.d.ts +17 -0
  626. package/dist/triage/reconcile/reconcile.js +163 -0
  627. package/dist/triage/reconcile/types.d.ts +23 -0
  628. package/dist/triage/reconcile/types.js +70 -0
  629. package/dist/triage/refresh/drift.d.ts +15 -0
  630. package/dist/triage/refresh/drift.js +72 -0
  631. package/dist/triage/refresh/extract.d.ts +3 -0
  632. package/dist/triage/refresh/extract.js +43 -0
  633. package/dist/triage/refresh/index.d.ts +5 -0
  634. package/dist/triage/refresh/index.js +5 -0
  635. package/dist/triage/refresh/refresh.d.ts +16 -0
  636. package/dist/triage/refresh/refresh.js +95 -0
  637. package/dist/triage/refresh/types.d.ts +18 -0
  638. package/dist/triage/refresh/types.js +7 -0
  639. package/dist/triage/scope/cli.d.ts +23 -0
  640. package/dist/triage/scope/cli.js +257 -0
  641. package/dist/triage/scope/constants.d.ts +16 -0
  642. package/dist/triage/scope/constants.js +25 -0
  643. package/dist/triage/scope/coverage.d.ts +24 -0
  644. package/dist/triage/scope/coverage.js +96 -0
  645. package/dist/triage/scope/duration.d.ts +6 -0
  646. package/dist/triage/scope/duration.js +44 -0
  647. package/dist/triage/scope/evaluate.d.ts +18 -0
  648. package/dist/triage/scope/evaluate.js +161 -0
  649. package/dist/triage/scope/index.d.ts +14 -0
  650. package/dist/triage/scope/index.js +14 -0
  651. package/dist/triage/scope/milestone.d.ts +13 -0
  652. package/dist/triage/scope/milestone.js +178 -0
  653. package/dist/triage/scope/mutations-core.d.ts +24 -0
  654. package/dist/triage/scope/mutations-core.js +216 -0
  655. package/dist/triage/scope/mutations.d.ts +21 -0
  656. package/dist/triage/scope/mutations.js +203 -0
  657. package/dist/triage/scope/normalize.d.ts +5 -0
  658. package/dist/triage/scope/normalize.js +45 -0
  659. package/dist/triage/scope/python-repr.d.ts +7 -0
  660. package/dist/triage/scope/python-repr.js +25 -0
  661. package/dist/triage/scope/renderers.d.ts +9 -0
  662. package/dist/triage/scope/renderers.js +177 -0
  663. package/dist/triage/scope/resolve.d.ts +15 -0
  664. package/dist/triage/scope/resolve.js +122 -0
  665. package/dist/triage/scope/time.d.ts +6 -0
  666. package/dist/triage/scope/time.js +18 -0
  667. package/dist/triage/scope/validate.d.ts +11 -0
  668. package/dist/triage/scope/validate.js +272 -0
  669. package/dist/triage/scope-drift/add-ignore.d.ts +10 -0
  670. package/dist/triage/scope-drift/add-ignore.js +78 -0
  671. package/dist/triage/scope-drift/cache-walker.d.ts +8 -0
  672. package/dist/triage/scope-drift/cache-walker.js +103 -0
  673. package/dist/triage/scope-drift/compute.d.ts +9 -0
  674. package/dist/triage/scope-drift/compute.js +92 -0
  675. package/dist/triage/scope-drift/index.d.ts +6 -0
  676. package/dist/triage/scope-drift/index.js +6 -0
  677. package/dist/triage/scope-drift/render.d.ts +4 -0
  678. package/dist/triage/scope-drift/render.js +45 -0
  679. package/dist/triage/scope-drift/scope-rules.d.ts +16 -0
  680. package/dist/triage/scope-drift/scope-rules.js +149 -0
  681. package/dist/triage/scope-drift/types.d.ts +13 -0
  682. package/dist/triage/scope-drift/types.js +8 -0
  683. package/dist/triage/smoketest/index.d.ts +81 -0
  684. package/dist/triage/smoketest/index.js +335 -0
  685. package/dist/triage/subscribe/index.d.ts +38 -0
  686. package/dist/triage/subscribe/index.js +303 -0
  687. package/dist/triage/summary/index.d.ts +70 -0
  688. package/dist/triage/summary/index.js +431 -0
  689. package/dist/triage/summary/reconcilable.d.ts +12 -0
  690. package/dist/triage/summary/reconcilable.js +150 -0
  691. package/dist/triage/summary/scope-drift.d.ts +5 -0
  692. package/dist/triage/summary/scope-drift.js +219 -0
  693. package/dist/triage/welcome/constants.d.ts +24 -0
  694. package/dist/triage/welcome/constants.js +34 -0
  695. package/dist/triage/welcome/default-mode.d.ts +21 -0
  696. package/dist/triage/welcome/default-mode.js +48 -0
  697. package/dist/triage/welcome/index.d.ts +6 -0
  698. package/dist/triage/welcome/index.js +6 -0
  699. package/dist/triage/welcome/prior-state.d.ts +17 -0
  700. package/dist/triage/welcome/prior-state.js +170 -0
  701. package/dist/triage/welcome/summary.d.ts +23 -0
  702. package/dist/triage/welcome/summary.js +303 -0
  703. package/dist/triage/welcome/writers.d.ts +17 -0
  704. package/dist/triage/welcome/writers.js +157 -0
  705. package/dist/ts-check-lane/index.d.ts +3 -0
  706. package/dist/ts-check-lane/index.js +2 -0
  707. package/dist/ts-check-lane/run-lane.d.ts +53 -0
  708. package/dist/ts-check-lane/run-lane.js +98 -0
  709. package/dist/validate-content/capacity-policy.d.ts +82 -0
  710. package/dist/validate-content/capacity-policy.js +399 -0
  711. package/dist/validate-content/capacity-show.d.ts +60 -0
  712. package/dist/validate-content/capacity-show.js +336 -0
  713. package/dist/validate-content/filename.d.ts +3 -0
  714. package/dist/validate-content/filename.js +54 -0
  715. package/dist/validate-content/index.d.ts +9 -0
  716. package/dist/validate-content/index.js +9 -0
  717. package/dist/validate-content/link-parser.d.ts +5 -0
  718. package/dist/validate-content/link-parser.js +42 -0
  719. package/dist/validate-content/types.d.ts +8 -0
  720. package/dist/validate-content/types.js +2 -0
  721. package/dist/validate-content/validate-links.d.ts +17 -0
  722. package/dist/validate-content/validate-links.js +114 -0
  723. package/dist/validate-content/validate-strategy-output.d.ts +11 -0
  724. package/dist/validate-content/validate-strategy-output.js +120 -0
  725. package/dist/validate-content/verify-capacity.d.ts +14 -0
  726. package/dist/validate-content/verify-capacity.js +96 -0
  727. package/dist/vbrief-activate/activate.d.ts +13 -0
  728. package/dist/vbrief-activate/activate.js +184 -0
  729. package/dist/vbrief-activate/constants.d.ts +9 -0
  730. package/dist/vbrief-activate/constants.js +11 -0
  731. package/dist/vbrief-activate/index.d.ts +6 -0
  732. package/dist/vbrief-activate/index.js +4 -0
  733. package/dist/vbrief-activate/main.d.ts +14 -0
  734. package/dist/vbrief-activate/main.js +33 -0
  735. package/dist/vbrief-build/build.d.ts +13 -0
  736. package/dist/vbrief-build/build.js +123 -0
  737. package/dist/vbrief-build/constants.d.ts +13 -0
  738. package/dist/vbrief-build/constants.js +34 -0
  739. package/dist/vbrief-build/index.d.ts +12 -0
  740. package/dist/vbrief-build/index.js +11 -0
  741. package/dist/vbrief-build/json.d.ts +3 -0
  742. package/dist/vbrief-build/json.js +5 -0
  743. package/dist/vbrief-build/main.d.ts +5 -0
  744. package/dist/vbrief-build/main.js +65 -0
  745. package/dist/vbrief-build/parity-scenarios.d.ts +19 -0
  746. package/dist/vbrief-build/parity-scenarios.js +321 -0
  747. package/dist/vbrief-build/project-definition-io.d.ts +13 -0
  748. package/dist/vbrief-build/project-definition-io.js +117 -0
  749. package/dist/vbrief-build/routing.d.ts +13 -0
  750. package/dist/vbrief-build/routing.js +110 -0
  751. package/dist/vbrief-build/sources.d.ts +16 -0
  752. package/dist/vbrief-build/sources.js +294 -0
  753. package/dist/vbrief-build/speckit.d.ts +23 -0
  754. package/dist/vbrief-build/speckit.js +212 -0
  755. package/dist/vbrief-build/types.d.ts +18 -0
  756. package/dist/vbrief-build/types.js +7 -0
  757. package/dist/vbrief-reconcile/graph.d.ts +11 -0
  758. package/dist/vbrief-reconcile/graph.js +171 -0
  759. package/dist/vbrief-reconcile/index.d.ts +10 -0
  760. package/dist/vbrief-reconcile/index.js +9 -0
  761. package/dist/vbrief-reconcile/labels.d.ts +22 -0
  762. package/dist/vbrief-reconcile/labels.js +252 -0
  763. package/dist/vbrief-reconcile/main.d.ts +18 -0
  764. package/dist/vbrief-reconcile/main.js +149 -0
  765. package/dist/vbrief-reconcile/parity-scenarios.d.ts +16 -0
  766. package/dist/vbrief-reconcile/parity-scenarios.js +385 -0
  767. package/dist/vbrief-reconcile/py-repr.d.ts +3 -0
  768. package/dist/vbrief-reconcile/py-repr.js +5 -0
  769. package/dist/vbrief-reconcile/reconciliation.d.ts +20 -0
  770. package/dist/vbrief-reconcile/reconciliation.js +542 -0
  771. package/dist/vbrief-reconcile/swarm-deps.d.ts +8 -0
  772. package/dist/vbrief-reconcile/swarm-deps.js +142 -0
  773. package/dist/vbrief-reconcile/types.d.ts +128 -0
  774. package/dist/vbrief-reconcile/types.js +2 -0
  775. package/dist/vbrief-reconcile/umbrellas.d.ts +48 -0
  776. package/dist/vbrief-reconcile/umbrellas.js +462 -0
  777. package/dist/vbrief-validate/conformance.d.ts +26 -0
  778. package/dist/vbrief-validate/conformance.js +273 -0
  779. package/dist/vbrief-validate/constants.d.ts +13 -0
  780. package/dist/vbrief-validate/constants.js +36 -0
  781. package/dist/vbrief-validate/decomposition.d.ts +3 -0
  782. package/dist/vbrief-validate/decomposition.js +38 -0
  783. package/dist/vbrief-validate/epic-links.d.ts +4 -0
  784. package/dist/vbrief-validate/epic-links.js +152 -0
  785. package/dist/vbrief-validate/filename.d.ts +5 -0
  786. package/dist/vbrief-validate/filename.js +62 -0
  787. package/dist/vbrief-validate/folder-status.d.ts +4 -0
  788. package/dist/vbrief-validate/folder-status.js +30 -0
  789. package/dist/vbrief-validate/index.d.ts +14 -0
  790. package/dist/vbrief-validate/index.js +11 -0
  791. package/dist/vbrief-validate/main.d.ts +17 -0
  792. package/dist/vbrief-validate/main.js +127 -0
  793. package/dist/vbrief-validate/origin.d.ts +4 -0
  794. package/dist/vbrief-validate/origin.js +76 -0
  795. package/dist/vbrief-validate/paths.d.ts +11 -0
  796. package/dist/vbrief-validate/paths.js +83 -0
  797. package/dist/vbrief-validate/placeholders.d.ts +3 -0
  798. package/dist/vbrief-validate/placeholders.js +33 -0
  799. package/dist/vbrief-validate/plan-hooks.d.ts +9 -0
  800. package/dist/vbrief-validate/plan-hooks.js +145 -0
  801. package/dist/vbrief-validate/precutover.d.ts +7 -0
  802. package/dist/vbrief-validate/precutover.js +30 -0
  803. package/dist/vbrief-validate/project-definition.d.ts +4 -0
  804. package/dist/vbrief-validate/project-definition.js +166 -0
  805. package/dist/vbrief-validate/schema.d.ts +8 -0
  806. package/dist/vbrief-validate/schema.js +150 -0
  807. package/dist/vbrief-validate/staleness.d.ts +3 -0
  808. package/dist/vbrief-validate/staleness.js +106 -0
  809. package/dist/vbrief-validate/validate-all.d.ts +17 -0
  810. package/dist/vbrief-validate/validate-all.js +119 -0
  811. package/dist/vbrief-validation/fidelity.d.ts +22 -0
  812. package/dist/vbrief-validation/fidelity.js +508 -0
  813. package/dist/vbrief-validation/index.d.ts +11 -0
  814. package/dist/vbrief-validation/index.js +8 -0
  815. package/dist/vbrief-validation/legacy-sections.d.ts +13 -0
  816. package/dist/vbrief-validation/legacy-sections.js +124 -0
  817. package/dist/vbrief-validation/main.d.ts +5 -0
  818. package/dist/vbrief-validation/main.js +65 -0
  819. package/dist/vbrief-validation/normalize.d.ts +22 -0
  820. package/dist/vbrief-validation/normalize.js +126 -0
  821. package/dist/vbrief-validation/parity-scenarios.d.ts +14 -0
  822. package/dist/vbrief-validation/parity-scenarios.js +523 -0
  823. package/dist/vbrief-validation/safety.d.ts +38 -0
  824. package/dist/vbrief-validation/safety.js +422 -0
  825. package/dist/vbrief-validation/story-quality.d.ts +29 -0
  826. package/dist/vbrief-validation/story-quality.js +452 -0
  827. package/dist/vbrief-validation/types.d.ts +58 -0
  828. package/dist/vbrief-validation/types.js +2 -0
  829. package/dist/vbrief-validation/validation.d.ts +15 -0
  830. package/dist/vbrief-validation/validation.js +123 -0
  831. package/dist/verify-env/index.d.ts +6 -0
  832. package/dist/verify-env/index.js +6 -0
  833. package/dist/verify-env/node-runtime.d.ts +6 -0
  834. package/dist/verify-env/node-runtime.js +11 -0
  835. package/dist/verify-env/toolchain-check.d.ts +28 -0
  836. package/dist/verify-env/toolchain-check.js +68 -0
  837. package/dist/verify-env/verify-hooks-installed.d.ts +21 -0
  838. package/dist/verify-env/verify-hooks-installed.js +162 -0
  839. package/dist/verify-env/verify-no-task-runtime.d.ts +20 -0
  840. package/dist/verify-env/verify-no-task-runtime.js +383 -0
  841. package/dist/verify-env/verify-tools.d.ts +59 -0
  842. package/dist/verify-env/verify-tools.js +354 -0
  843. package/dist/verify-source/code-structure-validate.d.ts +48 -0
  844. package/dist/verify-source/code-structure-validate.js +678 -0
  845. package/dist/verify-source/content-manifest.d.ts +102 -0
  846. package/dist/verify-source/content-manifest.js +282 -0
  847. package/dist/verify-source/index.d.ts +7 -0
  848. package/dist/verify-source/index.js +7 -0
  849. package/dist/verify-source/python-call-scan.d.ts +14 -0
  850. package/dist/verify-source/python-call-scan.js +137 -0
  851. package/dist/verify-source/rule-ownership-lint.d.ts +33 -0
  852. package/dist/verify-source/rule-ownership-lint.js +179 -0
  853. package/dist/verify-source/scm-boundary.d.ts +26 -0
  854. package/dist/verify-source/scm-boundary.js +170 -0
  855. package/dist/verify-source/verify-stubs.d.ts +19 -0
  856. package/dist/verify-source/verify-stubs.js +185 -0
  857. package/dist/wip-cap/evaluate.d.ts +17 -0
  858. package/dist/wip-cap/evaluate.js +62 -0
  859. package/dist/wip-cap/index.d.ts +2 -0
  860. package/dist/wip-cap/index.js +2 -0
  861. package/package.json +206 -0
@@ -0,0 +1,64 @@
1
+ import { computeGateResult } from "../pr-merge-readiness/compute.js";
2
+ import { EXIT_EXTERNAL_ERROR } from "../pr-merge-readiness/constants.js";
3
+ import { defaultRunGh } from "../pr-merge-readiness/gh.js";
4
+ import { exitCodeFor, gateResultToDict } from "../pr-merge-readiness/output.js";
5
+ import { EXIT_CONFIG_ERROR } from "./constants.js";
6
+ /** Match Python json.dumps(..., indent=2) default ensure_ascii=True. */
7
+ function pythonJsonDumps(value) {
8
+ const json = JSON.stringify(value, null, 2);
9
+ return json.replace(/[\u007f-\uffff]/g, (ch) => {
10
+ const code = ch.charCodeAt(0);
11
+ return `\\u${code.toString(16).padStart(4, "0")}`;
12
+ });
13
+ }
14
+ /** Run one pr_merge_readiness-equivalent check and parse the verdict JSON. */
15
+ export function callReadiness(prNumber, repo, options = {}) {
16
+ const stderrChunks = [];
17
+ const originalWrite = process.stderr.write.bind(process.stderr);
18
+ const captureWrite = ((chunk, ..._args) => {
19
+ if (typeof chunk === "string") {
20
+ stderrChunks.push(chunk);
21
+ }
22
+ else {
23
+ stderrChunks.push(Buffer.from(chunk).toString("utf8"));
24
+ }
25
+ return true;
26
+ });
27
+ try {
28
+ process.stderr.write = captureWrite;
29
+ const runGh = options.runGh ?? defaultRunGh;
30
+ const result = computeGateResult(prNumber, repo, runGh);
31
+ const payload = gateResultToDict(result);
32
+ const exitCode = exitCodeFor(result);
33
+ return {
34
+ exitCode,
35
+ payload,
36
+ rawStdout: `${pythonJsonDumps(payload)}\n`,
37
+ rawStderr: stderrChunks.join(""),
38
+ };
39
+ }
40
+ catch (exc) {
41
+ const message = exc instanceof Error ? exc.message : `unexpected exception running readiness: ${String(exc)}`;
42
+ return {
43
+ exitCode: EXIT_CONFIG_ERROR,
44
+ payload: {
45
+ via: "error",
46
+ merge_ready: false,
47
+ error: message,
48
+ },
49
+ rawStdout: "",
50
+ rawStderr: stderrChunks.join("") || message,
51
+ };
52
+ }
53
+ finally {
54
+ process.stderr.write = originalWrite;
55
+ }
56
+ }
57
+ /** Map readiness-layer external errors to monitor poll semantics. */
58
+ export function readinessExitToPoll(exitCode) {
59
+ if (exitCode === EXIT_EXTERNAL_ERROR) {
60
+ return 1;
61
+ }
62
+ return exitCode;
63
+ }
64
+ //# sourceMappingURL=readiness.js.map
@@ -0,0 +1,30 @@
1
+ import type { RunGhFn } from "../pr-merge-readiness/types.js";
2
+ export interface PollResult {
3
+ readonly exitCode: number;
4
+ readonly payload: Record<string, unknown>;
5
+ readonly rawStdout: string;
6
+ readonly rawStderr: string;
7
+ }
8
+ export interface MonotonicClock {
9
+ now(): number;
10
+ }
11
+ export type SleepFn = (seconds: number) => void;
12
+ export type CallReadinessFn = (prNumber: number, repo: string) => PollResult;
13
+ export interface MonitorOptions {
14
+ readonly capMinutes?: number;
15
+ readonly cadence?: ReadonlyArray<readonly [number, number]>;
16
+ readonly sleepFn?: SleepFn;
17
+ readonly clockFn?: MonotonicClock;
18
+ readonly callReadinessFn?: CallReadinessFn;
19
+ readonly runGh?: RunGhFn;
20
+ }
21
+ export interface MonitorRunResult {
22
+ readonly exitCode: number;
23
+ readonly payload: Record<string, unknown>;
24
+ readonly pollCount: number;
25
+ }
26
+ export interface CallReadinessOptions {
27
+ readonly runGh?: RunGhFn;
28
+ readonly timeoutMs?: number;
29
+ }
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ /** Exit codes — mirrors scripts/pr_check_protected_issues.py. */
2
+ export declare const EXIT_OK = 0;
3
+ export declare const EXIT_PROTECTED_LINKED = 1;
4
+ export declare const EXIT_EXTERNAL_ERROR = 2;
5
+ /** gh subprocess timeout in seconds (matches Python oracle). */
6
+ export declare const GH_TIMEOUT_S = 30;
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1,7 @@
1
+ /** Exit codes — mirrors scripts/pr_check_protected_issues.py. */
2
+ export const EXIT_OK = 0;
3
+ export const EXIT_PROTECTED_LINKED = 1;
4
+ export const EXIT_EXTERNAL_ERROR = 2;
5
+ /** gh subprocess timeout in seconds (matches Python oracle). */
6
+ export const GH_TIMEOUT_S = 30;
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,9 @@
1
+ import type { RunGhFn, RunGhResult } from "./types.js";
2
+ /** UTF-8-safe gh capture via execFile (no shell) — mirrors _safe_subprocess.run_text (#1366). */
3
+ export declare function defaultRunGh(cmd: readonly string[]): RunGhResult;
4
+ /**
5
+ * Run ``gh pr view <N> --json closingIssuesReferences`` and return linked issue
6
+ * numbers. Returns ``null`` on external error (caller maps to EXIT_EXTERNAL_ERROR).
7
+ */
8
+ export declare function fetchClosingIssuesReferences(prNumber: number, repo: string | null, runGh: RunGhFn): number[] | null;
9
+ //# sourceMappingURL=gh.d.ts.map
@@ -0,0 +1,96 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import { resolveBinary } from "../scm/binary.js";
3
+ import { SUBPROCESS_MAX_BUFFER } from "../subprocess/max-buffer.js";
4
+ import { GH_TIMEOUT_S } from "./constants.js";
5
+ /** UTF-8-safe gh capture via execFile (no shell) — mirrors _safe_subprocess.run_text (#1366). */
6
+ export function defaultRunGh(cmd) {
7
+ if (cmd.length === 0 || cmd[0] !== "gh") {
8
+ return { returncode: -1, stdout: "", stderr: "expected gh as first argv element" };
9
+ }
10
+ const binary = resolveBinary();
11
+ const args = cmd.slice(1);
12
+ try {
13
+ const stdout = execFileSync(binary, args, {
14
+ encoding: "utf8",
15
+ timeout: GH_TIMEOUT_S * 1000,
16
+ stdio: ["ignore", "pipe", "pipe"],
17
+ maxBuffer: SUBPROCESS_MAX_BUFFER,
18
+ });
19
+ return { returncode: 0, stdout: typeof stdout === "string" ? stdout : "", stderr: "" };
20
+ }
21
+ catch (err) {
22
+ const e = err;
23
+ if (e.code === "ENOENT") {
24
+ return { returncode: -1, stdout: "", stderr: "gh CLI not found. Install GitHub CLI." };
25
+ }
26
+ if (e.code === "ETIMEDOUT") {
27
+ return { returncode: -2, stdout: "", stderr: "" };
28
+ }
29
+ return {
30
+ returncode: typeof e.status === "number" ? e.status : -1,
31
+ stdout: typeof e.stdout === "string" ? e.stdout : "",
32
+ stderr: typeof e.stderr === "string" ? e.stderr : String(e.message ?? ""),
33
+ };
34
+ }
35
+ }
36
+ /**
37
+ * Run ``gh pr view <N> --json closingIssuesReferences`` and return linked issue
38
+ * numbers. Returns ``null`` on external error (caller maps to EXIT_EXTERNAL_ERROR).
39
+ */
40
+ export function fetchClosingIssuesReferences(prNumber, repo, runGh) {
41
+ const cmd = ["gh", "pr", "view", String(prNumber), "--json", "closingIssuesReferences"];
42
+ if (repo) {
43
+ cmd.push("--repo", repo);
44
+ }
45
+ let result;
46
+ try {
47
+ result = runGh(cmd);
48
+ }
49
+ catch {
50
+ process.stderr.write("Error: gh CLI not found. Install GitHub CLI.\n");
51
+ return null;
52
+ }
53
+ if (result.returncode === -1 && result.stderr.includes("gh CLI not found")) {
54
+ process.stderr.write("Error: gh CLI not found. Install GitHub CLI.\n");
55
+ return null;
56
+ }
57
+ if (result.returncode === -2) {
58
+ process.stderr.write(`Error: gh CLI timed out fetching PR #${prNumber}.\n`);
59
+ return null;
60
+ }
61
+ if (result.returncode !== 0) {
62
+ process.stderr.write(`Error: gh CLI failed fetching PR #${prNumber}: ${result.stderr.trim()}\n`);
63
+ return null;
64
+ }
65
+ let payload;
66
+ try {
67
+ payload = JSON.parse(result.stdout);
68
+ }
69
+ catch (exc) {
70
+ const message = exc instanceof Error ? exc.message : String(exc);
71
+ process.stderr.write(`Error: failed to parse gh CLI output for PR #${prNumber}: ${message}\n`);
72
+ return null;
73
+ }
74
+ const refs = payload.closingIssuesReferences;
75
+ if (!Array.isArray(refs)) {
76
+ const typeName = refs === null ? "null" : typeof refs;
77
+ process.stderr.write(`Error: unexpected closingIssuesReferences shape for PR #${prNumber} ` +
78
+ `(expected list, got ${typeName})\n`);
79
+ return null;
80
+ }
81
+ const linked = [];
82
+ for (const entry of refs) {
83
+ if (entry === null || typeof entry !== "object" || Array.isArray(entry)) {
84
+ continue;
85
+ }
86
+ const number = entry.number;
87
+ if (typeof number === "number" && Number.isInteger(number)) {
88
+ linked.push(number);
89
+ }
90
+ else if (typeof number === "string" && /^[0-9]+$/.test(number)) {
91
+ linked.push(Number(number));
92
+ }
93
+ }
94
+ return linked;
95
+ }
96
+ //# sourceMappingURL=gh.js.map
@@ -0,0 +1,6 @@
1
+ export { EXIT_EXTERNAL_ERROR, EXIT_OK, EXIT_PROTECTED_LINKED, GH_TIMEOUT_S, } from "./constants.js";
2
+ export { defaultRunGh, fetchClosingIssuesReferences } from "./gh.js";
3
+ export { cmdPrProtectedIssues, parseArgs, run } from "./main.js";
4
+ export { parseProtected } from "./parse.js";
5
+ export type { RunGhFn, RunGhResult } from "./types.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,5 @@
1
+ export { EXIT_EXTERNAL_ERROR, EXIT_OK, EXIT_PROTECTED_LINKED, GH_TIMEOUT_S, } from "./constants.js";
2
+ export { defaultRunGh, fetchClosingIssuesReferences } from "./gh.js";
3
+ export { cmdPrProtectedIssues, parseArgs, run } from "./main.js";
4
+ export { parseProtected } from "./parse.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,14 @@
1
+ import type { RunGhFn } from "./types.js";
2
+ export interface ParsedArgs {
3
+ readonly prNumber: number | null;
4
+ readonly protectedValues: readonly string[];
5
+ readonly repo: string | null;
6
+ readonly error?: string;
7
+ }
8
+ export declare function parseArgs(argv: readonly string[]): ParsedArgs;
9
+ export interface RunOptions {
10
+ readonly runGh?: RunGhFn;
11
+ }
12
+ export declare function run(argv: readonly string[], options?: RunOptions): number;
13
+ export declare function cmdPrProtectedIssues(argv: readonly string[], options?: RunOptions): number;
14
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1,128 @@
1
+ import { EXIT_EXTERNAL_ERROR, EXIT_OK, EXIT_PROTECTED_LINKED } from "./constants.js";
2
+ import { defaultRunGh, fetchClosingIssuesReferences } from "./gh.js";
3
+ import { parseProtected } from "./parse.js";
4
+ export function parseArgs(argv) {
5
+ let prNumber = null;
6
+ const protectedValues = [];
7
+ let repo = null;
8
+ for (let i = 0; i < argv.length; i += 1) {
9
+ const arg = argv[i];
10
+ if (arg === "--protected") {
11
+ const value = argv[i + 1];
12
+ if (value === undefined) {
13
+ return {
14
+ prNumber,
15
+ protectedValues,
16
+ repo,
17
+ error: "argument --protected: expected one argument",
18
+ };
19
+ }
20
+ protectedValues.push(value);
21
+ i += 1;
22
+ }
23
+ else if (arg?.startsWith("--protected=")) {
24
+ protectedValues.push(arg.slice("--protected=".length));
25
+ }
26
+ else if (arg === "--repo") {
27
+ const value = argv[i + 1];
28
+ if (value === undefined) {
29
+ return {
30
+ prNumber,
31
+ protectedValues,
32
+ repo,
33
+ error: "argument --repo: expected one argument",
34
+ };
35
+ }
36
+ repo = value;
37
+ i += 1;
38
+ }
39
+ else if (arg?.startsWith("--repo=")) {
40
+ repo = arg.slice("--repo=".length);
41
+ }
42
+ else if (arg?.startsWith("-")) {
43
+ return {
44
+ prNumber,
45
+ protectedValues,
46
+ repo,
47
+ error: `unrecognized arguments: ${arg}`,
48
+ };
49
+ }
50
+ else if (prNumber === null) {
51
+ const n = Number(arg);
52
+ if (!Number.isInteger(n)) {
53
+ return {
54
+ prNumber,
55
+ protectedValues,
56
+ repo,
57
+ error: `invalid PR number: ${arg}`,
58
+ };
59
+ }
60
+ prNumber = n;
61
+ }
62
+ else {
63
+ return {
64
+ prNumber,
65
+ protectedValues,
66
+ repo,
67
+ error: `unrecognized arguments: ${arg}`,
68
+ };
69
+ }
70
+ }
71
+ if (prNumber === null) {
72
+ return {
73
+ prNumber,
74
+ protectedValues,
75
+ repo,
76
+ error: "the following arguments are required: pr_number",
77
+ };
78
+ }
79
+ return { prNumber, protectedValues, repo };
80
+ }
81
+ export function run(argv, options = {}) {
82
+ const args = parseArgs(argv);
83
+ if (args.error !== undefined) {
84
+ process.stderr.write(`Error: ${args.error}\n`);
85
+ return EXIT_EXTERNAL_ERROR;
86
+ }
87
+ let protectedIssues;
88
+ try {
89
+ protectedIssues = parseProtected(args.protectedValues);
90
+ }
91
+ catch (exc) {
92
+ const message = exc instanceof Error ? exc.message : String(exc);
93
+ process.stderr.write(`Error: ${message}\n`);
94
+ return EXIT_EXTERNAL_ERROR;
95
+ }
96
+ if (protectedIssues.length === 0) {
97
+ process.stderr.write(`PR #${args.prNumber}: no --protected issues supplied; skipping check.\n`);
98
+ return EXIT_OK;
99
+ }
100
+ const runGh = options.runGh ?? defaultRunGh;
101
+ const linked = fetchClosingIssuesReferences(args.prNumber, args.repo, runGh);
102
+ if (linked === null) {
103
+ return EXIT_EXTERNAL_ERROR;
104
+ }
105
+ const linkedSorted = [...new Set(linked)].sort((a, b) => a - b);
106
+ process.stderr.write(`PR #${args.prNumber}: closingIssuesReferences = ${JSON.stringify(linkedSorted)}\n`);
107
+ const protectedSet = new Set(protectedIssues);
108
+ const overlap = linked.filter((n) => protectedSet.has(n));
109
+ const overlapSorted = [...new Set(overlap)].sort((a, b) => a - b);
110
+ if (overlapSorted.length > 0) {
111
+ const offenders = overlapSorted.map((n) => `#${n}`).join(", ");
112
+ process.stderr.write(`FAIL: PR #${args.prNumber} has persistent linked-issue relationships ` +
113
+ `with protected issue(s): ${offenders}. The link is recorded in GitHub's ` +
114
+ `database from a prior PR body revision (or sidebar attachment) and ` +
115
+ `survives subsequent body edits. Manually unlink via the PR's ` +
116
+ `'Development' sidebar panel (web UI -> PR -> right-side Development ` +
117
+ `section -> X next to the linked issue) before merging. See #701.\n`);
118
+ return EXIT_PROTECTED_LINKED;
119
+ }
120
+ const protectedStr = protectedIssues.map((n) => `#${n}`).join(", ");
121
+ process.stderr.write(`OK: PR #${args.prNumber} has no persistent links to any protected issue ` +
122
+ `(${protectedStr}). Safe to squash-merge with respect to Layer 3 (#701).\n`);
123
+ return EXIT_OK;
124
+ }
125
+ export function cmdPrProtectedIssues(argv, options = {}) {
126
+ return run(argv, options);
127
+ }
128
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Flatten comma-separated and repeated ``--protected`` flags into a sorted,
3
+ * deduplicated list. Raises on non-decimal tokens (mirrors Python ``isdecimal()``).
4
+ */
5
+ export declare function parseProtected(values: readonly string[]): number[];
6
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Flatten comma-separated and repeated ``--protected`` flags into a sorted,
3
+ * deduplicated list. Raises on non-decimal tokens (mirrors Python ``isdecimal()``).
4
+ */
5
+ export function parseProtected(values) {
6
+ const out = new Set();
7
+ for (const chunk of values) {
8
+ for (const raw of chunk.split(",")) {
9
+ const tok = raw.trim().replace(/^#/, "");
10
+ if (tok.length === 0) {
11
+ continue;
12
+ }
13
+ if (!/^[0-9]+$/.test(tok)) {
14
+ throw new Error(`Invalid protected issue token: '${tok}'`);
15
+ }
16
+ out.add(Number(tok));
17
+ }
18
+ }
19
+ return [...out].sort((a, b) => a - b);
20
+ }
21
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1,8 @@
1
+ export interface RunGhResult {
2
+ readonly returncode: number;
3
+ readonly stdout: string;
4
+ readonly stderr: string;
5
+ }
6
+ /** Injectable gh capture seam for tests and parity harnesses. */
7
+ export type RunGhFn = (cmd: readonly string[]) => RunGhResult;
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,12 @@
1
+ import type { MergeFn, MonitorFn, ProtectedCheckFn, WaitMergeableResult } from "./types.js";
2
+ export interface WaitMergeableOptions {
3
+ readonly protectedFn?: ProtectedCheckFn;
4
+ readonly monitorFn?: MonitorFn;
5
+ readonly mergeFn?: MergeFn;
6
+ }
7
+ /** Run protected-check -> wait -> merge cascade (#1369). */
8
+ export declare function waitMergeableAndMerge(prNumber: number, repo: string, options: {
9
+ readonly capMinutes: number;
10
+ readonly protected: readonly number[];
11
+ } & WaitMergeableOptions): WaitMergeableResult;
12
+ //# sourceMappingURL=cascade.d.ts.map
@@ -0,0 +1,107 @@
1
+ import { classifyMonitorOutcome, parseMonitorPayload } from "./classify.js";
2
+ import { EXIT_CONFIG_ERROR, EXIT_MERGED, EXIT_TIMEOUT_OR_ESCALATION } from "./constants.js";
3
+ import { makeResult } from "./result.js";
4
+ import { runGhMerge, runMonitor, runProtectedCheck } from "./wrappers.js";
5
+ /** Run protected-check -> wait -> merge cascade (#1369). */
6
+ export function waitMergeableAndMerge(prNumber, repo, options) {
7
+ const protectedFn = options.protectedFn ?? runProtectedCheck;
8
+ const monitorFn = options.monitorFn ?? runMonitor;
9
+ const mergeFn = options.mergeFn ?? runGhMerge;
10
+ const protectedIssues = options.protected;
11
+ let protectedCheckPayload = {};
12
+ if (protectedIssues.length > 0) {
13
+ const [prcRc, prcStdout, prcStderr] = protectedFn(prNumber, repo, protectedIssues);
14
+ protectedCheckPayload = {
15
+ returncode: prcRc,
16
+ stdout: prcStdout,
17
+ stderr: prcStderr,
18
+ protected: [...protectedIssues],
19
+ };
20
+ if (prcRc === 1) {
21
+ return makeResult({
22
+ prNumber,
23
+ repo,
24
+ outcome: "protected-linked",
25
+ exitCode: EXIT_TIMEOUT_OR_ESCALATION,
26
+ protectedCheck: protectedCheckPayload,
27
+ error: "PR has a persistent closingIssuesReferences link to a " +
28
+ "protected issue (#701). Unlink via the PR's Development " +
29
+ "sidebar before re-running.",
30
+ });
31
+ }
32
+ if (prcRc !== 0) {
33
+ return makeResult({
34
+ prNumber,
35
+ repo,
36
+ outcome: "config-error",
37
+ exitCode: EXIT_CONFIG_ERROR,
38
+ protectedCheck: protectedCheckPayload,
39
+ error: `protected-issue check exited ${prcRc} (config error). ` + `stderr: ${prcStderr.trim()}`,
40
+ });
41
+ }
42
+ }
43
+ const [monRc, monStdout, monStderr] = monitorFn(prNumber, repo, options.capMinutes);
44
+ const monitorPayload = parseMonitorPayload(monStdout);
45
+ const [outcome, monitorExit] = classifyMonitorOutcome(monRc, monitorPayload);
46
+ if (outcome !== "clean") {
47
+ const errorPayload = monitorExit === EXIT_MERGED
48
+ ? null
49
+ : monStderr.trim().length > 0
50
+ ? `monitor exited ${monRc} (outcome=${outcome}). stderr tail: ${monStderr.trim().slice(-200)}`
51
+ : `monitor exited ${monRc} (outcome=${outcome})`;
52
+ return makeResult({
53
+ prNumber,
54
+ repo,
55
+ outcome,
56
+ exitCode: monitorExit,
57
+ monitorResult: monitorPayload,
58
+ protectedCheck: protectedCheckPayload,
59
+ error: errorPayload,
60
+ });
61
+ }
62
+ const [mergeRc, mergeStdout, mergeStderr] = mergeFn(prNumber, repo);
63
+ if (mergeRc === 0) {
64
+ return makeResult({
65
+ prNumber,
66
+ repo,
67
+ outcome: "merged",
68
+ exitCode: EXIT_MERGED,
69
+ monitorResult: monitorPayload,
70
+ protectedCheck: protectedCheckPayload,
71
+ mergeStdout,
72
+ mergeStderr,
73
+ error: null,
74
+ });
75
+ }
76
+ if (mergeRc === -1) {
77
+ const tail = mergeStderr.trim();
78
+ return makeResult({
79
+ prNumber,
80
+ repo,
81
+ outcome: "config-error",
82
+ exitCode: EXIT_CONFIG_ERROR,
83
+ monitorResult: monitorPayload,
84
+ protectedCheck: protectedCheckPayload,
85
+ mergeStdout,
86
+ mergeStderr,
87
+ error: tail.length > 0
88
+ ? `gh pr merge wrapper failed at OS layer (rc=-1). stderr: ${tail.slice(-200)}`
89
+ : "gh pr merge wrapper failed at OS layer (rc=-1).",
90
+ });
91
+ }
92
+ const mergeTail = mergeStderr.trim();
93
+ return makeResult({
94
+ prNumber,
95
+ repo,
96
+ outcome: "merge-failed",
97
+ exitCode: EXIT_TIMEOUT_OR_ESCALATION,
98
+ monitorResult: monitorPayload,
99
+ protectedCheck: protectedCheckPayload,
100
+ mergeStdout,
101
+ mergeStderr,
102
+ error: mergeTail.length > 0
103
+ ? `gh pr merge exited ${mergeRc}. stderr: ${mergeTail.slice(-200)}`
104
+ : `gh pr merge exited ${mergeRc}`,
105
+ });
106
+ }
107
+ //# sourceMappingURL=cascade.js.map
@@ -0,0 +1,5 @@
1
+ /** Map monitor_pr exit code onto helper outcome + exit code. */
2
+ export declare function classifyMonitorOutcome(monitorReturncode: number, monitorPayload: Record<string, unknown>): readonly [string, number];
3
+ /** Parse the monitor's --json envelope. Returns {} on failure. */
4
+ export declare function parseMonitorPayload(stdout: string): Record<string, unknown>;
5
+ //# sourceMappingURL=classify.d.ts.map
@@ -0,0 +1,47 @@
1
+ import { EXIT_CONFIG_ERROR, EXIT_MERGED, EXIT_TIMEOUT_OR_ESCALATION } from "./constants.js";
2
+ /** Map monitor_pr exit code onto helper outcome + exit code. */
3
+ export function classifyMonitorOutcome(monitorReturncode, monitorPayload) {
4
+ if (monitorReturncode === 0) {
5
+ return ["clean", EXIT_MERGED];
6
+ }
7
+ if (monitorReturncode === 1) {
8
+ return ["cap-reached", EXIT_TIMEOUT_OR_ESCALATION];
9
+ }
10
+ if (monitorReturncode === 2) {
11
+ return ["config-error", EXIT_CONFIG_ERROR];
12
+ }
13
+ if (monitorReturncode === 3) {
14
+ const readiness = typeof monitorPayload.readiness === "object" &&
15
+ monitorPayload.readiness !== null &&
16
+ !Array.isArray(monitorPayload.readiness)
17
+ ? monitorPayload.readiness
18
+ : {};
19
+ const partial = typeof readiness.partial_data === "object" &&
20
+ readiness.partial_data !== null &&
21
+ !Array.isArray(readiness.partial_data)
22
+ ? readiness.partial_data
23
+ : {};
24
+ if (partial.merged === true) {
25
+ return ["merged-by-sibling", EXIT_MERGED];
26
+ }
27
+ return ["pr-closed", EXIT_TIMEOUT_OR_ESCALATION];
28
+ }
29
+ return ["config-error", EXIT_CONFIG_ERROR];
30
+ }
31
+ /** Parse the monitor's --json envelope. Returns {} on failure. */
32
+ export function parseMonitorPayload(stdout) {
33
+ if (stdout.trim().length === 0) {
34
+ return {};
35
+ }
36
+ try {
37
+ const payload = JSON.parse(stdout);
38
+ if (typeof payload === "object" && payload !== null && !Array.isArray(payload)) {
39
+ return payload;
40
+ }
41
+ }
42
+ catch {
43
+ return {};
44
+ }
45
+ return {};
46
+ }
47
+ //# sourceMappingURL=classify.js.map
@@ -0,0 +1,5 @@
1
+ /** Three-state exit codes — mirrors scripts/pr_wait_mergeable.py. */
2
+ export declare const EXIT_MERGED = 0;
3
+ export declare const EXIT_TIMEOUT_OR_ESCALATION = 1;
4
+ export declare const EXIT_CONFIG_ERROR = 2;
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1,5 @@
1
+ /** Three-state exit codes — mirrors scripts/pr_wait_mergeable.py. */
2
+ export const EXIT_MERGED = 0;
3
+ export const EXIT_TIMEOUT_OR_ESCALATION = 1;
4
+ export const EXIT_CONFIG_ERROR = 2;
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,8 @@
1
+ export { waitMergeableAndMerge } from "./cascade.js";
2
+ export { classifyMonitorOutcome, parseMonitorPayload } from "./classify.js";
3
+ export { EXIT_CONFIG_ERROR, EXIT_MERGED, EXIT_TIMEOUT_OR_ESCALATION, } from "./constants.js";
4
+ export { cmdPrWaitMergeable, parseWaitMergeableArgs, runWaitMergeable } from "./main.js";
5
+ export { makeResult, toResultDict } from "./result.js";
6
+ export type { MergeFn, MonitorFn, ProtectedCheckFn, SubprocessTriple, WaitMergeableResult, } from "./types.js";
7
+ export { captureExec, runGhMerge, runMonitor, runProtectedCheck, } from "./wrappers.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ export { waitMergeableAndMerge } from "./cascade.js";
2
+ export { classifyMonitorOutcome, parseMonitorPayload } from "./classify.js";
3
+ export { EXIT_CONFIG_ERROR, EXIT_MERGED, EXIT_TIMEOUT_OR_ESCALATION, } from "./constants.js";
4
+ export { cmdPrWaitMergeable, parseWaitMergeableArgs, runWaitMergeable } from "./main.js";
5
+ export { makeResult, toResultDict } from "./result.js";
6
+ export { captureExec, runGhMerge, runMonitor, runProtectedCheck, } from "./wrappers.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,18 @@
1
+ import { waitMergeableAndMerge } from "./cascade.js";
2
+ export interface ParsedWaitMergeableArgs {
3
+ readonly prNumber: number | null;
4
+ readonly repo: string | null;
5
+ readonly capMinutes: number;
6
+ readonly protectedValues: readonly string[];
7
+ readonly emitJson: boolean;
8
+ readonly error?: string;
9
+ }
10
+ export declare function parseWaitMergeableArgs(argv: readonly string[]): ParsedWaitMergeableArgs;
11
+ export interface RunWaitMergeableOptions {
12
+ readonly protectedFn?: Parameters<typeof waitMergeableAndMerge>[2]["protectedFn"];
13
+ readonly monitorFn?: Parameters<typeof waitMergeableAndMerge>[2]["monitorFn"];
14
+ readonly mergeFn?: Parameters<typeof waitMergeableAndMerge>[2]["mergeFn"];
15
+ }
16
+ export declare function runWaitMergeable(argv: readonly string[], options?: RunWaitMergeableOptions): number;
17
+ export declare function cmdPrWaitMergeable(argv: readonly string[], options?: RunWaitMergeableOptions): number;
18
+ //# sourceMappingURL=main.d.ts.map