@matteeh/osq 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/README.md +234 -15
  2. package/dist/cli/approve.d.ts +7 -0
  3. package/dist/cli/approve.d.ts.map +1 -1
  4. package/dist/cli/approve.js +34 -0
  5. package/dist/cli/approve.js.map +1 -1
  6. package/dist/cli/bin.js +2 -3
  7. package/dist/cli/bin.js.map +1 -1
  8. package/dist/cli/check.d.ts +15 -0
  9. package/dist/cli/check.d.ts.map +1 -0
  10. package/dist/cli/check.js +65 -0
  11. package/dist/cli/check.js.map +1 -0
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/cli/index.js +10 -10
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/init.d.ts.map +1 -1
  16. package/dist/cli/init.js +6 -1
  17. package/dist/cli/init.js.map +1 -1
  18. package/dist/cli/lint.d.ts +3 -0
  19. package/dist/cli/lint.d.ts.map +1 -1
  20. package/dist/cli/lint.js +33 -14
  21. package/dist/cli/lint.js.map +1 -1
  22. package/dist/cli/plan-queue.d.ts +10 -4
  23. package/dist/cli/plan-queue.d.ts.map +1 -1
  24. package/dist/cli/plan-queue.js +20 -19
  25. package/dist/cli/plan-queue.js.map +1 -1
  26. package/dist/cli/plan-sections.d.ts +15 -0
  27. package/dist/cli/plan-sections.d.ts.map +1 -0
  28. package/dist/cli/plan-sections.js +47 -0
  29. package/dist/cli/plan-sections.js.map +1 -0
  30. package/dist/cli/plan.d.ts +1 -0
  31. package/dist/cli/plan.d.ts.map +1 -1
  32. package/dist/cli/plan.js +14 -4
  33. package/dist/cli/plan.js.map +1 -1
  34. package/dist/cli/report.d.ts.map +1 -1
  35. package/dist/cli/report.js +73 -1
  36. package/dist/cli/report.js.map +1 -1
  37. package/dist/cli/run.d.ts +7 -0
  38. package/dist/cli/run.d.ts.map +1 -0
  39. package/dist/cli/run.js +22 -0
  40. package/dist/cli/run.js.map +1 -0
  41. package/dist/cli/verified.d.ts +15 -0
  42. package/dist/cli/verified.d.ts.map +1 -0
  43. package/dist/cli/verified.js +34 -0
  44. package/dist/cli/verified.js.map +1 -0
  45. package/dist/core/foundation/config-agents.d.ts +16 -0
  46. package/dist/core/foundation/config-agents.d.ts.map +1 -0
  47. package/dist/core/foundation/config-agents.js +2 -0
  48. package/dist/core/foundation/config-agents.js.map +1 -0
  49. package/dist/core/foundation/config-claude.d.ts +48 -0
  50. package/dist/core/foundation/config-claude.d.ts.map +1 -0
  51. package/dist/core/foundation/config-claude.js +106 -0
  52. package/dist/core/foundation/config-claude.js.map +1 -0
  53. package/dist/core/foundation/config-codex-resolve.d.ts +10 -0
  54. package/dist/core/foundation/config-codex-resolve.d.ts.map +1 -0
  55. package/dist/core/foundation/config-codex-resolve.js +24 -0
  56. package/dist/core/foundation/config-codex-resolve.js.map +1 -0
  57. package/dist/core/foundation/config-file.d.ts +18 -0
  58. package/dist/core/foundation/config-file.d.ts.map +1 -0
  59. package/dist/core/foundation/config-file.js +46 -0
  60. package/dist/core/foundation/config-file.js.map +1 -0
  61. package/dist/core/foundation/config-gates.d.ts +2 -0
  62. package/dist/core/foundation/config-gates.d.ts.map +1 -1
  63. package/dist/core/foundation/config-gates.js +8 -0
  64. package/dist/core/foundation/config-gates.js.map +1 -1
  65. package/dist/core/foundation/config-opencode.d.ts +25 -0
  66. package/dist/core/foundation/config-opencode.d.ts.map +1 -0
  67. package/dist/core/foundation/config-opencode.js +55 -0
  68. package/dist/core/foundation/config-opencode.js.map +1 -0
  69. package/dist/core/foundation/config-pi.d.ts +10 -0
  70. package/dist/core/foundation/config-pi.d.ts.map +1 -1
  71. package/dist/core/foundation/config-pi.js +13 -0
  72. package/dist/core/foundation/config-pi.js.map +1 -1
  73. package/dist/core/foundation/config-planning.d.ts +12 -1
  74. package/dist/core/foundation/config-planning.d.ts.map +1 -1
  75. package/dist/core/foundation/config-planning.js +29 -1
  76. package/dist/core/foundation/config-planning.js.map +1 -1
  77. package/dist/core/foundation/config-traceability.d.ts +28 -0
  78. package/dist/core/foundation/config-traceability.d.ts.map +1 -0
  79. package/dist/core/foundation/config-traceability.js +63 -0
  80. package/dist/core/foundation/config-traceability.js.map +1 -0
  81. package/dist/core/foundation/config-user.d.ts +32 -0
  82. package/dist/core/foundation/config-user.d.ts.map +1 -0
  83. package/dist/core/foundation/config-user.js +2 -0
  84. package/dist/core/foundation/config-user.js.map +1 -0
  85. package/dist/core/foundation/config-vcs.d.ts +29 -0
  86. package/dist/core/foundation/config-vcs.d.ts.map +1 -0
  87. package/dist/core/foundation/config-vcs.js +57 -0
  88. package/dist/core/foundation/config-vcs.js.map +1 -0
  89. package/dist/core/foundation/config.d.ts +23 -24
  90. package/dist/core/foundation/config.d.ts.map +1 -1
  91. package/dist/core/foundation/config.js +29 -36
  92. package/dist/core/foundation/config.js.map +1 -1
  93. package/dist/core/foundation/decisions-validate.d.ts +16 -0
  94. package/dist/core/foundation/decisions-validate.d.ts.map +1 -0
  95. package/dist/core/foundation/decisions-validate.js +74 -0
  96. package/dist/core/foundation/decisions-validate.js.map +1 -0
  97. package/dist/core/foundation/decisions.d.ts +34 -0
  98. package/dist/core/foundation/decisions.d.ts.map +1 -0
  99. package/dist/core/foundation/decisions.js +152 -0
  100. package/dist/core/foundation/decisions.js.map +1 -0
  101. package/dist/core/foundation/doctor-decisions.d.ts +9 -0
  102. package/dist/core/foundation/doctor-decisions.d.ts.map +1 -0
  103. package/dist/core/foundation/doctor-decisions.js +49 -0
  104. package/dist/core/foundation/doctor-decisions.js.map +1 -0
  105. package/dist/core/foundation/doctor-managed.d.ts.map +1 -1
  106. package/dist/core/foundation/doctor-managed.js +3 -0
  107. package/dist/core/foundation/doctor-managed.js.map +1 -1
  108. package/dist/core/foundation/doctor-prices.d.ts +8 -0
  109. package/dist/core/foundation/doctor-prices.d.ts.map +1 -0
  110. package/dist/core/foundation/doctor-prices.js +25 -0
  111. package/dist/core/foundation/doctor-prices.js.map +1 -0
  112. package/dist/core/foundation/doctor.d.ts.map +1 -1
  113. package/dist/core/foundation/doctor.js +20 -30
  114. package/dist/core/foundation/doctor.js.map +1 -1
  115. package/dist/core/foundation/harness-catalog.d.ts +7 -8
  116. package/dist/core/foundation/harness-catalog.d.ts.map +1 -1
  117. package/dist/core/foundation/harness-catalog.js +26 -41
  118. package/dist/core/foundation/harness-catalog.js.map +1 -1
  119. package/dist/core/foundation/init-blocks.d.ts +1 -1
  120. package/dist/core/foundation/init-blocks.d.ts.map +1 -1
  121. package/dist/core/foundation/init-blocks.js +51 -14
  122. package/dist/core/foundation/init-blocks.js.map +1 -1
  123. package/dist/core/foundation/init.d.ts +4 -0
  124. package/dist/core/foundation/init.d.ts.map +1 -1
  125. package/dist/core/foundation/init.js +7 -0
  126. package/dist/core/foundation/init.js.map +1 -1
  127. package/dist/core/foundation/new.d.ts +4 -1
  128. package/dist/core/foundation/new.d.ts.map +1 -1
  129. package/dist/core/foundation/new.js +18 -8
  130. package/dist/core/foundation/new.js.map +1 -1
  131. package/dist/core/foundation/package-root.d.ts +6 -0
  132. package/dist/core/foundation/package-root.d.ts.map +1 -1
  133. package/dist/core/foundation/package-root.js +6 -0
  134. package/dist/core/foundation/package-root.js.map +1 -1
  135. package/dist/core/foundation/rules-block.d.ts +11 -0
  136. package/dist/core/foundation/rules-block.d.ts.map +1 -0
  137. package/dist/core/foundation/rules-block.js +90 -0
  138. package/dist/core/foundation/rules-block.js.map +1 -0
  139. package/dist/core/foundation/traceability-block.d.ts +13 -0
  140. package/dist/core/foundation/traceability-block.d.ts.map +1 -0
  141. package/dist/core/foundation/traceability-block.js +124 -0
  142. package/dist/core/foundation/traceability-block.js.map +1 -0
  143. package/dist/core/lifecycle/done.d.ts.map +1 -1
  144. package/dist/core/lifecycle/done.js +2 -4
  145. package/dist/core/lifecycle/done.js.map +1 -1
  146. package/dist/core/lifecycle/recertify.d.ts +9 -0
  147. package/dist/core/lifecycle/recertify.d.ts.map +1 -0
  148. package/dist/core/lifecycle/recertify.js +27 -0
  149. package/dist/core/lifecycle/recertify.js.map +1 -0
  150. package/dist/core/lifecycle/reject.d.ts.map +1 -1
  151. package/dist/core/lifecycle/reject.js +3 -4
  152. package/dist/core/lifecycle/reject.js.map +1 -1
  153. package/dist/core/lifecycle/retry.d.ts.map +1 -1
  154. package/dist/core/lifecycle/retry.js +6 -20
  155. package/dist/core/lifecycle/retry.js.map +1 -1
  156. package/dist/core/lifecycle/verification-record.d.ts +42 -0
  157. package/dist/core/lifecycle/verification-record.d.ts.map +1 -0
  158. package/dist/core/lifecycle/verification-record.js +76 -0
  159. package/dist/core/lifecycle/verification-record.js.map +1 -0
  160. package/dist/core/report/approval-flags.d.ts +16 -3
  161. package/dist/core/report/approval-flags.d.ts.map +1 -1
  162. package/dist/core/report/approval-flags.js +59 -22
  163. package/dist/core/report/approval-flags.js.map +1 -1
  164. package/dist/core/report/brief-to-approval.d.ts +7 -0
  165. package/dist/core/report/brief-to-approval.d.ts.map +1 -0
  166. package/dist/core/report/brief-to-approval.js +43 -0
  167. package/dist/core/report/brief-to-approval.js.map +1 -0
  168. package/dist/core/report/planning-price-gaps.d.ts +10 -0
  169. package/dist/core/report/planning-price-gaps.d.ts.map +1 -0
  170. package/dist/core/report/planning-price-gaps.js +37 -0
  171. package/dist/core/report/planning-price-gaps.js.map +1 -0
  172. package/dist/core/report/planning-slice-lookup.d.ts.map +1 -1
  173. package/dist/core/report/planning-slice-lookup.js +3 -9
  174. package/dist/core/report/planning-slice-lookup.js.map +1 -1
  175. package/dist/core/report/recent-disclosures.d.ts +18 -0
  176. package/dist/core/report/recent-disclosures.d.ts.map +1 -0
  177. package/dist/core/report/recent-disclosures.js +105 -0
  178. package/dist/core/report/recent-disclosures.js.map +1 -0
  179. package/dist/core/report/record-disclosures.d.ts +14 -0
  180. package/dist/core/report/record-disclosures.d.ts.map +1 -0
  181. package/dist/core/report/record-disclosures.js +30 -0
  182. package/dist/core/report/record-disclosures.js.map +1 -0
  183. package/dist/core/report/record-estimates.d.ts +25 -0
  184. package/dist/core/report/record-estimates.d.ts.map +1 -0
  185. package/dist/core/report/record-estimates.js +83 -0
  186. package/dist/core/report/record-estimates.js.map +1 -0
  187. package/dist/core/report/record-rework.d.ts +19 -0
  188. package/dist/core/report/record-rework.d.ts.map +1 -0
  189. package/dist/core/report/record-rework.js +50 -0
  190. package/dist/core/report/record-rework.js.map +1 -0
  191. package/dist/core/report/record-verification.d.ts +16 -0
  192. package/dist/core/report/record-verification.d.ts.map +1 -0
  193. package/dist/core/report/record-verification.js +33 -0
  194. package/dist/core/report/record-verification.js.map +1 -0
  195. package/dist/core/report/report-dependencies.d.ts +29 -0
  196. package/dist/core/report/report-dependencies.d.ts.map +1 -0
  197. package/dist/core/report/report-dependencies.js +92 -0
  198. package/dist/core/report/report-dependencies.js.map +1 -0
  199. package/dist/core/report/report-events.d.ts +1 -0
  200. package/dist/core/report/report-events.d.ts.map +1 -1
  201. package/dist/core/report/report-events.js +8 -26
  202. package/dist/core/report/report-events.js.map +1 -1
  203. package/dist/core/report/report-mutation.d.ts +34 -0
  204. package/dist/core/report/report-mutation.d.ts.map +1 -0
  205. package/dist/core/report/report-mutation.js +191 -0
  206. package/dist/core/report/report-mutation.js.map +1 -0
  207. package/dist/core/report/report-scope.d.ts +21 -0
  208. package/dist/core/report/report-scope.d.ts.map +1 -0
  209. package/dist/core/report/report-scope.js +61 -0
  210. package/dist/core/report/report-scope.js.map +1 -0
  211. package/dist/core/report/report-traceability.d.ts +29 -0
  212. package/dist/core/report/report-traceability.d.ts.map +1 -0
  213. package/dist/core/report/report-traceability.js +94 -0
  214. package/dist/core/report/report-traceability.js.map +1 -0
  215. package/dist/core/report/report.d.ts +35 -1
  216. package/dist/core/report/report.d.ts.map +1 -1
  217. package/dist/core/report/report.js +130 -111
  218. package/dist/core/report/report.js.map +1 -1
  219. package/dist/core/report/result-sections.d.ts +30 -0
  220. package/dist/core/report/result-sections.d.ts.map +1 -0
  221. package/dist/core/report/result-sections.js +125 -0
  222. package/dist/core/report/result-sections.js.map +1 -0
  223. package/dist/core/report/scope-size.d.ts +7 -0
  224. package/dist/core/report/scope-size.d.ts.map +1 -0
  225. package/dist/core/report/scope-size.js +22 -0
  226. package/dist/core/report/scope-size.js.map +1 -0
  227. package/dist/core/run/commit-message.d.ts +24 -0
  228. package/dist/core/run/commit-message.d.ts.map +1 -0
  229. package/dist/core/run/commit-message.js +76 -0
  230. package/dist/core/run/commit-message.js.map +1 -0
  231. package/dist/core/run/dead-commit.d.ts +10 -0
  232. package/dist/core/run/dead-commit.d.ts.map +1 -0
  233. package/dist/core/run/dead-commit.js +70 -0
  234. package/dist/core/run/dead-commit.js.map +1 -0
  235. package/dist/core/run/focused-tests.d.ts +43 -0
  236. package/dist/core/run/focused-tests.d.ts.map +1 -0
  237. package/dist/core/run/focused-tests.js +116 -0
  238. package/dist/core/run/focused-tests.js.map +1 -0
  239. package/dist/core/run/manifest-approval.d.ts +7 -0
  240. package/dist/core/run/manifest-approval.d.ts.map +1 -0
  241. package/dist/core/run/manifest-approval.js +30 -0
  242. package/dist/core/run/manifest-approval.js.map +1 -0
  243. package/dist/core/run/manifest.d.ts +11 -1
  244. package/dist/core/run/manifest.d.ts.map +1 -1
  245. package/dist/core/run/manifest.js +52 -11
  246. package/dist/core/run/manifest.js.map +1 -1
  247. package/dist/core/run/mutation-report.d.ts +29 -0
  248. package/dist/core/run/mutation-report.d.ts.map +1 -0
  249. package/dist/core/run/mutation-report.js +107 -0
  250. package/dist/core/run/mutation-report.js.map +1 -0
  251. package/dist/core/run/mutation-run.d.ts +32 -0
  252. package/dist/core/run/mutation-run.d.ts.map +1 -0
  253. package/dist/core/run/mutation-run.js +80 -0
  254. package/dist/core/run/mutation-run.js.map +1 -0
  255. package/dist/core/run/verification.d.ts +12 -1
  256. package/dist/core/run/verification.d.ts.map +1 -1
  257. package/dist/core/run/verification.js +24 -2
  258. package/dist/core/run/verification.js.map +1 -1
  259. package/dist/core/spec/approve-worktree-shared.d.ts +33 -0
  260. package/dist/core/spec/approve-worktree-shared.d.ts.map +1 -0
  261. package/dist/core/spec/approve-worktree-shared.js +59 -0
  262. package/dist/core/spec/approve-worktree-shared.js.map +1 -0
  263. package/dist/core/spec/approve-worktree.d.ts +21 -0
  264. package/dist/core/spec/approve-worktree.d.ts.map +1 -0
  265. package/dist/core/spec/approve-worktree.js +153 -0
  266. package/dist/core/spec/approve-worktree.js.map +1 -0
  267. package/dist/core/spec/approve.d.ts +20 -10
  268. package/dist/core/spec/approve.d.ts.map +1 -1
  269. package/dist/core/spec/approve.js +57 -54
  270. package/dist/core/spec/approve.js.map +1 -1
  271. package/dist/core/spec/capability-impact.d.ts +43 -0
  272. package/dist/core/spec/capability-impact.d.ts.map +1 -0
  273. package/dist/core/spec/capability-impact.js +85 -0
  274. package/dist/core/spec/capability-impact.js.map +1 -0
  275. package/dist/core/spec/decisions-lint.d.ts +18 -0
  276. package/dist/core/spec/decisions-lint.d.ts.map +1 -0
  277. package/dist/core/spec/decisions-lint.js +127 -0
  278. package/dist/core/spec/decisions-lint.js.map +1 -0
  279. package/dist/core/spec/delta.d.ts +6 -0
  280. package/dist/core/spec/delta.d.ts.map +1 -1
  281. package/dist/core/spec/delta.js +73 -5
  282. package/dist/core/spec/delta.js.map +1 -1
  283. package/dist/core/spec/digest-capability.d.ts +17 -0
  284. package/dist/core/spec/digest-capability.d.ts.map +1 -0
  285. package/dist/core/spec/digest-capability.js +89 -0
  286. package/dist/core/spec/digest-capability.js.map +1 -0
  287. package/dist/core/spec/digest-decisions.d.ts +27 -0
  288. package/dist/core/spec/digest-decisions.d.ts.map +1 -0
  289. package/dist/core/spec/digest-decisions.js +86 -0
  290. package/dist/core/spec/digest-decisions.js.map +1 -0
  291. package/dist/core/spec/digest-flags.d.ts +1 -0
  292. package/dist/core/spec/digest-flags.d.ts.map +1 -1
  293. package/dist/core/spec/digest-flags.js +16 -16
  294. package/dist/core/spec/digest-flags.js.map +1 -1
  295. package/dist/core/spec/digest-format.d.ts +4 -0
  296. package/dist/core/spec/digest-format.d.ts.map +1 -0
  297. package/dist/core/spec/digest-format.js +44 -0
  298. package/dist/core/spec/digest-format.js.map +1 -0
  299. package/dist/core/spec/digest.d.ts +6 -3
  300. package/dist/core/spec/digest.d.ts.map +1 -1
  301. package/dist/core/spec/digest.js +18 -32
  302. package/dist/core/spec/digest.js.map +1 -1
  303. package/dist/core/spec/human-steps.d.ts +20 -0
  304. package/dist/core/spec/human-steps.d.ts.map +1 -0
  305. package/dist/core/spec/human-steps.js +52 -0
  306. package/dist/core/spec/human-steps.js.map +1 -0
  307. package/dist/core/spec/impact-lint.d.ts +24 -0
  308. package/dist/core/spec/impact-lint.d.ts.map +1 -0
  309. package/dist/core/spec/impact-lint.js +39 -0
  310. package/dist/core/spec/impact-lint.js.map +1 -0
  311. package/dist/core/spec/import-graph.d.ts +35 -0
  312. package/dist/core/spec/import-graph.d.ts.map +1 -0
  313. package/dist/core/spec/import-graph.js +155 -0
  314. package/dist/core/spec/import-graph.js.map +1 -0
  315. package/dist/core/spec/lint-findings.d.ts +44 -0
  316. package/dist/core/spec/lint-findings.d.ts.map +1 -0
  317. package/dist/core/spec/lint-findings.js +56 -0
  318. package/dist/core/spec/lint-findings.js.map +1 -0
  319. package/dist/core/spec/lint-output.d.ts +53 -0
  320. package/dist/core/spec/lint-output.d.ts.map +1 -0
  321. package/dist/core/spec/lint-output.js +87 -0
  322. package/dist/core/spec/lint-output.js.map +1 -0
  323. package/dist/core/spec/linter.d.ts +14 -4
  324. package/dist/core/spec/linter.d.ts.map +1 -1
  325. package/dist/core/spec/linter.js +271 -111
  326. package/dist/core/spec/linter.js.map +1 -1
  327. package/dist/core/spec/merged-spec-check.d.ts +24 -0
  328. package/dist/core/spec/merged-spec-check.d.ts.map +1 -0
  329. package/dist/core/spec/merged-spec-check.js +95 -0
  330. package/dist/core/spec/merged-spec-check.js.map +1 -0
  331. package/dist/core/spec/openspec-issues.d.ts +58 -0
  332. package/dist/core/spec/openspec-issues.d.ts.map +1 -0
  333. package/dist/core/spec/openspec-issues.js +166 -0
  334. package/dist/core/spec/openspec-issues.js.map +1 -0
  335. package/dist/core/spec/parser.d.ts +1 -0
  336. package/dist/core/spec/parser.d.ts.map +1 -1
  337. package/dist/core/spec/parser.js +16 -6
  338. package/dist/core/spec/parser.js.map +1 -1
  339. package/dist/core/spec/scenario-impact.d.ts +47 -0
  340. package/dist/core/spec/scenario-impact.d.ts.map +1 -0
  341. package/dist/core/spec/scenario-impact.js +130 -0
  342. package/dist/core/spec/scenario-impact.js.map +1 -0
  343. package/dist/core/spec/test-impact.d.ts +28 -0
  344. package/dist/core/spec/test-impact.d.ts.map +1 -0
  345. package/dist/core/spec/test-impact.js +119 -0
  346. package/dist/core/spec/test-impact.js.map +1 -0
  347. package/dist/core/spec/traceability-links.d.ts +50 -0
  348. package/dist/core/spec/traceability-links.d.ts.map +1 -0
  349. package/dist/core/spec/traceability-links.js +120 -0
  350. package/dist/core/spec/traceability-links.js.map +1 -0
  351. package/dist/core/spec/traceability-lint.d.ts +29 -0
  352. package/dist/core/spec/traceability-lint.d.ts.map +1 -0
  353. package/dist/core/spec/traceability-lint.js +143 -0
  354. package/dist/core/spec/traceability-lint.js.map +1 -0
  355. package/dist/core/status/blocked-item.d.ts +8 -0
  356. package/dist/core/status/blocked-item.d.ts.map +1 -0
  357. package/dist/core/status/blocked-item.js +45 -0
  358. package/dist/core/status/blocked-item.js.map +1 -0
  359. package/dist/core/status/change-locations.d.ts +44 -0
  360. package/dist/core/status/change-locations.d.ts.map +1 -0
  361. package/dist/core/status/change-locations.js +138 -0
  362. package/dist/core/status/change-locations.js.map +1 -0
  363. package/dist/core/status/dependency-readiness.d.ts +11 -0
  364. package/dist/core/status/dependency-readiness.d.ts.map +1 -0
  365. package/dist/core/status/dependency-readiness.js +39 -0
  366. package/dist/core/status/dependency-readiness.js.map +1 -0
  367. package/dist/core/status/inbox-projection.d.ts.map +1 -1
  368. package/dist/core/status/inbox-projection.js +23 -4
  369. package/dist/core/status/inbox-projection.js.map +1 -1
  370. package/dist/core/status/inbox-text.d.ts.map +1 -1
  371. package/dist/core/status/inbox-text.js +34 -3
  372. package/dist/core/status/inbox-text.js.map +1 -1
  373. package/dist/core/status/inbox.d.ts +10 -1
  374. package/dist/core/status/inbox.d.ts.map +1 -1
  375. package/dist/core/status/inbox.js +19 -1
  376. package/dist/core/status/inbox.js.map +1 -1
  377. package/dist/core/status/layout.d.ts +6 -0
  378. package/dist/core/status/layout.d.ts.map +1 -1
  379. package/dist/core/status/layout.js +8 -0
  380. package/dist/core/status/layout.js.map +1 -1
  381. package/dist/core/status/next-step.d.ts +17 -0
  382. package/dist/core/status/next-step.d.ts.map +1 -0
  383. package/dist/core/status/next-step.js +85 -0
  384. package/dist/core/status/next-step.js.map +1 -0
  385. package/dist/core/status/pre-spawn-words.d.ts +13 -0
  386. package/dist/core/status/pre-spawn-words.d.ts.map +1 -0
  387. package/dist/core/status/pre-spawn-words.js +26 -0
  388. package/dist/core/status/pre-spawn-words.js.map +1 -0
  389. package/dist/core/status/queue-parser.d.ts +1 -0
  390. package/dist/core/status/queue-parser.d.ts.map +1 -1
  391. package/dist/core/status/queue-parser.js +41 -2
  392. package/dist/core/status/queue-parser.js.map +1 -1
  393. package/dist/core/status/queue-planning.d.ts +1 -0
  394. package/dist/core/status/queue-planning.d.ts.map +1 -1
  395. package/dist/core/status/queue-planning.js +24 -12
  396. package/dist/core/status/queue-planning.js.map +1 -1
  397. package/dist/core/status/queue-report-detail.d.ts.map +1 -1
  398. package/dist/core/status/queue-report-detail.js +5 -3
  399. package/dist/core/status/queue-report-detail.js.map +1 -1
  400. package/dist/core/status/queue-state.d.ts +1 -1
  401. package/dist/core/status/queue-state.d.ts.map +1 -1
  402. package/dist/core/status/queue-state.js +27 -41
  403. package/dist/core/status/queue-state.js.map +1 -1
  404. package/dist/core/status/show.d.ts +25 -0
  405. package/dist/core/status/show.d.ts.map +1 -1
  406. package/dist/core/status/show.js +354 -91
  407. package/dist/core/status/show.js.map +1 -1
  408. package/dist/core/status/state.d.ts.map +1 -1
  409. package/dist/core/status/state.js +1 -23
  410. package/dist/core/status/state.js.map +1 -1
  411. package/dist/core/status/status.d.ts +18 -0
  412. package/dist/core/status/status.d.ts.map +1 -1
  413. package/dist/core/status/status.js +59 -80
  414. package/dist/core/status/status.js.map +1 -1
  415. package/dist/core/status/verification.d.ts +27 -0
  416. package/dist/core/status/verification.d.ts.map +1 -0
  417. package/dist/core/status/verification.js +111 -0
  418. package/dist/core/status/verification.js.map +1 -0
  419. package/dist/core/trace/function-ranges.d.ts +30 -0
  420. package/dist/core/trace/function-ranges.d.ts.map +1 -0
  421. package/dist/core/trace/function-ranges.js +250 -0
  422. package/dist/core/trace/function-ranges.js.map +1 -0
  423. package/dist/core/trace/mutation-pick.d.ts +55 -0
  424. package/dist/core/trace/mutation-pick.d.ts.map +1 -0
  425. package/dist/core/trace/mutation-pick.js +96 -0
  426. package/dist/core/trace/mutation-pick.js.map +1 -0
  427. package/dist/core/trace/scenario-index.d.ts +27 -0
  428. package/dist/core/trace/scenario-index.d.ts.map +1 -0
  429. package/dist/core/trace/scenario-index.js +76 -0
  430. package/dist/core/trace/scenario-index.js.map +1 -0
  431. package/dist/core/trace/scenario-lookup.d.ts +14 -0
  432. package/dist/core/trace/scenario-lookup.d.ts.map +1 -0
  433. package/dist/core/trace/scenario-lookup.js +179 -0
  434. package/dist/core/trace/scenario-lookup.js.map +1 -0
  435. package/dist/core/trace/tag-scan.d.ts +44 -0
  436. package/dist/core/trace/tag-scan.d.ts.map +1 -0
  437. package/dist/core/trace/tag-scan.js +200 -0
  438. package/dist/core/trace/tag-scan.js.map +1 -0
  439. package/dist/core/vcs/doctor-git.d.ts +13 -0
  440. package/dist/core/vcs/doctor-git.d.ts.map +1 -0
  441. package/dist/core/vcs/doctor-git.js +114 -0
  442. package/dist/core/vcs/doctor-git.js.map +1 -0
  443. package/dist/core/vcs/git-vcs-write.d.ts +47 -0
  444. package/dist/core/vcs/git-vcs-write.d.ts.map +1 -0
  445. package/dist/core/vcs/git-vcs-write.js +210 -0
  446. package/dist/core/vcs/git-vcs-write.js.map +1 -0
  447. package/dist/core/vcs/git-vcs.d.ts +40 -0
  448. package/dist/core/vcs/git-vcs.d.ts.map +1 -0
  449. package/dist/core/vcs/git-vcs.js +170 -0
  450. package/dist/core/vcs/git-vcs.js.map +1 -0
  451. package/dist/core/vcs/no-vcs.d.ts +26 -0
  452. package/dist/core/vcs/no-vcs.d.ts.map +1 -0
  453. package/dist/core/vcs/no-vcs.js +62 -0
  454. package/dist/core/vcs/no-vcs.js.map +1 -0
  455. package/dist/core/vcs/select.d.ts +11 -0
  456. package/dist/core/vcs/select.d.ts.map +1 -0
  457. package/dist/core/vcs/select.js +33 -0
  458. package/dist/core/vcs/select.js.map +1 -0
  459. package/dist/core/vcs/snapshot.d.ts +34 -0
  460. package/dist/core/vcs/snapshot.d.ts.map +1 -0
  461. package/dist/core/vcs/snapshot.js +71 -0
  462. package/dist/core/vcs/snapshot.js.map +1 -0
  463. package/dist/core/vcs/vcs.d.ts +55 -0
  464. package/dist/core/vcs/vcs.d.ts.map +1 -0
  465. package/dist/core/vcs/vcs.js +2 -0
  466. package/dist/core/vcs/vcs.js.map +1 -0
  467. package/dist/core/vcs/worktree.d.ts +10 -0
  468. package/dist/core/vcs/worktree.d.ts.map +1 -0
  469. package/dist/core/vcs/worktree.js +25 -0
  470. package/dist/core/vcs/worktree.js.map +1 -0
  471. package/dist/core/web/web-data-folders.d.ts.map +1 -1
  472. package/dist/core/web/web-data-folders.js +18 -33
  473. package/dist/core/web/web-data-folders.js.map +1 -1
  474. package/dist/core/web/web-data-lifecycle.d.ts.map +1 -1
  475. package/dist/core/web/web-data-lifecycle.js +2 -1
  476. package/dist/core/web/web-data-lifecycle.js.map +1 -1
  477. package/dist/core/web/web-events.d.ts +8 -6
  478. package/dist/core/web/web-events.d.ts.map +1 -1
  479. package/dist/core/web/web-events.js +7 -31
  480. package/dist/core/web/web-events.js.map +1 -1
  481. package/dist/core/web/web-server.d.ts.map +1 -1
  482. package/dist/core/web/web-server.js +3 -0
  483. package/dist/core/web/web-server.js.map +1 -1
  484. package/dist/core/web/web-trees.d.ts +27 -0
  485. package/dist/core/web/web-trees.d.ts.map +1 -0
  486. package/dist/core/web/web-trees.js +82 -0
  487. package/dist/core/web/web-trees.js.map +1 -0
  488. package/dist/harness/claude/claude-exec-args.d.ts +13 -0
  489. package/dist/harness/claude/claude-exec-args.d.ts.map +1 -0
  490. package/dist/harness/claude/claude-exec-args.js +61 -0
  491. package/dist/harness/claude/claude-exec-args.js.map +1 -0
  492. package/dist/harness/claude/claude-exec.d.ts +12 -0
  493. package/dist/harness/claude/claude-exec.d.ts.map +1 -0
  494. package/dist/harness/claude/claude-exec.js +79 -0
  495. package/dist/harness/claude/claude-exec.js.map +1 -0
  496. package/dist/harness/claude/claude-stream.d.ts +31 -0
  497. package/dist/harness/claude/claude-stream.d.ts.map +1 -0
  498. package/dist/harness/claude/claude-stream.js +150 -0
  499. package/dist/harness/claude/claude-stream.js.map +1 -0
  500. package/dist/harness/claude/claude-tools.d.ts +5 -0
  501. package/dist/harness/claude/claude-tools.d.ts.map +1 -0
  502. package/dist/harness/claude/claude-tools.js +30 -0
  503. package/dist/harness/claude/claude-tools.js.map +1 -0
  504. package/dist/harness/index.d.ts +1 -0
  505. package/dist/harness/index.d.ts.map +1 -1
  506. package/dist/harness/index.js +3 -0
  507. package/dist/harness/index.js.map +1 -1
  508. package/dist/harness/opencode/opencode-session.d.ts +42 -0
  509. package/dist/harness/opencode/opencode-session.d.ts.map +1 -0
  510. package/dist/harness/opencode/opencode-session.js +123 -0
  511. package/dist/harness/opencode/opencode-session.js.map +1 -0
  512. package/dist/harness/opencode/opencode.d.ts +2 -1
  513. package/dist/harness/opencode/opencode.d.ts.map +1 -1
  514. package/dist/harness/opencode/opencode.js +52 -28
  515. package/dist/harness/opencode/opencode.js.map +1 -1
  516. package/dist/harness/prompt.js +1 -1
  517. package/dist/harness/prompt.js.map +1 -1
  518. package/dist/harness/types.d.ts +114 -1
  519. package/dist/harness/types.d.ts.map +1 -1
  520. package/dist/harness/types.js.map +1 -1
  521. package/dist/index.d.ts +3 -1
  522. package/dist/index.d.ts.map +1 -1
  523. package/dist/index.js +1 -0
  524. package/dist/index.js.map +1 -1
  525. package/dist/testing/index.d.ts +3 -0
  526. package/dist/testing/index.d.ts.map +1 -0
  527. package/dist/testing/index.js +2 -0
  528. package/dist/testing/index.js.map +1 -0
  529. package/dist/testing/scenario.d.ts +29 -0
  530. package/dist/testing/scenario.d.ts.map +1 -0
  531. package/dist/testing/scenario.js +157 -0
  532. package/dist/testing/scenario.js.map +1 -0
  533. package/dist/watcher/archiver.d.ts +2 -1
  534. package/dist/watcher/archiver.d.ts.map +1 -1
  535. package/dist/watcher/archiver.js +27 -2
  536. package/dist/watcher/archiver.js.map +1 -1
  537. package/dist/watcher/auto-recertify.d.ts +27 -0
  538. package/dist/watcher/auto-recertify.d.ts.map +1 -0
  539. package/dist/watcher/auto-recertify.js +113 -0
  540. package/dist/watcher/auto-recertify.js.map +1 -0
  541. package/dist/watcher/auto-retry.d.ts +1 -1
  542. package/dist/watcher/auto-retry.d.ts.map +1 -1
  543. package/dist/watcher/auto-retry.js +3 -11
  544. package/dist/watcher/auto-retry.js.map +1 -1
  545. package/dist/watcher/baseline-key.d.ts +17 -0
  546. package/dist/watcher/baseline-key.d.ts.map +1 -0
  547. package/dist/watcher/baseline-key.js +31 -0
  548. package/dist/watcher/baseline-key.js.map +1 -0
  549. package/dist/watcher/baseline.d.ts +32 -0
  550. package/dist/watcher/baseline.d.ts.map +1 -0
  551. package/dist/watcher/baseline.js +166 -0
  552. package/dist/watcher/baseline.js.map +1 -0
  553. package/dist/watcher/blocked.d.ts +12 -0
  554. package/dist/watcher/blocked.d.ts.map +1 -0
  555. package/dist/watcher/blocked.js +24 -0
  556. package/dist/watcher/blocked.js.map +1 -0
  557. package/dist/watcher/build-project.d.ts +11 -0
  558. package/dist/watcher/build-project.d.ts.map +1 -0
  559. package/dist/watcher/build-project.js +36 -0
  560. package/dist/watcher/build-project.js.map +1 -0
  561. package/dist/watcher/build.d.ts +8 -5
  562. package/dist/watcher/build.d.ts.map +1 -1
  563. package/dist/watcher/build.js +35 -39
  564. package/dist/watcher/build.js.map +1 -1
  565. package/dist/watcher/dependencies.d.ts +28 -0
  566. package/dist/watcher/dependencies.d.ts.map +1 -0
  567. package/dist/watcher/dependencies.js +152 -0
  568. package/dist/watcher/dependencies.js.map +1 -0
  569. package/dist/watcher/done-metadata.d.ts +4 -0
  570. package/dist/watcher/done-metadata.d.ts.map +1 -0
  571. package/dist/watcher/done-metadata.js +20 -0
  572. package/dist/watcher/done-metadata.js.map +1 -0
  573. package/dist/watcher/failure-reason.d.ts +1 -1
  574. package/dist/watcher/failure-reason.d.ts.map +1 -1
  575. package/dist/watcher/fingerprint.d.ts +2 -2
  576. package/dist/watcher/fingerprint.d.ts.map +1 -1
  577. package/dist/watcher/fingerprint.js +31 -2
  578. package/dist/watcher/fingerprint.js.map +1 -1
  579. package/dist/watcher/focused-verify.d.ts +17 -0
  580. package/dist/watcher/focused-verify.d.ts.map +1 -0
  581. package/dist/watcher/focused-verify.js +54 -0
  582. package/dist/watcher/focused-verify.js.map +1 -0
  583. package/dist/watcher/git-guard.d.ts +24 -0
  584. package/dist/watcher/git-guard.d.ts.map +1 -0
  585. package/dist/watcher/git-guard.js +95 -0
  586. package/dist/watcher/git-guard.js.map +1 -0
  587. package/dist/watcher/instructions-drift.d.ts +21 -0
  588. package/dist/watcher/instructions-drift.d.ts.map +1 -0
  589. package/dist/watcher/instructions-drift.js +115 -0
  590. package/dist/watcher/instructions-drift.js.map +1 -0
  591. package/dist/watcher/loop.d.ts.map +1 -1
  592. package/dist/watcher/loop.js +37 -51
  593. package/dist/watcher/loop.js.map +1 -1
  594. package/dist/watcher/measures.d.ts.map +1 -1
  595. package/dist/watcher/measures.js +22 -39
  596. package/dist/watcher/measures.js.map +1 -1
  597. package/dist/watcher/mutation-check.d.ts +42 -0
  598. package/dist/watcher/mutation-check.d.ts.map +1 -0
  599. package/dist/watcher/mutation-check.js +147 -0
  600. package/dist/watcher/mutation-check.js.map +1 -0
  601. package/dist/watcher/outcome.d.ts +2 -0
  602. package/dist/watcher/outcome.d.ts.map +1 -1
  603. package/dist/watcher/outcome.js +5 -1
  604. package/dist/watcher/outcome.js.map +1 -1
  605. package/dist/watcher/regression.d.ts +10 -5
  606. package/dist/watcher/regression.d.ts.map +1 -1
  607. package/dist/watcher/regression.js +29 -19
  608. package/dist/watcher/regression.js.map +1 -1
  609. package/dist/watcher/runner.d.ts.map +1 -1
  610. package/dist/watcher/runner.js +12 -14
  611. package/dist/watcher/runner.js.map +1 -1
  612. package/dist/watcher/spawn.d.ts.map +1 -1
  613. package/dist/watcher/spawn.js +11 -1
  614. package/dist/watcher/spawn.js.map +1 -1
  615. package/dist/watcher/task-verify.d.ts +7 -2
  616. package/dist/watcher/task-verify.d.ts.map +1 -1
  617. package/dist/watcher/task-verify.js +33 -8
  618. package/dist/watcher/task-verify.js.map +1 -1
  619. package/dist/watcher/verify.d.ts +1 -5
  620. package/dist/watcher/verify.d.ts.map +1 -1
  621. package/dist/watcher/verify.js +2 -6
  622. package/dist/watcher/verify.js.map +1 -1
  623. package/package.json +5 -1
  624. package/templates/PLANNER.md +35 -9
  625. package/templates/openspec/config.yaml +1 -1
  626. package/templates/openspec/schemas/osq/schema.yaml +4 -2
  627. package/templates/openspec/schemas/osq/templates/proposal.md +9 -2
  628. package/templates/proposal.md +9 -2
  629. package/ui/dist/assets/{index-CZYeQ8la.js → index-D39uYbbL.js} +1 -1
  630. package/ui/dist/index.html +1 -1
@@ -1,7 +1,8 @@
1
1
  import path from 'node:path';
2
2
  import { watch } from 'chokidar';
3
- import { getArchiveDir, getChangesDir, getRejectedDir } from '../status/layout.js';
4
- import { numericIdOf } from './web-data-folders.js';
3
+ import { classifyTreePath, singleChangeTree, treeWatchPaths } from './web-trees.js';
4
+ /** Re-exported for focused callers that classify a single tree's paths. */
5
+ export { classifyChangePath } from './web-trees.js';
5
6
  /** SSE response headers shared by GET and HEAD. */
6
7
  export const SSE_HEADERS = {
7
8
  'Content-Type': 'text/event-stream; charset=utf-8',
@@ -21,35 +22,10 @@ function defaultSchedule(callback, delayMs) {
21
22
  const timer = setTimeout(callback, delayMs);
22
23
  return { cancel: () => clearTimeout(timer) };
23
24
  }
24
- function folderKeyWithin(base, target) {
25
- const relative = path.relative(base, target);
26
- if (relative === '' || relative.startsWith('..') || path.isAbsolute(relative))
27
- return null;
28
- const key = relative.split(path.sep)[0];
29
- return key === undefined || key === '' || key === '.' ? null : key;
30
- }
31
- /**
32
- * Leading numeric id for a path inside exactly one change folder, or `null`
33
- * when the path belongs to shared state: capability specs, root layout, or an
34
- * unrecognized folder.
35
- */
36
- export function classifyChangePath(target, changesDir, archiveDir, rejectedDir) {
37
- for (const base of [archiveDir, rejectedDir]) {
38
- const key = folderKeyWithin(base, target);
39
- if (key !== null)
40
- return numericIdOf(key);
41
- }
42
- const key = folderKeyWithin(changesDir, target);
43
- if (key === null || key === 'archive' || key === 'rejected')
44
- return null;
45
- return numericIdOf(key);
46
- }
47
25
  /** Create the one watcher and debounce accumulator owned by a server. */
48
26
  export function createInvalidationHub(options) {
49
- const changesDir = path.resolve(getChangesDir(options.openspecRoot, options.projectRoot));
50
- const archiveDir = path.resolve(getArchiveDir(options.openspecRoot, options.projectRoot));
51
- const rejectedDir = path.resolve(getRejectedDir(options.openspecRoot, options.projectRoot));
52
- const root = path.resolve(options.projectRoot, options.openspecRoot);
27
+ const trees = options.trees ?? [singleChangeTree(options.projectRoot, options.openspecRoot)];
28
+ const watched = treeWatchPaths(options.projectRoot, options.openspecRoot, trees);
53
29
  const factory = options.watch ?? defaultWatch;
54
30
  const schedule = options.schedule ?? defaultSchedule;
55
31
  const listeners = new Set();
@@ -75,12 +51,12 @@ export function createInvalidationHub(options) {
75
51
  ids.clear();
76
52
  global = false;
77
53
  }
78
- const watcher = factory([root], { ignoreInitial: true });
54
+ const watcher = factory(watched, { ignoreInitial: true });
79
55
  for (const event of WATCHED_EVENTS) {
80
56
  watcher.on(event, (target) => {
81
57
  if (closed || typeof target !== 'string')
82
58
  return;
83
- const id = classifyChangePath(path.resolve(target), changesDir, archiveDir, rejectedDir);
59
+ const id = classifyTreePath(path.resolve(target), trees);
84
60
  if (id === null)
85
61
  global = true;
86
62
  else
@@ -1 +1 @@
1
- {"version":3,"file":"web-events.js","sourceRoot":"","sources":["../../../src/core/web/web-events.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA4CpD,mDAAmD;AACnD,MAAM,CAAC,MAAM,WAAW,GAA6B;IACnD,cAAc,EAAE,kCAAkC;IAClD,eAAe,EAAE,UAAU;IAC3B,UAAU,EAAE,YAAY;CACzB,CAAC;AAEF,MAAM,cAAc,GAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAEjG,SAAS,YAAY,CAAC,KAAwB,EAAE,OAAqB;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,OAGf,CAAC;IACF,OAAO;QACL,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;QACpD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAoB,EAAE,OAAe;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,MAAc;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3F,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,UAAkB,EAClB,UAAkB,EAClB,WAAmB;IAEnB,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACzE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC;IAErD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsC,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAuB,IAAI,CAAC;IACvC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,OAAO,GAAyB,IAAI,CAAC;IAEzC,SAAS,SAAS;QAChB,MAAM,KAAK,GAAsB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,GAAG,KAAK,CAAC;QACf,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,aAAa;QACpB,QAAQ,IAAI,CAAC,CAAC;QACd,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO;YACjD,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACzF,IAAI,EAAE,KAAK,IAAI;gBAAE,MAAM,GAAG,IAAI,CAAC;;gBAC1B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,QAAQ,IAAI,CAAC,CAAC;gBACd,MAAM,KAAK,GAAG,QAAQ,CAAC;gBACvB,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE;oBACtB,IAAI,MAAM,IAAI,KAAK,KAAK,QAAQ;wBAAE,OAAO;oBACzC,OAAO,GAAG,IAAI,CAAC;oBACf,SAAS,EAAE,CAAC;gBACd,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAErC,OAAO;QACL,SAAS,CAAC,QAAQ;YAChB,IAAI,MAAM;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;YACnC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC;QACJ,CAAC;QACD,aAAa;QACb,KAAK;YACH,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC;YACrC,MAAM,GAAG,IAAI,CAAC;YACd,aAAa,EAAE,CAAC;YAChB,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,OAAO,yBAAyB,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;AAChE,CAAC;AAQD,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAAC,GAAoB;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,aAAa;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO;QACL,MAAM,CAAC,GAAG,EAAE,IAAI;YACd,IAAI,IAAI,EAAE,CAAC;gBACT,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBAChC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAChC,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,GAAS,EAAE;gBACxB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC;YACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK;YACH,WAAW,EAAE,CAAC;YACd,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,aAAa;oBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"web-events.js","sourceRoot":"","sources":["../../../src/core/web/web-events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-server.d.ts","sourceRoot":"","sources":["../../../src/core/web/web-server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,KAAK,gBAAgB,EAAa,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAC;AAOzB,KAAK,gBAAgB,GAAG,CACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,IAAI,KACN,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACxF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;CAChC;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAWD,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAEtD;AAsDD,yEAAyE;AACzE,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAkHxF"}
1
+ {"version":3,"file":"web-server.d.ts","sourceRoot":"","sources":["../../../src/core/web/web-server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,KAAK,gBAAgB,EAAa,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAC;AAOzB,KAAK,gBAAgB,GAAG,CACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,IAAI,KACN,OAAO,CAAC,SAAS,CAAC,CAAC;AAExB,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACxF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;CAChC;AAED,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAWD,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAEtD;AAsDD,yEAAyE;AACzE,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAoHxF"}
@@ -1,6 +1,7 @@
1
1
  import http from 'node:http';
2
2
  import { DEFAULT_SERVE_CONFIG } from '../foundation/config-serve.js';
3
3
  import { getMetricsReport } from '../report/report.js';
4
+ import { changeTrees } from '../status/change-locations.js';
4
5
  import { readInbox } from '../status/inbox-projection.js';
5
6
  import { getWebChange } from './web-data-change.js';
6
7
  import { getWebGraph } from './web-data-graph.js';
@@ -76,10 +77,12 @@ export async function startWebServer(options) {
76
77
  const getGraph = options.getGraph ?? getWebGraph;
77
78
  const getChange = options.getChange ?? getWebChange;
78
79
  const getInbox = options.getInbox ?? ((root, inbox) => readInbox(root, inbox));
80
+ const trees = await changeTrees(projectRoot, config);
79
81
  const hub = createInvalidationHub({
80
82
  projectRoot,
81
83
  openspecRoot: config.paths.openspecRoot,
82
84
  debounceMs: config.serve?.eventDebounceMs ?? DEFAULT_SERVE_CONFIG.eventDebounceMs,
85
+ trees,
83
86
  watch: options.watch,
84
87
  schedule: options.schedule,
85
88
  });
@@ -1 +1 @@
1
- {"version":3,"file":"web-server.js","sourceRoot":"","sources":["../../../src/core/web/web-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-server.js","sourceRoot":"","sources":["../../../src/core/web/web-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { ChangeTree } from '../status/change-locations.js';
2
+ /**
3
+ * Leading numeric id for a path inside exactly one change folder, or `null`
4
+ * when the path belongs to shared state: capability specs, root layout, or an
5
+ * unrecognized folder.
6
+ */
7
+ export declare function classifyChangePath(target: string, changesDir: string, archiveDir: string, rejectedDir: string): number | null;
8
+ /**
9
+ * The one tree changes live in, built synchronously for direct callers such as
10
+ * focused tests. `changeTrees` is async only because worktree discovery awaits
11
+ * git, so this mirrors the single tree it returns when vcs is off.
12
+ */
13
+ export declare function singleChangeTree(projectRoot: string, openspecRoot: string): ChangeTree;
14
+ /**
15
+ * Leading numeric id for a path across every resolved change tree. A worktree
16
+ * tree contributes only the folder its `worktreeFolder` names; the first tree
17
+ * classifies its active, archived, and rejected folders as before. A shared
18
+ * path returns null, which callers treat as a global invalidation.
19
+ */
20
+ export declare function classifyTreePath(target: string, trees: readonly ChangeTree[]): number | null;
21
+ /**
22
+ * Every path a hub watches: the configured OpenSpec root of the first tree,
23
+ * then the change folder of each worktree tree. The result is de-duplicated so
24
+ * overlapping trees never register the same path twice.
25
+ */
26
+ export declare function treeWatchPaths(projectRoot: string, openspecRoot: string, trees: readonly ChangeTree[]): string[];
27
+ //# sourceMappingURL=web-trees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-trees.d.ts","sourceRoot":"","sources":["../../../src/core/web/web-trees.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAiBhE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAQf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU,CAStF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,GAAG,IAAI,CAc5F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,SAAS,UAAU,EAAE,GAC3B,MAAM,EAAE,CAQV"}
@@ -0,0 +1,82 @@
1
+ import path from 'node:path';
2
+ import { numericIdOf } from './web-data-folders.js';
3
+ /** Folder key directly under `base` that contains `target`, or null. */
4
+ function folderKeyWithin(base, target) {
5
+ const relative = path.relative(base, target);
6
+ if (relative === '' || relative.startsWith('..') || path.isAbsolute(relative))
7
+ return null;
8
+ const key = relative.split(path.sep)[0];
9
+ return key === undefined || key === '' || key === '.' ? null : key;
10
+ }
11
+ /** Whether `target` is `base` itself or a path strictly inside it. */
12
+ function withinOrEqual(base, target) {
13
+ const relative = path.relative(base, target);
14
+ return relative === '' || (!relative.startsWith('..') && !path.isAbsolute(relative));
15
+ }
16
+ /**
17
+ * Leading numeric id for a path inside exactly one change folder, or `null`
18
+ * when the path belongs to shared state: capability specs, root layout, or an
19
+ * unrecognized folder.
20
+ */
21
+ export function classifyChangePath(target, changesDir, archiveDir, rejectedDir) {
22
+ for (const base of [archiveDir, rejectedDir]) {
23
+ const key = folderKeyWithin(base, target);
24
+ if (key !== null)
25
+ return numericIdOf(key);
26
+ }
27
+ const key = folderKeyWithin(changesDir, target);
28
+ if (key === null || key === 'archive' || key === 'rejected')
29
+ return null;
30
+ return numericIdOf(key);
31
+ }
32
+ /**
33
+ * The one tree changes live in, built synchronously for direct callers such as
34
+ * focused tests. `changeTrees` is async only because worktree discovery awaits
35
+ * git, so this mirrors the single tree it returns when vcs is off.
36
+ */
37
+ export function singleChangeTree(projectRoot, openspecRoot) {
38
+ const root = path.resolve(projectRoot);
39
+ const changesDir = path.join(root, openspecRoot, 'changes');
40
+ return {
41
+ root,
42
+ changesDir,
43
+ archiveDir: path.join(changesDir, 'archive'),
44
+ rejectedDir: path.join(changesDir, 'rejected'),
45
+ };
46
+ }
47
+ /**
48
+ * Leading numeric id for a path across every resolved change tree. A worktree
49
+ * tree contributes only the folder its `worktreeFolder` names; the first tree
50
+ * classifies its active, archived, and rejected folders as before. A shared
51
+ * path returns null, which callers treat as a global invalidation.
52
+ */
53
+ export function classifyTreePath(target, trees) {
54
+ for (const tree of trees) {
55
+ if (tree.worktreeFolder === undefined)
56
+ continue;
57
+ const folder = path.resolve(tree.changesDir, tree.worktreeFolder);
58
+ if (withinOrEqual(folder, target))
59
+ return numericIdOf(tree.worktreeFolder);
60
+ }
61
+ const [checkout] = trees;
62
+ if (checkout === undefined)
63
+ return null;
64
+ return classifyChangePath(target, path.resolve(checkout.changesDir), path.resolve(checkout.archiveDir), path.resolve(checkout.rejectedDir));
65
+ }
66
+ /**
67
+ * Every path a hub watches: the configured OpenSpec root of the first tree,
68
+ * then the change folder of each worktree tree. The result is de-duplicated so
69
+ * overlapping trees never register the same path twice.
70
+ */
71
+ export function treeWatchPaths(projectRoot, openspecRoot, trees) {
72
+ const paths = [path.resolve(projectRoot, openspecRoot)];
73
+ for (const tree of trees) {
74
+ if (tree.worktreeFolder === undefined)
75
+ continue;
76
+ const folder = path.resolve(tree.changesDir, tree.worktreeFolder);
77
+ if (!paths.includes(folder))
78
+ paths.push(folder);
79
+ }
80
+ return paths;
81
+ }
82
+ //# sourceMappingURL=web-trees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-trees.js","sourceRoot":"","sources":["../../../src/core/web/web-trees.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { OsqConfig } from '../../core/foundation/config.js';
2
+ import type { SpawnTaskOptions } from '../types.js';
3
+ /** `--bare` only makes sense with an API key; it never reads a login. */
4
+ export declare function usesClaudeBare(env?: NodeJS.ProcessEnv): boolean;
5
+ /** Claude Code settings JSON: auto-memory off, plus the sandbox block when asked. */
6
+ export declare function claudeSettingsJson(config?: OsqConfig): string;
7
+ /**
8
+ * Noninteractive Claude Code argv with the shared executor prompt as one literal
9
+ * argument. The configured model and, with an API key, `--bare` are inserted in
10
+ * that order; unset flags are omitted so Claude Code uses its native selection.
11
+ */
12
+ export declare function buildClaudeArgs(options: SpawnTaskOptions, config?: OsqConfig): string[];
13
+ //# sourceMappingURL=claude-exec-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-exec-args.d.ts","sourceRoot":"","sources":["../../../src/harness/claude/claude-exec-args.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA4BpD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE5E;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAY7D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,CAUvF"}
@@ -0,0 +1,61 @@
1
+ import { resolveClaudeModel } from '../../core/foundation/config-claude.js';
2
+ import { buildExecutorPrompt } from '../prompt.js';
3
+ /** Fixed flags that keep a Claude task headless, session-free, and extension-free. */
4
+ const CLAUDE_BASE_ARGS = [
5
+ '-p',
6
+ '--output-format',
7
+ 'stream-json',
8
+ '--verbose',
9
+ '--no-session-persistence',
10
+ '--permission-mode',
11
+ 'dontAsk',
12
+ '--tools',
13
+ 'Bash,Read,Edit,Write,Glob,Grep',
14
+ '--allowedTools',
15
+ 'Bash',
16
+ 'Read',
17
+ 'Edit(./**)',
18
+ 'Write(./**)',
19
+ 'Glob',
20
+ 'Grep',
21
+ '--disallowedTools',
22
+ 'Bash(git:*)',
23
+ '--strict-mcp-config',
24
+ '--disable-slash-commands',
25
+ '--setting-sources',
26
+ '',
27
+ ];
28
+ /** `--bare` only makes sense with an API key; it never reads a login. */
29
+ export function usesClaudeBare(env = process.env) {
30
+ return Boolean(env.ANTHROPIC_API_KEY?.trim());
31
+ }
32
+ /** Claude Code settings JSON: auto-memory off, plus the sandbox block when asked. */
33
+ export function claudeSettingsJson(config) {
34
+ const settings = { autoMemoryEnabled: false };
35
+ if (config?.claude?.sandbox) {
36
+ settings.sandbox = {
37
+ enabled: true,
38
+ failIfUnavailable: true,
39
+ autoAllowBashIfSandboxed: true,
40
+ allowUnsandboxedCommands: false,
41
+ network: { allowedDomains: [], strictAllowlist: true },
42
+ };
43
+ }
44
+ return JSON.stringify(settings);
45
+ }
46
+ /**
47
+ * Noninteractive Claude Code argv with the shared executor prompt as one literal
48
+ * argument. The configured model and, with an API key, `--bare` are inserted in
49
+ * that order; unset flags are omitted so Claude Code uses its native selection.
50
+ */
51
+ export function buildClaudeArgs(options, config) {
52
+ const args = [...CLAUDE_BASE_ARGS, '--settings', claudeSettingsJson(config)];
53
+ const model = resolveClaudeModel(config, true);
54
+ if (model)
55
+ args.push('--model', model);
56
+ if (usesClaudeBare())
57
+ args.push('--bare');
58
+ args.push('--', buildExecutorPrompt(options));
59
+ return args;
60
+ }
61
+ //# sourceMappingURL=claude-exec-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-exec-args.js","sourceRoot":"","sources":["../../../src/harness/claude/claude-exec-args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,sFAAsF;AACtF,MAAM,gBAAgB,GAAG;IACvB,IAAI;IACJ,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,0BAA0B;IAC1B,mBAAmB;IACnB,SAAS;IACT,SAAS;IACT,gCAAgC;IAChC,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,YAAY;IACZ,aAAa;IACb,MAAM;IACN,MAAM;IACN,mBAAmB;IACnB,aAAa;IACb,qBAAqB;IACrB,0BAA0B;IAC1B,mBAAmB;IACnB,EAAE;CACM,CAAC;AAEX,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,MAAyB,OAAO,CAAC,GAAG;IACjE,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAAC,MAAkB;IACnD,MAAM,QAAQ,GAA4B,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;IACvE,IAAI,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC5B,QAAQ,CAAC,OAAO,GAAG;YACjB,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,IAAI;YACvB,wBAAwB,EAAE,IAAI;YAC9B,wBAAwB,EAAE,KAAK;YAC/B,OAAO,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;SACvD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAyB,EAAE,MAAkB;IAC3E,MAAM,IAAI,GAAa,CAAC,GAAG,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvF,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAEvC,IAAI,cAAc,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type OsqConfig } from '../../core/foundation/config.js';
2
+ import type { HarnessAdapter, SpawnResult, SpawnTaskOptions } from '../types.js';
3
+ /** Probe `claude --version` and fail below the minimum before any task spawns. */
4
+ export declare function preflightClaude(projectRoot: string, config: OsqConfig): Promise<void>;
5
+ /** Claude Code executor adapter: one stripped-down headless process per task. */
6
+ export declare class ClaudeAdapter implements HarnessAdapter {
7
+ readonly name = "claude";
8
+ setup(_projectRoot: string, _config: OsqConfig): Promise<void>;
9
+ preflight(projectRoot: string, config: OsqConfig): Promise<void>;
10
+ spawn(options: SpawnTaskOptions): Promise<SpawnResult>;
11
+ }
12
+ //# sourceMappingURL=claude-exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-exec.d.ts","sourceRoot":"","sources":["../../../src/harness/claude/claude-exec.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,iCAAiC,CAAC;AAG7E,OAAO,KAAK,EAAE,cAAc,EAAgB,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmB/F,kFAAkF;AAClF,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3F;AAED,iFAAiF;AACjF,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,YAAY;IAEnB,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;CAmD7D"}
@@ -0,0 +1,79 @@
1
+ import { CLAUDE_MINIMUM_VERSION, assessClaudeVersion, resolveClaudeBinary, } from '../../core/foundation/config-claude.js';
2
+ import { loadConfig } from '../../core/foundation/config.js';
3
+ import { spawnWithTimeout } from '../process.js';
4
+ import { EventStreamParser } from '../stream.js';
5
+ import { buildClaudeArgs, usesClaudeBare } from './claude-exec-args.js';
6
+ import { createClaudeStreamState, processClaudeStdoutLine } from './claude-stream.js';
7
+ async function probeClaudeVersion(bin, projectRoot, timeoutSeconds) {
8
+ const result = await spawnWithTimeout({
9
+ command: bin,
10
+ args: ['--version'],
11
+ cwd: projectRoot,
12
+ timeoutSeconds,
13
+ });
14
+ if (result.exitCode !== 0)
15
+ return undefined;
16
+ return (result.stdout || result.stderr).trim().split('\n')[0]?.trim() || undefined;
17
+ }
18
+ /** Probe `claude --version` and fail below the minimum before any task spawns. */
19
+ export async function preflightClaude(projectRoot, config) {
20
+ const bin = resolveClaudeBinary(config);
21
+ const timeoutSeconds = config.timeouts?.harnessPreflightSeconds ?? 10;
22
+ const version = await probeClaudeVersion(bin, projectRoot, timeoutSeconds);
23
+ if (version === undefined) {
24
+ throw new Error(`Claude Code binary not found or failed: ${bin}`);
25
+ }
26
+ const assessment = assessClaudeVersion(version);
27
+ if (!assessment.ok) {
28
+ throw new Error(`Claude Code ${assessment.version} is below the required minimum ${CLAUDE_MINIMUM_VERSION}`);
29
+ }
30
+ }
31
+ /** Claude Code executor adapter: one stripped-down headless process per task. */
32
+ export class ClaudeAdapter {
33
+ name = 'claude';
34
+ async setup(_projectRoot, _config) {
35
+ // Claude Code needs no harness-specific files; shared setup owns AGENTS.md.
36
+ }
37
+ async preflight(projectRoot, config) {
38
+ await preflightClaude(projectRoot, config);
39
+ }
40
+ async spawn(options) {
41
+ const { projectRoot, specFolderPath, taskNumber } = options;
42
+ const resolved = options.config ?? (await loadConfig(projectRoot).catch(() => undefined));
43
+ const bin = resolveClaudeBinary(resolved);
44
+ const args = buildClaudeArgs(options, resolved);
45
+ const state = createClaudeStreamState();
46
+ const parser = new EventStreamParser((line) => processClaudeStdoutLine(line, { specFolderPath, taskNumber, projectRoot, logger: options.logger }, state));
47
+ const version = await probeClaudeVersion(bin, projectRoot, resolved?.timeouts?.harnessPreflightSeconds ?? 10);
48
+ const auth = usesClaudeBare() ? 'api_key' : 'login';
49
+ const result = await spawnWithTimeout({
50
+ command: bin,
51
+ args,
52
+ cwd: projectRoot,
53
+ env: { ...process.env, OSQ_TASK_NUMBER: taskNumber, OSQ_SPEC_FOLDER: specFolderPath },
54
+ timeoutSeconds: options.timeoutSeconds ?? resolved?.timeouts?.taskTimeoutSeconds ?? 1800,
55
+ killGracePeriodMs: resolved?.timeouts?.harnessKillGracePeriodMs,
56
+ onStdout: (chunk) => parser.feed(chunk),
57
+ onSpawn: (childPid) => {
58
+ const details = {
59
+ harnessAuth: auth,
60
+ ...(version ? { harnessVersion: version } : {}),
61
+ };
62
+ options.onSpawn?.(childPid, details);
63
+ },
64
+ });
65
+ await parser.flush();
66
+ const failed = result.exitCode !== 0 || result.timedOut;
67
+ const subtype = state.isError && state.subtype ? `Claude Code result: ${state.subtype}` : '';
68
+ const error = [result.error, subtype].filter((part) => Boolean(part)).join('\n');
69
+ return {
70
+ exitCode: result.exitCode,
71
+ timedOut: result.timedOut,
72
+ signal: result.signal,
73
+ error: failed && error ? error : undefined,
74
+ pid: result.pid,
75
+ elapsedMs: result.elapsedMs,
76
+ };
77
+ }
78
+ }
79
+ //# sourceMappingURL=claude-exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-exec.js","sourceRoot":"","sources":["../../../src/harness/claude/claude-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAkB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,KAAK,UAAU,kBAAkB,CAC/B,GAAW,EACX,WAAmB,EACnB,cAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,CAAC,WAAW,CAAC;QACnB,GAAG,EAAE,WAAW;QAChB,cAAc;KACf,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AACrF,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAmB,EAAE,MAAiB;IAC1E,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,uBAAuB,IAAI,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC3E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,eAAe,UAAU,CAAC,OAAO,kCAAkC,sBAAsB,EAAE,CAC5F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,QAAQ,CAAC;IAEzB,KAAK,CAAC,KAAK,CAAC,YAAoB,EAAE,OAAkB;QAClD,4EAA4E;IAC9E,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,MAAiB;QACpD,MAAM,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAyB;QACnC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1F,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,uBAAuB,CACrB,IAAI,EACJ,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EACnE,KAAK,CACN,CACF,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC,GAAG,EACH,WAAW,EACX,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,IAAI,EAAE,CAClD,CAAC;QACF,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,OAAO,EAAE,GAAG;YACZ,IAAI;YACJ,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE;YACrF,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,IAAI,IAAI;YACxF,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,wBAAwB;YAC/D,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACpB,MAAM,OAAO,GAAiB;oBAC5B,WAAW,EAAE,IAAI;oBACjB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChD,CAAC;gBACF,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;SACF,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjF,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC1C,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import type { Logger } from '../../core/foundation/logger.js';
2
+ import { EventStreamParser } from '../stream.js';
3
+ export interface ClaudeStreamContext {
4
+ specFolderPath: string;
5
+ taskNumber: string;
6
+ projectRoot: string;
7
+ logger?: Logger;
8
+ }
9
+ interface ToolUseMemory {
10
+ readonly name: string;
11
+ readonly path?: string;
12
+ }
13
+ /** Mutable state shared across Claude Code's JSONL records. */
14
+ export interface ClaudeStreamState {
15
+ readonly toolUses: Map<string, ToolUseMemory>;
16
+ /** The `result` record's `subtype`, when the stream reached one. */
17
+ subtype?: string;
18
+ /** The `result` record's `is_error`, so an adapter can name a failing subtype. */
19
+ isError?: boolean;
20
+ /** The `result` record's final `result` text. */
21
+ result?: string;
22
+ }
23
+ export declare function createClaudeStreamState(): ClaudeStreamState;
24
+ /** Translate one completed Claude Code JSONL line into osq harness events. */
25
+ export declare function processClaudeStdoutLine(line: string, ctx: ClaudeStreamContext, state: ClaudeStreamState): Promise<void>;
26
+ /** Buffering helper mirroring the other harness parsers. */
27
+ export declare class ClaudeEventStreamParser extends EventStreamParser {
28
+ constructor(ctx: ClaudeStreamContext, state: ClaudeStreamState);
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=claude-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-stream.d.ts","sourceRoot":"","sources":["../../../src/harness/claude/claude-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EACL,iBAAiB,EAIlB,MAAM,cAAc,CAAC;AAStB,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D;AAqHD,8EAA8E;AAC9E,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,4DAA4D;AAC5D,qBAAa,uBAAwB,SAAQ,iBAAiB;gBAChD,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB;CAG/D"}