dorfl 0.0.0 → 0.1.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 (619) hide show
  1. package/dist/advance-ci-template.d.ts +73 -0
  2. package/dist/advance-ci-template.d.ts.map +1 -0
  3. package/dist/advance-ci-template.js +104 -0
  4. package/dist/advance-ci-template.js.map +1 -0
  5. package/dist/advance-classify.d.ts +132 -0
  6. package/dist/advance-classify.d.ts.map +1 -0
  7. package/dist/advance-classify.js +120 -0
  8. package/dist/advance-classify.js.map +1 -0
  9. package/dist/advance-drivers.d.ts +182 -0
  10. package/dist/advance-drivers.d.ts.map +1 -0
  11. package/dist/advance-drivers.js +231 -0
  12. package/dist/advance-drivers.js.map +1 -0
  13. package/dist/advance-isolated.d.ts +156 -0
  14. package/dist/advance-isolated.d.ts.map +1 -0
  15. package/dist/advance-isolated.js +256 -0
  16. package/dist/advance-isolated.js.map +1 -0
  17. package/dist/advance-lifecycle-template.d.ts +107 -0
  18. package/dist/advance-lifecycle-template.d.ts.map +1 -0
  19. package/dist/advance-lifecycle-template.js +668 -0
  20. package/dist/advance-lifecycle-template.js.map +1 -0
  21. package/dist/advance-loop-driver.d.ts +325 -0
  22. package/dist/advance-loop-driver.d.ts.map +1 -0
  23. package/dist/advance-loop-driver.js +437 -0
  24. package/dist/advance-loop-driver.js.map +1 -0
  25. package/dist/advance-treeless-publish.d.ts +108 -0
  26. package/dist/advance-treeless-publish.d.ts.map +1 -0
  27. package/dist/advance-treeless-publish.js +71 -0
  28. package/dist/advance-treeless-publish.js.map +1 -0
  29. package/dist/advance.d.ts +340 -0
  30. package/dist/advance.d.ts.map +1 -0
  31. package/dist/advance.js +1122 -0
  32. package/dist/advance.js.map +1 -0
  33. package/dist/advancing-lock.d.ts +294 -0
  34. package/dist/advancing-lock.d.ts.map +1 -0
  35. package/dist/advancing-lock.js +594 -0
  36. package/dist/advancing-lock.js.map +1 -0
  37. package/dist/agent-launch.d.ts +79 -0
  38. package/dist/agent-launch.d.ts.map +1 -0
  39. package/dist/agent-launch.js +61 -0
  40. package/dist/agent-launch.js.map +1 -0
  41. package/dist/agent-stop.d.ts +149 -0
  42. package/dist/agent-stop.d.ts.map +1 -0
  43. package/dist/agent-stop.js +307 -0
  44. package/dist/agent-stop.js.map +1 -0
  45. package/dist/apply-decide.d.ts +127 -0
  46. package/dist/apply-decide.d.ts.map +1 -0
  47. package/dist/apply-decide.js +176 -0
  48. package/dist/apply-decide.js.map +1 -0
  49. package/dist/apply-merge-action.d.ts +206 -0
  50. package/dist/apply-merge-action.d.ts.map +1 -0
  51. package/dist/apply-merge-action.js +307 -0
  52. package/dist/apply-merge-action.js.map +1 -0
  53. package/dist/apply-persist.d.ts +174 -0
  54. package/dist/apply-persist.d.ts.map +1 -0
  55. package/dist/apply-persist.js +359 -0
  56. package/dist/apply-persist.js.map +1 -0
  57. package/dist/arbiter.d.ts +120 -0
  58. package/dist/arbiter.d.ts.map +1 -0
  59. package/dist/arbiter.js +255 -0
  60. package/dist/arbiter.js.map +1 -0
  61. package/dist/brand.d.ts +70 -0
  62. package/dist/brand.d.ts.map +1 -0
  63. package/dist/brand.js +84 -0
  64. package/dist/brand.js.map +1 -0
  65. package/dist/buildable-body.d.ts +132 -0
  66. package/dist/buildable-body.d.ts.map +1 -0
  67. package/dist/buildable-body.js +131 -0
  68. package/dist/buildable-body.js.map +1 -0
  69. package/dist/categorise.d.ts +66 -0
  70. package/dist/categorise.d.ts.map +1 -0
  71. package/dist/categorise.js +106 -0
  72. package/dist/categorise.js.map +1 -0
  73. package/dist/claim-cas.d.ts +117 -0
  74. package/dist/claim-cas.d.ts.map +1 -0
  75. package/dist/claim-cas.js +312 -0
  76. package/dist/claim-cas.js.map +1 -0
  77. package/dist/cli-spinner.d.ts +112 -0
  78. package/dist/cli-spinner.d.ts.map +1 -0
  79. package/dist/cli-spinner.js +157 -0
  80. package/dist/cli-spinner.js.map +1 -0
  81. package/dist/cli.d.ts +11 -0
  82. package/dist/cli.d.ts.map +1 -0
  83. package/dist/cli.js +3094 -0
  84. package/dist/cli.js.map +1 -0
  85. package/dist/close-job-template.d.ts +70 -0
  86. package/dist/close-job-template.d.ts.map +1 -0
  87. package/dist/close-job-template.js +180 -0
  88. package/dist/close-job-template.js.map +1 -0
  89. package/dist/close-job.d.ts +95 -0
  90. package/dist/close-job.d.ts.map +1 -0
  91. package/dist/close-job.js +226 -0
  92. package/dist/close-job.js.map +1 -0
  93. package/dist/complete.d.ts +361 -0
  94. package/dist/complete.d.ts.map +1 -0
  95. package/dist/complete.js +885 -0
  96. package/dist/complete.js.map +1 -0
  97. package/dist/concurrency.d.ts +68 -0
  98. package/dist/concurrency.d.ts.map +1 -0
  99. package/dist/concurrency.js +112 -0
  100. package/dist/concurrency.js.map +1 -0
  101. package/dist/config-override.d.ts +76 -0
  102. package/dist/config-override.d.ts.map +1 -0
  103. package/dist/config-override.js +50 -0
  104. package/dist/config-override.js.map +1 -0
  105. package/dist/config.d.ts +668 -0
  106. package/dist/config.d.ts.map +1 -0
  107. package/dist/config.js +241 -0
  108. package/dist/config.js.map +1 -0
  109. package/dist/continue-branch.d.ts +249 -0
  110. package/dist/continue-branch.d.ts.map +1 -0
  111. package/dist/continue-branch.js +389 -0
  112. package/dist/continue-branch.js.map +1 -0
  113. package/dist/cwd-section.d.ts +186 -0
  114. package/dist/cwd-section.d.ts.map +1 -0
  115. package/dist/cwd-section.js +209 -0
  116. package/dist/cwd-section.js.map +1 -0
  117. package/dist/decision-engine.d.ts +170 -0
  118. package/dist/decision-engine.d.ts.map +1 -0
  119. package/dist/decision-engine.js +136 -0
  120. package/dist/decision-engine.js.map +1 -0
  121. package/dist/detect.d.ts +17 -0
  122. package/dist/detect.d.ts.map +1 -0
  123. package/dist/detect.js +118 -0
  124. package/dist/detect.js.map +1 -0
  125. package/dist/do-autopick.d.ts +85 -0
  126. package/dist/do-autopick.d.ts.map +1 -0
  127. package/dist/do-autopick.js +112 -0
  128. package/dist/do-autopick.js.map +1 -0
  129. package/dist/do-config.d.ts +312 -0
  130. package/dist/do-config.d.ts.map +1 -0
  131. package/dist/do-config.js +358 -0
  132. package/dist/do-config.js.map +1 -0
  133. package/dist/do-remote-auto.d.ts +75 -0
  134. package/dist/do-remote-auto.d.ts.map +1 -0
  135. package/dist/do-remote-auto.js +111 -0
  136. package/dist/do-remote-auto.js.map +1 -0
  137. package/dist/do.d.ts +621 -0
  138. package/dist/do.d.ts.map +1 -0
  139. package/dist/do.js +1882 -0
  140. package/dist/do.js.map +1 -0
  141. package/dist/drop-source.d.ts +96 -0
  142. package/dist/drop-source.d.ts.map +1 -0
  143. package/dist/drop-source.js +91 -0
  144. package/dist/drop-source.js.map +1 -0
  145. package/dist/eligibility.d.ts +46 -0
  146. package/dist/eligibility.d.ts.map +1 -0
  147. package/dist/eligibility.js +34 -0
  148. package/dist/eligibility.js.map +1 -0
  149. package/dist/env-config.d.ts +51 -0
  150. package/dist/env-config.d.ts.map +1 -0
  151. package/dist/env-config.js +272 -0
  152. package/dist/env-config.js.map +1 -0
  153. package/dist/failure-cause.d.ts +70 -0
  154. package/dist/failure-cause.d.ts.map +1 -0
  155. package/dist/failure-cause.js +126 -0
  156. package/dist/failure-cause.js.map +1 -0
  157. package/dist/format.d.ts +43 -0
  158. package/dist/format.d.ts.map +1 -0
  159. package/dist/format.js +256 -0
  160. package/dist/format.js.map +1 -0
  161. package/dist/frontmatter.d.ts +215 -0
  162. package/dist/frontmatter.d.ts.map +1 -0
  163. package/dist/frontmatter.js +345 -0
  164. package/dist/frontmatter.js.map +1 -0
  165. package/dist/gate-readiness.d.ts +84 -0
  166. package/dist/gate-readiness.d.ts.map +1 -0
  167. package/dist/gate-readiness.js +103 -0
  168. package/dist/gate-readiness.js.map +1 -0
  169. package/dist/gc.d.ts +165 -0
  170. package/dist/gc.d.ts.map +1 -0
  171. package/dist/gc.js +313 -0
  172. package/dist/gc.js.map +1 -0
  173. package/dist/gh-failure.d.ts +42 -0
  174. package/dist/gh-failure.d.ts.map +1 -0
  175. package/dist/gh-failure.js +49 -0
  176. package/dist/gh-failure.js.map +1 -0
  177. package/dist/git.d.ts +75 -0
  178. package/dist/git.d.ts.map +1 -0
  179. package/dist/git.js +130 -0
  180. package/dist/git.js.map +1 -0
  181. package/dist/github.d.ts +187 -0
  182. package/dist/github.d.ts.map +1 -0
  183. package/dist/github.js +343 -0
  184. package/dist/github.js.map +1 -0
  185. package/dist/harness.d.ts +242 -0
  186. package/dist/harness.d.ts.map +1 -0
  187. package/dist/harness.js +157 -0
  188. package/dist/harness.js.map +1 -0
  189. package/dist/identity.d.ts +167 -0
  190. package/dist/identity.d.ts.map +1 -0
  191. package/dist/identity.js +231 -0
  192. package/dist/identity.js.map +1 -0
  193. package/dist/index.d.ts +147 -0
  194. package/dist/index.d.ts.map +1 -0
  195. package/dist/index.js +76 -0
  196. package/dist/index.js.map +1 -0
  197. package/dist/install-ci-branch-protection.d.ts +147 -0
  198. package/dist/install-ci-branch-protection.d.ts.map +1 -0
  199. package/dist/install-ci-branch-protection.js +166 -0
  200. package/dist/install-ci-branch-protection.js.map +1 -0
  201. package/dist/install-ci-capabilities/advance-lifecycle.d.ts +15 -0
  202. package/dist/install-ci-capabilities/advance-lifecycle.d.ts.map +1 -0
  203. package/dist/install-ci-capabilities/advance-lifecycle.js +28 -0
  204. package/dist/install-ci-capabilities/advance-lifecycle.js.map +1 -0
  205. package/dist/install-ci-capabilities/close-job.d.ts +13 -0
  206. package/dist/install-ci-capabilities/close-job.d.ts.map +1 -0
  207. package/dist/install-ci-capabilities/close-job.js +26 -0
  208. package/dist/install-ci-capabilities/close-job.js.map +1 -0
  209. package/dist/install-ci-capabilities/example-noop.d.ts +16 -0
  210. package/dist/install-ci-capabilities/example-noop.d.ts.map +1 -0
  211. package/dist/install-ci-capabilities/example-noop.js +23 -0
  212. package/dist/install-ci-capabilities/example-noop.js.map +1 -0
  213. package/dist/install-ci-capabilities/intake.d.ts +15 -0
  214. package/dist/install-ci-capabilities/intake.d.ts.map +1 -0
  215. package/dist/install-ci-capabilities/intake.js +28 -0
  216. package/dist/install-ci-capabilities/intake.js.map +1 -0
  217. package/dist/install-ci-capabilities/verify.d.ts +14 -0
  218. package/dist/install-ci-capabilities/verify.d.ts.map +1 -0
  219. package/dist/install-ci-capabilities/verify.js +27 -0
  220. package/dist/install-ci-capabilities/verify.js.map +1 -0
  221. package/dist/install-ci-core.d.ts +446 -0
  222. package/dist/install-ci-core.d.ts.map +1 -0
  223. package/dist/install-ci-core.js +760 -0
  224. package/dist/install-ci-core.js.map +1 -0
  225. package/dist/install-ci-github.d.ts +167 -0
  226. package/dist/install-ci-github.d.ts.map +1 -0
  227. package/dist/install-ci-github.js +315 -0
  228. package/dist/install-ci-github.js.map +1 -0
  229. package/dist/install-ci.d.ts +105 -0
  230. package/dist/install-ci.d.ts.map +1 -0
  231. package/dist/install-ci.js +363 -0
  232. package/dist/install-ci.js.map +1 -0
  233. package/dist/intake-event.d.ts +88 -0
  234. package/dist/intake-event.d.ts.map +1 -0
  235. package/dist/intake-event.js +66 -0
  236. package/dist/intake-event.js.map +1 -0
  237. package/dist/intake-marker.d.ts +95 -0
  238. package/dist/intake-marker.d.ts.map +1 -0
  239. package/dist/intake-marker.js +127 -0
  240. package/dist/intake-marker.js.map +1 -0
  241. package/dist/intake-triage.d.ts +48 -0
  242. package/dist/intake-triage.d.ts.map +1 -0
  243. package/dist/intake-triage.js +95 -0
  244. package/dist/intake-triage.js.map +1 -0
  245. package/dist/intake-trigger-template.d.ts +185 -0
  246. package/dist/intake-trigger-template.d.ts.map +1 -0
  247. package/dist/intake-trigger-template.js +449 -0
  248. package/dist/intake-trigger-template.js.map +1 -0
  249. package/dist/intake.d.ts +569 -0
  250. package/dist/intake.d.ts.map +1 -0
  251. package/dist/intake.js +1628 -0
  252. package/dist/intake.js.map +1 -0
  253. package/dist/integration-core.d.ts +539 -0
  254. package/dist/integration-core.d.ts.map +1 -0
  255. package/dist/integration-core.js +2195 -0
  256. package/dist/integration-core.js.map +1 -0
  257. package/dist/integrator.d.ts +343 -0
  258. package/dist/integrator.d.ts.map +1 -0
  259. package/dist/integrator.js +400 -0
  260. package/dist/integrator.js.map +1 -0
  261. package/dist/isolation.d.ts +219 -0
  262. package/dist/isolation.d.ts.map +1 -0
  263. package/dist/isolation.js +261 -0
  264. package/dist/isolation.js.map +1 -0
  265. package/dist/issue-provider.d.ts +349 -0
  266. package/dist/issue-provider.d.ts.map +1 -0
  267. package/dist/issue-provider.js +360 -0
  268. package/dist/issue-provider.js.map +1 -0
  269. package/dist/item-lock.d.ts +626 -0
  270. package/dist/item-lock.d.ts.map +1 -0
  271. package/dist/item-lock.js +1381 -0
  272. package/dist/item-lock.js.map +1 -0
  273. package/dist/item-path.d.ts +49 -0
  274. package/dist/item-path.d.ts.map +1 -0
  275. package/dist/item-path.js +66 -0
  276. package/dist/item-path.js.map +1 -0
  277. package/dist/ledger-lint.d.ts +129 -0
  278. package/dist/ledger-lint.d.ts.map +1 -0
  279. package/dist/ledger-lint.js +249 -0
  280. package/dist/ledger-lint.js.map +1 -0
  281. package/dist/ledger-read.d.ts +357 -0
  282. package/dist/ledger-read.d.ts.map +1 -0
  283. package/dist/ledger-read.js +442 -0
  284. package/dist/ledger-read.js.map +1 -0
  285. package/dist/ledger-write.d.ts +330 -0
  286. package/dist/ledger-write.d.ts.map +1 -0
  287. package/dist/ledger-write.js +411 -0
  288. package/dist/ledger-write.js.map +1 -0
  289. package/dist/lifecycle-gather.d.ts +30 -0
  290. package/dist/lifecycle-gather.d.ts.map +1 -0
  291. package/dist/lifecycle-gather.js +205 -0
  292. package/dist/lifecycle-gather.js.map +1 -0
  293. package/dist/lifecycle-pools.d.ts +180 -0
  294. package/dist/lifecycle-pools.d.ts.map +1 -0
  295. package/dist/lifecycle-pools.js +78 -0
  296. package/dist/lifecycle-pools.js.map +1 -0
  297. package/dist/merge-question-surfacer.d.ts +166 -0
  298. package/dist/merge-question-surfacer.d.ts.map +1 -0
  299. package/dist/merge-question-surfacer.js +297 -0
  300. package/dist/merge-question-surfacer.js.map +1 -0
  301. package/dist/mint-adr.d.ts +126 -0
  302. package/dist/mint-adr.d.ts.map +1 -0
  303. package/dist/mint-adr.js +257 -0
  304. package/dist/mint-adr.js.map +1 -0
  305. package/dist/mirror-pool-scan.d.ts +125 -0
  306. package/dist/mirror-pool-scan.d.ts.map +1 -0
  307. package/dist/mirror-pool-scan.js +104 -0
  308. package/dist/mirror-pool-scan.js.map +1 -0
  309. package/dist/needs-attention.d.ts +341 -0
  310. package/dist/needs-attention.d.ts.map +1 -0
  311. package/dist/needs-attention.js +900 -0
  312. package/dist/needs-attention.js.map +1 -0
  313. package/dist/orphan-sidecar.d.ts +79 -0
  314. package/dist/orphan-sidecar.d.ts.map +1 -0
  315. package/dist/orphan-sidecar.js +71 -0
  316. package/dist/orphan-sidecar.js.map +1 -0
  317. package/dist/output.d.ts +48 -0
  318. package/dist/output.d.ts.map +1 -0
  319. package/dist/output.js +66 -0
  320. package/dist/output.js.map +1 -0
  321. package/dist/pi-harness.d.ts +179 -0
  322. package/dist/pi-harness.d.ts.map +1 -0
  323. package/dist/pi-harness.js +342 -0
  324. package/dist/pi-harness.js.map +1 -0
  325. package/dist/placement.d.ts +99 -0
  326. package/dist/placement.d.ts.map +1 -0
  327. package/dist/placement.js +67 -0
  328. package/dist/placement.js.map +1 -0
  329. package/dist/prd-to-spec.d.ts +315 -0
  330. package/dist/prd-to-spec.d.ts.map +1 -0
  331. package/dist/prd-to-spec.js +684 -0
  332. package/dist/prd-to-spec.js.map +1 -0
  333. package/dist/prepare.d.ts +121 -0
  334. package/dist/prepare.d.ts.map +1 -0
  335. package/dist/prepare.js +140 -0
  336. package/dist/prepare.js.map +1 -0
  337. package/dist/prompt.d.ts +360 -0
  338. package/dist/prompt.d.ts.map +1 -0
  339. package/dist/prompt.js +499 -0
  340. package/dist/prompt.js.map +1 -0
  341. package/dist/protocol/ADR-FORMAT.md +47 -0
  342. package/dist/protocol/CLAIM-PROTOCOL.md +217 -0
  343. package/dist/protocol/REVIEW-PROTOCOL.md +119 -0
  344. package/dist/protocol/SURFACE-PROTOCOL.md +121 -0
  345. package/dist/protocol/TASKING-PROTOCOL.md +122 -0
  346. package/dist/protocol/WORK-CONTRACT.md +276 -0
  347. package/dist/protocol/spec-template.md +71 -0
  348. package/dist/protocol/task-template.md +65 -0
  349. package/dist/readiness.d.ts +66 -0
  350. package/dist/readiness.d.ts.map +1 -0
  351. package/dist/readiness.js +36 -0
  352. package/dist/readiness.js.map +1 -0
  353. package/dist/reap-branches.d.ts +102 -0
  354. package/dist/reap-branches.d.ts.map +1 -0
  355. package/dist/reap-branches.js +149 -0
  356. package/dist/reap-branches.js.map +1 -0
  357. package/dist/recover-isolated.d.ts +72 -0
  358. package/dist/recover-isolated.d.ts.map +1 -0
  359. package/dist/recover-isolated.js +188 -0
  360. package/dist/recover-isolated.js.map +1 -0
  361. package/dist/registry.d.ts +172 -0
  362. package/dist/registry.d.ts.map +1 -0
  363. package/dist/registry.js +296 -0
  364. package/dist/registry.js.map +1 -0
  365. package/dist/repo-config.d.ts +201 -0
  366. package/dist/repo-config.d.ts.map +1 -0
  367. package/dist/repo-config.js +414 -0
  368. package/dist/repo-config.js.map +1 -0
  369. package/dist/repo-key.d.ts +20 -0
  370. package/dist/repo-key.d.ts.map +1 -0
  371. package/dist/repo-key.js +68 -0
  372. package/dist/repo-key.js.map +1 -0
  373. package/dist/repo-mirror.d.ts +177 -0
  374. package/dist/repo-mirror.d.ts.map +1 -0
  375. package/dist/repo-mirror.js +271 -0
  376. package/dist/repo-mirror.js.map +1 -0
  377. package/dist/retry-backoff.d.ts +90 -0
  378. package/dist/retry-backoff.d.ts.map +1 -0
  379. package/dist/retry-backoff.js +98 -0
  380. package/dist/retry-backoff.js.map +1 -0
  381. package/dist/review-gate.d.ts +173 -0
  382. package/dist/review-gate.d.ts.map +1 -0
  383. package/dist/review-gate.js +261 -0
  384. package/dist/review-gate.js.map +1 -0
  385. package/dist/review-verdict.d.ts +149 -0
  386. package/dist/review-verdict.d.ts.map +1 -0
  387. package/dist/review-verdict.js +332 -0
  388. package/dist/review-verdict.js.map +1 -0
  389. package/dist/run.d.ts +221 -0
  390. package/dist/run.d.ts.map +1 -0
  391. package/dist/run.js +963 -0
  392. package/dist/run.js.map +1 -0
  393. package/dist/scan.d.ts +308 -0
  394. package/dist/scan.d.ts.map +1 -0
  395. package/dist/scan.js +374 -0
  396. package/dist/scan.js.map +1 -0
  397. package/dist/select-order.d.ts +75 -0
  398. package/dist/select-order.d.ts.map +1 -0
  399. package/dist/select-order.js +108 -0
  400. package/dist/select-order.js.map +1 -0
  401. package/dist/select-priority.d.ts +188 -0
  402. package/dist/select-priority.d.ts.map +1 -0
  403. package/dist/select-priority.js +80 -0
  404. package/dist/select-priority.js.map +1 -0
  405. package/dist/select.d.ts +25 -0
  406. package/dist/select.d.ts.map +1 -0
  407. package/dist/select.js +43 -0
  408. package/dist/select.js.map +1 -0
  409. package/dist/session-path.d.ts +36 -0
  410. package/dist/session-path.d.ts.map +1 -0
  411. package/dist/session-path.js +129 -0
  412. package/dist/session-path.js.map +1 -0
  413. package/dist/sidecar-apply.d.ts +83 -0
  414. package/dist/sidecar-apply.d.ts.map +1 -0
  415. package/dist/sidecar-apply.js +111 -0
  416. package/dist/sidecar-apply.js.map +1 -0
  417. package/dist/sidecar.d.ts +245 -0
  418. package/dist/sidecar.d.ts.map +1 -0
  419. package/dist/sidecar.js +481 -0
  420. package/dist/sidecar.js.map +1 -0
  421. package/dist/slug-namespace.d.ts +204 -0
  422. package/dist/slug-namespace.d.ts.map +1 -0
  423. package/dist/slug-namespace.js +229 -0
  424. package/dist/slug-namespace.js.map +1 -0
  425. package/dist/spec-complete.d.ts +44 -0
  426. package/dist/spec-complete.d.ts.map +1 -0
  427. package/dist/spec-complete.js +69 -0
  428. package/dist/spec-complete.js.map +1 -0
  429. package/dist/start.d.ts +97 -0
  430. package/dist/start.d.ts.map +1 -0
  431. package/dist/start.js +633 -0
  432. package/dist/start.js.map +1 -0
  433. package/dist/status.d.ts +199 -0
  434. package/dist/status.d.ts.map +1 -0
  435. package/dist/status.js +228 -0
  436. package/dist/status.js.map +1 -0
  437. package/dist/surface-gate.d.ts +162 -0
  438. package/dist/surface-gate.d.ts.map +1 -0
  439. package/dist/surface-gate.js +206 -0
  440. package/dist/surface-gate.js.map +1 -0
  441. package/dist/surface-persist.d.ts +86 -0
  442. package/dist/surface-persist.d.ts.map +1 -0
  443. package/dist/surface-persist.js +129 -0
  444. package/dist/surface-persist.js.map +1 -0
  445. package/dist/tasker-review-loop.d.ts +249 -0
  446. package/dist/tasker-review-loop.d.ts.map +1 -0
  447. package/dist/tasker-review-loop.js +369 -0
  448. package/dist/tasker-review-loop.js.map +1 -0
  449. package/dist/tasking-eligibility.d.ts +74 -0
  450. package/dist/tasking-eligibility.d.ts.map +1 -0
  451. package/dist/tasking-eligibility.js +52 -0
  452. package/dist/tasking-eligibility.js.map +1 -0
  453. package/dist/tasking-lock.d.ts +111 -0
  454. package/dist/tasking-lock.d.ts.map +1 -0
  455. package/dist/tasking-lock.js +256 -0
  456. package/dist/tasking-lock.js.map +1 -0
  457. package/dist/tasking.d.ts +275 -0
  458. package/dist/tasking.d.ts.map +1 -0
  459. package/dist/tasking.js +952 -0
  460. package/dist/tasking.js.map +1 -0
  461. package/dist/triage-gate.d.ts +127 -0
  462. package/dist/triage-gate.d.ts.map +1 -0
  463. package/dist/triage-gate.js +139 -0
  464. package/dist/triage-gate.js.map +1 -0
  465. package/dist/triage-persist.d.ts +163 -0
  466. package/dist/triage-persist.d.ts.map +1 -0
  467. package/dist/triage-persist.js +387 -0
  468. package/dist/triage-persist.js.map +1 -0
  469. package/dist/verdict-json.d.ts +32 -0
  470. package/dist/verdict-json.d.ts.map +1 -0
  471. package/dist/verdict-json.js +74 -0
  472. package/dist/verdict-json.js.map +1 -0
  473. package/dist/verify-workflow-template.d.ts +60 -0
  474. package/dist/verify-workflow-template.d.ts.map +1 -0
  475. package/dist/verify-workflow-template.js +126 -0
  476. package/dist/verify-workflow-template.js.map +1 -0
  477. package/dist/verify.d.ts +60 -0
  478. package/dist/verify.d.ts.map +1 -0
  479. package/dist/verify.js +62 -0
  480. package/dist/verify.js.map +1 -0
  481. package/dist/watch-session.d.ts +112 -0
  482. package/dist/watch-session.d.ts.map +1 -0
  483. package/dist/watch-session.js +347 -0
  484. package/dist/watch-session.js.map +1 -0
  485. package/dist/work-layout.d.ts +198 -0
  486. package/dist/work-layout.d.ts.map +1 -0
  487. package/dist/work-layout.js +217 -0
  488. package/dist/work-layout.js.map +1 -0
  489. package/dist/work-on.d.ts +154 -0
  490. package/dist/work-on.d.ts.map +1 -0
  491. package/dist/work-on.js +387 -0
  492. package/dist/work-on.js.map +1 -0
  493. package/dist/workspace.d.ts +224 -0
  494. package/dist/workspace.d.ts.map +1 -0
  495. package/dist/workspace.js +325 -0
  496. package/dist/workspace.js.map +1 -0
  497. package/package.json +46 -2
  498. package/src/advance-ci-template.ts +203 -0
  499. package/src/advance-classify.ts +197 -0
  500. package/src/advance-drivers.ts +414 -0
  501. package/src/advance-isolated.ts +432 -0
  502. package/src/advance-lifecycle-template.ts +791 -0
  503. package/src/advance-loop-driver.ts +745 -0
  504. package/src/advance-treeless-publish.ts +177 -0
  505. package/src/advance.ts +1564 -0
  506. package/src/advancing-lock.ts +988 -0
  507. package/src/agent-launch.ts +137 -0
  508. package/src/agent-stop.ts +361 -0
  509. package/src/apply-decide.ts +242 -0
  510. package/src/apply-merge-action.ts +502 -0
  511. package/src/apply-persist.ts +518 -0
  512. package/src/arbiter.ts +372 -0
  513. package/src/brand.ts +111 -0
  514. package/src/buildable-body.ts +196 -0
  515. package/src/categorise.ts +158 -0
  516. package/src/claim-cas.ts +513 -0
  517. package/src/cli-spinner.ts +225 -0
  518. package/src/cli.ts +4369 -0
  519. package/src/close-job-template.ts +236 -0
  520. package/src/close-job.ts +319 -0
  521. package/src/complete.ts +1379 -0
  522. package/src/concurrency.ts +151 -0
  523. package/src/config-override.ts +116 -0
  524. package/src/config.ts +883 -0
  525. package/src/continue-branch.ts +542 -0
  526. package/src/cwd-section.ts +392 -0
  527. package/src/decision-engine.ts +272 -0
  528. package/src/detect.ts +124 -0
  529. package/src/do-autopick.ts +223 -0
  530. package/src/do-config.ts +589 -0
  531. package/src/do-remote-auto.ts +197 -0
  532. package/src/do.ts +2623 -0
  533. package/src/drop-source.ts +194 -0
  534. package/src/eligibility.ts +79 -0
  535. package/src/env-config.ts +305 -0
  536. package/src/failure-cause.ts +142 -0
  537. package/src/format.ts +313 -0
  538. package/src/frontmatter.ts +485 -0
  539. package/src/gate-readiness.ts +147 -0
  540. package/src/gc.ts +510 -0
  541. package/src/gh-failure.ts +53 -0
  542. package/src/git.ts +186 -0
  543. package/src/github.ts +468 -0
  544. package/src/harness.ts +355 -0
  545. package/src/identity.ts +322 -0
  546. package/src/index.ts +785 -0
  547. package/src/install-ci-branch-protection.ts +255 -0
  548. package/src/install-ci-capabilities/advance-lifecycle.ts +34 -0
  549. package/src/install-ci-capabilities/close-job.ts +32 -0
  550. package/src/install-ci-capabilities/example-noop.ts +24 -0
  551. package/src/install-ci-capabilities/intake.ts +34 -0
  552. package/src/install-ci-capabilities/verify.ts +33 -0
  553. package/src/install-ci-core.ts +1088 -0
  554. package/src/install-ci-github.ts +376 -0
  555. package/src/install-ci.ts +552 -0
  556. package/src/intake-event.ts +102 -0
  557. package/src/intake-marker.ts +195 -0
  558. package/src/intake-triage.ts +138 -0
  559. package/src/intake-trigger-template.ts +591 -0
  560. package/src/intake.ts +2445 -0
  561. package/src/integration-core.ts +3065 -0
  562. package/src/integrator.ts +771 -0
  563. package/src/isolation.ts +484 -0
  564. package/src/issue-provider.ts +733 -0
  565. package/src/item-lock.ts +1858 -0
  566. package/src/item-path.ts +75 -0
  567. package/src/ledger-lint.ts +332 -0
  568. package/src/ledger-read.ts +924 -0
  569. package/src/ledger-write.ts +865 -0
  570. package/src/lifecycle-gather.ts +298 -0
  571. package/src/lifecycle-pools.ts +250 -0
  572. package/src/merge-question-surfacer.ts +496 -0
  573. package/src/mint-adr.ts +362 -0
  574. package/src/mirror-pool-scan.ts +240 -0
  575. package/src/needs-attention.ts +1506 -0
  576. package/src/orphan-sidecar.ts +150 -0
  577. package/src/output.ts +89 -0
  578. package/src/pi-harness.ts +403 -0
  579. package/src/placement.ts +131 -0
  580. package/src/prd-to-spec.ts +1023 -0
  581. package/src/prepare.ts +230 -0
  582. package/src/prompt.ts +760 -0
  583. package/src/readiness.ts +98 -0
  584. package/src/reap-branches.ts +278 -0
  585. package/src/recover-isolated.ts +276 -0
  586. package/src/registry.ts +475 -0
  587. package/src/repo-config.ts +550 -0
  588. package/src/repo-key.ts +74 -0
  589. package/src/repo-mirror.ts +367 -0
  590. package/src/retry-backoff.ts +130 -0
  591. package/src/review-gate.ts +389 -0
  592. package/src/review-verdict.ts +422 -0
  593. package/src/run.ts +1430 -0
  594. package/src/scan.ts +611 -0
  595. package/src/select-order.ts +143 -0
  596. package/src/select-priority.ts +266 -0
  597. package/src/select.ts +62 -0
  598. package/src/session-path.ts +153 -0
  599. package/src/sidecar-apply.ts +216 -0
  600. package/src/sidecar.ts +700 -0
  601. package/src/slug-namespace.ts +367 -0
  602. package/src/spec-complete.ts +118 -0
  603. package/src/start.ts +974 -0
  604. package/src/status.ts +441 -0
  605. package/src/surface-gate.ts +337 -0
  606. package/src/surface-persist.ts +241 -0
  607. package/src/tasker-review-loop.ts +671 -0
  608. package/src/tasking-eligibility.ts +114 -0
  609. package/src/tasking-lock.ts +416 -0
  610. package/src/tasking.ts +1438 -0
  611. package/src/triage-gate.ts +248 -0
  612. package/src/triage-persist.ts +570 -0
  613. package/src/verdict-json.ts +73 -0
  614. package/src/verify-workflow-template.ts +159 -0
  615. package/src/verify.ts +123 -0
  616. package/src/watch-session.ts +397 -0
  617. package/src/work-layout.ts +262 -0
  618. package/src/work-on.ts +660 -0
  619. package/src/workspace.ts +502 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"needs-attention.js","sourceRoot":"","sources":["../src/needs-attention.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * The **orphan-sidecar reaper** — the WORKING-TREE counterpart of the job-worktree
3
+ * and remote-branch reapers (`gc.ts` / `reap-branches.ts`), folded into `dorfl gc`
4
+ * (prd `agentic-question-resolution-retire-disposition-vocabulary`, US #10).
5
+ *
6
+ * A question sidecar is a tooling-owned file `work/questions/<type>-<slug>.md`
7
+ * keyed on its source item's `(type, slug)` identity (`sidecarPathFor`). The
8
+ * contract is that notes/sidecars leave by DELETION (git history is the archive),
9
+ * so when a human deletes the source observation (or task/prd) out-of-band, its
10
+ * sidecar is ORPHANED.
11
+ *
12
+ * WHY THIS IS A SWEEP, NOT AN APPLY STEP. An orphan's source item is GONE, so it
13
+ * is in NO lifecycle pool. The advance driver enumerates ITEMS in the pools and
14
+ * looks up THEIR sidecars; it never enumerates orphaned sidecars. So no per-item
15
+ * `advance` tick (`apply`/`no-op`) ever runs on an orphan — the classifier never
16
+ * sees it. The orphan's only on-disk trace is the sidecar file itself. Therefore
17
+ * this reap enumerates `work/questions/` DIRECTLY and checks each sidecar's source
18
+ * existence by IDENTITY.
19
+ *
20
+ * The existence check REUSES the keystone's extracted `resolveItemPathByIdentity`
21
+ * (`item-path.ts`, the neutral re-exported seam) — the same working-tree,
22
+ * by-identity "does the source item exist?" resolver the apply rung uses — never a
23
+ * forked second resolver. A sidecar whose source EXISTS is left untouched; a
24
+ * sidecar whose source is ABSENT is `git rm`'d (deletion, not a `git mv`: the
25
+ * sidecar leaves by deletion, recoverable from git history).
26
+ */
27
+ /** A sidecar the orphan sweep reaped (its source item was absent). */
28
+ export interface ReapedSidecar {
29
+ /** The repo-relative sidecar path that was removed (`work/questions/<type>-<slug>.md`). */
30
+ path: string;
31
+ /** The canonical namespaced identity the sidecar was keyed on (`<namespace>:<slug>`). */
32
+ item: string;
33
+ }
34
+ /** A sidecar the orphan sweep retained (its source item still exists). */
35
+ export interface RetainedSidecar {
36
+ path: string;
37
+ item: string;
38
+ /** The repo-relative path of the live source item the sidecar belongs to. */
39
+ sourcePath: string;
40
+ }
41
+ export interface SweepOrphanSidecarsInput {
42
+ /**
43
+ * The repo CHECKOUT to sweep — its working tree holds `work/questions/` and the
44
+ * lifecycle folders the existence check scans. In CI this is the checked-out
45
+ * repo (`process.cwd()`); the sweep operates on whatever checkout `gc` runs in.
46
+ */
47
+ cwd: string;
48
+ /** Sink for human-readable progress notes (per reaped / retained sidecar). */
49
+ note?: (message: string) => void;
50
+ /**
51
+ * Do NOT actually `git rm` — only REPORT what WOULD be reaped vs retained. A
52
+ * read-only preview; the existence predicate still runs so the report is exact.
53
+ */
54
+ dryRun?: boolean;
55
+ env?: NodeJS.ProcessEnv;
56
+ }
57
+ export interface SweepOrphanSidecarsResult {
58
+ /** The sidecars reaped this sweep (source absent). Empty on dry-run. */
59
+ reaped: ReapedSidecar[];
60
+ /** The sidecars retained, each with the live source path it belongs to. */
61
+ retained: RetainedSidecar[];
62
+ /** On `dryRun`, the sidecars that WOULD be reaped (not actually removed). */
63
+ wouldReap: ReapedSidecar[];
64
+ }
65
+ /**
66
+ * Sweep `work/questions/` in `cwd` and `git rm` each sidecar whose
67
+ * `(type, slug)` source item is ABSENT (working-tree existence via
68
+ * {@link resolveItemPathByIdentity}). A sidecar whose source EXISTS is left
69
+ * untouched. The reap is a `git rm` (the sidecar leaves by deletion; git history
70
+ * is the archive), and each reaped/retained sidecar is reported.
71
+ *
72
+ * Working-tree based: it reads `work/questions/` + the lifecycle folders from the
73
+ * checkout `gc` runs in; no arbiter ref query beyond the existence check. Idempotent
74
+ * — a re-run over an already-clean tree reaps nothing.
75
+ */
76
+ export declare function sweepOrphanSidecars(input: SweepOrphanSidecarsInput): SweepOrphanSidecarsResult;
77
+ /** The absolute `work/questions/` dir under a checkout (re-exported convenience). */
78
+ export declare function questionsDirPath(cwd: string): string;
79
+ //# sourceMappingURL=orphan-sidecar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan-sidecar.d.ts","sourceRoot":"","sources":["../src/orphan-sidecar.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC7B,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;CACb;AAED,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACxC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACzC,wEAAwE;IACxE,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,6EAA6E;IAC7E,SAAS,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,wBAAwB,GAC7B,yBAAyB,CAuD3B;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD"}
@@ -0,0 +1,71 @@
1
+ import { existsSync, readdirSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { run } from './git.js';
4
+ import { resolveSidecarIdentity } from './sidecar.js';
5
+ import { resolveItemPathByIdentity } from './item-path.js';
6
+ import { workFolderPath, workFolderRel } from './work-layout.js';
7
+ /**
8
+ * Sweep `work/questions/` in `cwd` and `git rm` each sidecar whose
9
+ * `(type, slug)` source item is ABSENT (working-tree existence via
10
+ * {@link resolveItemPathByIdentity}). A sidecar whose source EXISTS is left
11
+ * untouched. The reap is a `git rm` (the sidecar leaves by deletion; git history
12
+ * is the archive), and each reaped/retained sidecar is reported.
13
+ *
14
+ * Working-tree based: it reads `work/questions/` + the lifecycle folders from the
15
+ * checkout `gc` runs in; no arbiter ref query beyond the existence check. Idempotent
16
+ * — a re-run over an already-clean tree reaps nothing.
17
+ */
18
+ export function sweepOrphanSidecars(input) {
19
+ const note = input.note ?? (() => { });
20
+ const env = input.env;
21
+ const dryRun = input.dryRun === true;
22
+ const reaped = [];
23
+ const retained = [];
24
+ const wouldReap = [];
25
+ const questionsDir = workFolderPath(input.cwd, 'questions');
26
+ if (!existsSync(questionsDir)) {
27
+ return { reaped, retained, wouldReap };
28
+ }
29
+ for (const entry of readdirSync(questionsDir)) {
30
+ if (!entry.endsWith('.md')) {
31
+ continue; // sidecars are `<type>-<slug>.md` — ignore stray non-md files
32
+ }
33
+ // The filename IS the identity: `<type>-<slug>.md`. `resolveSidecarIdentity`
34
+ // accepts the `<type>-<slug>` form (the same resolver `sidecarPathFor`
35
+ // derives the path FROM), giving the canonical `(type, slug, item)`.
36
+ const stem = entry.slice(0, -'.md'.length);
37
+ const { item } = resolveSidecarIdentity(stem.replace('-', ':'));
38
+ const path = `${workFolderRel('questions')}/${entry}`;
39
+ const sourcePath = resolveItemPathByIdentity(input.cwd, item);
40
+ if (sourcePath !== undefined) {
41
+ // The source item still exists ⇒ a LIVE sidecar ⇒ leave it untouched.
42
+ retained.push({ path, item, sourcePath });
43
+ note(`Retained ${path}: source ${item} still exists (${sourcePath}).`);
44
+ continue;
45
+ }
46
+ // Source ABSENT ⇒ ORPHAN ⇒ reap. Report (dry-run) or `git rm` (the real
47
+ // sweep). Deletion, never a `git mv`: the sidecar leaves by deletion and is
48
+ // recoverable from git history.
49
+ if (dryRun) {
50
+ wouldReap.push({ path, item });
51
+ note(`Would reap ${path} (orphan; source ${item} is gone).`);
52
+ continue;
53
+ }
54
+ const rm = run('git', ['rm', '--quiet', '--', path], input.cwd, { env });
55
+ if (rm.status !== 0) {
56
+ // A failed `git rm` is NOT a reap; surface it but keep sweeping the rest.
57
+ // Tolerate "did not match any files" (a concurrent reap / untracked file)
58
+ // by reporting it as kept with the error, never crashing the sweep.
59
+ note(`Failed to git rm ${path} (${rm.stderr.trim() || 'unknown error'}); kept.`);
60
+ continue;
61
+ }
62
+ reaped.push({ path, item });
63
+ note(`Reaped ${path} (orphan; source ${item} is gone).`);
64
+ }
65
+ return { reaped, retained, wouldReap };
66
+ }
67
+ /** The absolute `work/questions/` dir under a checkout (re-exported convenience). */
68
+ export function questionsDirPath(cwd) {
69
+ return join(cwd, workFolderRel('questions'));
70
+ }
71
+ //# sourceMappingURL=orphan-sidecar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan-sidecar.js","sourceRoot":"","sources":["../src/orphan-sidecar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Tiny, dependency-free terminal-output helpers shared by the CLI's
3
+ * human-facing messages. Two concerns live here:
4
+ *
5
+ * - `shouldUseColor` — the TTY/`NO_COLOR` decision (color ONLY when stdout is
6
+ * an interactive TTY and `NO_COLOR` is unset), so the same rule is applied
7
+ * everywhere and is unit-testable without a real terminal.
8
+ * - `formatProposeNextStep` — the visually-distinct "branch pushed; open the
9
+ * review" block emitted after a `propose`-mode completion. It is the ONE
10
+ * thing the human must act on, so it stands out: a blank line before and
11
+ * after, a heading marker, and (on a TTY) ANSI color. Piped/redirected
12
+ * output is plain so logs and pipes stay clean.
13
+ *
14
+ * Cosmetic only — none of this changes gate/done-move/commit/integrate behaviour.
15
+ */
16
+ /** Minimal shape of the stream we inspect (so tests can pass a fake). */
17
+ export interface TtyLike {
18
+ isTTY?: boolean;
19
+ }
20
+ /**
21
+ * Decide whether to emit ANSI color: true iff `stream` is an interactive TTY
22
+ * AND `NO_COLOR` is not set (https://no-color.org/ — ANY non-empty value
23
+ * disables color). Plain (false) when piped/redirected or non-interactive, so
24
+ * captured logs never carry escape codes.
25
+ */
26
+ export declare function shouldUseColor(stream: TtyLike | undefined, env?: NodeJS.ProcessEnv): boolean;
27
+ export interface ProposeNextStepInput {
28
+ /** The pushed work branch (e.g. `work/<slug>`). */
29
+ branch: string;
30
+ /** The arbiter remote the branch was pushed to. */
31
+ arbiter: string;
32
+ /** True iff a provider actually opened a review request (vs. push-only). */
33
+ requestOpened: boolean;
34
+ /** Emit ANSI color (TTY) vs. plain text (piped / `NO_COLOR`). */
35
+ color: boolean;
36
+ }
37
+ /**
38
+ * Build the propose-mode next-step block: the human's single call to action.
39
+ * It is surrounded by blank lines and led by a heading marker so it cannot be
40
+ * lost in surrounding log noise; on a TTY the heading is bold-cyan, the branch
41
+ * ref is bold, and the next command(s) stand out. The content is accurate to
42
+ * the actual push: the branch/ref that was pushed and the exact next command.
43
+ *
44
+ * Returns the multi-line string (leading + trailing blank line included) so the
45
+ * caller can print it as one unit.
46
+ */
47
+ export declare function formatProposeNextStep(input: ProposeNextStepInput): string;
48
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,yEAAyE;AACzE,MAAM,WAAW,OAAO;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,GAClC,OAAO,CAMT;AAYD,MAAM,WAAW,oBAAoB;IACpC,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,aAAa,EAAE,OAAO,CAAC;IACvB,iEAAiE;IACjE,KAAK,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAmBzE"}
package/dist/output.js ADDED
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Tiny, dependency-free terminal-output helpers shared by the CLI's
3
+ * human-facing messages. Two concerns live here:
4
+ *
5
+ * - `shouldUseColor` — the TTY/`NO_COLOR` decision (color ONLY when stdout is
6
+ * an interactive TTY and `NO_COLOR` is unset), so the same rule is applied
7
+ * everywhere and is unit-testable without a real terminal.
8
+ * - `formatProposeNextStep` — the visually-distinct "branch pushed; open the
9
+ * review" block emitted after a `propose`-mode completion. It is the ONE
10
+ * thing the human must act on, so it stands out: a blank line before and
11
+ * after, a heading marker, and (on a TTY) ANSI color. Piped/redirected
12
+ * output is plain so logs and pipes stay clean.
13
+ *
14
+ * Cosmetic only — none of this changes gate/done-move/commit/integrate behaviour.
15
+ */
16
+ /**
17
+ * Decide whether to emit ANSI color: true iff `stream` is an interactive TTY
18
+ * AND `NO_COLOR` is not set (https://no-color.org/ — ANY non-empty value
19
+ * disables color). Plain (false) when piped/redirected or non-interactive, so
20
+ * captured logs never carry escape codes.
21
+ */
22
+ export function shouldUseColor(stream, env = process.env) {
23
+ // NO_COLOR: presence (even empty string) disables color, per the convention.
24
+ if (env.NO_COLOR !== undefined) {
25
+ return false;
26
+ }
27
+ return stream?.isTTY === true;
28
+ }
29
+ // A small, conventional ANSI palette — bold + a bright cyan heading, reset.
30
+ const BOLD = '\u001b[1m';
31
+ const CYAN = '\u001b[36m';
32
+ const RESET = '\u001b[0m';
33
+ /** Wrap `text` in `codes` + reset when `color`, else return it unchanged. */
34
+ function paint(text, color, ...codes) {
35
+ return color ? `${codes.join('')}${text}${RESET}` : text;
36
+ }
37
+ /**
38
+ * Build the propose-mode next-step block: the human's single call to action.
39
+ * It is surrounded by blank lines and led by a heading marker so it cannot be
40
+ * lost in surrounding log noise; on a TTY the heading is bold-cyan, the branch
41
+ * ref is bold, and the next command(s) stand out. The content is accurate to
42
+ * the actual push: the branch/ref that was pushed and the exact next command.
43
+ *
44
+ * Returns the multi-line string (leading + trailing blank line included) so the
45
+ * caller can print it as one unit.
46
+ */
47
+ export function formatProposeNextStep(input) {
48
+ const { branch, arbiter, requestOpened, color } = input;
49
+ const ref = `${arbiter}/${branch}`;
50
+ const heading = paint('▶ Next step — review required', color, BOLD, CYAN);
51
+ const branchLine = requestOpened
52
+ ? `Pushed ${paint(branch, color, BOLD)} to ${ref} and opened a review.`
53
+ : `Pushed ${paint(branch, color, BOLD)} to ${ref}.`;
54
+ const lines = ['', heading, branchLine];
55
+ if (requestOpened) {
56
+ lines.push('Open the review request to land it on main.');
57
+ }
58
+ else {
59
+ // No provider review created — give the exact command to open one.
60
+ lines.push('Open a PR/MR to land it on main, e.g.:');
61
+ lines.push(` ${paint(`gh pr create --head ${branch}`, color, BOLD)}`);
62
+ }
63
+ lines.push('');
64
+ return lines.join('\n');
65
+ }
66
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC7B,MAA2B,EAC3B,MAAyB,OAAO,CAAC,GAAG;IAEpC,6EAA6E;IAC7E,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED,4EAA4E;AAC5E,MAAM,IAAI,GAAG,WAAW,CAAC;AACzB,MAAM,IAAI,GAAG,YAAY,CAAC;AAC1B,MAAM,KAAK,GAAG,WAAW,CAAC;AAE1B,6EAA6E;AAC7E,SAAS,KAAK,CAAC,IAAY,EAAE,KAAc,EAAE,GAAG,KAAe;IAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAaD;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA2B;IAChE,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC;IACtD,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,KAAK,CAAC,+BAA+B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,aAAa;QAC/B,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,uBAAuB;QACvE,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IAErD,MAAM,KAAK,GAAa,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACP,mEAAmE;QACnE,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,uBAAuB,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,179 @@
1
+ import { type Harness, type HarnessRecord, type InteractiveLaunchInput, type InteractiveLaunchResult, type LaunchInput, type LaunchResult } from './harness.js';
2
+ import type { HarnessAdapter } from './config.js';
3
+ /**
4
+ * The **pi** harness adapter (ADR §5) — the first real agent harness
5
+ * `dorfl` drives. It fulfils the harness seam introduced by
6
+ * `agent-workspaces` (`./harness.ts`): launch a job's work-agent command in its
7
+ * worktree, and report liveness from **pi-native signals**.
8
+ *
9
+ * Two design commitments from the task + ADR §5, both encoded here:
10
+ *
11
+ * 1. **Invocation** is the standard work-agent prompt (the constant wrapper +
12
+ * the task's `## Prompt`, assembled by `./prompt.ts`) fed to the pi CLI on
13
+ * stdin, running non-interactively (`--print`) inside the job worktree.
14
+ * 2. **Liveness** is reported from the **PID** (process alive?) PLUS a pointer
15
+ * to the pi **session file** (real activity + an audit trail) — explicitly
16
+ * **NOT filesystem mtime**: a live agent can think for minutes without
17
+ * writing any files, so mtime would mistake a thinking agent for a dead one.
18
+ *
19
+ * ## Session location: `--session <full-path>` (task `session-path-pi-default`)
20
+ *
21
+ * The adapter passes a **deterministic FULL session-FILE path** as `--session
22
+ * <path>` (NOT `--session-dir <dir>`). The caller GENERATES that path once
23
+ * (before launch, so `do --watch` can tail the known path) via {@link
24
+ * generateSessionPath} and threads it in as `LaunchInput.session`; when omitted,
25
+ * the adapter generates a default for its own cwd. pi creates+writes the session
26
+ * at exactly that path (it CREATES a non-existent `--session` file) and
27
+ * `--session` takes precedence over `--session-dir` (verified vs pinned pi
28
+ * source). The default lands under pi's per-cwd sessions folder, so the
29
+ * pi-remote dashboard sees the session and the in-place checkout stays clean.
30
+ * The arg is ABSOLUTE and ends `.jsonl` — required, else pi treats it as a
31
+ * session-ID lookup and exits 1 (see {@link generateSessionPath}).
32
+ *
33
+ * pi specifics stay BEHIND this adapter; the core (`run`, `status`, `do`) talks
34
+ * only to the `Harness` interface. Where running real pi in CI is impractical,
35
+ * the pi CLI is stubbed (see `pi-harness.test.ts`) via the injectable `piBin`.
36
+ *
37
+ * ## Seam contract (what an adapter promises the core)
38
+ *
39
+ * - `launch(input)` runs the work-agent command for ONE job in `input.dir`
40
+ * (the worktree), feeding `input.prompt` to the agent. It returns
41
+ * `{ok, record, detail?}`: `ok` iff the agent completed successfully, and a
42
+ * `record` to persist in `.dorfl-job.json` carrying the **liveness
43
+ * anchor** (`pid`) plus the pi `session` FILE path. The core treats the call
44
+ * as blocking (it runs the test gate immediately after).
45
+ * - `isAlive(record)` answers liveness FROM THE RECORD'S ANCHOR (PID/session),
46
+ * never mtime, so a separate `status`/`do` process can re-derive liveness
47
+ * from a fresh process WITHOUT re-launching the agent.
48
+ */
49
+ /** The default pi CLI binary name (resolved on `PATH`). */
50
+ export declare const DEFAULT_PI_BIN = "pi";
51
+ export interface PiHarnessOptions {
52
+ /**
53
+ * The pi CLI binary (default `pi` on `PATH`). Tests inject a stub script here
54
+ * so the seam can be exercised without a real model call / network.
55
+ */
56
+ piBin?: string;
57
+ /**
58
+ * Extra arguments inserted before the `--print` invocation (e.g. a pinned
59
+ * `--model`). The adapter always supplies `--print` + `--session <path>`;
60
+ * these layer on top for operator control.
61
+ */
62
+ extraArgs?: string[];
63
+ }
64
+ /**
65
+ * The pi harness block persisted in a job record. It extends the base
66
+ * {@link HarnessRecord} with pi's concrete liveness pointer — the **session
67
+ * file** — alongside the PID. `gc`/`status` re-derive liveness from these without
68
+ * re-launching pi.
69
+ */
70
+ export interface PiHarnessRecord extends HarnessRecord {
71
+ adapter: 'pi';
72
+ /** Absolute path to the pi session `.jsonl` file (the activity + audit pointer). */
73
+ session?: string;
74
+ }
75
+ /**
76
+ * The pi adapter. Invocation: `pi [--model <model>] --print --session
77
+ * <full-path>.jsonl [extra]` run in the worktree with the work-agent prompt on
78
+ * stdin. The model is passed NATIVELY as `--model <model>` when set (ADR §13 —
79
+ * the routing intent dorfl controls); auth/keys stay pi's job, never
80
+ * dorfl's. Liveness: the PID is the authoritative "is it running?"
81
+ * signal; the recorded `session` file is the activity + audit pointer surfaced
82
+ * alongside it. NEVER mtime (ADR §5).
83
+ */
84
+ export declare class PiHarness implements Harness {
85
+ readonly adapter = "pi";
86
+ private readonly piBin;
87
+ private readonly extraArgs;
88
+ constructor(options?: PiHarnessOptions);
89
+ /**
90
+ * Resolve the full session-FILE path for a launch. The CALLER normally
91
+ * generates this (via {@link generateSessionPath}) and passes it in
92
+ * `input.session` so the watcher knows it BEFORE launch; when omitted (e.g. a
93
+ * direct adapter call), generate a default under pi's per-cwd folder from the
94
+ * launch dir. Either way the result is absolute and ends `.jsonl`.
95
+ */
96
+ private resolveSessionFile;
97
+ /** Build the pi argv: `[--model m] [extra] --print --session <file>`. */
98
+ private buildArgs;
99
+ launch(input: LaunchInput): LaunchResult;
100
+ /**
101
+ * The ASYNC twin of {@link launch} — IDENTICAL semantics (same `--print
102
+ * --session <file>` invocation, same prompt on stdin, output still CAPTURED,
103
+ * same `LaunchResult` shape: PID anchor + session pointer + ok/detail), but
104
+ * launched NON-BLOCKING with `spawn` instead of the synchronous `spawnSync`.
105
+ * This is the one structural carve-out the `do --watch` observer needs (task
106
+ * `do-watch`): `spawnSync` blocks the event loop until pi exits, so NOTHING
107
+ * could tail the growing session `.jsonl` concurrently. `launchAsync` runs pi
108
+ * alongside the tailer; the WHOLE launch delta is `spawnSync` → `spawn`. The
109
+ * prompt is still fed on stdin and stdout/stderr are still captured; we read
110
+ * the `.jsonl` LOG, never piped stdout.
111
+ *
112
+ * ## Resolve on `exit`, NOT `close` (runner-hang fix)
113
+ *
114
+ * The promise resolves on the child's **`exit`** event (pi itself terminated),
115
+ * NOT `close`. `close` fires only once EVERY stdio pipe of the child is closed
116
+ * — which includes pipes INHERITED by any grandchild pi spawned (an MCP server,
117
+ * a model proxy, a subshell). If such a grandchild OUTLIVES pi holding the
118
+ * inherited stdout/stderr write end, `close` never fires and this promise never
119
+ * resolves — the `advance --watch` surface/triage/apply leg then finishes its
120
+ * work but its awaited launch hangs forever, burning a CI runner (and one of the
121
+ * `max-parallel` slots) until cancelled. `exit` fires the instant pi exits, so
122
+ * we key completion off pi's OWN death, not its descendants'. We still read the
123
+ * agent's answer from the `.jsonl` (final once pi exited, independent of
124
+ * stdout), then DESTROY our end of the stdio pipes so a leaked grandchild's
125
+ * inherited FDs release what they can. A lingering grandchild may still hold an
126
+ * OS pipe end open (keeping the event loop non-empty); the CLI verbs that call
127
+ * this path `process.exit(code)` after the awaited result, which is the
128
+ * belt-and-suspenders backstop bounding any such residual leak.
129
+ */
130
+ launchAsync(input: LaunchInput): Promise<LaunchResult>;
131
+ /**
132
+ * Launch pi INTERACTIVELY (task `agent-interactive-launch`, decision #2): a
133
+ * FOREGROUND human session in `input.dir`. The whole delta from {@link launch}
134
+ * is the stdio contract:
135
+ *
136
+ * - **NO `--print`** — a real interactive session the human types into (the
137
+ * autonomous form is `pi --print …`, prompt on stdin, captured).
138
+ * - **`stdio: 'inherit'`** — the human's terminal IS pi's terminal (foreground).
139
+ * - **NO piped prompt** — the human drives; nothing is fed on stdin.
140
+ * - **`--model <model>`** still flows in when set (ADR §13: the resolved
141
+ * routing pins the human's starting model; they may switch inside pi).
142
+ * - **`--session <path>`** is STILL passed so the human session is recorded /
143
+ * dashboard-visible (audit trail), exactly as the autonomous path records it.
144
+ *
145
+ * It BLOCKS in the foreground until the human exits (`spawnSync` + inherited
146
+ * stdio), then returns their exit code. It is NOT a tracked job (decision #3):
147
+ * no `.dorfl-job.json`, no PID/liveness record, no gate — there is
148
+ * nothing to capture, so it returns only the exit code.
149
+ */
150
+ launchInteractive(input: InteractiveLaunchInput): InteractiveLaunchResult;
151
+ isAlive(record: HarnessRecord): boolean;
152
+ /**
153
+ * The recorded pi session-FILE pointer for a job — the pi-native activity +
154
+ * audit trail surfaced alongside PID liveness. `undefined` when the record has
155
+ * no session pointer (e.g. a non-pi or legacy record). Existence on disk is
156
+ * reported separately so callers can distinguish "recorded but gone" from
157
+ * "never recorded".
158
+ */
159
+ sessionPointer(record: HarnessRecord): string | undefined;
160
+ }
161
+ /**
162
+ * Does a job record carry a live pi session file on disk? Combines the recorded
163
+ * pointer with an `existsSync` check. This is the pi-native "is there an audit
164
+ * trail to look at?" signal — distinct from PID liveness, and STILL not mtime
165
+ * (we check existence, never modification time).
166
+ */
167
+ export declare function piSessionExists(record: HarnessRecord): boolean;
168
+ /**
169
+ * Build the harness that LAUNCHES jobs for a run, from config (ADR §5): `pi`
170
+ * ⇒ the pi adapter (invoking `config.piBin`); anything else ⇒ the null adapter
171
+ * (shelling out to `agentCmd`). This is the single place the core turns the
172
+ * declared `harness` selector into a concrete adapter, keeping pi specifics
173
+ * behind the seam.
174
+ */
175
+ export declare function createHarness(options: {
176
+ harness?: HarnessAdapter;
177
+ piBin?: string;
178
+ }): Harness;
179
+ //# sourceMappingURL=pi-harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-harness.d.ts","sourceRoot":"","sources":["../src/pi-harness.ts"],"names":[],"mappings":"AAEA,OAAO,EAIN,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,OAAO,EAAE,IAAI,CAAC;IACd,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,qBAAa,SAAU,YAAW,OAAO;IACxC,QAAQ,CAAC,OAAO,QAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;gBAEzB,OAAO,GAAE,gBAAqB;IAK1C;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAM1B,yEAAyE;IACzE,OAAO,CAAC,SAAS;IAoBjB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY;IAuCxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAmEtD;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,uBAAuB;IAkCzE,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIvC;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;CAGzD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAE9D;AA4BD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACtC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAKV"}