peaks-loop 4.0.0-beta.8 → 4.0.0-beta.9

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 (1064) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/bin/peaks.js +1 -1
  3. package/dist/cli/cli-helpers.d.ts +43 -0
  4. package/dist/cli/cli-helpers.js +86 -0
  5. package/dist/cli/commands/_cli-error-envelope.d.ts +19 -0
  6. package/dist/cli/commands/_cli-error-envelope.js +50 -0
  7. package/dist/cli/commands/adapter-commands-s2a.d.ts +34 -0
  8. package/dist/cli/commands/adapter-commands-s2a.js +92 -0
  9. package/dist/cli/commands/adapter-commands.d.ts +30 -0
  10. package/dist/cli/commands/adapter-commands.js +35 -0
  11. package/dist/cli/commands/agent-commands.d.ts +20 -0
  12. package/dist/cli/commands/agent-commands.js +48 -0
  13. package/dist/cli/commands/asset-commands.d.ts +45 -0
  14. package/dist/cli/commands/asset-commands.js +404 -0
  15. package/dist/cli/commands/audit-commands.d.ts +28 -0
  16. package/dist/cli/commands/audit-commands.js +437 -0
  17. package/dist/cli/commands/bee-commands.d.ts +26 -0
  18. package/dist/cli/commands/bee-commands.js +169 -0
  19. package/dist/cli/commands/capability-commands.d.ts +16 -0
  20. package/dist/cli/commands/capability-commands.js +45 -0
  21. package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +3 -0
  22. package/dist/cli/commands/capability-worker-config-sc-commands.js +10 -0
  23. package/dist/cli/commands/classify-classify-commands.d.ts +19 -0
  24. package/dist/cli/commands/classify-classify-commands.js +151 -0
  25. package/dist/cli/commands/code-commands.d.ts +80 -0
  26. package/dist/cli/commands/code-commands.js +798 -0
  27. package/dist/cli/commands/code-review-commands.d.ts +34 -0
  28. package/dist/cli/commands/code-review-commands.js +83 -0
  29. package/dist/cli/commands/codegraph-commands.d.ts +3 -0
  30. package/dist/cli/commands/codegraph-commands.js +99 -0
  31. package/dist/cli/commands/compact-command.d.ts +21 -0
  32. package/dist/cli/commands/compact-command.js +252 -0
  33. package/dist/cli/commands/complexity-commands.d.ts +9 -0
  34. package/dist/cli/commands/complexity-commands.js +34 -0
  35. package/dist/cli/commands/config-commands.d.ts +3 -0
  36. package/dist/cli/commands/config-commands.js +220 -0
  37. package/dist/cli/commands/context-builder-commands.d.ts +11 -0
  38. package/dist/cli/commands/context-builder-commands.js +85 -0
  39. package/dist/cli/commands/context-commands.d.ts +21 -0
  40. package/dist/cli/commands/context-commands.js +254 -0
  41. package/dist/cli/commands/contract-commands.d.ts +26 -0
  42. package/dist/cli/commands/contract-commands.js +114 -0
  43. package/dist/cli/commands/core/artifacts-command.d.ts +3 -0
  44. package/dist/cli/commands/core/artifacts-command.js +62 -0
  45. package/dist/cli/commands/core/binding-commands.d.ts +3 -0
  46. package/dist/cli/commands/core/binding-commands.js +58 -0
  47. package/dist/cli/commands/core/doctor-command.d.ts +11 -0
  48. package/dist/cli/commands/core/doctor-command.js +204 -0
  49. package/dist/cli/commands/core/memory-command.d.ts +3 -0
  50. package/dist/cli/commands/core/memory-command.js +98 -0
  51. package/dist/cli/commands/core/profile-command.d.ts +3 -0
  52. package/dist/cli/commands/core/profile-command.js +9 -0
  53. package/dist/cli/commands/core/proxy-command.d.ts +3 -0
  54. package/dist/cli/commands/core/proxy-command.js +26 -0
  55. package/dist/cli/commands/core/session-command.d.ts +3 -0
  56. package/dist/cli/commands/core/session-command.js +241 -0
  57. package/dist/cli/commands/core/skill-command.d.ts +3 -0
  58. package/dist/cli/commands/core/skill-command.js +300 -0
  59. package/dist/cli/commands/core/standards-command.d.ts +3 -0
  60. package/dist/cli/commands/core/standards-command.js +95 -0
  61. package/dist/cli/commands/core-artifact-commands.d.ts +15 -0
  62. package/dist/cli/commands/core-artifact-commands.js +31 -0
  63. package/dist/cli/commands/dispatch-commands.d.ts +10 -0
  64. package/dist/cli/commands/dispatch-commands.js +351 -0
  65. package/dist/cli/commands/dispatch-from-dag.d.ts +3 -0
  66. package/dist/cli/commands/dispatch-from-dag.js +251 -0
  67. package/dist/cli/commands/doc-commands.d.ts +11 -0
  68. package/dist/cli/commands/doc-commands.js +65 -0
  69. package/dist/cli/commands/evolution-commands.d.ts +27 -0
  70. package/dist/cli/commands/evolution-commands.js +393 -0
  71. package/dist/cli/commands/feedback-commands.d.ts +18 -0
  72. package/dist/cli/commands/feedback-commands.js +145 -0
  73. package/dist/cli/commands/final-review-commands.d.ts +31 -0
  74. package/dist/cli/commands/final-review-commands.js +161 -0
  75. package/dist/cli/commands/fixture-commands.d.ts +32 -0
  76. package/dist/cli/commands/fixture-commands.js +91 -0
  77. package/dist/cli/commands/fork-commands.d.ts +16 -0
  78. package/dist/cli/commands/fork-commands.js +163 -0
  79. package/dist/cli/commands/gate-commands.d.ts +3 -0
  80. package/dist/cli/commands/gate-commands.js +117 -0
  81. package/dist/cli/commands/heartbeat-commands.d.ts +3 -0
  82. package/dist/cli/commands/heartbeat-commands.js +135 -0
  83. package/dist/cli/commands/hook-handle.d.ts +17 -0
  84. package/dist/cli/commands/hook-handle.js +157 -0
  85. package/dist/cli/commands/hooks-commands.d.ts +3 -0
  86. package/dist/cli/commands/hooks-commands.js +156 -0
  87. package/dist/cli/commands/ide-commands.d.ts +25 -0
  88. package/dist/cli/commands/ide-commands.js +42 -0
  89. package/dist/cli/commands/impact-commands.d.ts +15 -0
  90. package/dist/cli/commands/impact-commands.js +62 -0
  91. package/dist/cli/commands/job-commands.d.ts +3 -0
  92. package/dist/cli/commands/job-commands.js +289 -0
  93. package/dist/cli/commands/legacy-commands.d.ts +11 -0
  94. package/dist/cli/commands/legacy-commands.js +32 -0
  95. package/dist/cli/commands/log-commands.d.ts +17 -0
  96. package/dist/cli/commands/log-commands.js +64 -0
  97. package/dist/cli/commands/loop-commands.d.ts +27 -0
  98. package/dist/cli/commands/loop-commands.js +262 -0
  99. package/dist/cli/commands/loop-eval-commands.d.ts +20 -0
  100. package/dist/cli/commands/loop-eval-commands.js +526 -0
  101. package/dist/cli/commands/memory-commands.d.ts +23 -0
  102. package/dist/cli/commands/memory-commands.js +129 -0
  103. package/dist/cli/commands/migrate-1-4-1-command.d.ts +11 -0
  104. package/dist/cli/commands/migrate-1-4-1-command.js +34 -0
  105. package/dist/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +20 -0
  106. package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +52 -0
  107. package/dist/cli/commands/mut-commands.d.ts +20 -0
  108. package/dist/cli/commands/mut-commands.js +239 -0
  109. package/dist/cli/commands/observability-commands.d.ts +22 -0
  110. package/dist/cli/commands/observability-commands.js +201 -0
  111. package/dist/cli/commands/openspec-commands.d.ts +3 -0
  112. package/dist/cli/commands/openspec-commands.js +237 -0
  113. package/dist/cli/commands/perf-audit-commands.d.ts +22 -0
  114. package/dist/cli/commands/perf-audit-commands.js +132 -0
  115. package/dist/cli/commands/perf-commands.d.ts +3 -0
  116. package/dist/cli/commands/perf-commands.js +41 -0
  117. package/dist/cli/commands/playwright-commands.d.ts +95 -0
  118. package/dist/cli/commands/playwright-commands.js +432 -0
  119. package/dist/cli/commands/polyrepo-commands.d.ts +37 -0
  120. package/dist/cli/commands/polyrepo-commands.js +155 -0
  121. package/dist/cli/commands/prd-blocks-commands.d.ts +18 -0
  122. package/dist/cli/commands/prd-blocks-commands.js +50 -0
  123. package/dist/cli/commands/prd-commands.d.ts +18 -0
  124. package/dist/cli/commands/prd-commands.js +141 -0
  125. package/dist/cli/commands/preferences-commands.d.ts +2 -0
  126. package/dist/cli/commands/preferences-commands.js +197 -0
  127. package/dist/cli/commands/project-commands.d.ts +3 -0
  128. package/dist/cli/commands/project-commands.js +253 -0
  129. package/dist/cli/commands/qa-business-review-commands.d.ts +17 -0
  130. package/dist/cli/commands/qa-business-review-commands.js +148 -0
  131. package/dist/cli/commands/qa-commands.d.ts +94 -0
  132. package/dist/cli/commands/qa-commands.js +271 -0
  133. package/dist/cli/commands/release-commands.d.ts +24 -0
  134. package/dist/cli/commands/release-commands.js +231 -0
  135. package/dist/cli/commands/request-commands.d.ts +3 -0
  136. package/dist/cli/commands/request-commands.js +548 -0
  137. package/dist/cli/commands/retrospective-commands.d.ts +12 -0
  138. package/dist/cli/commands/retrospective-commands.js +175 -0
  139. package/dist/cli/commands/reviewer-commands.d.ts +14 -0
  140. package/dist/cli/commands/reviewer-commands.js +64 -0
  141. package/dist/cli/commands/role-commands.d.ts +13 -0
  142. package/dist/cli/commands/role-commands.js +85 -0
  143. package/dist/cli/commands/runtime-commands.d.ts +52 -0
  144. package/dist/cli/commands/runtime-commands.js +150 -0
  145. package/dist/cli/commands/sc-commands.d.ts +3 -0
  146. package/dist/cli/commands/sc-commands.js +45 -0
  147. package/dist/cli/commands/scan-commands.d.ts +3 -0
  148. package/dist/cli/commands/scan-commands.js +445 -0
  149. package/dist/cli/commands/security-audit-commands.d.ts +23 -0
  150. package/dist/cli/commands/security-audit-commands.js +132 -0
  151. package/dist/cli/commands/sediment-commands.d.ts +80 -0
  152. package/dist/cli/commands/sediment-commands.js +649 -0
  153. package/dist/cli/commands/session-auto-compact-hook-command.d.ts +37 -0
  154. package/dist/cli/commands/session-auto-compact-hook-command.js +127 -0
  155. package/dist/cli/commands/session-checkpoint-command.d.ts +10 -0
  156. package/dist/cli/commands/session-checkpoint-command.js +100 -0
  157. package/dist/cli/commands/session-migrate-skill-name.d.ts +17 -0
  158. package/dist/cli/commands/session-migrate-skill-name.js +41 -0
  159. package/dist/cli/commands/session-resume-command.d.ts +11 -0
  160. package/dist/cli/commands/session-resume-command.js +83 -0
  161. package/dist/cli/commands/share-commands.d.ts +17 -0
  162. package/dist/cli/commands/share-commands.js +296 -0
  163. package/dist/cli/commands/skill-conformance-commands.d.ts +9 -0
  164. package/dist/cli/commands/skill-conformance-commands.js +39 -0
  165. package/dist/cli/commands/skill-loop-engineering-readiness-commands.d.ts +67 -0
  166. package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +173 -0
  167. package/dist/cli/commands/skill-search-commands.d.ts +25 -0
  168. package/dist/cli/commands/skill-search-commands.js +68 -0
  169. package/dist/cli/commands/skill-visibility.d.ts +8 -0
  170. package/dist/cli/commands/skill-visibility.js +63 -0
  171. package/dist/cli/commands/slice-commands.d.ts +24 -0
  172. package/dist/cli/commands/slice-commands.js +492 -0
  173. package/dist/cli/commands/slice-integrate-commands.d.ts +11 -0
  174. package/dist/cli/commands/slice-integrate-commands.js +74 -0
  175. package/dist/cli/commands/slice-review-commands.d.ts +23 -0
  176. package/dist/cli/commands/slice-review-commands.js +162 -0
  177. package/dist/cli/commands/smoke-commands.d.ts +21 -0
  178. package/dist/cli/commands/smoke-commands.js +203 -0
  179. package/dist/cli/commands/sop-commands.d.ts +3 -0
  180. package/dist/cli/commands/sop-commands.js +215 -0
  181. package/dist/cli/commands/statusline-commands.d.ts +3 -0
  182. package/dist/cli/commands/statusline-commands.js +169 -0
  183. package/dist/cli/commands/sub-agent-commands.d.ts +22 -0
  184. package/dist/cli/commands/sub-agent-commands.js +19 -0
  185. package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +55 -0
  186. package/dist/cli/commands/sub-agent-dispatch-guard.js +57 -0
  187. package/dist/cli/commands/sub-agent-shared.d.ts +99 -0
  188. package/dist/cli/commands/sub-agent-shared.js +67 -0
  189. package/dist/cli/commands/test-commands.d.ts +47 -0
  190. package/dist/cli/commands/test-commands.js +204 -0
  191. package/dist/cli/commands/understand-commands.d.ts +3 -0
  192. package/dist/cli/commands/understand-commands.js +148 -0
  193. package/dist/cli/commands/upgrade-commands.d.ts +23 -0
  194. package/dist/cli/commands/upgrade-commands.js +119 -0
  195. package/dist/cli/commands/user-touchpoint-commands.d.ts +18 -0
  196. package/dist/cli/commands/user-touchpoint-commands.js +78 -0
  197. package/dist/cli/commands/verdict-aggregate-command.d.ts +14 -0
  198. package/dist/cli/commands/verdict-aggregate-command.js +106 -0
  199. package/dist/cli/commands/worker-commands.d.ts +3 -0
  200. package/dist/cli/commands/worker-commands.js +52 -0
  201. package/dist/cli/commands/workflow-commands.d.ts +3 -0
  202. package/dist/cli/commands/workflow-commands.js +544 -0
  203. package/dist/cli/commands/workflow-plan-commands.d.ts +39 -0
  204. package/dist/cli/commands/workflow-plan-commands.js +163 -0
  205. package/dist/cli/commands/workspace/clean-command.d.ts +14 -0
  206. package/dist/cli/commands/workspace/clean-command.js +49 -0
  207. package/dist/cli/commands/workspace/helpers.d.ts +28 -0
  208. package/dist/cli/commands/workspace/helpers.js +87 -0
  209. package/dist/cli/commands/workspace/init-command.d.ts +139 -0
  210. package/dist/cli/commands/workspace/init-command.js +505 -0
  211. package/dist/cli/commands/workspace/migrate-command.d.ts +11 -0
  212. package/dist/cli/commands/workspace/migrate-command.js +91 -0
  213. package/dist/cli/commands/workspace/reconcile-command.d.ts +14 -0
  214. package/dist/cli/commands/workspace/reconcile-command.js +103 -0
  215. package/dist/cli/commands/workspace-commands.d.ts +18 -0
  216. package/dist/cli/commands/workspace-commands.js +50 -0
  217. package/dist/cli/index.d.ts +1 -0
  218. package/dist/cli/index.js +30 -0
  219. package/dist/cli/program.d.ts +5 -0
  220. package/dist/cli/program.js +408 -0
  221. package/dist/hooks/pre-tool-use-sub-agent.d.ts +28 -0
  222. package/dist/hooks/pre-tool-use-sub-agent.js +105 -0
  223. package/dist/lib/render/message-renderer.d.ts +20 -0
  224. package/dist/lib/render/message-renderer.js +80 -0
  225. package/dist/services/adapter/adapter-registry.d.ts +48 -0
  226. package/dist/services/adapter/adapter-registry.js +186 -0
  227. package/dist/services/adapter/adapter.d.ts +27 -0
  228. package/dist/services/adapter/adapter.js +5 -0
  229. package/dist/services/adapter/auto-adapter.d.ts +11 -0
  230. package/dist/services/adapter/auto-adapter.js +15 -0
  231. package/dist/services/adapter/claude-adapter.d.ts +14 -0
  232. package/dist/services/adapter/claude-adapter.js +40 -0
  233. package/dist/services/adapter/codex-adapter.d.ts +14 -0
  234. package/dist/services/adapter/codex-adapter.js +14 -0
  235. package/dist/services/adapter/copilot-adapter.d.ts +14 -0
  236. package/dist/services/adapter/copilot-adapter.js +14 -0
  237. package/dist/services/agent/ecc-agent-service.d.ts +47 -0
  238. package/dist/services/agent/ecc-agent-service.js +143 -0
  239. package/dist/services/artifacts/artifact-lint-service.d.ts +23 -0
  240. package/dist/services/artifacts/artifact-lint-service.js +99 -0
  241. package/dist/services/artifacts/artifact-prerequisites.d.ts +78 -0
  242. package/dist/services/artifacts/artifact-prerequisites.js +491 -0
  243. package/dist/services/artifacts/artifact-service.d.ts +43 -0
  244. package/dist/services/artifacts/artifact-service.js +98 -0
  245. package/dist/services/artifacts/artifact-templates.d.ts +30 -0
  246. package/dist/services/artifacts/artifact-templates.js +302 -0
  247. package/dist/services/artifacts/repair-cycle-service.d.ts +23 -0
  248. package/dist/services/artifacts/repair-cycle-service.js +52 -0
  249. package/dist/services/artifacts/request-artifact-service.d.ts +116 -0
  250. package/dist/services/artifacts/request-artifact-service.js +451 -0
  251. package/dist/services/artifacts/request-artifact-state-helpers.d.ts +51 -0
  252. package/dist/services/artifacts/request-artifact-state-helpers.js +114 -0
  253. package/dist/services/artifacts/workspace-service.d.ts +34 -0
  254. package/dist/services/artifacts/workspace-service.js +272 -0
  255. package/dist/services/audit/artifact-writer.d.ts +93 -0
  256. package/dist/services/audit/artifact-writer.js +303 -0
  257. package/dist/services/audit/audit-goal-service.d.ts +35 -0
  258. package/dist/services/audit/audit-goal-service.js +75 -0
  259. package/dist/services/audit/audit-goal-types.d.ts +40 -0
  260. package/dist/services/audit/audit-goal-types.js +15 -0
  261. package/dist/services/audit/backing-detector.d.ts +24 -0
  262. package/dist/services/audit/backing-detector.js +59 -0
  263. package/dist/services/audit/classifier.d.ts +38 -0
  264. package/dist/services/audit/classifier.js +134 -0
  265. package/dist/services/audit/decision-writer.d.ts +76 -0
  266. package/dist/services/audit/decision-writer.js +217 -0
  267. package/dist/services/audit/enforcers/active-skill-resolver.d.ts +29 -0
  268. package/dist/services/audit/enforcers/active-skill-resolver.js +71 -0
  269. package/dist/services/audit/enforcers/code-ban.d.ts +23 -0
  270. package/dist/services/audit/enforcers/code-ban.js +27 -0
  271. package/dist/services/audit/enforcers/design-draft-confirm.d.ts +24 -0
  272. package/dist/services/audit/enforcers/design-draft-confirm.js +58 -0
  273. package/dist/services/audit/enforcers/lint-audit-regression.d.ts +21 -0
  274. package/dist/services/audit/enforcers/lint-audit-regression.js +86 -0
  275. package/dist/services/audit/enforcers/lint-catalog-governance.d.ts +32 -0
  276. package/dist/services/audit/enforcers/lint-catalog-governance.js +48 -0
  277. package/dist/services/audit/enforcers/lint-cli-back.d.ts +16 -0
  278. package/dist/services/audit/enforcers/lint-cli-back.js +35 -0
  279. package/dist/services/audit/enforcers/lint-output-style.d.ts +11 -0
  280. package/dist/services/audit/enforcers/lint-output-style.js +94 -0
  281. package/dist/services/audit/enforcers/lint-reference-integrity.d.ts +6 -0
  282. package/dist/services/audit/enforcers/lint-reference-integrity.js +83 -0
  283. package/dist/services/audit/enforcers/lint-reference-shape.d.ts +30 -0
  284. package/dist/services/audit/enforcers/lint-reference-shape.js +272 -0
  285. package/dist/services/audit/enforcers/lint-style.d.ts +49 -0
  286. package/dist/services/audit/enforcers/lint-style.js +173 -0
  287. package/dist/services/audit/enforcers/lint-workflow-shape.d.ts +4 -0
  288. package/dist/services/audit/enforcers/lint-workflow-shape.js +100 -0
  289. package/dist/services/audit/enforcers/login-gate.d.ts +23 -0
  290. package/dist/services/audit/enforcers/login-gate.js +40 -0
  291. package/dist/services/audit/enforcers/mock-placement.d.ts +25 -0
  292. package/dist/services/audit/enforcers/mock-placement.js +48 -0
  293. package/dist/services/audit/enforcers/no-root-pollution.d.ts +21 -0
  294. package/dist/services/audit/enforcers/no-root-pollution.js +56 -0
  295. package/dist/services/audit/enforcers/pre-rd-scan.d.ts +22 -0
  296. package/dist/services/audit/enforcers/pre-rd-scan.js +23 -0
  297. package/dist/services/audit/enforcers/prototype-fidelity.d.ts +25 -0
  298. package/dist/services/audit/enforcers/prototype-fidelity.js +75 -0
  299. package/dist/services/audit/enforcers/resume-detection.d.ts +21 -0
  300. package/dist/services/audit/enforcers/resume-detection.js +52 -0
  301. package/dist/services/audit/enforcers/sub-agent-sid.d.ts +25 -0
  302. package/dist/services/audit/enforcers/sub-agent-sid.js +63 -0
  303. package/dist/services/audit/prose-ratio-calculator.d.ts +45 -0
  304. package/dist/services/audit/prose-ratio-calculator.js +52 -0
  305. package/dist/services/audit/red-line-catalog-p2-a.d.ts +21 -0
  306. package/dist/services/audit/red-line-catalog-p2-a.js +229 -0
  307. package/dist/services/audit/red-line-catalog-p2-b.d.ts +19 -0
  308. package/dist/services/audit/red-line-catalog-p2-b.js +225 -0
  309. package/dist/services/audit/red-line-catalog.d.ts +51 -0
  310. package/dist/services/audit/red-line-catalog.js +195 -0
  311. package/dist/services/audit/red-lines-service.d.ts +23 -0
  312. package/dist/services/audit/red-lines-service.js +464 -0
  313. package/dist/services/audit/scanners/openspec-scanner.d.ts +15 -0
  314. package/dist/services/audit/scanners/openspec-scanner.js +55 -0
  315. package/dist/services/audit/scanners/rules-tree-scanner.d.ts +16 -0
  316. package/dist/services/audit/scanners/rules-tree-scanner.js +56 -0
  317. package/dist/services/audit/scanners/skills-tree-scanner.d.ts +17 -0
  318. package/dist/services/audit/scanners/skills-tree-scanner.js +68 -0
  319. package/dist/services/audit/static-service.d.ts +60 -0
  320. package/dist/services/audit/static-service.js +130 -0
  321. package/dist/services/audit/types.d.ts +86 -0
  322. package/dist/services/audit/types.js +13 -0
  323. package/dist/services/audit-independent/perf-audit-service.d.ts +151 -0
  324. package/dist/services/audit-independent/perf-audit-service.js +316 -0
  325. package/dist/services/audit-independent/security-audit-service.d.ts +155 -0
  326. package/dist/services/audit-independent/security-audit-service.js +316 -0
  327. package/dist/services/classify/classify-service.d.ts +42 -0
  328. package/dist/services/classify/classify-service.js +122 -0
  329. package/dist/services/classify/classify-types.d.ts +79 -0
  330. package/dist/services/classify/classify-types.js +90 -0
  331. package/dist/services/code/auto-compact-orchestrator.d.ts +98 -0
  332. package/dist/services/code/auto-compact-orchestrator.js +343 -0
  333. package/dist/services/code/batch-heartbeat-poller.d.ts +51 -0
  334. package/dist/services/code/batch-heartbeat-poller.js +88 -0
  335. package/dist/services/code/dag-orchestrator.d.ts +128 -0
  336. package/dist/services/code/dag-orchestrator.js +304 -0
  337. package/dist/services/code/emit-handoff.d.ts +49 -0
  338. package/dist/services/code/emit-handoff.js +79 -0
  339. package/dist/services/code/job-shape-decision.d.ts +71 -0
  340. package/dist/services/code/job-shape-decision.js +151 -0
  341. package/dist/services/code/mode-gate.d.ts +163 -0
  342. package/dist/services/code/mode-gate.js +212 -0
  343. package/dist/services/code/post-compact-detector.d.ts +61 -0
  344. package/dist/services/code/post-compact-detector.js +240 -0
  345. package/dist/services/code/status-line-renderer.d.ts +34 -0
  346. package/dist/services/code/status-line-renderer.js +55 -0
  347. package/dist/services/code/step-08-gate.d.ts +90 -0
  348. package/dist/services/code/step-08-gate.js +136 -0
  349. package/dist/services/code/user-touchpoint-classifier.d.ts +44 -0
  350. package/dist/services/code/user-touchpoint-classifier.js +145 -0
  351. package/dist/services/code-review/ecc-bridge.d.ts +148 -0
  352. package/dist/services/code-review/ecc-bridge.js +242 -0
  353. package/dist/services/code-review/ocr-service.d.ts +129 -0
  354. package/dist/services/code-review/ocr-service.js +369 -0
  355. package/dist/services/codegraph/codegraph-process-runner.d.ts +2 -0
  356. package/dist/services/codegraph/codegraph-process-runner.js +93 -0
  357. package/dist/services/codegraph/codegraph-service.d.ts +43 -0
  358. package/dist/services/codegraph/codegraph-service.js +160 -0
  359. package/dist/services/compact/decision-tables.d.ts +66 -0
  360. package/dist/services/compact/decision-tables.js +127 -0
  361. package/dist/services/compact/request-transition-hook.d.ts +20 -0
  362. package/dist/services/compact/request-transition-hook.js +110 -0
  363. package/dist/services/compact/suggest-service.d.ts +74 -0
  364. package/dist/services/compact/suggest-service.js +203 -0
  365. package/dist/services/complexity/complexity-estimator.d.ts +34 -0
  366. package/dist/services/complexity/complexity-estimator.js +64 -0
  367. package/dist/services/config/config-migration.d.ts +45 -0
  368. package/dist/services/config/config-migration.js +154 -0
  369. package/dist/services/config/config-restore.d.ts +10 -0
  370. package/dist/services/config/config-restore.js +47 -0
  371. package/dist/services/config/config-rollback.d.ts +13 -0
  372. package/dist/services/config/config-rollback.js +26 -0
  373. package/dist/services/config/config-safety.d.ts +40 -0
  374. package/dist/services/config/config-safety.js +359 -0
  375. package/dist/services/config/config-service.d.ts +69 -0
  376. package/dist/services/config/config-service.js +814 -0
  377. package/dist/services/config/config-types.d.ts +119 -0
  378. package/dist/services/config/config-types.js +18 -0
  379. package/dist/services/config/model-routing.d.ts +66 -0
  380. package/dist/services/config/model-routing.js +105 -0
  381. package/dist/services/config/provider-service.d.ts +48 -0
  382. package/dist/services/config/provider-service.js +143 -0
  383. package/dist/services/config/proxy-service.d.ts +21 -0
  384. package/dist/services/config/proxy-service.js +44 -0
  385. package/dist/services/config/sidecar-store.d.ts +25 -0
  386. package/dist/services/config/sidecar-store.js +61 -0
  387. package/dist/services/config/workspace-state-service.d.ts +30 -0
  388. package/dist/services/config/workspace-state-service.js +142 -0
  389. package/dist/services/context/artifact-meta.d.ts +72 -0
  390. package/dist/services/context/artifact-meta.js +105 -0
  391. package/dist/services/context/auto-compact-dispatcher.d.ts +37 -0
  392. package/dist/services/context/auto-compact-dispatcher.js +240 -0
  393. package/dist/services/context/auto-compact-reader.d.ts +51 -0
  394. package/dist/services/context/auto-compact-reader.js +164 -0
  395. package/dist/services/context/auto-compact-types.d.ts +143 -0
  396. package/dist/services/context/auto-compact-types.js +36 -0
  397. package/dist/services/context/collector.d.ts +24 -0
  398. package/dist/services/context/collector.js +133 -0
  399. package/dist/services/context/context-builder.d.ts +30 -0
  400. package/dist/services/context/context-builder.js +78 -0
  401. package/dist/services/context/context-guard.d.ts +49 -0
  402. package/dist/services/context/context-guard.js +91 -0
  403. package/dist/services/context/context-schema.d.ts +415 -0
  404. package/dist/services/context/context-schema.js +73 -0
  405. package/dist/services/context/dispatch-context-guard.d.ts +27 -0
  406. package/dist/services/context/dispatch-context-guard.js +192 -0
  407. package/dist/services/context/doc-retriever.d.ts +26 -0
  408. package/dist/services/context/doc-retriever.js +51 -0
  409. package/dist/services/context/headroom-client.d.ts +34 -0
  410. package/dist/services/context/headroom-client.js +117 -0
  411. package/dist/services/context/headroom-fetcher.d.ts +6 -0
  412. package/dist/services/context/headroom-fetcher.js +28 -0
  413. package/dist/services/context/headroom-prefs.d.ts +46 -0
  414. package/dist/services/context/headroom-prefs.js +34 -0
  415. package/dist/services/context/index.d.ts +7 -0
  416. package/dist/services/context/index.js +6 -0
  417. package/dist/services/context/main-session-monitor.d.ts +89 -0
  418. package/dist/services/context/main-session-monitor.js +142 -0
  419. package/dist/services/context/renderer.d.ts +20 -0
  420. package/dist/services/context/renderer.js +30 -0
  421. package/dist/services/context/shared-channel.d.ts +93 -0
  422. package/dist/services/context/shared-channel.js +308 -0
  423. package/dist/services/context/threshold.d.ts +35 -0
  424. package/dist/services/context/threshold.js +76 -0
  425. package/dist/services/context/tokenizer.d.ts +12 -0
  426. package/dist/services/context/tokenizer.js +43 -0
  427. package/dist/services/context/types.d.ts +93 -0
  428. package/dist/services/context/types.js +9 -0
  429. package/dist/services/crystallization/crystallization-service.d.ts +239 -0
  430. package/dist/services/crystallization/crystallization-service.js +397 -0
  431. package/dist/services/crystallization/crystallization-store.d.ts +75 -0
  432. package/dist/services/crystallization/crystallization-store.js +193 -0
  433. package/dist/services/crystallization/crystallization-types.d.ts +313 -0
  434. package/dist/services/crystallization/crystallization-types.js +299 -0
  435. package/dist/services/crystallization/evidence-brief-builder.d.ts +237 -0
  436. package/dist/services/crystallization/evidence-brief-builder.js +240 -0
  437. package/dist/services/dashboard/project-dashboard-service.d.ts +91 -0
  438. package/dist/services/dashboard/project-dashboard-service.js +147 -0
  439. package/dist/services/dispatch/batch-counter.d.ts +27 -0
  440. package/dist/services/dispatch/batch-counter.js +102 -0
  441. package/dist/services/dispatch/contract-store.d.ts +63 -0
  442. package/dist/services/dispatch/contract-store.js +157 -0
  443. package/dist/services/dispatch/dispatch-record-writer.d.ts +138 -0
  444. package/dist/services/dispatch/dispatch-record-writer.js +460 -0
  445. package/dist/services/dispatch/heartbeat-truncator.d.ts +26 -0
  446. package/dist/services/dispatch/heartbeat-truncator.js +13 -0
  447. package/dist/services/dispatch/leak-detector.d.ts +11 -0
  448. package/dist/services/dispatch/leak-detector.js +72 -0
  449. package/dist/services/dispatch/slice-dag.d.ts +81 -0
  450. package/dist/services/dispatch/slice-dag.js +238 -0
  451. package/dist/services/dispatch/sub-agent-dispatcher.d.ts +239 -0
  452. package/dist/services/dispatch/sub-agent-dispatcher.js +382 -0
  453. package/dist/services/dispatch/test-tool-detection.d.ts +36 -0
  454. package/dist/services/dispatch/test-tool-detection.js +46 -0
  455. package/dist/services/doc/doc-generator.d.ts +38 -0
  456. package/dist/services/doc/doc-generator.js +122 -0
  457. package/dist/services/doctor/doctor-service.d.ts +149 -0
  458. package/dist/services/doctor/doctor-service.js +929 -0
  459. package/dist/services/evolution/evolution-service.d.ts +137 -0
  460. package/dist/services/evolution/evolution-service.js +281 -0
  461. package/dist/services/evolution/evolution-store.d.ts +57 -0
  462. package/dist/services/evolution/evolution-store.js +232 -0
  463. package/dist/services/evolution/evolution-types.d.ts +706 -0
  464. package/dist/services/evolution/evolution-types.js +286 -0
  465. package/dist/services/evolution/independent-evaluator-runner.d.ts +90 -0
  466. package/dist/services/evolution/independent-evaluator-runner.js +106 -0
  467. package/dist/services/evolution/regression-skeptic-runner.d.ts +64 -0
  468. package/dist/services/evolution/regression-skeptic-runner.js +113 -0
  469. package/dist/services/feedback/feedback-promotion-service.d.ts +123 -0
  470. package/dist/services/feedback/feedback-promotion-service.js +300 -0
  471. package/dist/services/filesystem/file-lock.d.ts +11 -0
  472. package/dist/services/filesystem/file-lock.js +152 -0
  473. package/dist/services/final-review/final-review-service.d.ts +12 -0
  474. package/dist/services/final-review/final-review-service.js +52 -0
  475. package/dist/services/final-review/final-review-types.d.ts +42 -0
  476. package/dist/services/final-review/final-review-types.js +18 -0
  477. package/dist/services/fixture/fixture-capture-service.d.ts +87 -0
  478. package/dist/services/fixture/fixture-capture-service.js +317 -0
  479. package/dist/services/fixture/fixture-sanitize-service.d.ts +117 -0
  480. package/dist/services/fixture/fixture-sanitize-service.js +161 -0
  481. package/dist/services/fixture/index.d.ts +8 -0
  482. package/dist/services/fixture/index.js +8 -0
  483. package/dist/services/fork/fork-sync-state.d.ts +85 -0
  484. package/dist/services/fork/fork-sync-state.js +130 -0
  485. package/dist/services/fuzzy-matching/fuzzy-match-service.d.ts +15 -0
  486. package/dist/services/fuzzy-matching/fuzzy-match-service.js +56 -0
  487. package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +68 -0
  488. package/dist/services/fuzzy-matching/fzf-pick-service.js +158 -0
  489. package/dist/services/fuzzy-matching/types.d.ts +20 -0
  490. package/dist/services/fuzzy-matching/types.js +1 -0
  491. package/dist/services/handoff/handoff-parser.d.ts +28 -0
  492. package/dist/services/handoff/handoff-parser.js +69 -0
  493. package/dist/services/handoff/handoff-types.d.ts +39 -0
  494. package/dist/services/handoff/handoff-types.js +19 -0
  495. package/dist/services/handoff/handoff-writer.d.ts +23 -0
  496. package/dist/services/handoff/handoff-writer.js +30 -0
  497. package/dist/services/hooks/auto-compact-hook-install.d.ts +104 -0
  498. package/dist/services/hooks/auto-compact-hook-install.js +157 -0
  499. package/dist/services/hooks/output.d.ts +92 -0
  500. package/dist/services/hooks/output.js +111 -0
  501. package/dist/services/hooks/presence-marker-detector.d.ts +16 -0
  502. package/dist/services/hooks/presence-marker-detector.js +105 -0
  503. package/dist/services/ide/adapters/claude-code-adapter.d.ts +18 -0
  504. package/dist/services/ide/adapters/claude-code-adapter.js +103 -0
  505. package/dist/services/ide/adapters/codex-adapter.d.ts +46 -0
  506. package/dist/services/ide/adapters/codex-adapter.js +97 -0
  507. package/dist/services/ide/adapters/cursor-adapter.d.ts +36 -0
  508. package/dist/services/ide/adapters/cursor-adapter.js +84 -0
  509. package/dist/services/ide/adapters/hermes-adapter.d.ts +21 -0
  510. package/dist/services/ide/adapters/hermes-adapter.js +51 -0
  511. package/dist/services/ide/adapters/openclaw-adapter.d.ts +14 -0
  512. package/dist/services/ide/adapters/openclaw-adapter.js +42 -0
  513. package/dist/services/ide/adapters/trae-adapter.d.ts +42 -0
  514. package/dist/services/ide/adapters/trae-adapter.js +83 -0
  515. package/dist/services/ide/adapters/zcode-adapter.d.ts +40 -0
  516. package/dist/services/ide/adapters/zcode-adapter.js +220 -0
  517. package/dist/services/ide/current-model-detector.d.ts +14 -0
  518. package/dist/services/ide/current-model-detector.js +60 -0
  519. package/dist/services/ide/hook-protocol.d.ts +47 -0
  520. package/dist/services/ide/hook-protocol.js +74 -0
  521. package/dist/services/ide/hook-translator.d.ts +72 -0
  522. package/dist/services/ide/hook-translator.js +128 -0
  523. package/dist/services/ide/ide-detector.d.ts +10 -0
  524. package/dist/services/ide/ide-detector.js +19 -0
  525. package/dist/services/ide/ide-registry.d.ts +14 -0
  526. package/dist/services/ide/ide-registry.js +63 -0
  527. package/dist/services/ide/ide-types.d.ts +253 -0
  528. package/dist/services/ide/ide-types.js +2 -0
  529. package/dist/services/ide/resource-profile.d.ts +52 -0
  530. package/dist/services/ide/resource-profile.js +33 -0
  531. package/dist/services/ide/shared/atomic-json.d.ts +15 -0
  532. package/dist/services/ide/shared/atomic-json.js +58 -0
  533. package/dist/services/ide/shared/safe-path.d.ts +11 -0
  534. package/dist/services/ide/shared/safe-path.js +29 -0
  535. package/dist/services/impact/impact-scan-service.d.ts +66 -0
  536. package/dist/services/impact/impact-scan-service.js +197 -0
  537. package/dist/services/job/job-event-emitter.d.ts +30 -0
  538. package/dist/services/job/job-event-emitter.js +5 -0
  539. package/dist/services/job/job-orchestrator.d.ts +50 -0
  540. package/dist/services/job/job-orchestrator.js +104 -0
  541. package/dist/services/job/job-progress-store.d.ts +60 -0
  542. package/dist/services/job/job-progress-store.js +70 -0
  543. package/dist/services/job/job-resource-snapshot.d.ts +7 -0
  544. package/dist/services/job/job-resource-snapshot.js +75 -0
  545. package/dist/services/job/job-rotation.d.ts +17 -0
  546. package/dist/services/job/job-rotation.js +30 -0
  547. package/dist/services/job/job-state-store.d.ts +24 -0
  548. package/dist/services/job/job-state-store.js +60 -0
  549. package/dist/services/job/job-types.d.ts +444 -0
  550. package/dist/services/job/job-types.js +87 -0
  551. package/dist/services/job/subagent-job-wrapper.d.ts +35 -0
  552. package/dist/services/job/subagent-job-wrapper.js +30 -0
  553. package/dist/services/legacy/legacy-detector.d.ts +34 -0
  554. package/dist/services/legacy/legacy-detector.js +111 -0
  555. package/dist/services/log/log-commands-service.d.ts +54 -0
  556. package/dist/services/log/log-commands-service.js +83 -0
  557. package/dist/services/log/logger.d.ts +103 -0
  558. package/dist/services/log/logger.js +224 -0
  559. package/dist/services/log/redact.d.ts +32 -0
  560. package/dist/services/log/redact.js +89 -0
  561. package/dist/services/log/retention.d.ts +34 -0
  562. package/dist/services/log/retention.js +78 -0
  563. package/dist/services/loop/evaluator-dispatcher.d.ts +50 -0
  564. package/dist/services/loop/evaluator-dispatcher.js +552 -0
  565. package/dist/services/loop/loop-bee-relation-service.d.ts +107 -0
  566. package/dist/services/loop/loop-bee-relation-service.js +211 -0
  567. package/dist/services/loop/loop-bee-relation-store.d.ts +53 -0
  568. package/dist/services/loop/loop-bee-relation-store.js +130 -0
  569. package/dist/services/loop/loop-bee-relation-types.d.ts +118 -0
  570. package/dist/services/loop/loop-bee-relation-types.js +114 -0
  571. package/dist/services/loop/loop-release-service.d.ts +46 -0
  572. package/dist/services/loop/loop-release-service.js +66 -0
  573. package/dist/services/loop/loop-release-store.d.ts +55 -0
  574. package/dist/services/loop/loop-release-store.js +134 -0
  575. package/dist/services/loop/loop-release-types.d.ts +250 -0
  576. package/dist/services/loop/loop-release-types.js +162 -0
  577. package/dist/services/loop/monotonic-guard.d.ts +80 -0
  578. package/dist/services/loop/monotonic-guard.js +232 -0
  579. package/dist/services/loop/monotonic-runner.d.ts +58 -0
  580. package/dist/services/loop/monotonic-runner.js +231 -0
  581. package/dist/services/loop/run-driver.d.ts +70 -0
  582. package/dist/services/loop/run-driver.js +400 -0
  583. package/dist/services/loop/spec-service.d.ts +90 -0
  584. package/dist/services/loop/spec-service.js +497 -0
  585. package/dist/services/memory/llm-reranker.d.ts +174 -0
  586. package/dist/services/memory/llm-reranker.js +284 -0
  587. package/dist/services/memory/memory-search-service.d.ts +93 -0
  588. package/dist/services/memory/memory-search-service.js +117 -0
  589. package/dist/services/memory/project-context-service.d.ts +21 -0
  590. package/dist/services/memory/project-context-service.js +161 -0
  591. package/dist/services/memory/project-memory-service.d.ts +167 -0
  592. package/dist/services/memory/project-memory-service.js +817 -0
  593. package/dist/services/migrate-skill-name/migrate.d.ts +17 -0
  594. package/dist/services/migrate-skill-name/migrate.js +152 -0
  595. package/dist/services/migrate-skill-name/schema.d.ts +42 -0
  596. package/dist/services/migrate-skill-name/schema.js +25 -0
  597. package/dist/services/migration/v2-10-to-v2-11-service.d.ts +44 -0
  598. package/dist/services/migration/v2-10-to-v2-11-service.js +190 -0
  599. package/dist/services/migration/v2-10-to-v2-11-types.d.ts +41 -0
  600. package/dist/services/migration/v2-10-to-v2-11-types.js +23 -0
  601. package/dist/services/mode/bypass-tracker.d.ts +4 -0
  602. package/dist/services/mode/bypass-tracker.js +31 -0
  603. package/dist/services/mode/mode-enforcement.d.ts +14 -0
  604. package/dist/services/mode/mode-enforcement.js +84 -0
  605. package/dist/services/mut/assert-scanner.d.ts +6 -0
  606. package/dist/services/mut/assert-scanner.js +116 -0
  607. package/dist/services/mut/index.d.ts +8 -0
  608. package/dist/services/mut/index.js +7 -0
  609. package/dist/services/mut/mut-runner.d.ts +39 -0
  610. package/dist/services/mut/mut-runner.js +29 -0
  611. package/dist/services/mut/production-stryker.d.ts +2 -0
  612. package/dist/services/mut/production-stryker.js +75 -0
  613. package/dist/services/mut/report-builder.d.ts +11 -0
  614. package/dist/services/mut/report-builder.js +110 -0
  615. package/dist/services/mut/report-loader.d.ts +31 -0
  616. package/dist/services/mut/report-loader.js +78 -0
  617. package/dist/services/mut/thresholds.d.ts +21 -0
  618. package/dist/services/mut/thresholds.js +22 -0
  619. package/dist/services/mut/types.d.ts +336 -0
  620. package/dist/services/mut/types.js +59 -0
  621. package/dist/services/observability/aggregation.d.ts +64 -0
  622. package/dist/services/observability/aggregation.js +217 -0
  623. package/dist/services/observability/jsonl-store.d.ts +59 -0
  624. package/dist/services/observability/jsonl-store.js +120 -0
  625. package/dist/services/observability/observability-service.d.ts +95 -0
  626. package/dist/services/observability/observability-service.js +119 -0
  627. package/dist/services/observability/report-formatter.d.ts +42 -0
  628. package/dist/services/observability/report-formatter.js +156 -0
  629. package/dist/services/openspec/openspec-archive-service.d.ts +12 -0
  630. package/dist/services/openspec/openspec-archive-service.js +28 -0
  631. package/dist/services/openspec/openspec-bridge-service.d.ts +16 -0
  632. package/dist/services/openspec/openspec-bridge-service.js +76 -0
  633. package/dist/services/openspec/openspec-init-service.d.ts +23 -0
  634. package/dist/services/openspec/openspec-init-service.js +122 -0
  635. package/dist/services/openspec/openspec-propose-from-doctor-service.d.ts +31 -0
  636. package/dist/services/openspec/openspec-propose-from-doctor-service.js +95 -0
  637. package/dist/services/openspec/openspec-render-service.d.ts +38 -0
  638. package/dist/services/openspec/openspec-render-service.js +130 -0
  639. package/dist/services/openspec/openspec-scan-service.d.ts +6 -0
  640. package/dist/services/openspec/openspec-scan-service.js +123 -0
  641. package/dist/services/openspec/openspec-types.d.ts +39 -0
  642. package/dist/services/openspec/openspec-types.js +1 -0
  643. package/dist/services/openspec/openspec-validate-service.d.ts +27 -0
  644. package/dist/services/openspec/openspec-validate-service.js +77 -0
  645. package/dist/services/perf/perf-baseline-service.d.ts +70 -0
  646. package/dist/services/perf/perf-baseline-service.js +214 -0
  647. package/dist/services/polyrepo/polyrepo-dispatcher.d.ts +34 -0
  648. package/dist/services/polyrepo/polyrepo-dispatcher.js +119 -0
  649. package/dist/services/polyrepo/polyrepo-scanner.d.ts +9 -0
  650. package/dist/services/polyrepo/polyrepo-scanner.js +94 -0
  651. package/dist/services/polyrepo/polyrepo-service.d.ts +34 -0
  652. package/dist/services/polyrepo/polyrepo-service.js +49 -0
  653. package/dist/services/polyrepo/polyrepo-types.d.ts +55 -0
  654. package/dist/services/polyrepo/polyrepo-types.js +1 -0
  655. package/dist/services/prd/handoff-auto-regen.d.ts +22 -0
  656. package/dist/services/prd/handoff-auto-regen.js +73 -0
  657. package/dist/services/prd/handoff-service.d.ts +54 -0
  658. package/dist/services/prd/handoff-service.js +142 -0
  659. package/dist/services/prd/handoff-types.d.ts +64 -0
  660. package/dist/services/prd/handoff-types.js +22 -0
  661. package/dist/services/prd/prd-blocks-checker.d.ts +51 -0
  662. package/dist/services/prd/prd-blocks-checker.js +130 -0
  663. package/dist/services/prd/project-scan-bootstrap-service.d.ts +52 -0
  664. package/dist/services/prd/project-scan-bootstrap-service.js +445 -0
  665. package/dist/services/prd/project-scan-reader.d.ts +24 -0
  666. package/dist/services/prd/project-scan-reader.js +150 -0
  667. package/dist/services/prd/project-scan-sediment.d.ts +97 -0
  668. package/dist/services/prd/project-scan-sediment.js +445 -0
  669. package/dist/services/prd/project-scan-types.d.ts +66 -0
  670. package/dist/services/prd/project-scan-types.js +20 -0
  671. package/dist/services/preferences/preferences-service.d.ts +38 -0
  672. package/dist/services/preferences/preferences-service.js +198 -0
  673. package/dist/services/preferences/preferences-types.d.ts +148 -0
  674. package/dist/services/preferences/preferences-types.js +53 -0
  675. package/dist/services/profiles/profile-service.d.ts +6 -0
  676. package/dist/services/profiles/profile-service.js +19 -0
  677. package/dist/services/progress/progress-service.d.ts +125 -0
  678. package/dist/services/progress/progress-service.js +192 -0
  679. package/dist/services/providers/minimax-provider-service.d.ts +24 -0
  680. package/dist/services/providers/minimax-provider-service.js +143 -0
  681. package/dist/services/providers/minimax-worker-service.d.ts +21 -0
  682. package/dist/services/providers/minimax-worker-service.js +83 -0
  683. package/dist/services/proxy/proxy-service.d.ts +7 -0
  684. package/dist/services/proxy/proxy-service.js +31 -0
  685. package/dist/services/qa/browser-event-logger.d.ts +40 -0
  686. package/dist/services/qa/browser-event-logger.js +54 -0
  687. package/dist/services/qa/browser-restart-detector.d.ts +74 -0
  688. package/dist/services/qa/browser-restart-detector.js +138 -0
  689. package/dist/services/qa/browser-reuse-hint.d.ts +18 -0
  690. package/dist/services/qa/browser-reuse-hint.js +18 -0
  691. package/dist/services/qa/browser-wrapper-service.d.ts +37 -0
  692. package/dist/services/qa/browser-wrapper-service.js +88 -0
  693. package/dist/services/qa/qa-business-review-state.d.ts +47 -0
  694. package/dist/services/qa/qa-business-review-state.js +96 -0
  695. package/dist/services/rd/ast-gate.d.ts +19 -0
  696. package/dist/services/rd/ast-gate.js +71 -0
  697. package/dist/services/rd/impl.d.ts +9 -0
  698. package/dist/services/rd/impl.js +57 -0
  699. package/dist/services/rd/rd-service.d.ts +129 -0
  700. package/dist/services/rd/rd-service.js +441 -0
  701. package/dist/services/rd/reviewer-dispatch-policy.d.ts +122 -0
  702. package/dist/services/rd/reviewer-dispatch-policy.js +148 -0
  703. package/dist/services/rd/standards-diagnostic.d.ts +76 -0
  704. package/dist/services/rd/standards-diagnostic.js +166 -0
  705. package/dist/services/rd/strategic-stage.d.ts +4 -0
  706. package/dist/services/rd/strategic-stage.js +15 -0
  707. package/dist/services/rd/strategy.d.ts +13 -0
  708. package/dist/services/rd/strategy.js +60 -0
  709. package/dist/services/rd/tactical-stage.d.ts +33 -0
  710. package/dist/services/rd/tactical-stage.js +62 -0
  711. package/dist/services/rd/types.d.ts +252 -0
  712. package/dist/services/rd/types.js +47 -0
  713. package/dist/services/recommendations/capability-availability.d.ts +5 -0
  714. package/dist/services/recommendations/capability-availability.js +40 -0
  715. package/dist/services/recommendations/capability-map-service.d.ts +7 -0
  716. package/dist/services/recommendations/capability-map-service.js +131 -0
  717. package/dist/services/recommendations/capability-seed-items.d.ts +2 -0
  718. package/dist/services/recommendations/capability-seed-items.js +140 -0
  719. package/dist/services/recommendations/capability-seed-mappings.d.ts +2 -0
  720. package/dist/services/recommendations/capability-seed-mappings.js +54 -0
  721. package/dist/services/recommendations/capability-seed-sources.d.ts +2 -0
  722. package/dist/services/recommendations/capability-seed-sources.js +35 -0
  723. package/dist/services/recommendations/recommendation-service.d.ts +8 -0
  724. package/dist/services/recommendations/recommendation-service.js +106 -0
  725. package/dist/services/recommendations/recommendation-types.d.ts +129 -0
  726. package/dist/services/recommendations/recommendation-types.js +1 -0
  727. package/dist/services/recommendations/seed-capability-catalog.d.ts +3 -0
  728. package/dist/services/recommendations/seed-capability-catalog.js +3 -0
  729. package/dist/services/refactor/refactor-service.d.ts +9 -0
  730. package/dist/services/refactor/refactor-service.js +36 -0
  731. package/dist/services/release/release-state.d.ts +70 -0
  732. package/dist/services/release/release-state.js +140 -0
  733. package/dist/services/retrospective/retrospective-index.d.ts +37 -0
  734. package/dist/services/retrospective/retrospective-index.js +110 -0
  735. package/dist/services/retrospective/retrospective-search-service.d.ts +55 -0
  736. package/dist/services/retrospective/retrospective-search-service.js +107 -0
  737. package/dist/services/retrospective/retrospective-show.d.ts +40 -0
  738. package/dist/services/retrospective/retrospective-show.js +109 -0
  739. package/dist/services/reviewer/model-family.d.ts +18 -0
  740. package/dist/services/reviewer/model-family.js +70 -0
  741. package/dist/services/reviewer/providers/anthropic.d.ts +2 -0
  742. package/dist/services/reviewer/providers/anthropic.js +61 -0
  743. package/dist/services/reviewer/providers/ollama.d.ts +26 -0
  744. package/dist/services/reviewer/providers/ollama.js +38 -0
  745. package/dist/services/reviewer/providers/openai.d.ts +2 -0
  746. package/dist/services/reviewer/providers/openai.js +63 -0
  747. package/dist/services/reviewer/reviewer-config.d.ts +34 -0
  748. package/dist/services/reviewer/reviewer-config.js +100 -0
  749. package/dist/services/reviewer/reviewer-service.d.ts +56 -0
  750. package/dist/services/reviewer/reviewer-service.js +263 -0
  751. package/dist/services/reviewer/selection-strategies.d.ts +27 -0
  752. package/dist/services/reviewer/selection-strategies.js +53 -0
  753. package/dist/services/role/role-registry.d.ts +38 -0
  754. package/dist/services/role/role-registry.js +83 -0
  755. package/dist/services/runtime/runtime-detector.d.ts +15 -0
  756. package/dist/services/runtime/runtime-detector.js +62 -0
  757. package/dist/services/runtime/runtime-service.d.ts +59 -0
  758. package/dist/services/runtime/runtime-service.js +51 -0
  759. package/dist/services/runtime/vendor-adapter.d.ts +59 -0
  760. package/dist/services/runtime/vendor-adapter.js +1 -0
  761. package/dist/services/runtime/vendors/claude-code.d.ts +7 -0
  762. package/dist/services/runtime/vendors/claude-code.js +39 -0
  763. package/dist/services/runtime/vendors/codex.d.ts +7 -0
  764. package/dist/services/runtime/vendors/codex.js +43 -0
  765. package/dist/services/runtime/vendors/copilot.d.ts +7 -0
  766. package/dist/services/runtime/vendors/copilot.js +40 -0
  767. package/dist/services/sc/index.d.ts +1 -0
  768. package/dist/services/sc/index.js +1 -0
  769. package/dist/services/sc/sc-service.d.ts +131 -0
  770. package/dist/services/sc/sc-service.js +552 -0
  771. package/dist/services/scan/acceptance-coverage-service.d.ts +42 -0
  772. package/dist/services/scan/acceptance-coverage-service.js +140 -0
  773. package/dist/services/scan/api-surface-service.d.ts +69 -0
  774. package/dist/services/scan/api-surface-service.js +239 -0
  775. package/dist/services/scan/archetype-service.d.ts +5 -0
  776. package/dist/services/scan/archetype-service.js +254 -0
  777. package/dist/services/scan/diff-scope-service.d.ts +40 -0
  778. package/dist/services/scan/diff-scope-service.js +198 -0
  779. package/dist/services/scan/existing-system-service.d.ts +7 -0
  780. package/dist/services/scan/existing-system-service.js +300 -0
  781. package/dist/services/scan/file-size-scan.d.ts +23 -0
  782. package/dist/services/scan/file-size-scan.js +68 -0
  783. package/dist/services/scan/karpathy-service.d.ts +60 -0
  784. package/dist/services/scan/karpathy-service.js +228 -0
  785. package/dist/services/scan/libraries-service.d.ts +24 -0
  786. package/dist/services/scan/libraries-service.js +419 -0
  787. package/dist/services/scan/libraries-types.d.ts +59 -0
  788. package/dist/services/scan/libraries-types.js +9 -0
  789. package/dist/services/scan/orphan-service.d.ts +76 -0
  790. package/dist/services/scan/orphan-service.js +538 -0
  791. package/dist/services/scan/scan-types.d.ts +59 -0
  792. package/dist/services/scan/scan-types.js +1 -0
  793. package/dist/services/scan/type-sanity-service.d.ts +23 -0
  794. package/dist/services/scan/type-sanity-service.js +116 -0
  795. package/dist/services/security/safe-settings-path.d.ts +12 -0
  796. package/dist/services/security/safe-settings-path.js +104 -0
  797. package/dist/services/sediment/dispose-confirm.d.ts +9 -0
  798. package/dist/services/sediment/dispose-confirm.js +5 -0
  799. package/dist/services/sediment/json-schema.d.ts +247 -0
  800. package/dist/services/sediment/json-schema.js +26 -0
  801. package/dist/services/sediment/manifest-lint.d.ts +13 -0
  802. package/dist/services/sediment/manifest-lint.js +11 -0
  803. package/dist/services/sediment/pool-paths.d.ts +22 -0
  804. package/dist/services/sediment/pool-paths.js +25 -0
  805. package/dist/services/sediment/pool-read.d.ts +20 -0
  806. package/dist/services/sediment/pool-read.js +73 -0
  807. package/dist/services/sediment/pool-rebuild-index.d.ts +15 -0
  808. package/dist/services/sediment/pool-rebuild-index.js +28 -0
  809. package/dist/services/sediment/pool-write.d.ts +14 -0
  810. package/dist/services/sediment/pool-write.js +25 -0
  811. package/dist/services/sediment/promotion-gate.d.ts +12 -0
  812. package/dist/services/sediment/promotion-gate.js +20 -0
  813. package/dist/services/sediment/types.d.ts +52 -0
  814. package/dist/services/sediment/types.js +1 -0
  815. package/dist/services/session/binding-status-service.d.ts +56 -0
  816. package/dist/services/session/binding-status-service.js +106 -0
  817. package/dist/services/session/binding-store.d.ts +161 -0
  818. package/dist/services/session/binding-store.js +509 -0
  819. package/dist/services/session/caller-binding-service.d.ts +70 -0
  820. package/dist/services/session/caller-binding-service.js +148 -0
  821. package/dist/services/session/caller-id-types.d.ts +77 -0
  822. package/dist/services/session/caller-id-types.js +46 -0
  823. package/dist/services/session/getSessionDir.d.ts +1 -0
  824. package/dist/services/session/getSessionDir.js +27 -0
  825. package/dist/services/session/index.d.ts +6 -0
  826. package/dist/services/session/index.js +7 -0
  827. package/dist/services/session/platform-fallbacks.d.ts +31 -0
  828. package/dist/services/session/platform-fallbacks.js +35 -0
  829. package/dist/services/session/resolve-caller-id.d.ts +57 -0
  830. package/dist/services/session/resolve-caller-id.js +88 -0
  831. package/dist/services/session/session-binding-bridge.d.ts +76 -0
  832. package/dist/services/session/session-binding-bridge.js +247 -0
  833. package/dist/services/session/session-checkpoint-service.d.ts +57 -0
  834. package/dist/services/session/session-checkpoint-service.js +143 -0
  835. package/dist/services/session/session-manager.d.ts +168 -0
  836. package/dist/services/session/session-manager.js +502 -0
  837. package/dist/services/session/session-resume-service.d.ts +25 -0
  838. package/dist/services/session/session-resume-service.js +101 -0
  839. package/dist/services/share/bundle-reader.d.ts +100 -0
  840. package/dist/services/share/bundle-reader.js +434 -0
  841. package/dist/services/share/bundle-types.d.ts +392 -0
  842. package/dist/services/share/bundle-types.js +318 -0
  843. package/dist/services/share/bundle-writer.d.ts +97 -0
  844. package/dist/services/share/bundle-writer.js +429 -0
  845. package/dist/services/share/run-state-contract.d.ts +133 -0
  846. package/dist/services/share/run-state-contract.js +138 -0
  847. package/dist/services/signal/cancel-handler.d.ts +14 -0
  848. package/dist/services/signal/cancel-handler.js +76 -0
  849. package/dist/services/skill/resume-detector.d.ts +54 -0
  850. package/dist/services/skill/resume-detector.js +334 -0
  851. package/dist/services/skill/skill-scheduler.d.ts +40 -0
  852. package/dist/services/skill/skill-scheduler.js +53 -0
  853. package/dist/services/skill/skill-search-service.d.ts +88 -0
  854. package/dist/services/skill/skill-search-service.js +228 -0
  855. package/dist/services/skillhub/release-diff.d.ts +18 -0
  856. package/dist/services/skillhub/release-diff.js +38 -0
  857. package/dist/services/skillhub/release-export.d.ts +8 -0
  858. package/dist/services/skillhub/release-export.js +31 -0
  859. package/dist/services/skillhub/release-gc-blobs.d.ts +13 -0
  860. package/dist/services/skillhub/release-gc-blobs.js +32 -0
  861. package/dist/services/skillhub/release-import.d.ts +7 -0
  862. package/dist/services/skillhub/release-import.js +64 -0
  863. package/dist/services/skillhub/release-retain.d.ts +23 -0
  864. package/dist/services/skillhub/release-retain.js +94 -0
  865. package/dist/services/skillhub/sqlite-store.d.ts +22 -0
  866. package/dist/services/skillhub/sqlite-store.js +63 -0
  867. package/dist/services/skillhub/tar-runtime.d.ts +21 -0
  868. package/dist/services/skillhub/tar-runtime.js +91 -0
  869. package/dist/services/skillhub/types.d.ts +115 -0
  870. package/dist/services/skillhub/types.js +1 -0
  871. package/dist/services/skills/hooks-settings-service.d.ts +137 -0
  872. package/dist/services/skills/hooks-settings-service.js +396 -0
  873. package/dist/services/skills/skill-conformance-service.d.ts +40 -0
  874. package/dist/services/skills/skill-conformance-service.js +139 -0
  875. package/dist/services/skills/skill-presence-service.d.ts +158 -0
  876. package/dist/services/skills/skill-presence-service.js +474 -0
  877. package/dist/services/skills/skill-registry.d.ts +17 -0
  878. package/dist/services/skills/skill-registry.js +67 -0
  879. package/dist/services/skills/skill-runbook-service.d.ts +11 -0
  880. package/dist/services/skills/skill-runbook-service.js +128 -0
  881. package/dist/services/skills/skill-statusline-renderer.d.ts +6 -0
  882. package/dist/services/skills/skill-statusline-renderer.js +55 -0
  883. package/dist/services/skills/skill-statusline-service.d.ts +24 -0
  884. package/dist/services/skills/skill-statusline-service.js +110 -0
  885. package/dist/services/skills/statusline-settings-service.d.ts +59 -0
  886. package/dist/services/skills/statusline-settings-service.js +141 -0
  887. package/dist/services/skills/sync-service.d.ts +86 -0
  888. package/dist/services/skills/sync-service.js +271 -0
  889. package/dist/services/slice/calibration-store.d.ts +39 -0
  890. package/dist/services/slice/calibration-store.js +68 -0
  891. package/dist/services/slice/cross-pass-edge-merger.d.ts +53 -0
  892. package/dist/services/slice/cross-pass-edge-merger.js +246 -0
  893. package/dist/services/slice/granularity-decider.d.ts +37 -0
  894. package/dist/services/slice/granularity-decider.js +40 -0
  895. package/dist/services/slice/llm-arbitrator.d.ts +35 -0
  896. package/dist/services/slice/llm-arbitrator.js +63 -0
  897. package/dist/services/slice/multi-pass-orchestrator.d.ts +67 -0
  898. package/dist/services/slice/multi-pass-orchestrator.js +225 -0
  899. package/dist/services/slice/schema-router.d.ts +44 -0
  900. package/dist/services/slice/schema-router.js +61 -0
  901. package/dist/services/slice/slice-archive-service.d.ts +20 -0
  902. package/dist/services/slice/slice-archive-service.js +111 -0
  903. package/dist/services/slice/slice-benchmark-service.d.ts +19 -0
  904. package/dist/services/slice/slice-benchmark-service.js +60 -0
  905. package/dist/services/slice/slice-check-service.d.ts +2 -0
  906. package/dist/services/slice/slice-check-service.js +459 -0
  907. package/dist/services/slice/slice-check-types.d.ts +104 -0
  908. package/dist/services/slice/slice-check-types.js +28 -0
  909. package/dist/services/slice/slice-decompose-runners.d.ts +23 -0
  910. package/dist/services/slice/slice-decompose-runners.js +174 -0
  911. package/dist/services/slice/slice-decompose-service.d.ts +24 -0
  912. package/dist/services/slice/slice-decompose-service.js +532 -0
  913. package/dist/services/slice/slice-decompose-types.d.ts +263 -0
  914. package/dist/services/slice/slice-decompose-types.js +30 -0
  915. package/dist/services/slice/slice-integration.d.ts +43 -0
  916. package/dist/services/slice/slice-integration.js +106 -0
  917. package/dist/services/slice/slice-pick-service.d.ts +32 -0
  918. package/dist/services/slice/slice-pick-service.js +75 -0
  919. package/dist/services/slice/slice-review-state.d.ts +70 -0
  920. package/dist/services/slice/slice-review-state.js +109 -0
  921. package/dist/services/slice/slice-topology-types.d.ts +115 -0
  922. package/dist/services/slice/slice-topology-types.js +20 -0
  923. package/dist/services/smoke/smoke-paths-state.d.ts +73 -0
  924. package/dist/services/smoke/smoke-paths-state.js +117 -0
  925. package/dist/services/sop/gate-enforce-service.d.ts +33 -0
  926. package/dist/services/sop/gate-enforce-service.js +168 -0
  927. package/dist/services/sop/sop-advance-service.d.ts +74 -0
  928. package/dist/services/sop/sop-advance-service.js +115 -0
  929. package/dist/services/sop/sop-check-service.d.ts +45 -0
  930. package/dist/services/sop/sop-check-service.js +181 -0
  931. package/dist/services/sop/sop-paths.d.ts +62 -0
  932. package/dist/services/sop/sop-paths.js +92 -0
  933. package/dist/services/sop/sop-registry-service.d.ts +46 -0
  934. package/dist/services/sop/sop-registry-service.js +89 -0
  935. package/dist/services/sop/sop-service.d.ts +55 -0
  936. package/dist/services/sop/sop-service.js +222 -0
  937. package/dist/services/sop/sop-types.d.ts +95 -0
  938. package/dist/services/sop/sop-types.js +11 -0
  939. package/dist/services/standards/ide-aware-standards-service.d.ts +94 -0
  940. package/dist/services/standards/ide-aware-standards-service.js +91 -0
  941. package/dist/services/standards/loop-engineering-lint.d.ts +38 -0
  942. package/dist/services/standards/loop-engineering-lint.js +101 -0
  943. package/dist/services/standards/loop-engineering-readiness-lint.d.ts +111 -0
  944. package/dist/services/standards/loop-engineering-readiness-lint.js +248 -0
  945. package/dist/services/standards/migrate-claude-rules-service.d.ts +19 -0
  946. package/dist/services/standards/migrate-claude-rules-service.js +214 -0
  947. package/dist/services/standards/migrate-service.d.ts +63 -0
  948. package/dist/services/standards/migrate-service.js +193 -0
  949. package/dist/services/standards/missing-standards-detector.d.ts +81 -0
  950. package/dist/services/standards/missing-standards-detector.js +139 -0
  951. package/dist/services/standards/project-context.d.ts +24 -0
  952. package/dist/services/standards/project-context.js +314 -0
  953. package/dist/services/standards/project-standards-service.d.ts +114 -0
  954. package/dist/services/standards/project-standards-service.js +693 -0
  955. package/dist/services/tech/tech-service.d.ts +69 -0
  956. package/dist/services/tech/tech-service.js +299 -0
  957. package/dist/services/test-cache/test-cache-service.d.ts +70 -0
  958. package/dist/services/test-cache/test-cache-service.js +175 -0
  959. package/dist/services/understand/hybrid-types.d.ts +32 -0
  960. package/dist/services/understand/hybrid-types.js +1 -0
  961. package/dist/services/understand/understand-hybrid-service.d.ts +10 -0
  962. package/dist/services/understand/understand-hybrid-service.js +100 -0
  963. package/dist/services/understand/understand-scan-service.d.ts +28 -0
  964. package/dist/services/understand/understand-scan-service.js +170 -0
  965. package/dist/services/understand/understand-types.d.ts +50 -0
  966. package/dist/services/understand/understand-types.js +1 -0
  967. package/dist/services/upgrade/1x-detector-service.d.ts +7 -0
  968. package/dist/services/upgrade/1x-detector-service.js +94 -0
  969. package/dist/services/upgrade/gitignore-migrate-service.d.ts +56 -0
  970. package/dist/services/upgrade/gitignore-migrate-service.js +170 -0
  971. package/dist/services/upgrade/upgrade-service.d.ts +81 -0
  972. package/dist/services/upgrade/upgrade-service.js +403 -0
  973. package/dist/services/verdict/envelopes.d.ts +93 -0
  974. package/dist/services/verdict/envelopes.js +349 -0
  975. package/dist/services/verdict/verdict-aggregator.d.ts +94 -0
  976. package/dist/services/verdict/verdict-aggregator.js +112 -0
  977. package/dist/services/workflow/artifact-paths.d.ts +59 -0
  978. package/dist/services/workflow/artifact-paths.js +166 -0
  979. package/dist/services/workflow/autonomous-resume-writer.d.ts +16 -0
  980. package/dist/services/workflow/autonomous-resume-writer.js +170 -0
  981. package/dist/services/workflow/pipeline-verify-service.d.ts +90 -0
  982. package/dist/services/workflow/pipeline-verify-service.js +449 -0
  983. package/dist/services/workflow/plan-reader.d.ts +29 -0
  984. package/dist/services/workflow/plan-reader.js +174 -0
  985. package/dist/services/workflow/plan-refresher.d.ts +32 -0
  986. package/dist/services/workflow/plan-refresher.js +353 -0
  987. package/dist/services/workflow/plan-trigger-detector.d.ts +55 -0
  988. package/dist/services/workflow/plan-trigger-detector.js +142 -0
  989. package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +19 -0
  990. package/dist/services/workflow/workflow-autonomous-resume-helpers.js +300 -0
  991. package/dist/services/workflow/workflow-autonomous-service.d.ts +100 -0
  992. package/dist/services/workflow/workflow-autonomous-service.js +306 -0
  993. package/dist/services/workflow/workflow-loader.d.ts +63 -0
  994. package/dist/services/workflow/workflow-loader.js +168 -0
  995. package/dist/services/workflow/workflow-router-service.d.ts +85 -0
  996. package/dist/services/workflow/workflow-router-service.js +233 -0
  997. package/dist/services/workflow/workflow-skip-service.d.ts +106 -0
  998. package/dist/services/workflow/workflow-skip-service.js +209 -0
  999. package/dist/services/workflow/workflow-spec.d.ts +116 -0
  1000. package/dist/services/workflow/workflow-spec.js +431 -0
  1001. package/dist/services/workflow/workflow-state-store.d.ts +27 -0
  1002. package/dist/services/workflow/workflow-state-store.js +95 -0
  1003. package/dist/services/workspace/claude-settings-template.d.ts +101 -0
  1004. package/dist/services/workspace/claude-settings-template.js +254 -0
  1005. package/dist/services/workspace/migrate-1-4-1-service.d.ts +44 -0
  1006. package/dist/services/workspace/migrate-1-4-1-service.js +195 -0
  1007. package/dist/services/workspace/migrate-service.d.ts +2 -0
  1008. package/dist/services/workspace/migrate-service.js +613 -0
  1009. package/dist/services/workspace/migrate-types.d.ts +127 -0
  1010. package/dist/services/workspace/migrate-types.js +21 -0
  1011. package/dist/services/workspace/reconcile-service.d.ts +188 -0
  1012. package/dist/services/workspace/reconcile-service.js +683 -0
  1013. package/dist/services/workspace/reconcile-types.d.ts +130 -0
  1014. package/dist/services/workspace/reconcile-types.js +13 -0
  1015. package/dist/services/workspace/sid-naming-guard.d.ts +17 -0
  1016. package/dist/services/workspace/sid-naming-guard.js +34 -0
  1017. package/dist/services/workspace/templates/project-scan/audit-output-schema.md +100 -0
  1018. package/dist/services/workspace/templates/project-scan/business-knowledge.md +44 -0
  1019. package/dist/services/workspace/templates/project-scan/index.d.ts +34 -0
  1020. package/dist/services/workspace/templates/project-scan/index.js +60 -0
  1021. package/dist/services/workspace/templates/project-scan/perf-template.md +109 -0
  1022. package/dist/services/workspace/templates/project-scan/security-template.md +99 -0
  1023. package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +45 -0
  1024. package/dist/services/workspace/workspace-claude-settings-materializer.js +194 -0
  1025. package/dist/services/workspace/workspace-clean-service.d.ts +28 -0
  1026. package/dist/services/workspace/workspace-clean-service.js +46 -0
  1027. package/dist/services/workspace/workspace-service.d.ts +177 -0
  1028. package/dist/services/workspace/workspace-service.js +432 -0
  1029. package/dist/services/workspace/workspace-state-service.d.ts +7 -0
  1030. package/dist/services/workspace/workspace-state-service.js +43 -0
  1031. package/dist/shared/format-md-compact.d.ts +32 -0
  1032. package/dist/shared/format-md-compact.js +297 -0
  1033. package/dist/shared/frontmatter.d.ts +6 -0
  1034. package/dist/shared/frontmatter.js +165 -0
  1035. package/dist/shared/fs-utils.d.ts +4 -0
  1036. package/dist/shared/fs-utils.js +16 -0
  1037. package/dist/shared/fs.d.ts +4 -0
  1038. package/dist/shared/fs.js +26 -0
  1039. package/dist/shared/incrementing-number.d.ts +23 -0
  1040. package/dist/shared/incrementing-number.js +68 -0
  1041. package/dist/shared/json-schema-mini.d.ts +10 -0
  1042. package/dist/shared/json-schema-mini.js +113 -0
  1043. package/dist/shared/path-safety.d.ts +21 -0
  1044. package/dist/shared/path-safety.js +54 -0
  1045. package/dist/shared/path-utils.d.ts +13 -0
  1046. package/dist/shared/path-utils.js +56 -0
  1047. package/dist/shared/paths.d.ts +6 -0
  1048. package/dist/shared/paths.js +50 -0
  1049. package/dist/shared/planner-response.d.ts +21 -0
  1050. package/dist/shared/planner-response.js +26 -0
  1051. package/dist/shared/platform.d.ts +6 -0
  1052. package/dist/shared/platform.js +11 -0
  1053. package/dist/shared/process.d.ts +5 -0
  1054. package/dist/shared/process.js +12 -0
  1055. package/dist/shared/result.d.ts +22 -0
  1056. package/dist/shared/result.js +46 -0
  1057. package/dist/shared/stale-policy.d.ts +67 -0
  1058. package/dist/shared/stale-policy.js +85 -0
  1059. package/dist/shared/version.d.ts +1 -0
  1060. package/dist/shared/version.js +1 -0
  1061. package/dist/skills/peaks-maker/index.d.ts +5 -0
  1062. package/dist/skills/peaks-maker/index.js +32 -0
  1063. package/package.json +5 -4
  1064. package/scripts/copy-templates.mjs +1 -1
@@ -0,0 +1,215 @@
1
+ import { mkdirSync } from 'node:fs';
2
+ import { initSop, lintSop } from '../../services/sop/sop-service.js';
3
+ import { registerSop, readRegistry, SopRegisterError } from '../../services/sop/sop-registry-service.js';
4
+ import { checkGate, SopCheckError } from '../../services/sop/sop-check-service.js';
5
+ import { advanceSop, SopAdvanceError, SopGateBlockedError, SopPhaseSkipError } from '../../services/sop/sop-advance-service.js';
6
+ import { sopStateDir } from '../../services/sop/sop-paths.js';
7
+ import { getSkillPresence } from '../../services/skills/skill-presence-service.js';
8
+ import { recordBypass, isBypassLimitReached, MAX_BYPASSES_PER_SESSION } from '../../services/mode/bypass-tracker.js';
9
+ import { fail, ok } from '../../shared/result.js';
10
+ import { addJsonOption, getErrorMessage, printResult } from '../cli-helpers.js';
11
+ export function registerSopCommands(program, io) {
12
+ const sop = program.command('sop').description('Author and validate user-defined SOP skills');
13
+ addJsonOption(sop
14
+ .command('init')
15
+ .description('Scaffold a user-authored SOP (manifest + SKILL.md); global by default, --project commits it into a repo')
16
+ .requiredOption('--id <sop-id>', 'SOP id (lowercase kebab, e.g. team-release)')
17
+ .option('--name <name>', 'human-readable SOP name (defaults to the id)')
18
+ .option('--apply', 'write the SOP files (default: preview only)')
19
+ .option('--project <path>', 'scaffold into the repo (<path>/.peaks/sops, committed & team-shared) instead of global')).action(async (options) => {
20
+ try {
21
+ const initOptions = { id: options.id };
22
+ if (options.name !== undefined) {
23
+ initOptions.name = options.name;
24
+ }
25
+ if (options.apply === true) {
26
+ initOptions.apply = true;
27
+ }
28
+ if (options.project !== undefined) {
29
+ initOptions.projectRoot = options.project;
30
+ }
31
+ const result = await initSop(initOptions);
32
+ // Side-effecting scaffold returns explicit next steps so the user doesn't
33
+ // have to recall the runbook: applied → edit then lint; preview → apply.
34
+ const nextActions = result.applied
35
+ ? [
36
+ `Edit ${result.manifestPath} to define your real phases and gates`,
37
+ `peaks sop lint --id ${result.id} --json`
38
+ ]
39
+ : [`Re-run with --apply to write ${result.manifestPath}`];
40
+ printResult(io, ok('sop.init', result, [], nextActions), options.json);
41
+ }
42
+ catch (error) {
43
+ printResult(io, fail('sop.init', 'SOP_INIT_FAILED', getErrorMessage(error), { id: options.id }, ['Check the SOP id before retrying']), options.json);
44
+ process.exitCode = 1;
45
+ }
46
+ });
47
+ addJsonOption(sop
48
+ .command('lint')
49
+ .description('Validate a SOP manifest (id namespace, phases, gate ids, check fields)')
50
+ .requiredOption('--id <sop-id>', 'SOP id to lint')
51
+ .option('--allow-commands', 'permit command-type gates (they run shell-less processes)')
52
+ .option('--project <path>', 'lint the project-layer SOP (<path>/.peaks/sops) instead of global')).action(async (options) => {
53
+ try {
54
+ const lintOptions = { id: options.id };
55
+ if (options.allowCommands === true) {
56
+ lintOptions.allowCommands = true;
57
+ }
58
+ if (options.project !== undefined) {
59
+ lintOptions.projectRoot = options.project;
60
+ }
61
+ const result = await lintSop(lintOptions);
62
+ if (result === null) {
63
+ printResult(io, fail('sop.lint', 'SOP_NOT_FOUND', `No SOP found for id "${options.id}"`, { id: options.id }, ['Run peaks sop init --id <sop-id> --apply first']), options.json);
64
+ process.exitCode = 1;
65
+ return;
66
+ }
67
+ printResult(io, result.ok
68
+ ? ok('sop.lint', result)
69
+ : fail('sop.lint', 'SOP_LINT_FAILED', `${result.findings.filter((f) => f.severity === 'error').length} lint error(s) in SOP "${options.id}"`, result, ['Fix the reported findings, then re-run peaks sop lint']), options.json);
70
+ if (!result.ok) {
71
+ process.exitCode = 1;
72
+ }
73
+ }
74
+ catch (error) {
75
+ printResult(io, fail('sop.lint', 'SOP_LINT_ERROR', getErrorMessage(error), { id: options.id }, ['Check the SOP id before retrying']), options.json);
76
+ process.exitCode = 1;
77
+ }
78
+ });
79
+ addJsonOption(sop
80
+ .command('register')
81
+ .description('Validate a SOP and record its gates in the gate registry (global, or --project for the repo)')
82
+ .requiredOption('--id <sop-id>', 'SOP id to register')
83
+ .option('--allow-commands', 'permit command-type gates when validating')
84
+ .option('--dry-run', 'preview the registration without writing registry.json')
85
+ .option('--project <path>', 'register into the repo (<path>/.peaks/sops, committed & team-shared) instead of global')).action(async (options) => {
86
+ try {
87
+ const registerOptions = { id: options.id };
88
+ if (options.allowCommands === true) {
89
+ registerOptions.allowCommands = true;
90
+ }
91
+ if (options.dryRun === true) {
92
+ registerOptions.dryRun = true;
93
+ }
94
+ if (options.project !== undefined) {
95
+ registerOptions.projectRoot = options.project;
96
+ }
97
+ const result = await registerSop(registerOptions);
98
+ printResult(io, ok('sop.register', result, [], result.applied ? [] : ['Re-run without --dry-run to write registry.json']), options.json);
99
+ }
100
+ catch (error) {
101
+ const code = error instanceof SopRegisterError ? error.code : 'SOP_REGISTER_FAILED';
102
+ printResult(io, fail('sop.register', code, getErrorMessage(error), { id: options.id }, ['Run peaks sop lint to see why the SOP is not registrable']), options.json);
103
+ process.exitCode = 1;
104
+ }
105
+ });
106
+ addJsonOption(sop
107
+ .command('registry')
108
+ .description('List registered SOPs and gates (global; merges in the cwd project layer by default)')
109
+ .option('--project <path>', 'also include and prefer the repo layer (<path>/.peaks/sops) (default: current directory)', '.')).action(async (options) => {
110
+ try {
111
+ const registry = await readRegistry(options.project);
112
+ printResult(io, ok('sop.registry', registry), options.json);
113
+ }
114
+ catch (error) {
115
+ printResult(io, fail('sop.registry', 'SOP_REGISTRY_FAILED', getErrorMessage(error), {}, ['The global registry may be corrupted; inspect ~/.peaks/sops/registry.json']), options.json);
116
+ process.exitCode = 1;
117
+ }
118
+ });
119
+ addJsonOption(sop
120
+ .command('check')
121
+ .description('Evaluate a single SOP gate (returns pass / fail / blocked)')
122
+ .requiredOption('--id <sop-id>', 'SOP id')
123
+ .requiredOption('--gate <gate-id>', 'gate id within the SOP')
124
+ .option('--project <path>', 'project the gate evaluates against (default: current directory)', '.')
125
+ .option('--allow-commands', 'permit evaluating command-type gates')).action(async (options) => {
126
+ try {
127
+ const checkOptions = { projectRoot: options.project, id: options.id, gateId: options.gate };
128
+ if (options.allowCommands === true) {
129
+ checkOptions.allowCommands = true;
130
+ }
131
+ const result = await checkGate(checkOptions);
132
+ printResult(io, ok('sop.check', result), options.json);
133
+ }
134
+ catch (error) {
135
+ const code = error instanceof SopCheckError ? error.code : 'SOP_CHECK_FAILED';
136
+ printResult(io, fail('sop.check', code, getErrorMessage(error), { id: options.id, gateId: options.gate }, ['Verify the SOP id and gate id with peaks sop lint']), options.json);
137
+ process.exitCode = 1;
138
+ }
139
+ });
140
+ addJsonOption(sop
141
+ .command('advance')
142
+ .description('Advance a SOP to a phase; gates guarding that phase must pass (or be explicitly bypassed)')
143
+ .requiredOption('--id <sop-id>', 'SOP id')
144
+ .requiredOption('--to <phase>', 'phase to advance into')
145
+ .option('--project <path>', 'project whose run-state advances (default: current directory)', '.')
146
+ .option('--allow-commands', 'permit evaluating command-type gates')
147
+ .option('--allow-incomplete', 'bypass the phase gates AND phase-order check (requires --reason)')
148
+ .option('--reason <text>', 'justification recorded when bypassing gates')
149
+ .option('--confirm', 'skip interactive confirmation for a bypass in assisted/strict mode')
150
+ .option('--force-confirm', 'bypass mode-enforced confirmation (use with caution)')
151
+ .option('--dry-run', 'evaluate gates without recording the advance in state.json')).action(async (options) => {
152
+ try {
153
+ // Bypass policy mirrors `request transition`: a bypass needs a reason, and
154
+ // in assisted/strict mode (resolved from the target project) it needs an
155
+ // explicit --confirm and counts against the per-SOP bypass cap.
156
+ if (options.allowIncomplete === true && (options.reason === undefined || options.reason.trim().length === 0)) {
157
+ printResult(io, fail('sop.advance', 'BYPASS_REASON_REQUIRED', '--allow-incomplete requires --reason explaining why the gates are skipped', { id: options.id, to: options.to }, ['Add --reason "<short justification>" or satisfy the gates']), options.json);
158
+ process.exitCode = 1;
159
+ return;
160
+ }
161
+ if (options.allowIncomplete === true && options.forceConfirm !== true) {
162
+ const presence = getSkillPresence(options.project);
163
+ if (presence?.mode === 'assisted' || presence?.mode === 'strict') {
164
+ if (options.confirm !== true) {
165
+ printResult(io, fail('sop.advance', 'ALLOW_INCOMPLETE_RESTRICTED', `--allow-incomplete requires --confirm in ${presence.mode} mode`, { id: options.id, mode: presence.mode }, ['Add --confirm to bypass non-interactively']), options.json);
166
+ process.exitCode = 1;
167
+ return;
168
+ }
169
+ // The bypass counter is keyed to the per-project SOP run-state dir (not
170
+ // a session); the shared cap constant is reused. Keying it per-project
171
+ // means a bypass in one project never consumes another project's budget.
172
+ const bypassRoot = sopStateDir(options.project, options.id);
173
+ // The per-project state dir may not exist yet (no successful advance has
174
+ // written state.json), so ensure it before the counter writes its file.
175
+ mkdirSync(bypassRoot, { recursive: true });
176
+ if (isBypassLimitReached(bypassRoot)) {
177
+ printResult(io, fail('sop.advance', 'BYPASS_LIMIT_REACHED', `gate bypass limit reached (${MAX_BYPASSES_PER_SESSION} bypasses per SOP)`, { id: options.id, limit: MAX_BYPASSES_PER_SESSION }, ['Satisfy the gates instead of bypassing']), options.json);
178
+ process.exitCode = 1;
179
+ return;
180
+ }
181
+ // A dry-run preview must not consume a bypass.
182
+ if (options.dryRun !== true) {
183
+ recordBypass(bypassRoot);
184
+ }
185
+ }
186
+ }
187
+ const advanceOptions = { projectRoot: options.project, id: options.id, toPhase: options.to };
188
+ if (options.allowCommands === true)
189
+ advanceOptions.allowCommands = true;
190
+ if (options.allowIncomplete === true)
191
+ advanceOptions.allowIncomplete = true;
192
+ if (options.reason !== undefined)
193
+ advanceOptions.reason = options.reason;
194
+ if (options.dryRun === true)
195
+ advanceOptions.dryRun = true;
196
+ const result = await advanceSop(advanceOptions);
197
+ printResult(io, ok('sop.advance', result, [], result.applied ? [] : ['Gates passed; re-run without --dry-run to record the advance']), options.json);
198
+ }
199
+ catch (error) {
200
+ if (error instanceof SopGateBlockedError) {
201
+ printResult(io, fail('sop.advance', error.code, error.message, { id: options.id, to: options.to, blockedGates: error.blockedGates }, ['Satisfy the blocking gates, or bypass with --allow-incomplete --reason "<why>"']), options.json);
202
+ process.exitCode = 1;
203
+ return;
204
+ }
205
+ if (error instanceof SopPhaseSkipError) {
206
+ printResult(io, fail('sop.advance', error.code, error.message, { id: options.id, to: options.to, fromPhase: error.fromPhase, expectedNext: error.expectedNext }, [`Advance to "${error.expectedNext}" first, or bypass with --allow-incomplete --reason "<why>"`]), options.json);
207
+ process.exitCode = 1;
208
+ return;
209
+ }
210
+ const code = error instanceof SopAdvanceError ? error.code : 'SOP_ADVANCE_FAILED';
211
+ printResult(io, fail('sop.advance', code, getErrorMessage(error), { id: options.id, to: options.to }, ['Verify the SOP id and phase with peaks sop lint']), options.json);
212
+ process.exitCode = 1;
213
+ }
214
+ });
215
+ }
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ import { type ProgramIO } from '../cli-helpers.js';
3
+ export declare function registerStatusLineCommands(program: Command, io: ProgramIO): void;
@@ -0,0 +1,169 @@
1
+ import { fail, ok } from '../../shared/result.js';
2
+ import { addJsonOption, printResult, getErrorMessage } from '../cli-helpers.js';
3
+ import { findProjectRoot } from '../../services/config/config-safety.js';
4
+ import { buildStatusLineModel, parseStatusLineStdin } from '../../services/skills/skill-statusline-service.js';
5
+ import { renderStatusLine } from '../../services/skills/skill-statusline-renderer.js';
6
+ import { applyStatusLineInstall, planStatusLineInstall, removeStatusLineInstall } from '../../services/skills/statusline-settings-service.js';
7
+ import { readHookStatus as readSettingsStatus } from '../../services/skills/hooks-settings-service.js';
8
+ import { detectIdeFromContext } from '../../services/ide/hook-translator.js';
9
+ const STDIN_READ_TIMEOUT_MS = 250;
10
+ /** Read piped stdin if present; resolve quickly with '' when attached to a TTY. */
11
+ function readStdin() {
12
+ return new Promise((resolve) => {
13
+ if (process.stdin.isTTY) {
14
+ resolve('');
15
+ return;
16
+ }
17
+ let data = '';
18
+ let settled = false;
19
+ const finish = () => {
20
+ if (settled)
21
+ return;
22
+ settled = true;
23
+ resolve(data);
24
+ };
25
+ const timer = setTimeout(finish, STDIN_READ_TIMEOUT_MS);
26
+ timer.unref?.();
27
+ process.stdin.setEncoding('utf8');
28
+ process.stdin.on('data', (chunk) => {
29
+ data += chunk;
30
+ });
31
+ process.stdin.on('end', () => {
32
+ clearTimeout(timer);
33
+ finish();
34
+ });
35
+ process.stdin.on('error', () => {
36
+ clearTimeout(timer);
37
+ finish();
38
+ });
39
+ });
40
+ }
41
+ function resolveScope(options) {
42
+ return options.global ? 'global' : 'project';
43
+ }
44
+ /**
45
+ * Resolve the IDE the install should target. The CLI user can override with
46
+ * `--ide <id>`. Otherwise we delegate to `detectIdeFromContext` which checks
47
+ * `process.env[adapter.envVar]` → stdin shape → cwd `.trae`/`.claude` →
48
+ * fallback `'claude-code'`. Pass `parsedStdin: null` since `peaks statusline
49
+ * install` is not invoked from inside an IDE hook — there's no stdin payload.
50
+ */
51
+ function resolveIdeForCommand(options, projectRoot) {
52
+ if (options.ide !== undefined && options.ide.length > 0) {
53
+ return options.ide;
54
+ }
55
+ return detectIdeFromContext({ env: process.env, cwd: projectRoot ?? process.cwd(), parsedStdin: null });
56
+ }
57
+ export function registerStatusLineCommands(program, io) {
58
+ // Top-level `peaks statusline` — register as a group with subcommands
59
+ // (install | uninstall | status). When the user runs `peaks statusline` with
60
+ // no subcommand, commander falls back to a hidden render subcommand so the
61
+ // status line still renders. This pattern is required by commander 12.x:
62
+ // when a command has both an action AND subcommands, commander's option
63
+ // parser conflates the parent's options with the subcommand's and drops
64
+ // flags. Routing through a subcommand (even one that's hidden) avoids the
65
+ // option-shadowing bug.
66
+ const statusline = addJsonOption(program
67
+ .command('statusline')
68
+ .description('Render the Peaks skill status line for the current session, or manage the adapter-driven statusLine entry. Run with no subcommand to render; with a subcommand (install | uninstall | status) to manage.'));
69
+ // Hidden render subcommand. This is the default behavior when the user types
70
+ // `peaks statusline` with no subcommand. We mark it hidden so `peaks
71
+ // statusline --help` does not show "render" as a subcommand.
72
+ statusline
73
+ .command('render', { hidden: true })
74
+ .description('Render the Peaks skill status line for the current session (reads session JSON on stdin; honors --project for the project label).')
75
+ .option('--project <path>', 'project root path (used to label the status line when stdin is absent)')
76
+ .action(async (options) => {
77
+ const raw = await readStdin();
78
+ const stdin = parseStatusLineStdin(raw);
79
+ const seeded = options.project
80
+ ? { ...(stdin ?? {}), workspace: { current_dir: options.project } }
81
+ : stdin;
82
+ const model = buildStatusLineModel(seeded, Date.now());
83
+ const text = renderStatusLine(model);
84
+ if (options.json === true) {
85
+ io.stdout(JSON.stringify({ ok: true, command: 'statusline.render', data: { text } }, null, 2));
86
+ return;
87
+ }
88
+ io.stdout(text);
89
+ });
90
+ addJsonOption(statusline
91
+ .command('install')
92
+ .description("Install the Peaks status line into the adapter's settings.json (project scope by default).")
93
+ .option('--global', 'install into the user-level ~/.claude/settings.json instead of the project')
94
+ .option('--project <path>', 'project root path (auto-detected from cwd when omitted)')
95
+ .option('--ide <id>', 'target adapter id (claude-code | trae); default: auto-detect from env/cwd')
96
+ .option('--force', 'overwrite an existing non-Peaks statusLine entry')
97
+ .option('--dry-run', 'show what would change without writing')).action((options) => {
98
+ const scope = resolveScope(options);
99
+ const projectRoot = scope === 'project'
100
+ ? (options.project ?? findProjectRoot(process.cwd()) ?? process.cwd())
101
+ : undefined;
102
+ const ide = resolveIdeForCommand(options, projectRoot);
103
+ try {
104
+ if (options.dryRun) {
105
+ const plan = planStatusLineInstall(scope, projectRoot, { ide });
106
+ const warnings = plan.conflict
107
+ ? [`An existing statusLine command is set: ${plan.conflictCommand}. Rerun with --force to overwrite.`]
108
+ : [];
109
+ printResult(io, ok('statusline.install', { ...plan, ide, applied: false, dryRun: true }, warnings), options.json);
110
+ return;
111
+ }
112
+ const result = applyStatusLineInstall(scope, projectRoot, { force: options.force === true, ide });
113
+ const warnings = result.conflict && !result.applied
114
+ ? [`An existing statusLine command is set: ${result.conflictCommand}. Rerun with --force to overwrite.`]
115
+ : [];
116
+ const nextActions = result.applied
117
+ ? ['Restart the IDE (or reload the workspace) so the status line takes effect']
118
+ : [];
119
+ printResult(io, ok('statusline.install', { ...result, ide, dryRun: false }, warnings, nextActions), options.json);
120
+ }
121
+ catch (error) {
122
+ const message = getErrorMessage(error);
123
+ printResult(io, fail('statusline.install', 'STATUSLINE_INSTALL_FAILED', message, { scope, ide, applied: false }, [message]), options.json);
124
+ process.exitCode = 1;
125
+ }
126
+ });
127
+ addJsonOption(statusline
128
+ .command('uninstall')
129
+ .description("Remove the Peaks status line from the adapter's settings.json.")
130
+ .option('--global', 'remove from the user-level ~/.claude/settings.json instead of the project')
131
+ .option('--project <path>', 'project root path (auto-detected from cwd when omitted)')
132
+ .option('--ide <id>', 'target adapter id (claude-code | trae); default: auto-detect from env/cwd')).action((options) => {
133
+ const scope = resolveScope(options);
134
+ const projectRoot = scope === 'project'
135
+ ? (options.project ?? findProjectRoot(process.cwd()) ?? process.cwd())
136
+ : undefined;
137
+ const ide = resolveIdeForCommand(options, projectRoot);
138
+ try {
139
+ const result = removeStatusLineInstall(scope, projectRoot, { ide });
140
+ printResult(io, ok('statusline.uninstall', { ...result, ide }), options.json);
141
+ }
142
+ catch (error) {
143
+ const message = getErrorMessage(error);
144
+ printResult(io, fail('statusline.uninstall', 'STATUSLINE_UNINSTALL_FAILED', message, { scope, ide, removed: false }, [message]), options.json);
145
+ process.exitCode = 1;
146
+ }
147
+ });
148
+ addJsonOption(statusline
149
+ .command('status')
150
+ .description('Report whether the Peaks status line is installed in the adapter settings.json.')
151
+ .option('--global', 'inspect the user-level ~/.claude/settings.json instead of the project')
152
+ .option('--project <path>', 'project root path (auto-detected from cwd when omitted)')
153
+ .option('--ide <id>', 'target adapter id (claude-code | trae); default: auto-detect from env/cwd')).action((options) => {
154
+ const scope = resolveScope(options);
155
+ const projectRoot = scope === 'project'
156
+ ? (options.project ?? findProjectRoot(process.cwd()) ?? process.cwd())
157
+ : undefined;
158
+ const ide = resolveIdeForCommand(options, projectRoot);
159
+ try {
160
+ const status = readSettingsStatus(scope, projectRoot, { ide });
161
+ printResult(io, ok('statusline.status', { ...status, ide, command: 'peaks statusline' }), options.json);
162
+ }
163
+ catch (error) {
164
+ const message = getErrorMessage(error);
165
+ printResult(io, fail('statusline.status', 'STATUSLINE_STATUS_FAILED', message, { scope, ide }, [message]), options.json);
166
+ process.exitCode = 1;
167
+ }
168
+ });
169
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `peaks sub-agent` CLI command group — slice 2026-06-07-sub-agent-context-governance.
3
+ *
4
+ * Thin entry point that wires the four sub-command registrars
5
+ * (`dispatch`, `heartbeat`, `share`, `shared-read`, `await`) to the
6
+ * parent `sub-agent` command. The actual implementations live in
7
+ * sibling files (slice 2026-06-23-audit-p0-split refactor):
8
+ *
9
+ * - `dispatch-commands.ts` — `dispatch` single-dispatch action
10
+ * - `dispatch-from-dag.ts` — `dispatch --from-dag` codepath (slice 9 perf)
11
+ * - `heartbeat-commands.ts` — `heartbeat` action (G6)
12
+ * - `share-commands.ts` — `share` + `shared-read` + `await` actions (G8.4 / 2.7.0)
13
+ * - `sub-agent-shared.ts` — shared types, constants, helpers
14
+ *
15
+ * Skill-first / CLI-auxiliary red line (PB-4 / AC-19/20):
16
+ * These commands are primitives that the peaks-code / peaks-rd /
17
+ * peaks-qa SKILL.md compose. Users do NOT invoke them directly.
18
+ */
19
+ import type { Command } from 'commander';
20
+ import type { ProgramIO } from '../cli-helpers.js';
21
+ export { validateRole } from './sub-agent-shared.js';
22
+ export declare function registerSubAgentCommands(program: Command, io: ProgramIO): void;
@@ -0,0 +1,19 @@
1
+ import { registerDispatchCommand } from './dispatch-commands.js';
2
+ import { registerHeartbeatCommand } from './heartbeat-commands.js';
3
+ import { registerShareCommand, registerSharedReadCommand, registerAwaitCommand } from './share-commands.js';
4
+ // Re-export `validateRole` for backward compat — the integration test
5
+ // suite and any external callers still import it from this entry file.
6
+ // The canonical implementation now lives in `sub-agent-shared.ts`.
7
+ export { validateRole } from './sub-agent-shared.js';
8
+ export function registerSubAgentCommands(program, io) {
9
+ const subAgent = program
10
+ .command('sub-agent')
11
+ .description('Sub-agent dispatch primitive (skill-first / CLI-auxiliary). ' +
12
+ 'These commands are the primitives that peaks-code / peaks-rd / ' +
13
+ 'peaks-qa SKILL.md compose. Users do not invoke this directly.');
14
+ registerDispatchCommand(subAgent, io);
15
+ registerHeartbeatCommand(subAgent, io);
16
+ registerShareCommand(subAgent, io);
17
+ registerSharedReadCommand(subAgent, io);
18
+ registerAwaitCommand(subAgent, io);
19
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * `peaks sub-agent-dispatch-guard` — G9.5 / RL-30 strict hook-only atom.
3
+ *
4
+ * This is the **second-layer** gate (PreToolUse hook) for the G9 forced
5
+ * compression threshold. It re-validates the prompt size against the
6
+ * threshold table in `src/services/context/threshold.ts` and returns
7
+ * `{allow: true/false, reason, suggest}` JSON to the LLM platform.
8
+ *
9
+ * **NO `--force` flag is exposed at this layer** (RL-30 strict). The
10
+ * hook is the strictest layer in the G9 chain. If the CLI is bypassed
11
+ * (e.g. a user manually invokes the dispatch CLI with `--force` to
12
+ * override the 80% threshold), the hook catches it and returns
13
+ * `{allow: false}` regardless.
14
+ *
15
+ * This atom is **hidden from `peaks --help`** per dev-preference
16
+ * "skill-first / CLI-auxiliary" + PB-2 byte-stable. It is registered
17
+ * via the LLM platform's PreToolUse hook chain (e.g. Claude Code's
18
+ * `settings.json` `PreToolUse` array) and is not a user-facing command.
19
+ *
20
+ * The `peaks hooks install` command reads `IdeAdapter.promptSizeAware`
21
+ * to decide whether to register this hook for a given IDE.
22
+ */
23
+ import { Command } from 'commander';
24
+ import { type ContextGuardDecision } from '../../services/context/context-guard.js';
25
+ export declare const HOOK_GUARD_RESULT_TYPE: "peaks-hook-guard/v1";
26
+ export interface HookGuardResult {
27
+ readonly schema: typeof HOOK_GUARD_RESULT_TYPE;
28
+ readonly allow: boolean;
29
+ readonly code: ContextGuardDecision['code'];
30
+ readonly reason: string;
31
+ readonly suggest: string | null;
32
+ readonly tier: ContextGuardDecision['evaluation']['tier'];
33
+ readonly ratio: number;
34
+ readonly bytesUsed: number;
35
+ readonly capacityBytes: number;
36
+ readonly warnings: readonly string[];
37
+ }
38
+ /**
39
+ * Build the hook-guard result for a given prompt size. Pure function;
40
+ * no IO. The CLI atom (registered below) calls this and prints JSON.
41
+ *
42
+ * Even if the caller passes `force = true` in the input (it shouldn't —
43
+ * the hook CLI doesn't expose that flag), this function ignores it
44
+ * and treats the prompt as if no override were available. This is the
45
+ * RL-30 strict semantics.
46
+ */
47
+ export declare function evaluateHookGuard(promptSize: number): HookGuardResult;
48
+ /**
49
+ * Register the `peaks sub-agent-dispatch-guard` command. Intentionally
50
+ * NOT registered in the main `peaks --help` quickstart (dev-preference
51
+ * PB-2 byte-stable). The caller (the `peaks hooks install` flow) calls
52
+ * this directly via the imported function; the CLI registration in
53
+ * `src/cli/index.ts` uses a hidden command (no `description`, no help).
54
+ */
55
+ export declare function registerSubAgentDispatchGuard(program: Command): void;
@@ -0,0 +1,57 @@
1
+ import { evaluatePromptSize } from '../../services/context/context-guard.js';
2
+ export const HOOK_GUARD_RESULT_TYPE = 'peaks-hook-guard/v1';
3
+ /**
4
+ * Build the hook-guard result for a given prompt size. Pure function;
5
+ * no IO. The CLI atom (registered below) calls this and prints JSON.
6
+ *
7
+ * Even if the caller passes `force = true` in the input (it shouldn't —
8
+ * the hook CLI doesn't expose that flag), this function ignores it
9
+ * and treats the prompt as if no override were available. This is the
10
+ * RL-30 strict semantics.
11
+ */
12
+ export function evaluateHookGuard(promptSize) {
13
+ // Intentionally pass `force: false` always. The hook layer is strict.
14
+ const decision = evaluatePromptSize(promptSize, { force: false });
15
+ return {
16
+ schema: HOOK_GUARD_RESULT_TYPE,
17
+ allow: decision.allow,
18
+ code: decision.code,
19
+ reason: decision.allow
20
+ ? `prompt size ${promptSize} bytes within threshold (tier=${decision.evaluation.tier})`
21
+ : `prompt size ${promptSize} bytes exceeds threshold (tier=${decision.evaluation.tier}, ratio=${decision.evaluation.ratio.toFixed(3)})`,
22
+ suggest: decision.suggest,
23
+ tier: decision.evaluation.tier,
24
+ ratio: decision.evaluation.ratio,
25
+ bytesUsed: decision.evaluation.bytesUsed,
26
+ capacityBytes: decision.evaluation.capacityBytes,
27
+ warnings: decision.warnings
28
+ };
29
+ }
30
+ /**
31
+ * Register the `peaks sub-agent-dispatch-guard` command. Intentionally
32
+ * NOT registered in the main `peaks --help` quickstart (dev-preference
33
+ * PB-2 byte-stable). The caller (the `peaks hooks install` flow) calls
34
+ * this directly via the imported function; the CLI registration in
35
+ * `src/cli/index.ts` uses a hidden command (no `description`, no help).
36
+ */
37
+ export function registerSubAgentDispatchGuard(program) {
38
+ program
39
+ .command('sub-agent-dispatch-guard')
40
+ .description('INTERNAL: PreToolUse hook guard (G9.5 / RL-30 strict)')
41
+ .requiredOption('--prompt <text>', 'the prompt to validate (size in bytes is what gets checked)')
42
+ .option('--prompt-length <bytes>', 'DOGFOOD ONLY: synthesize a prompt of this size (overrides --prompt content for size only)')
43
+ .action((options) => {
44
+ let prompt = options.prompt;
45
+ if (typeof options.promptLength === 'string' && options.promptLength.length > 0) {
46
+ const len = Number.parseInt(options.promptLength, 10);
47
+ if (Number.isInteger(len) && len > 0) {
48
+ prompt = 'x'.repeat(len);
49
+ }
50
+ }
51
+ const promptSize = Buffer.byteLength(prompt, 'utf8');
52
+ const result = evaluateHookGuard(promptSize);
53
+ // Always exit 0 — the LLM platform reads `allow` from JSON.
54
+ // The decision is encoded in `allow` / `code`, not the exit code.
55
+ process.stdout.write(JSON.stringify(result, null, 2) + '\n');
56
+ });
57
+ }
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Shared types, constants, and helpers for the `peaks sub-agent` command group.
3
+ *
4
+ * Slice 2026-06-23-audit-p0-split — pulled out of `sub-agent-commands.ts` (968
5
+ * lines) to honor the 800-line file cap (Karpathy #2 Simplicity First).
6
+ *
7
+ * Public exports:
8
+ * - `validateRole(role)` — exported because `sub-agent-commands.test.ts`
9
+ * and the integration suite rely on it as the source of truth for
10
+ * role-string validation.
11
+ *
12
+ * Everything else is internal to the `peaks sub-agent` group.
13
+ */
14
+ import type { SubAgentBatchResult } from '../../services/dispatch/sub-agent-dispatcher.js';
15
+ import type { HeadroomMode } from '../../services/context/headroom-client.js';
16
+ import type { HeartbeatStatus } from '../../services/dispatch/dispatch-record-writer.js';
17
+ export declare const RECOMMENDED_ROLES = "rd | qa | ui | txt | qa-business | qa-perf | qa-security | qa-business-<*> | general-purpose";
18
+ export declare const HEARTBEAT_STATUSES: readonly HeartbeatStatus[];
19
+ export declare const HEADROOM_MODES: readonly HeadroomMode[];
20
+ export declare const PROMPT_LIMIT_BYTES: number;
21
+ export type DispatchOptions = {
22
+ prompt?: string;
23
+ promptLength?: string;
24
+ requestId?: string;
25
+ sessionId?: string;
26
+ project?: string;
27
+ batchId?: string;
28
+ writeArtifact?: string;
29
+ useHeadroom?: boolean;
30
+ headroomMode?: string;
31
+ force?: boolean;
32
+ fromDag?: string;
33
+ json?: boolean;
34
+ };
35
+ export type HeartbeatOptions = {
36
+ record?: string;
37
+ status?: string;
38
+ progress?: string;
39
+ note?: string;
40
+ project?: string;
41
+ json?: boolean;
42
+ };
43
+ export type ShareOptions = {
44
+ batch?: string;
45
+ key?: string;
46
+ value?: string;
47
+ from?: string;
48
+ requestId?: string;
49
+ sessionId?: string;
50
+ project?: string;
51
+ json?: boolean;
52
+ };
53
+ export type SharedReadOptions = {
54
+ batch?: string;
55
+ since?: string;
56
+ key?: string;
57
+ requestId?: string;
58
+ sessionId?: string;
59
+ project?: string;
60
+ json?: boolean;
61
+ };
62
+ export type AwaitOptions = {
63
+ batch?: string;
64
+ timeout?: string;
65
+ project?: string;
66
+ sessionId?: string;
67
+ json?: boolean;
68
+ };
69
+ /**
70
+ * Lazy-loaded module types — only resolved inside `runDispatchFromDag`
71
+ * to keep the warm-path dispatch CLI cold-start fast (slice 9).
72
+ */
73
+ export type SliceDagModule = typeof import('../../services/dispatch/slice-dag.js');
74
+ export type DagOrchestratorModule = typeof import('../../services/code/dag-orchestrator.js');
75
+ export type ContractStoreModule = typeof import('../../services/dispatch/contract-store.js');
76
+ /**
77
+ * Validate a role string. Returns `null` when valid, otherwise the
78
+ * rejection reason (mirrors commander.js option-validation shape so
79
+ * the action handler can pass it straight to `fail()`).
80
+ *
81
+ * Rules (per dispatch CLI spec):
82
+ * - Non-empty
83
+ * - ≤ 256 chars
84
+ * - No whitespace, no control characters, no DEL (0x7F)
85
+ */
86
+ export declare function validateRole(role: string): string | null;
87
+ /**
88
+ * Roll up a batch result array into the summary the CLI envelope exposes
89
+ * for `peaks sub-agent await`. Counts per status; the orchestrator
90
+ * surface (`SubAgentBatchResult.status`) is a closed set so a single
91
+ * `for` loop with `if/else if` is faster and clearer than a reduce.
92
+ */
93
+ export declare function summarizeBatchResults(results: readonly SubAgentBatchResult[]): {
94
+ readonly total: number;
95
+ readonly done: number;
96
+ readonly failed: number;
97
+ readonly cancelled: number;
98
+ readonly timeout: number;
99
+ };