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,217 @@
1
+ import { join } from 'node:path';
2
+ /**
3
+ * The **work-layout** module: the SOLE source of every `work/...` path string,
4
+ * folder-name union/array, the item-scan predicate, and the prefix-task helpers
5
+ * used across `src/`.
6
+ *
7
+ * This is Phase 0 of the `folder-taxonomy-reorg-and-rename` prd — the de-risking
8
+ * checkpoint. EVERY raw work-path literal (`join(cwd, 'work', ...)`, `'work/<folder>'`,
9
+ * `'work/<folder>/'.length` prefix-tasks) and EVERY folder-name union/array that
10
+ * used to be scattered across ~70 files now routes through here. The NAMES are
11
+ * byte-identical to today (no rename, no behaviour change); only the SOURCE of the
12
+ * string has moved into this one module.
13
+ *
14
+ * The whole point of the seam: the LATER rename tasks flip the VALUES in
15
+ * {@link WORK_FOLDER_NAME} (and `git mv` the on-disk folders) and NOTHING ELSE.
16
+ * Call sites reference folders by their SYMBOLIC key (`'tasks-ready'`,
17
+ * `'specs-ready'`, …), never by a raw string, so a folder-VALUE flip never
18
+ * re-touches a single call site (a KEY rename, e.g. the prd→spec cutover below,
19
+ * is a mechanical relabel of the key literal at each site — behaviour-preserving).
20
+ *
21
+ * Domain note (crown-jewel invariant): a `work/` tree is a set of governance
22
+ * folders where "status IS the folder" — a CAS `git mv` between durable folders is
23
+ * the conflict-safe state machine. This module owns the folder NAMES that literally
24
+ * are that state machine, so it is deliberately the one place a careless rename can
25
+ * touch.
26
+ *
27
+ * The transient states (`in-progress`/`needs-attention`/`tasking`/`advancing`) are
28
+ * NOT folders — they are per-item lock-ref state (see `item-lock.ts`). A stray
29
+ * `in-progress` literal still referenced by some legacy/recovery readers routes
30
+ * through this module like any other folder, but is NOT part of the durable
31
+ * folder-as-status set.
32
+ */
33
+ /**
34
+ * The repo-relative root of the `work/` governance tree. The single literal `'work'`
35
+ * the whole package shares — every path builder below is rooted here.
36
+ */
37
+ export const WORK_ROOT = 'work';
38
+ /**
39
+ * Every work-folder SYMBOLIC KEY → its current on-disk folder NAME (byte-identical
40
+ * to today). This is the ONE place a folder name lives; the later taxonomy rename is
41
+ * a value-only flip of the right-hand side here.
42
+ *
43
+ * Folder kinds (kept here as a single registry, but their distinct roles matter):
44
+ * - TASK lifecycle, the `tasks/` Kanban board: `tasks/backlog` (staging, key
45
+ * `tasks-backlog`) → `tasks/ready` (the agent pool, key `tasks-ready`) →
46
+ * `tasks/done` / `tasks/cancelled` (the PER-REGIME won't-proceed terminal, key
47
+ * `cancelled`).
48
+ * - SPEC lifecycle, the `specs/` regime: `specs/proposed` (staging, key
49
+ * `specs-proposed`) → `specs/ready` (auto-task pool, key `specs-ready`) →
50
+ * `specs/tasked` (tasked, resting, key `specs-tasked`) / `specs/dropped`
51
+ * (the PER-REGIME won't-proceed terminal, key `specs-dropped`).
52
+ * - The PER-REGIME won't-proceed terminals (`tasks/cancelled` + `specs/dropped`)
53
+ * replace the previous shared top-level `work/dropped/`: a dropped task and a
54
+ * dropped spec sharing a slug used to COLLIDE on one bare-slug
55
+ * `work/dropped/<slug>.md`; namespacing each regime's terminal removes the
56
+ * collision. A dropped OBSERVATION needs no terminal — notes leave by deletion.
57
+ * - Capture buckets under the `notes/` umbrella (do NOT flow; leave by deletion):
58
+ * `notes/observations` / `notes/ideas` / `notes/findings`.
59
+ * - Top-level surfaces: `questions` (the "what needs me?" queue), `protocol`
60
+ * (propagated protocol docs). NEITHER is folded under an umbrella.
61
+ * - The stray transient `in-progress` still referenced by legacy/recovery readers
62
+ * and `needs-attention` (both are really lock-ref state, NOT durable folders;
63
+ * routed here only so no reader hand-writes the literal).
64
+ *
65
+ * NOTE on the prd→spec vocabulary cutover
66
+ * (`rename-spec-work-layout-and-folders`, migrate-batch 1 of
67
+ * `prd-to-spec-vocabulary-cutover-and-migration-command`): the spec-regime KEYS
68
+ * below now read in the `spec` vocabulary (`specs-proposed`/`specs-ready`/
69
+ * `specs-tasked`/`specs-dropped`) AND their VALUES flip to `work/specs/*` in
70
+ * lockstep with the on-disk `git mv work/prds/* → work/specs/*`. Unlike the earlier
71
+ * key-only relabel, this batch moves the folders too, so the KEY and VALUE change
72
+ * together and the self-renaming-folder guard stays green. The KEY rename is a
73
+ * mechanical relabel of the key literal at each call site (behaviour-preserving);
74
+ * the frontmatter `prd:` field (a DATA alias the migration command converts) is the
75
+ * one deliberate survivor; the `--specs-land-in` flag/`specsLandIn` config + the
76
+ * `Spec*` symbols were completed by the later batches + the contract task. The
77
+ * folder-as-status invariant is unchanged.
78
+ */
79
+ export const WORK_FOLDER_NAME = {
80
+ 'tasks-backlog': 'tasks/backlog',
81
+ 'tasks-ready': 'tasks/ready',
82
+ 'in-progress': 'in-progress',
83
+ 'needs-attention': 'needs-attention',
84
+ done: 'tasks/done',
85
+ cancelled: 'tasks/cancelled',
86
+ 'specs-proposed': 'specs/proposed',
87
+ 'specs-ready': 'specs/ready',
88
+ 'specs-tasked': 'specs/tasked',
89
+ 'specs-dropped': 'specs/dropped',
90
+ observations: 'notes/observations',
91
+ ideas: 'notes/ideas',
92
+ findings: 'notes/findings',
93
+ questions: 'questions',
94
+ protocol: 'protocol',
95
+ };
96
+ /**
97
+ * Resolve a folder's current on-disk NAME from its symbolic key. The ONE accessor
98
+ * every other folder-name lookup derives from, so the rename flips it in lockstep.
99
+ */
100
+ export function workFolderName(folder) {
101
+ return WORK_FOLDER_NAME[folder];
102
+ }
103
+ /**
104
+ * Absolute path of a work folder under a repo/cwd root:
105
+ * `<root>/work/<folder-name>`. Replaces every `join(cwd, 'work', '<folder>')` and
106
+ * `join(repoPath, 'work', folder)` call site.
107
+ */
108
+ export function workFolderPath(root, folder) {
109
+ return join(root, WORK_ROOT, workFolderName(folder));
110
+ }
111
+ /**
112
+ * Absolute path of a single item's `.md` file in a work folder:
113
+ * `<root>/work/<folder-name>/<slug>.md`. Replaces every
114
+ * `join(cwd, 'work', folder, `${slug}.md`)` call site. `slug` is the bare slug
115
+ * (the `.md` suffix is appended here).
116
+ */
117
+ export function workItemPath(root, folder, slug) {
118
+ return join(root, WORK_ROOT, workFolderName(folder), `${slug}.md`);
119
+ }
120
+ /**
121
+ * REPO-RELATIVE path of a work folder: `work/<folder-name>` (no trailing slash, no
122
+ * root). The form used for `git mv` / `git`-relative paths and the staging/pool dir
123
+ * constants (`STAGED_TASKS_DIR`, etc.). Replaces raw `'work/<folder>'` literals.
124
+ */
125
+ export function workFolderRel(folder) {
126
+ return `${WORK_ROOT}/${workFolderName(folder)}`;
127
+ }
128
+ /**
129
+ * REPO-RELATIVE path of a single item file: `work/<folder-name>/<basename>`. The
130
+ * `basename` is a full filename (caller decides whether it carries `.md`), matching
131
+ * the existing `join('work', folder, '<file>')` call sites that pass either a
132
+ * `${slug}.md` or a pre-suffixed name.
133
+ */
134
+ export function workItemRel(folder, basename) {
135
+ return `${WORK_ROOT}/${workFolderName(folder)}/${basename}`;
136
+ }
137
+ /**
138
+ * The REPO-RELATIVE folder PREFIX (WITH trailing slash): `work/<folder-name>/`. The
139
+ * form a reader matches with `startsWith(...)` and tasks off to recover a filename
140
+ * (see {@link stripWorkFolderPrefix}). Replaces hand-written `'work/<folder>/'`
141
+ * literals and their `.length` prefix-tasks.
142
+ */
143
+ export function workFolderPrefix(folder) {
144
+ return `${workFolderRel(folder)}/`;
145
+ }
146
+ /**
147
+ * Recover the filename portion of a repo-relative path that lives DIRECTLY under a
148
+ * work folder, by stripping its `work/<folder-name>/` prefix. Replaces the
149
+ * hand-written `path.slice('work/<folder>/'.length)` prefix-task. Returns
150
+ * `undefined` when `path` is not under that folder, so callers that already
151
+ * `startsWith`-guarded keep their exact behaviour (and callers that did not can
152
+ * branch on `undefined` instead of tasking a wrong length).
153
+ */
154
+ export function stripWorkFolderPrefix(path, folder) {
155
+ const prefix = workFolderPrefix(folder);
156
+ return path.startsWith(prefix) ? path.slice(prefix.length) : undefined;
157
+ }
158
+ /**
159
+ * The ITEM-SCAN predicate: does this directory entry NAME count as a `work/` item?
160
+ * Defined ONCE here so no reader re-implements the `.md` filter. Case-insensitive
161
+ * on the extension, matching every existing `name.toLowerCase().endsWith('.md')`
162
+ * call site verbatim.
163
+ */
164
+ export function isWorkItemFile(name) {
165
+ return name.toLowerCase().endsWith('.md');
166
+ }
167
+ // --- Folder-name unions / arrays (one definition, derived from the registry) --
168
+ /**
169
+ * The TASK-RESOLUTION folders `resolveTask` (prompt.ts) walks, in precedence
170
+ * order: `in-progress` over `tasks-ready`, with `done` appended only behind the
171
+ * stranded-continue gate. Order is load-bearing — kept exactly as the original
172
+ * union/array. (`tasks-backlog` is NOT in this DEFAULT order: it is appended at
173
+ * the LOWEST priority ONLY behind the explicit `--allow-backlog` flag, prd
174
+ * `do-allow-backlog-drive-staged-tasks-without-promotion` — see
175
+ * {@link TaskResolutionFolder}.)
176
+ */
177
+ export const TASK_RESOLUTION_FOLDERS = [
178
+ 'in-progress',
179
+ 'tasks-ready',
180
+ 'done',
181
+ ];
182
+ /**
183
+ * The task LIFECYCLE folders a `task:<slug>` / lone-task `issue:` can reside
184
+ * in (spec-complete.ts + close-job.ts `TASK_FOLDERS`): `tasks-ready`, `in-progress`,
185
+ * `needs-attention`, `done`.
186
+ */
187
+ export const TASK_LIFECYCLE_FOLDERS = [
188
+ 'tasks-ready',
189
+ 'in-progress',
190
+ 'needs-attention',
191
+ 'done',
192
+ ];
193
+ /**
194
+ * The DURABLE task-status folders the ledger lint / integration core treat as the
195
+ * one-slug-one-folder state machine: `tasks-ready`, `done`, `cancelled`
196
+ * (ledger-lint.ts + integration-core.ts `LEDGER_STATUS_FOLDERS`). The transient
197
+ * `in-progress`/`needs-attention`/`tasking` are NOT here (they are lock-ref state).
198
+ * `cancelled` is the task regime's won't-proceed terminal (the per-regime split
199
+ * of the previous shared `dropped/`); the spec regime's terminal `specs-dropped`
200
+ * is NOT here (this set is the TASK board's state machine, keyed by `tasks/`-slug,
201
+ * and a spec never co-resides with a task on the tasks board).
202
+ */
203
+ export const LEDGER_STATUS_FOLDERS = [
204
+ 'tasks-ready',
205
+ 'done',
206
+ 'cancelled',
207
+ ];
208
+ /**
209
+ * The SPEC-lifecycle folders an `issue:`-bearing spec / a tasked spec can reside
210
+ * in: `specs-ready` (source / pool), `specs-tasked` (tasked, resting) —
211
+ * close-job.ts `SPEC_FOLDERS`.
212
+ */
213
+ export const SPEC_FOLDERS = [
214
+ 'specs-ready',
215
+ 'specs-tasked',
216
+ ];
217
+ //# sourceMappingURL=work-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-layout.js","sourceRoot":"","sources":["../src/work-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAe,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,eAAe,EAAE,eAAe;IAChC,aAAa,EAAE,aAAa;IAC5B,aAAa,EAAE,aAAa;IAC5B,iBAAiB,EAAE,iBAAiB;IACpC,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,iBAAiB;IAC5B,gBAAgB,EAAE,gBAAgB;IAClC,aAAa,EAAE,aAAa;IAC5B,cAAc,EAAE,cAAc;IAC9B,eAAe,EAAE,eAAe;IAChC,YAAY,EAAE,oBAAoB;IAClC,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,gBAAgB;IAC1B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACX,CAAC;AAKX;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAqB;IACnD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAqB;IACjE,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC3B,IAAY,EACZ,MAAqB,EACrB,IAAY;IAEZ,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAqB;IAClD,OAAO,GAAG,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAqB,EAAE,QAAgB;IAClE,OAAO,GAAG,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACrD,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACpC,IAAY,EACZ,MAAqB;IAErB,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,aAAa;IACb,aAAa;IACb,MAAM;CACsC,CAAC;AAa9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,aAAa;IACb,aAAa;IACb,iBAAiB;IACjB,MAAM;CACsC,CAAC;AAK9C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,aAAa;IACb,MAAM;IACN,WAAW;CACiC,CAAC;AAK9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,aAAa;IACb,cAAc;CAC8B,CAAC"}
@@ -0,0 +1,154 @@
1
+ import { encodeRepoKey } from './repo-mirror.js';
2
+ import { type Config } from './config.js';
3
+ import type { InteractiveLauncher } from './harness.js';
4
+ /**
5
+ * `dorfl work-on` — the HUMAN command to claim a task and create an
6
+ * isolated **worktree in a human-friendly location**, so a person can open their
7
+ * editor and work several tasks in parallel without juggling branches in one
8
+ * checkout. It is the human counterpart to the runner's job worktrees
9
+ * (`workspace.ts`): it is NEVER used by agents, so it never carries the human's
10
+ * secrets into an agent context (see `--copy`).
11
+ *
12
+ * Two invocation forms — the ONLY intended difference between them is **where the
13
+ * worktree's files live**; the claim, the integration semantics, and the
14
+ * starting commit are IDENTICAL:
15
+ *
16
+ * work-on <slug> in-repo: the arbiter remote/URL is inferred from
17
+ * the current repo; the claim runs in that repo.
18
+ * work-on --remote <r> <slug> remote: ensure a hub mirror for <r> (creating
19
+ * it via repo-mirror if absent, exactly like
20
+ * agents do), then claim against it from a
21
+ * throwaway worktree. The remote target is a FLAG
22
+ * (consistent with `do --remote`), not positional.
23
+ *
24
+ * BOTH forms: claim the slug, then ALWAYS `git fetch` and branch the worktree off
25
+ * the **freshly-fetched `<arbiter>/main`** — never a possibly-stale local ref.
26
+ * THIS GUARANTEE is what makes the two forms equivalent: the same slug yields
27
+ * equivalent work either way (same starting commit).
28
+ *
29
+ * The worktree lives under the configured `humanWorktreesDir`
30
+ * (`<dir>/<key>/<slug>/` on branch `work/<slug>`) — prompted + saved on first use,
31
+ * with a sensible suggestion but no silent default, and NEVER under
32
+ * `~/.dorfl/` (that is the agents' area; `work-on` is human-only).
33
+ *
34
+ * A binary cannot `cd` its parent shell, so on success it prints the worktree path
35
+ * + a `cd` hint; `--print-dir` emits the path ONLY (stdout) so the human can
36
+ * install a shell function that actually cd's them:
37
+ *
38
+ * work-on() { cd "$(dorfl work-on "$@" --print-dir)"; }
39
+ */
40
+ /** The semantic outcome of a `work-on` invocation. */
41
+ export type WorkOnOutcome = 'created' | 'refused' | 'lost' | 'contended' | 'usage-error';
42
+ export interface WorkOnOptions {
43
+ /** The slug to work on (`work/backlog/<slug>.md`). Required. */
44
+ slug: string;
45
+ /**
46
+ * Remote mode: the remote spec/URL to mirror via `repo-mirror`. When given,
47
+ * `work-on --remote <r> <slug>` ensures a hub mirror (creating it if absent)
48
+ * and claims against it. When omitted, in-repo mode: the arbiter is inferred
49
+ * from `cwd`.
50
+ */
51
+ remote?: string;
52
+ /** The current working directory (in-repo mode resolves the arbiter from it). */
53
+ cwd: string;
54
+ /**
55
+ * Name of the arbiter git remote in `cwd` (in-repo mode only). Defaults to
56
+ * `origin`. Ignored in remote mode (the mirror's own `origin` is used).
57
+ */
58
+ arbiter?: string;
59
+ /**
60
+ * Override the readiness guard (`--ignore-not-ready`): claim despite
61
+ * an unmet `blockedBy`, and silence the `needsAnswers` warning. Forwarded to
62
+ * the claim CAS's human-path guard.
63
+ */
64
+ override?: boolean;
65
+ /**
66
+ * Comma-separated glob-free filenames (gitignored, untracked files like
67
+ * `.env.local,.env`) to COPY into the new worktree so the project is runnable.
68
+ * Copy, not symlink (tooling-safe). Source = the current repo in-repo mode; in
69
+ * remote mode there is no implicit source, so `--copy` REQUIRES `copyFrom`.
70
+ */
71
+ copy?: string;
72
+ /**
73
+ * The explicit source dir for `--copy` in remote mode (`--copy-from <path>`).
74
+ * Required when `copy` is set in remote mode; ignored otherwise.
75
+ */
76
+ copyFrom?: string;
77
+ /** The execution working area for hub mirrors (config `workspacesDir`). */
78
+ workspacesDir?: string;
79
+ /**
80
+ * The human worktree root (config `humanWorktreesDir`). When already
81
+ * configured this is used directly; when undefined, `promptForRoot` is invoked
82
+ * to obtain + SAVE it (first-use prompt). Tests pass it directly to avoid TTY.
83
+ */
84
+ humanWorktreesDir?: string;
85
+ /**
86
+ * First-use prompt for the human worktree root. Called only when
87
+ * `humanWorktreesDir` is undefined (in config + options). Receives a sensible
88
+ * SUGGESTION; returns the chosen absolute path (or '' to abort). The CLI wires
89
+ * a readline prompt; tests inject a stub.
90
+ */
91
+ promptForRoot?: (suggestion: string) => Promise<string> | string;
92
+ /**
93
+ * Persist a newly-prompted `humanWorktreesDir`. The CLI wires this to
94
+ * `saveConfig` at `configPath`; tests can inject a spy or a no-op.
95
+ */
96
+ saveRoot?: (dir: string) => void;
97
+ /**
98
+ * `--agent` (task `agent-interactive-launch`): after the human worktree is
99
+ * created, launch the configured harness INTERACTIVELY in THAT worktree — a
100
+ * foreground session the human drives (no prepared prompt). Injected as a thin
101
+ * launcher so `work-on.ts` stays decoupled from `createHarness`: the CLI wires
102
+ * it to the resolved harness's `launchInteractive` (model/session resolved
103
+ * there). Omitted ⇒ work-on creates the worktree and prints the cd hint (its
104
+ * historical behaviour). It is NOT a tracked job (decision #3): no job record,
105
+ * no gate — after exit the human drives `complete`/`requeue`.
106
+ */
107
+ launchInteractive?: InteractiveLauncher;
108
+ /** Environment for child git processes (identity etc.). */
109
+ env?: NodeJS.ProcessEnv;
110
+ /** Sink for human-readable progress + the security notice (stderr). */
111
+ note?: (message: string) => void;
112
+ }
113
+ export interface WorkOnResult {
114
+ exitCode: 0 | 1 | 2 | 3;
115
+ outcome: WorkOnOutcome;
116
+ /** Absolute path to the created worktree (only on success). */
117
+ dir?: string;
118
+ /** The work branch checked out there (`work/<slug>`). */
119
+ branch?: string;
120
+ /** The resolved arbiter URL the worktree branches from. */
121
+ arbiterUrl?: string;
122
+ /** The starting commit (freshly-fetched `<arbiter>/main`) the worktree is cut from. */
123
+ startCommit?: string;
124
+ /** Files copied in via `--copy` (basenames), in order. */
125
+ copied?: string[];
126
+ /** Human-readable summary of the terminal condition. */
127
+ message: string;
128
+ }
129
+ /**
130
+ * Run the `work-on` ritual. Never throws for the expected lost/contended/refused
131
+ * cases — those are returned with the appropriate exit code and NO worktree.
132
+ * Usage/environment problems surface as exit 1.
133
+ */
134
+ export declare function performWorkOn(options: WorkOnOptions): Promise<WorkOnResult>;
135
+ /**
136
+ * A sensible SUGGESTION for the human worktree root. Deliberately uses a name
137
+ * (`~/worktrees`) that does NOT share a prefix with the usual code dir
138
+ * (`~/dev/...`), so shell tab-completion on the code dir never collides with it.
139
+ * This is only a suggestion — there is no silent default; the human confirms.
140
+ */
141
+ export declare function suggestHumanWorktreesDir(): string;
142
+ /**
143
+ * Resolve `humanWorktreesDir` + `configPath` for the CLI: read config from
144
+ * `configPath` and surface its `humanWorktreesDir` (undefined ⇒ first use). The
145
+ * CLI wires the prompt/save around this; kept here so the wiring is testable.
146
+ */
147
+ export declare function loadHumanWorktreesDir(configPath?: string): {
148
+ dir: string | undefined;
149
+ config: Config;
150
+ };
151
+ /** Save a chosen `humanWorktreesDir` back to `configPath`, preserving the rest. */
152
+ export declare function persistHumanWorktreesDir(dir: string, configPath?: string): void;
153
+ export { encodeRepoKey };
154
+ //# sourceMappingURL=work-on.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"work-on.d.ts","sourceRoot":"","sources":["../src/work-on.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,aAAa,EAIb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAIN,KAAK,MAAM,EACX,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,sDAAsD;AACtD,MAAM,MAAM,aAAa,GACtB,SAAS,GACT,SAAS,GACT,MAAM,GACN,WAAW,GACX,aAAa,CAAC;AAEjB,MAAM,WAAW,aAAa;IAC7B,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,uEAAuE;IACvE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;CAChB;AAOD;;;;GAIG;AACH,wBAAsB,aAAa,CAClC,OAAO,EAAE,aAAa,GACpB,OAAO,CAAC,YAAY,CAAC,CAQvB;AA6YD;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAsDD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,UAAU,GAAE,MAA4B,GACtC;IACF,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CACf,CAGA;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CACvC,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAA4B,GACtC,IAAI,CAGN;AAGD,OAAO,EAAC,aAAa,EAAC,CAAC"}