@entelligentsia/forgecli 1.0.20 → 1.0.21

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 (324) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +7 -1
  3. package/dist/bin/config.js +4 -4
  4. package/dist/bin/config.js.map +1 -1
  5. package/dist/bin/update-cli.d.ts +1 -1
  6. package/dist/bin/update-cli.js +1 -1
  7. package/dist/bin/update-cli.js.map +1 -1
  8. package/dist/extensions/forgecli/ask-user-tool.js +1 -1
  9. package/dist/extensions/forgecli/ask-user-tool.js.map +1 -1
  10. package/dist/extensions/forgecli/commands/add-pipeline.d.ts +19 -0
  11. package/dist/extensions/forgecli/commands/add-pipeline.js +143 -0
  12. package/dist/extensions/forgecli/commands/add-pipeline.js.map +1 -0
  13. package/dist/extensions/forgecli/commands/add-task.d.ts +20 -0
  14. package/dist/extensions/forgecli/commands/add-task.js +154 -0
  15. package/dist/extensions/forgecli/commands/add-task.js.map +1 -0
  16. package/dist/extensions/forgecli/commands/approve.d.ts +22 -0
  17. package/dist/extensions/forgecli/commands/approve.js +152 -0
  18. package/dist/extensions/forgecli/commands/approve.js.map +1 -0
  19. package/dist/extensions/forgecli/commands/collate.d.ts +22 -0
  20. package/dist/extensions/forgecli/commands/collate.js +134 -0
  21. package/dist/extensions/forgecli/commands/collate.js.map +1 -0
  22. package/dist/extensions/forgecli/commands/commit.d.ts +22 -0
  23. package/dist/extensions/forgecli/commands/commit.js +152 -0
  24. package/dist/extensions/forgecli/commands/commit.js.map +1 -0
  25. package/dist/extensions/forgecli/commands/config-command.d.ts +8 -0
  26. package/dist/extensions/forgecli/commands/config-command.js +67 -0
  27. package/dist/extensions/forgecli/commands/config-command.js.map +1 -0
  28. package/dist/extensions/forgecli/commands/enhance.d.ts +45 -0
  29. package/dist/extensions/forgecli/commands/enhance.js +219 -0
  30. package/dist/extensions/forgecli/commands/enhance.js.map +1 -0
  31. package/dist/extensions/forgecli/commands/implement.d.ts +22 -0
  32. package/dist/extensions/forgecli/commands/implement.js +170 -0
  33. package/dist/extensions/forgecli/commands/implement.js.map +1 -0
  34. package/dist/extensions/forgecli/commands/plan.d.ts +22 -0
  35. package/dist/extensions/forgecli/commands/plan.js +167 -0
  36. package/dist/extensions/forgecli/commands/plan.js.map +1 -0
  37. package/dist/extensions/forgecli/commands/quiz-agent.d.ts +17 -0
  38. package/dist/extensions/forgecli/commands/quiz-agent.js +98 -0
  39. package/dist/extensions/forgecli/commands/quiz-agent.js.map +1 -0
  40. package/dist/extensions/forgecli/commands/read-command.d.ts +2 -0
  41. package/dist/extensions/forgecli/commands/read-command.js +100 -0
  42. package/dist/extensions/forgecli/commands/read-command.js.map +1 -0
  43. package/dist/extensions/forgecli/commands/regenerate.d.ts +40 -0
  44. package/dist/extensions/forgecli/commands/regenerate.js +426 -0
  45. package/dist/extensions/forgecli/commands/regenerate.js.map +1 -0
  46. package/dist/extensions/forgecli/commands/remove-command.d.ts +17 -0
  47. package/dist/extensions/forgecli/commands/remove-command.js +124 -0
  48. package/dist/extensions/forgecli/commands/remove-command.js.map +1 -0
  49. package/dist/extensions/forgecli/commands/report-bug.d.ts +25 -0
  50. package/dist/extensions/forgecli/commands/report-bug.js +159 -0
  51. package/dist/extensions/forgecli/commands/report-bug.js.map +1 -0
  52. package/dist/extensions/forgecli/commands/retrospective.d.ts +20 -0
  53. package/dist/extensions/forgecli/commands/retrospective.js +126 -0
  54. package/dist/extensions/forgecli/commands/retrospective.js.map +1 -0
  55. package/dist/extensions/forgecli/commands/review-code.d.ts +35 -0
  56. package/dist/extensions/forgecli/commands/review-code.js +196 -0
  57. package/dist/extensions/forgecli/commands/review-code.js.map +1 -0
  58. package/dist/extensions/forgecli/commands/review-plan.d.ts +35 -0
  59. package/dist/extensions/forgecli/commands/review-plan.js +200 -0
  60. package/dist/extensions/forgecli/commands/review-plan.js.map +1 -0
  61. package/dist/extensions/forgecli/commands/sprint-intake.d.ts +10 -0
  62. package/dist/extensions/forgecli/commands/sprint-intake.js +91 -0
  63. package/dist/extensions/forgecli/commands/sprint-intake.js.map +1 -0
  64. package/dist/extensions/forgecli/commands/sprint-plan.d.ts +14 -0
  65. package/dist/extensions/forgecli/commands/sprint-plan.js +122 -0
  66. package/dist/extensions/forgecli/commands/sprint-plan.js.map +1 -0
  67. package/dist/extensions/forgecli/commands/status-command.d.ts +19 -0
  68. package/dist/extensions/forgecli/commands/status-command.js +140 -0
  69. package/dist/extensions/forgecli/commands/status-command.js.map +1 -0
  70. package/dist/extensions/forgecli/commands/store-query.d.ts +22 -0
  71. package/dist/extensions/forgecli/commands/store-query.js +107 -0
  72. package/dist/extensions/forgecli/commands/store-query.js.map +1 -0
  73. package/dist/extensions/forgecli/commands/store-repair.d.ts +17 -0
  74. package/dist/extensions/forgecli/commands/store-repair.js +123 -0
  75. package/dist/extensions/forgecli/commands/store-repair.js.map +1 -0
  76. package/dist/extensions/forgecli/commands/test-orchestrate.d.ts +2 -0
  77. package/dist/extensions/forgecli/commands/test-orchestrate.js +182 -0
  78. package/dist/extensions/forgecli/commands/test-orchestrate.js.map +1 -0
  79. package/dist/extensions/forgecli/commands/transcripts-command.d.ts +87 -0
  80. package/dist/extensions/forgecli/commands/transcripts-command.js +418 -0
  81. package/dist/extensions/forgecli/commands/transcripts-command.js.map +1 -0
  82. package/dist/extensions/forgecli/commands/validate.d.ts +22 -0
  83. package/dist/extensions/forgecli/commands/validate.js +152 -0
  84. package/dist/extensions/forgecli/commands/validate.js.map +1 -0
  85. package/dist/extensions/forgecli/config/config-layer.d.ts +53 -0
  86. package/dist/extensions/forgecli/config/config-layer.js +72 -0
  87. package/dist/extensions/forgecli/config/config-layer.js.map +1 -0
  88. package/dist/extensions/forgecli/config/config-writer.d.ts +16 -0
  89. package/dist/extensions/forgecli/config/config-writer.js +69 -0
  90. package/dist/extensions/forgecli/config/config-writer.js.map +1 -0
  91. package/dist/extensions/forgecli/config/model-registry.d.ts +61 -0
  92. package/dist/extensions/forgecli/config/model-registry.js +127 -0
  93. package/dist/extensions/forgecli/config/model-registry.js.map +1 -0
  94. package/dist/extensions/forgecli/config/model-resolver.d.ts +32 -0
  95. package/dist/extensions/forgecli/config/model-resolver.js +65 -0
  96. package/dist/extensions/forgecli/config/model-resolver.js.map +1 -0
  97. package/dist/extensions/forgecli/config/model-validator.d.ts +29 -0
  98. package/dist/extensions/forgecli/config/model-validator.js +107 -0
  99. package/dist/extensions/forgecli/config/model-validator.js.map +1 -0
  100. package/dist/extensions/forgecli/config-tui/component.js +1 -1
  101. package/dist/extensions/forgecli/config-tui/component.js.map +1 -1
  102. package/dist/extensions/forgecli/config-tui/handler.js +1 -1
  103. package/dist/extensions/forgecli/config-tui/handler.js.map +1 -1
  104. package/dist/extensions/forgecli/config-tui/screens/override-editor.js +1 -1
  105. package/dist/extensions/forgecli/config-tui/screens/override-editor.js.map +1 -1
  106. package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js +1 -1
  107. package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js.map +1 -1
  108. package/dist/extensions/forgecli/config-tui/screens/show-resolved.js +1 -1
  109. package/dist/extensions/forgecli/config-tui/screens/show-resolved.js.map +1 -1
  110. package/dist/extensions/forgecli/config-tui/state/buffer.d.ts +2 -2
  111. package/dist/extensions/forgecli/config-tui/state/model.d.ts +1 -1
  112. package/dist/extensions/forgecli/config-tui/state/reducer.js.map +1 -1
  113. package/dist/extensions/forgecli/config-tui/state/selectors.d.ts +2 -2
  114. package/dist/extensions/forgecli/config-tui/state/selectors.js +1 -1
  115. package/dist/extensions/forgecli/config-tui/state/selectors.js.map +1 -1
  116. package/dist/extensions/forgecli/context-governor-compaction.d.ts +13 -2
  117. package/dist/extensions/forgecli/context-governor-compaction.js +66 -41
  118. package/dist/extensions/forgecli/context-governor-compaction.js.map +1 -1
  119. package/dist/extensions/forgecli/context-governor.d.ts +3 -7
  120. package/dist/extensions/forgecli/context-governor.js +43 -69
  121. package/dist/extensions/forgecli/context-governor.js.map +1 -1
  122. package/dist/extensions/forgecli/dashboard/component.d.ts +10 -1
  123. package/dist/extensions/forgecli/dashboard/component.js +84 -18
  124. package/dist/extensions/forgecli/dashboard/component.js.map +1 -1
  125. package/dist/extensions/forgecli/dashboard/register.js +1 -1
  126. package/dist/extensions/forgecli/dashboard/register.js.map +1 -1
  127. package/dist/extensions/forgecli/forge-artifact-tool.js +1 -1
  128. package/dist/extensions/forgecli/forge-commands.js +1 -1
  129. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  130. package/dist/extensions/forgecli/forge-init/forge-init.d.ts +26 -0
  131. package/dist/extensions/forgecli/forge-init/forge-init.js +514 -0
  132. package/dist/extensions/forgecli/forge-init/forge-init.js.map +1 -0
  133. package/dist/extensions/forgecli/forge-init/init-context.d.ts +99 -0
  134. package/dist/extensions/forgecli/forge-init/init-context.js +178 -0
  135. package/dist/extensions/forgecli/forge-init/init-context.js.map +1 -0
  136. package/dist/extensions/forgecli/forge-init/init-progress.d.ts +39 -0
  137. package/dist/extensions/forgecli/forge-init/init-progress.js +117 -0
  138. package/dist/extensions/forgecli/forge-init/init-progress.js.map +1 -0
  139. package/dist/extensions/forgecli/forge-init/phase4-register.js +1 -1
  140. package/dist/extensions/forgecli/forge-init/phase4-register.js.map +1 -1
  141. package/dist/extensions/forgecli/forge-init/run-phases.js +2 -2
  142. package/dist/extensions/forgecli/forge-init/run-phases.js.map +1 -1
  143. package/dist/extensions/forgecli/forge-subagent.d.ts +22 -0
  144. package/dist/extensions/forgecli/forge-subagent.js +42 -15
  145. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  146. package/dist/extensions/forgecli/forge-tools.d.ts +0 -25
  147. package/dist/extensions/forgecli/forge-tools.js +6 -37
  148. package/dist/extensions/forgecli/forge-tools.js.map +1 -1
  149. package/dist/extensions/forgecli/governor-config.d.ts +19 -0
  150. package/dist/extensions/forgecli/governor-config.js +58 -0
  151. package/dist/extensions/forgecli/governor-config.js.map +1 -0
  152. package/dist/extensions/forgecli/health-check.js +1 -1
  153. package/dist/extensions/forgecli/health-check.js.map +1 -1
  154. package/dist/extensions/forgecli/hook-dispatcher.js +2 -2
  155. package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
  156. package/dist/extensions/forgecli/hooks/post-init-hook.js +11 -6
  157. package/dist/extensions/forgecli/hooks/post-init-hook.js.map +1 -1
  158. package/dist/extensions/forgecli/hooks/post-sprint-hook.js +11 -6
  159. package/dist/extensions/forgecli/hooks/post-sprint-hook.js.map +1 -1
  160. package/dist/extensions/forgecli/hooks/write-guard.js +1 -1
  161. package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -1
  162. package/dist/extensions/forgecli/index.js +37 -35
  163. package/dist/extensions/forgecli/index.js.map +1 -1
  164. package/dist/extensions/forgecli/kickoff.d.ts +9 -0
  165. package/dist/extensions/forgecli/kickoff.js +15 -0
  166. package/dist/extensions/forgecli/kickoff.js.map +1 -1
  167. package/dist/extensions/forgecli/lib/forge-config.d.ts +1 -1
  168. package/dist/extensions/forgecli/lib/forge-config.js +1 -1
  169. package/dist/extensions/forgecli/lib/forge-config.js.map +1 -1
  170. package/dist/extensions/forgecli/lib/forge-root.d.ts +10 -0
  171. package/dist/extensions/forgecli/lib/forge-root.js +62 -0
  172. package/dist/extensions/forgecli/lib/forge-root.js.map +1 -0
  173. package/dist/extensions/forgecli/lib/run-cjs.d.ts +26 -0
  174. package/dist/extensions/forgecli/lib/run-cjs.js +42 -0
  175. package/dist/extensions/forgecli/lib/run-cjs.js.map +1 -0
  176. package/dist/extensions/forgecli/orchestrator-tree.d.ts +4 -0
  177. package/dist/extensions/forgecli/orchestrator-tree.js +21 -3
  178. package/dist/extensions/forgecli/orchestrator-tree.js.map +1 -1
  179. package/dist/extensions/forgecli/orchestrators/calibrate.d.ts +64 -0
  180. package/dist/extensions/forgecli/orchestrators/calibrate.js +481 -0
  181. package/dist/extensions/forgecli/orchestrators/calibrate.js.map +1 -0
  182. package/dist/extensions/forgecli/orchestrators/fix-bug.d.ts +93 -0
  183. package/dist/extensions/forgecli/orchestrators/fix-bug.js +1705 -0
  184. package/dist/extensions/forgecli/orchestrators/fix-bug.js.map +1 -0
  185. package/dist/extensions/forgecli/orchestrators/halt-advisor.d.ts +59 -0
  186. package/dist/extensions/forgecli/orchestrators/halt-advisor.js +113 -0
  187. package/dist/extensions/forgecli/orchestrators/halt-advisor.js.map +1 -0
  188. package/dist/extensions/forgecli/orchestrators/materialize.d.ts +16 -0
  189. package/dist/extensions/forgecli/orchestrators/materialize.js +195 -0
  190. package/dist/extensions/forgecli/orchestrators/materialize.js.map +1 -0
  191. package/dist/extensions/forgecli/orchestrators/migrate.d.ts +22 -0
  192. package/dist/extensions/forgecli/orchestrators/migrate.js +260 -0
  193. package/dist/extensions/forgecli/orchestrators/migrate.js.map +1 -0
  194. package/dist/extensions/forgecli/orchestrators/orchestrator-preflight.d.ts +46 -0
  195. package/dist/extensions/forgecli/orchestrators/orchestrator-preflight.js +64 -0
  196. package/dist/extensions/forgecli/orchestrators/orchestrator-preflight.js.map +1 -0
  197. package/dist/extensions/forgecli/orchestrators/run-sprint.d.ts +27 -0
  198. package/dist/extensions/forgecli/orchestrators/run-sprint.js +734 -0
  199. package/dist/extensions/forgecli/orchestrators/run-sprint.js.map +1 -0
  200. package/dist/extensions/forgecli/orchestrators/run-task.d.ts +215 -0
  201. package/dist/extensions/forgecli/orchestrators/run-task.js +1491 -0
  202. package/dist/extensions/forgecli/orchestrators/run-task.js.map +1 -0
  203. package/dist/extensions/forgecli/paths/paths.d.ts +8 -0
  204. package/dist/extensions/forgecli/paths/paths.js +17 -0
  205. package/dist/extensions/forgecli/paths/paths.js.map +1 -1
  206. package/dist/extensions/forgecli/phase-vocab.d.ts +31 -0
  207. package/dist/extensions/forgecli/phase-vocab.js +82 -0
  208. package/dist/extensions/forgecli/phase-vocab.js.map +1 -0
  209. package/dist/extensions/forgecli/session-registry.d.ts +2 -2
  210. package/dist/extensions/forgecli/session-registry.js +6 -2
  211. package/dist/extensions/forgecli/session-registry.js.map +1 -1
  212. package/dist/extensions/forgecli/skill-curation/friction-emit.d.ts +99 -0
  213. package/dist/extensions/forgecli/skill-curation/friction-emit.js +245 -0
  214. package/dist/extensions/forgecli/skill-curation/friction-emit.js.map +1 -0
  215. package/dist/extensions/forgecli/skill-curation/skill-curation-flag.d.ts +21 -0
  216. package/dist/extensions/forgecli/skill-curation/skill-curation-flag.js +71 -0
  217. package/dist/extensions/forgecli/skill-curation/skill-curation-flag.js.map +1 -0
  218. package/dist/extensions/forgecli/skill-curation/skill-curator-subagent.d.ts +102 -0
  219. package/dist/extensions/forgecli/skill-curation/skill-curator-subagent.js +339 -0
  220. package/dist/extensions/forgecli/skill-curation/skill-curator-subagent.js.map +1 -0
  221. package/dist/extensions/forgecli/skill-curation/skill-retriever.d.ts +84 -0
  222. package/dist/extensions/forgecli/skill-curation/skill-retriever.js +246 -0
  223. package/dist/extensions/forgecli/skill-curation/skill-retriever.js.map +1 -0
  224. package/dist/extensions/forgecli/skill-curation/skill-usage-tracker.d.ts +91 -0
  225. package/dist/extensions/forgecli/skill-curation/skill-usage-tracker.js +224 -0
  226. package/dist/extensions/forgecli/skill-curation/skill-usage-tracker.js.map +1 -0
  227. package/dist/extensions/forgecli/store/store-error-remediation.d.ts +65 -0
  228. package/dist/extensions/forgecli/store/store-error-remediation.js +307 -0
  229. package/dist/extensions/forgecli/store/store-error-remediation.js.map +1 -0
  230. package/dist/extensions/forgecli/store/store-resolver.d.ts +56 -0
  231. package/dist/extensions/forgecli/store/store-resolver.js +263 -0
  232. package/dist/extensions/forgecli/store/store-resolver.js.map +1 -0
  233. package/dist/extensions/forgecli/store/store-validator.d.ts +16 -0
  234. package/dist/extensions/forgecli/store/store-validator.js +32 -0
  235. package/dist/extensions/forgecli/store/store-validator.js.map +1 -0
  236. package/dist/extensions/forgecli/store/transition-guard.d.ts +20 -0
  237. package/dist/extensions/forgecli/store/transition-guard.js +89 -0
  238. package/dist/extensions/forgecli/store/transition-guard.js.map +1 -0
  239. package/dist/extensions/forgecli/subagent/orchestrator-transcript.js +5 -0
  240. package/dist/extensions/forgecli/subagent/orchestrator-transcript.js.map +1 -1
  241. package/dist/extensions/forgecli/transcript-archive-types.d.ts +171 -0
  242. package/dist/extensions/forgecli/transcript-archive-types.js +130 -0
  243. package/dist/extensions/forgecli/transcript-archive-types.js.map +1 -0
  244. package/dist/extensions/forgecli/transcript-archive.d.ts +127 -0
  245. package/dist/extensions/forgecli/transcript-archive.js +656 -0
  246. package/dist/extensions/forgecli/transcript-archive.js.map +1 -0
  247. package/dist/extensions/forgecli/transcript-replay.d.ts +28 -0
  248. package/dist/extensions/forgecli/transcript-replay.js +153 -0
  249. package/dist/extensions/forgecli/transcript-replay.js.map +1 -0
  250. package/dist/extensions/forgecli/transcripts-tui/component.d.ts +36 -0
  251. package/dist/extensions/forgecli/transcripts-tui/component.js +112 -0
  252. package/dist/extensions/forgecli/transcripts-tui/component.js.map +1 -0
  253. package/dist/extensions/forgecli/transcripts-tui/index.d.ts +4 -0
  254. package/dist/extensions/forgecli/transcripts-tui/index.js +5 -0
  255. package/dist/extensions/forgecli/transcripts-tui/index.js.map +1 -0
  256. package/dist/extensions/forgecli/transcripts-tui/screens/browse.d.ts +21 -0
  257. package/dist/extensions/forgecli/transcripts-tui/screens/browse.js +172 -0
  258. package/dist/extensions/forgecli/transcripts-tui/screens/browse.js.map +1 -0
  259. package/dist/extensions/forgecli/transcripts-tui/screens/types.d.ts +22 -0
  260. package/dist/extensions/forgecli/transcripts-tui/screens/types.js +4 -0
  261. package/dist/extensions/forgecli/transcripts-tui/screens/types.js.map +1 -0
  262. package/dist/extensions/forgecli/transcripts-tui/state/index.d.ts +4 -0
  263. package/dist/extensions/forgecli/transcripts-tui/state/index.js +5 -0
  264. package/dist/extensions/forgecli/transcripts-tui/state/index.js.map +1 -0
  265. package/dist/extensions/forgecli/transcripts-tui/state/init.d.ts +8 -0
  266. package/dist/extensions/forgecli/transcripts-tui/state/init.js +18 -0
  267. package/dist/extensions/forgecli/transcripts-tui/state/init.js.map +1 -0
  268. package/dist/extensions/forgecli/transcripts-tui/state/model.d.ts +56 -0
  269. package/dist/extensions/forgecli/transcripts-tui/state/model.js +6 -0
  270. package/dist/extensions/forgecli/transcripts-tui/state/model.js.map +1 -0
  271. package/dist/extensions/forgecli/transcripts-tui/state/reducer.d.ts +2 -0
  272. package/dist/extensions/forgecli/transcripts-tui/state/reducer.js +51 -0
  273. package/dist/extensions/forgecli/transcripts-tui/state/reducer.js.map +1 -0
  274. package/dist/extensions/forgecli/transcripts-tui/state/selectors.d.ts +10 -0
  275. package/dist/extensions/forgecli/transcripts-tui/state/selectors.js +62 -0
  276. package/dist/extensions/forgecli/transcripts-tui/state/selectors.js.map +1 -0
  277. package/dist/extensions/forgecli/transcripts-tui/theme.d.ts +20 -0
  278. package/dist/extensions/forgecli/transcripts-tui/theme.js +47 -0
  279. package/dist/extensions/forgecli/transcripts-tui/theme.js.map +1 -0
  280. package/dist/extensions/forgecli/tui/banner.d.ts +10 -0
  281. package/dist/extensions/forgecli/tui/banner.js +36 -0
  282. package/dist/extensions/forgecli/tui/banner.js.map +1 -0
  283. package/dist/extensions/forgecli/tui/forge-header.d.ts +12 -0
  284. package/dist/extensions/forgecli/tui/forge-header.js +114 -0
  285. package/dist/extensions/forgecli/tui/forge-header.js.map +1 -0
  286. package/dist/extensions/forgecli/tui/input-router.d.ts +33 -0
  287. package/dist/extensions/forgecli/tui/input-router.js +136 -0
  288. package/dist/extensions/forgecli/tui/input-router.js.map +1 -0
  289. package/dist/extensions/forgecli/tui/orchestrator-status-bar.d.ts +26 -0
  290. package/dist/extensions/forgecli/tui/orchestrator-status-bar.js +213 -0
  291. package/dist/extensions/forgecli/tui/orchestrator-status-bar.js.map +1 -0
  292. package/dist/extensions/forgecli/tui/thread-switcher.d.ts +18 -0
  293. package/dist/extensions/forgecli/tui/thread-switcher.js +194 -0
  294. package/dist/extensions/forgecli/tui/thread-switcher.js.map +1 -0
  295. package/dist/extensions/forgecli/update/forge-update-command.d.ts +100 -0
  296. package/dist/extensions/forgecli/update/forge-update-command.js +435 -0
  297. package/dist/extensions/forgecli/update/forge-update-command.js.map +1 -0
  298. package/dist/extensions/forgecli/update/migration-engine.d.ts +117 -0
  299. package/dist/extensions/forgecli/update/migration-engine.js +563 -0
  300. package/dist/extensions/forgecli/update/migration-engine.js.map +1 -0
  301. package/dist/extensions/forgecli/update/update-check.d.ts +37 -0
  302. package/dist/extensions/forgecli/update/update-check.js +185 -0
  303. package/dist/extensions/forgecli/update/update-check.js.map +1 -0
  304. package/dist/extensions/forgecli/update/update-tools.d.ts +23 -0
  305. package/dist/extensions/forgecli/update/update-tools.js +135 -0
  306. package/dist/extensions/forgecli/update/update-tools.js.map +1 -0
  307. package/dist/extensions/forgecli/update/whats-new-widget.d.ts +26 -0
  308. package/dist/extensions/forgecli/update/whats-new-widget.js +376 -0
  309. package/dist/extensions/forgecli/update/whats-new-widget.js.map +1 -0
  310. package/dist/extensions/forgecli/update/whats-new.d.ts +120 -0
  311. package/dist/extensions/forgecli/update/whats-new.js +470 -0
  312. package/dist/extensions/forgecli/update/whats-new.js.map +1 -0
  313. package/dist/extensions/forgecli/viewport/events.d.ts +113 -0
  314. package/dist/extensions/forgecli/viewport/events.js +290 -0
  315. package/dist/extensions/forgecli/viewport/events.js.map +1 -0
  316. package/dist/extensions/forgecli/viewport/renderer.d.ts +102 -0
  317. package/dist/extensions/forgecli/viewport/renderer.js +277 -0
  318. package/dist/extensions/forgecli/viewport/renderer.js.map +1 -0
  319. package/dist/extensions/forgecli/viewport/theme.d.ts +11 -0
  320. package/dist/extensions/forgecli/viewport/theme.js +131 -0
  321. package/dist/extensions/forgecli/viewport/theme.js.map +1 -0
  322. package/dist/extensions/forgecli/wf-engine/engine.js +1 -1
  323. package/dist/extensions/forgecli/wf-engine/engine.js.map +1 -1
  324. package/package.json +4 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-resolver.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/store/store-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface StoreValidatorResult {
2
+ ok: boolean;
3
+ /** Raw error output from store-cli. Present when ok=false. */
4
+ reason: string;
5
+ /** Enhanced message with remediation hints. Present when ok=false. */
6
+ remediation: string;
7
+ }
8
+ /**
9
+ * Validate a store entity payload by spawning `store-cli.cjs validate`.
10
+ *
11
+ * @param entity Entity type: "task" | "sprint" | "bug" | "event" | …
12
+ * @param payload The raw payload (will be JSON.stringify'd if object; passed as-is if string).
13
+ * @param forgeRoot Absolute path to the Forge plugin root — locates store-cli.cjs.
14
+ * @returns `{ ok: true, reason: "" }` on success, `{ ok: false, reason: <stderr> }` on failure.
15
+ */
16
+ export declare function validateStoreCLIPayload(entity: string, payload: unknown, forgeRoot: string): StoreValidatorResult;
@@ -0,0 +1,32 @@
1
+ // Store-CLI payload validator — FORGE-S18-T03
2
+ //
3
+ // Spawns `store-cli.cjs validate <entity> '<json>'` synchronously and surfaces
4
+ // any schema error as a structured result. This module is the sole point of
5
+ // contact between hook-dispatcher.ts and store-cli's validation logic.
6
+ //
7
+ // Why spawnSync?
8
+ // pi's tool_call handler is synchronous — the event system does not support
9
+ // async handlers. spawnSync completes before the block result is returned to pi.
10
+ //
11
+ // FORGE-S25-T17: spawnSync replaced with spawnStoreCliValidate from lib/spawn-store-cli.ts.
12
+ import * as path from "node:path";
13
+ import { spawnStoreCliValidate } from "../lib/spawn-store-cli.js";
14
+ import { enhanceBlockMessage } from "./store-error-remediation.js";
15
+ /**
16
+ * Validate a store entity payload by spawning `store-cli.cjs validate`.
17
+ *
18
+ * @param entity Entity type: "task" | "sprint" | "bug" | "event" | …
19
+ * @param payload The raw payload (will be JSON.stringify'd if object; passed as-is if string).
20
+ * @param forgeRoot Absolute path to the Forge plugin root — locates store-cli.cjs.
21
+ * @returns `{ ok: true, reason: "" }` on success, `{ ok: false, reason: <stderr> }` on failure.
22
+ */
23
+ export function validateStoreCLIPayload(entity, payload, forgeRoot) {
24
+ const storeCliPath = path.join(forgeRoot, "tools", "store-cli.cjs");
25
+ const { ok, reason } = spawnStoreCliValidate(storeCliPath, entity, payload, forgeRoot);
26
+ if (!ok) {
27
+ const remediation = enhanceBlockMessage(reason, entity, "unknown");
28
+ return { ok: false, reason, remediation };
29
+ }
30
+ return { ok: true, reason: "", remediation: "" };
31
+ }
32
+ //# sourceMappingURL=store-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-validator.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/store/store-validator.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,uEAAuE;AACvE,EAAE;AACF,iBAAiB;AACjB,8EAA8E;AAC9E,mFAAmF;AACnF,EAAE;AACF,4FAA4F;AAE5F,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAUnE;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,OAAgB,EAAE,SAAiB;IAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAEpE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACvF,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,20 @@
1
+ export interface TransitionGuardResult {
2
+ allowed: boolean;
3
+ reason: string;
4
+ }
5
+ export interface TransitionGuardInput {
6
+ entity: string;
7
+ entityId: string;
8
+ toStatus: string;
9
+ }
10
+ /**
11
+ * Check whether a status transition is legal.
12
+ *
13
+ * Fail-open: if the current status cannot be read, returns
14
+ * `{ allowed: true, reason: "lookup-failed" }`. The caller
15
+ * should audit-log this outcome but MUST NOT block the operation.
16
+ *
17
+ * @param input Entity, entity ID, and target status.
18
+ * @param forgeRoot Absolute path to the Forge plugin root.
19
+ */
20
+ export declare function checkTransition(input: TransitionGuardInput, forgeRoot: string): TransitionGuardResult;
@@ -0,0 +1,89 @@
1
+ // Status-transition guard — FORGE-S18-T03
2
+ //
3
+ // Checks whether a proposed status transition is legal for a given entity.
4
+ //
5
+ // The guard reads the current status from disk via `store-cli read` (spawnSync).
6
+ // Fail-open: if the current-status lookup fails for any reason, the guard returns
7
+ // { allowed: true } and sets reason="lookup-failed". The caller (hook-dispatcher)
8
+ // logs this as "lookup-failed" under FORGE_HOOK_AUDIT=1 but never blocks the
9
+ // operation — a lookup failure must not block a valid operation.
10
+ //
11
+ // FORGE-S25-T17: spawnSync replaced with spawnStoreCliRead from lib/spawn-store-cli.ts.
12
+ // FORGE-S25-T27: inline TASK/SPRINT/BUG_TRANSITIONS tables replaced with catalog-loader
13
+ // constants derived from T26 enum-catalog.json + transitions/*.json. Tables now match
14
+ // the T25 ADR-canonical FSM (doc/decisions/state-machine-reconciliation.md):
15
+ // - terminal states (committed, blocked, escalated, abandoned) are truly terminal (Set [])
16
+ // - plan-revision-required and code-revision-required reachable from more states
17
+ // Closes finding N-E-2 (forge-cli side), round-2-validation.md findings 36, 40.
18
+ import * as path from "node:path";
19
+ import { BUG_TRANSITIONS, SPRINT_TRANSITIONS, TASK_TRANSITIONS } from "../lib/catalog-loader.js";
20
+ import { spawnStoreCliRead } from "../lib/spawn-store-cli.js";
21
+ // ── Legal transition tables ───────────────────────────────────────────────────
22
+ //
23
+ // Loaded from enum-catalog.json / transitions/*.json (T25 ADR-canonical).
24
+ // Source: build-enum-catalog.cjs (FORGE-S25-T26) → bundled by build-payload.cjs (FORGE-S25-T27).
25
+ // Do NOT inline transition tables here — edit forge/forge/tools/build-enum-catalog.cjs instead.
26
+ const ENTITY_TABLES = {
27
+ task: TASK_TRANSITIONS,
28
+ sprint: SPRINT_TRANSITIONS,
29
+ bug: BUG_TRANSITIONS,
30
+ };
31
+ function legalNextStates(entity, fromStatus) {
32
+ const table = ENTITY_TABLES[entity];
33
+ if (!table)
34
+ return [];
35
+ const allowed = table[fromStatus];
36
+ return allowed ? [...allowed] : [];
37
+ }
38
+ // ── Current-status lookup (fail-open) ────────────────────────────────────────
39
+ /**
40
+ * Read the current status of an entity from the store via `store-cli read`.
41
+ * Returns the status string on success, or null on any failure (fail-open).
42
+ */
43
+ function readCurrentStatus(entity, entityId, forgeRoot) {
44
+ const storeCliPath = path.join(forgeRoot, "tools", "store-cli.cjs");
45
+ // Use the shared wrapper from lib/spawn-store-cli.ts (FORGE-S25-T17).
46
+ // Fail-open: spawnStoreCliRead returns null on any error — matches prior behaviour.
47
+ const record = spawnStoreCliRead(storeCliPath, entity, entityId, forgeRoot);
48
+ if (record === null)
49
+ return null;
50
+ const status = record["status"];
51
+ return typeof status === "string" ? status : null;
52
+ }
53
+ /**
54
+ * Check whether a status transition is legal.
55
+ *
56
+ * Fail-open: if the current status cannot be read, returns
57
+ * `{ allowed: true, reason: "lookup-failed" }`. The caller
58
+ * should audit-log this outcome but MUST NOT block the operation.
59
+ *
60
+ * @param input Entity, entity ID, and target status.
61
+ * @param forgeRoot Absolute path to the Forge plugin root.
62
+ */
63
+ export function checkTransition(input, forgeRoot) {
64
+ const { entity, entityId, toStatus } = input;
65
+ // Lookup current status — fail-open on any error.
66
+ const fromStatus = readCurrentStatus(entity, entityId, forgeRoot);
67
+ if (fromStatus === null) {
68
+ return {
69
+ allowed: true,
70
+ reason: "lookup-failed",
71
+ };
72
+ }
73
+ const table = ENTITY_TABLES[entity];
74
+ if (!table) {
75
+ // Unknown entity type — allow through (future-proofing).
76
+ return { allowed: true, reason: "" };
77
+ }
78
+ const allowed = table[fromStatus]?.has(toStatus) ?? false;
79
+ if (allowed) {
80
+ return { allowed: true, reason: "" };
81
+ }
82
+ const legal = legalNextStates(entity, fromStatus);
83
+ const legalStr = legal.length > 0 ? legal.join(", ") : "(none)";
84
+ return {
85
+ allowed: false,
86
+ reason: `${fromStatus} → ${toStatus} is not a legal transition for ${entity}. Legal next states from ${fromStatus}: ${legalStr}.`,
87
+ };
88
+ }
89
+ //# sourceMappingURL=transition-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-guard.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/store/transition-guard.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,11 @@ export class OrchestratorTranscriptWriter {
49
49
  const e = err;
50
50
  process.stderr.write(`[orchestrator-transcript] append failed (non-fatal): ${e.message ?? "unknown"}\n`);
51
51
  }
52
+ // A directly-recorded pipeline-end terminates the log just like
53
+ // close() — makes the safety-net close() in the pipeline wrappers
54
+ // idempotent (no duplicate pipeline-end lines).
55
+ if (event.kind === "pipeline-end")
56
+ this.closed = true;
52
57
  }
53
58
  close(outcome, reason) {
54
59
  if (this.closed)
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-transcript.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/subagent/orchestrator-transcript.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AACxE,qEAAqE;AACrE,+DAA+D;AAC/D,EAAE;AACF,mDAAmD;AACnD,gFAAgF;AAChF,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AAEvE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AA+CjE,MAAM,OAAO,4BAA4B;IAC/B,QAAQ,CAAS;IACjB,SAAS,CAAO;IACjB,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,IAAoC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ;aAC/B,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;aAChC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,GAAG,EAAE,KAAK,WAAW,sBAAsB,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAwB;QAC9B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC;YACJ,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,GAA2B,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC,CAAC;QAC1G,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAsD,EAAE,MAAe;QAC5E,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAChD,MAAM;SACN,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;CACD"}
1
+ {"version":3,"file":"orchestrator-transcript.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/subagent/orchestrator-transcript.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AACxE,qEAAqE;AACrE,+DAA+D;AAC/D,EAAE;AACF,mDAAmD;AACnD,gFAAgF;AAChF,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AAEvE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AA+CjE,MAAM,OAAO,4BAA4B;IAC/B,QAAQ,CAAS;IACjB,SAAS,CAAO;IACjB,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,IAAoC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ;aAC/B,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;aAChC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;aACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,GAAG,EAAE,KAAK,WAAW,sBAAsB,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAwB;QAC9B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC;YACJ,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,GAA2B,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC,CAAC;QAC1G,CAAC;QACD,gEAAgE;QAChE,kEAAkE;QAClE,gDAAgD;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,OAAsD,EAAE,MAAe;QAC5E,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAChD,MAAM;SACN,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;CACD"}
@@ -0,0 +1,171 @@
1
+ import { type Static, Type } from "typebox";
2
+ /** Per-phase token usage, captured from the subagent transcript header. */
3
+ export declare const PhaseUsageSchema: Type.TObject<{
4
+ input: Type.TNumber;
5
+ output: Type.TNumber;
6
+ cacheRead: Type.TNumber;
7
+ cacheWrite: Type.TNumber;
8
+ cost: Type.TNumber;
9
+ contextTokens: Type.TOptional<Type.TNumber>;
10
+ turns: Type.TOptional<Type.TNumber>;
11
+ }>;
12
+ export type PhaseUsage = Static<typeof PhaseUsageSchema>;
13
+ /** One pipeline phase within an archived run. */
14
+ export declare const PhaseRecordSchema: Type.TObject<{
15
+ role: Type.TString;
16
+ attempt: Type.TNumber;
17
+ /** Verdict from the orchestrator phase-end event; "n/a" when none applies. */
18
+ verdict: Type.TString;
19
+ model: Type.TOptional<Type.TString>;
20
+ provider: Type.TOptional<Type.TString>;
21
+ usage: Type.TOptional<Type.TObject<{
22
+ input: Type.TNumber;
23
+ output: Type.TNumber;
24
+ cacheRead: Type.TNumber;
25
+ cacheWrite: Type.TNumber;
26
+ cost: Type.TNumber;
27
+ contextTokens: Type.TOptional<Type.TNumber>;
28
+ turns: Type.TOptional<Type.TNumber>;
29
+ }>>;
30
+ /** Archived phase-transcript filename (without the .gz suffix). */
31
+ file: Type.TOptional<Type.TString>;
32
+ /**
33
+ * Archived live tail-log filename (without the .gz suffix) — the exact
34
+ * lines the dashboard rendered during the run (`*.tail.jsonl`). Replay
35
+ * prefers this over reconstructing a digest from the transcript.
36
+ */
37
+ tailFile: Type.TOptional<Type.TString>;
38
+ startedAt: Type.TOptional<Type.TString>;
39
+ elapsedMs: Type.TOptional<Type.TNumber>;
40
+ }>;
41
+ export type PhaseRecord = Static<typeof PhaseRecordSchema>;
42
+ /** Aggregate bucket used for both byModel and byProvider rollups. */
43
+ export declare const UsageAggregateSchema: Type.TObject<{
44
+ input: Type.TNumber;
45
+ output: Type.TNumber;
46
+ cost: Type.TNumber;
47
+ phases: Type.TNumber;
48
+ }>;
49
+ export type UsageAggregate = Static<typeof UsageAggregateSchema>;
50
+ export declare const RunTotalsSchema: Type.TObject<{
51
+ input: Type.TNumber;
52
+ output: Type.TNumber;
53
+ cacheRead: Type.TNumber;
54
+ cacheWrite: Type.TNumber;
55
+ cost: Type.TNumber;
56
+ byModel: Type.TRecord<"^.*$", Type.TObject<{
57
+ input: Type.TNumber;
58
+ output: Type.TNumber;
59
+ cost: Type.TNumber;
60
+ phases: Type.TNumber;
61
+ }>>;
62
+ byProvider: Type.TRecord<"^.*$", Type.TObject<{
63
+ input: Type.TNumber;
64
+ output: Type.TNumber;
65
+ cost: Type.TNumber;
66
+ phases: Type.TNumber;
67
+ }>>;
68
+ /** Count of phase-loopback events (revision loops) in the run. */
69
+ revisionLoops: Type.TNumber;
70
+ }>;
71
+ export type RunTotals = Static<typeof RunTotalsSchema>;
72
+ export declare const RunOutcomeSchema: Type.TUnion<[Type.TLiteral<"complete">, Type.TLiteral<"halted">, Type.TLiteral<"cancelled">, Type.TLiteral<"error">, Type.TLiteral<"incomplete">]>;
73
+ export type RunOutcome = Static<typeof RunOutcomeSchema>;
74
+ export declare const EntityKindSchema: Type.TUnion<[Type.TLiteral<"task">, Type.TLiteral<"bug">, Type.TLiteral<"sprint">, Type.TLiteral<"unknown">]>;
75
+ export type EntityKind = Static<typeof EntityKindSchema>;
76
+ /** manifest.json — full metadata for one archived run. */
77
+ export declare const RunManifestSchema: Type.TObject<{
78
+ schema: Type.TLiteral<"forge-run-manifest/v1">;
79
+ runId: Type.TString;
80
+ projectKey: Type.TString;
81
+ projectPath: Type.TString;
82
+ projectName: Type.TString;
83
+ projectPrefix: Type.TString;
84
+ entityId: Type.TString;
85
+ entityKind: Type.TUnion<[Type.TLiteral<"task">, Type.TLiteral<"bug">, Type.TLiteral<"sprint">, Type.TLiteral<"unknown">]>;
86
+ /** Back-reference for sprint-nested task runs — no synthetic sprint container. */
87
+ sprintId: Type.TOptional<Type.TString>;
88
+ startedAt: Type.TString;
89
+ finishedAt: Type.TOptional<Type.TString>;
90
+ durationMs: Type.TOptional<Type.TNumber>;
91
+ outcome: Type.TUnion<[Type.TLiteral<"complete">, Type.TLiteral<"halted">, Type.TLiteral<"cancelled">, Type.TLiteral<"error">, Type.TLiteral<"incomplete">]>;
92
+ phases: Type.TArray<Type.TObject<{
93
+ role: Type.TString;
94
+ attempt: Type.TNumber;
95
+ /** Verdict from the orchestrator phase-end event; "n/a" when none applies. */
96
+ verdict: Type.TString;
97
+ model: Type.TOptional<Type.TString>;
98
+ provider: Type.TOptional<Type.TString>;
99
+ usage: Type.TOptional<Type.TObject<{
100
+ input: Type.TNumber;
101
+ output: Type.TNumber;
102
+ cacheRead: Type.TNumber;
103
+ cacheWrite: Type.TNumber;
104
+ cost: Type.TNumber;
105
+ contextTokens: Type.TOptional<Type.TNumber>;
106
+ turns: Type.TOptional<Type.TNumber>;
107
+ }>>;
108
+ /** Archived phase-transcript filename (without the .gz suffix). */
109
+ file: Type.TOptional<Type.TString>;
110
+ /**
111
+ * Archived live tail-log filename (without the .gz suffix) — the exact
112
+ * lines the dashboard rendered during the run (`*.tail.jsonl`). Replay
113
+ * prefers this over reconstructing a digest from the transcript.
114
+ */
115
+ tailFile: Type.TOptional<Type.TString>;
116
+ startedAt: Type.TOptional<Type.TString>;
117
+ elapsedMs: Type.TOptional<Type.TNumber>;
118
+ }>>;
119
+ totals: Type.TObject<{
120
+ input: Type.TNumber;
121
+ output: Type.TNumber;
122
+ cacheRead: Type.TNumber;
123
+ cacheWrite: Type.TNumber;
124
+ cost: Type.TNumber;
125
+ byModel: Type.TRecord<"^.*$", Type.TObject<{
126
+ input: Type.TNumber;
127
+ output: Type.TNumber;
128
+ cost: Type.TNumber;
129
+ phases: Type.TNumber;
130
+ }>>;
131
+ byProvider: Type.TRecord<"^.*$", Type.TObject<{
132
+ input: Type.TNumber;
133
+ output: Type.TNumber;
134
+ cost: Type.TNumber;
135
+ phases: Type.TNumber;
136
+ }>>;
137
+ /** Count of phase-loopback events (revision loops) in the run. */
138
+ revisionLoops: Type.TNumber;
139
+ }>;
140
+ archivedAt: Type.TString;
141
+ }>;
142
+ export type RunManifest = Static<typeof RunManifestSchema>;
143
+ /** One line of index.jsonl — the append-only global run timeline. */
144
+ export declare const IndexEntrySchema: Type.TObject<{
145
+ runId: Type.TString;
146
+ projectKey: Type.TString;
147
+ entityId: Type.TString;
148
+ entityKind: Type.TUnion<[Type.TLiteral<"task">, Type.TLiteral<"bug">, Type.TLiteral<"sprint">, Type.TLiteral<"unknown">]>;
149
+ sprintId: Type.TOptional<Type.TString>;
150
+ startedAt: Type.TString;
151
+ outcome: Type.TUnion<[Type.TLiteral<"complete">, Type.TLiteral<"halted">, Type.TLiteral<"cancelled">, Type.TLiteral<"error">, Type.TLiteral<"incomplete">]>;
152
+ input: Type.TNumber;
153
+ output: Type.TNumber;
154
+ cost: Type.TNumber;
155
+ durationMs: Type.TOptional<Type.TNumber>;
156
+ archivedAt: Type.TString;
157
+ }>;
158
+ export type IndexEntry = Static<typeof IndexEntrySchema>;
159
+ /** projects.json — projectKey → identity registry. */
160
+ export declare const ProjectsRegistrySchema: Type.TObject<{
161
+ version: Type.TLiteral<1>;
162
+ projects: Type.TRecord<"^.*$", Type.TObject<{
163
+ path: Type.TString;
164
+ prefix: Type.TString;
165
+ name: Type.TString;
166
+ firstSeen: Type.TString;
167
+ lastSeen: Type.TString;
168
+ runCount: Type.TNumber;
169
+ }>>;
170
+ }>;
171
+ export type ProjectsRegistry = Static<typeof ProjectsRegistrySchema>;
@@ -0,0 +1,130 @@
1
+ // transcript-archive-types.ts — schemas for the central transcript archive.
2
+ //
3
+ // The archive lives under `~/.pi/forge-cli/transcripts/` (see paths/paths.ts)
4
+ // and mirrors every orchestrator run (run-task / fix-bug / run-sprint task)
5
+ // from project-local `.forge/transcripts/` into a permanent, compressed,
6
+ // cross-project store:
7
+ //
8
+ // transcripts/
9
+ // index.jsonl ← one IndexEntry line per archived run
10
+ // projects.json ← ProjectsRegistry (projectKey → identity)
11
+ // <projectKey>/<entityId>/<runId>/
12
+ // manifest.json ← RunManifest
13
+ // orchestrator.jsonl ← copied as-is (greppable)
14
+ // <ISO>__<entityId>__<phase>.json.gz
15
+ //
16
+ // Everything read back from disk is untrusted (crash-truncated writes,
17
+ // hand-edits): readers Value.Check before use and return null on mismatch —
18
+ // they never throw on malformed input.
19
+ import { Type } from "typebox";
20
+ /** Per-phase token usage, captured from the subagent transcript header. */
21
+ export const PhaseUsageSchema = Type.Object({
22
+ input: Type.Number(),
23
+ output: Type.Number(),
24
+ cacheRead: Type.Number(),
25
+ cacheWrite: Type.Number(),
26
+ cost: Type.Number(),
27
+ contextTokens: Type.Optional(Type.Number()),
28
+ turns: Type.Optional(Type.Number()),
29
+ });
30
+ /** One pipeline phase within an archived run. */
31
+ export const PhaseRecordSchema = Type.Object({
32
+ role: Type.String(),
33
+ attempt: Type.Number(),
34
+ /** Verdict from the orchestrator phase-end event; "n/a" when none applies. */
35
+ verdict: Type.String(),
36
+ model: Type.Optional(Type.String()),
37
+ provider: Type.Optional(Type.String()),
38
+ usage: Type.Optional(PhaseUsageSchema),
39
+ /** Archived phase-transcript filename (without the .gz suffix). */
40
+ file: Type.Optional(Type.String()),
41
+ /**
42
+ * Archived live tail-log filename (without the .gz suffix) — the exact
43
+ * lines the dashboard rendered during the run (`*.tail.jsonl`). Replay
44
+ * prefers this over reconstructing a digest from the transcript.
45
+ */
46
+ tailFile: Type.Optional(Type.String()),
47
+ startedAt: Type.Optional(Type.String()),
48
+ elapsedMs: Type.Optional(Type.Number()),
49
+ });
50
+ /** Aggregate bucket used for both byModel and byProvider rollups. */
51
+ export const UsageAggregateSchema = Type.Object({
52
+ input: Type.Number(),
53
+ output: Type.Number(),
54
+ cost: Type.Number(),
55
+ phases: Type.Number(),
56
+ });
57
+ export const RunTotalsSchema = Type.Object({
58
+ input: Type.Number(),
59
+ output: Type.Number(),
60
+ cacheRead: Type.Number(),
61
+ cacheWrite: Type.Number(),
62
+ cost: Type.Number(),
63
+ byModel: Type.Record(Type.String(), UsageAggregateSchema),
64
+ byProvider: Type.Record(Type.String(), UsageAggregateSchema),
65
+ /** Count of phase-loopback events (revision loops) in the run. */
66
+ revisionLoops: Type.Number(),
67
+ });
68
+ export const RunOutcomeSchema = Type.Union([
69
+ Type.Literal("complete"),
70
+ Type.Literal("halted"),
71
+ Type.Literal("cancelled"),
72
+ Type.Literal("error"),
73
+ /** No pipeline-end event found — crash- or in-flight-truncated run. */
74
+ Type.Literal("incomplete"),
75
+ ]);
76
+ export const EntityKindSchema = Type.Union([
77
+ Type.Literal("task"),
78
+ Type.Literal("bug"),
79
+ Type.Literal("sprint"),
80
+ Type.Literal("unknown"),
81
+ ]);
82
+ /** manifest.json — full metadata for one archived run. */
83
+ export const RunManifestSchema = Type.Object({
84
+ schema: Type.Literal("forge-run-manifest/v1"),
85
+ runId: Type.String(),
86
+ projectKey: Type.String(),
87
+ projectPath: Type.String(),
88
+ projectName: Type.String(),
89
+ projectPrefix: Type.String(),
90
+ entityId: Type.String(),
91
+ entityKind: EntityKindSchema,
92
+ /** Back-reference for sprint-nested task runs — no synthetic sprint container. */
93
+ sprintId: Type.Optional(Type.String()),
94
+ startedAt: Type.String(),
95
+ finishedAt: Type.Optional(Type.String()),
96
+ durationMs: Type.Optional(Type.Number()),
97
+ outcome: RunOutcomeSchema,
98
+ phases: Type.Array(PhaseRecordSchema),
99
+ totals: RunTotalsSchema,
100
+ archivedAt: Type.String(),
101
+ });
102
+ /** One line of index.jsonl — the append-only global run timeline. */
103
+ export const IndexEntrySchema = Type.Object({
104
+ runId: Type.String(),
105
+ projectKey: Type.String(),
106
+ entityId: Type.String(),
107
+ entityKind: EntityKindSchema,
108
+ sprintId: Type.Optional(Type.String()),
109
+ startedAt: Type.String(),
110
+ outcome: RunOutcomeSchema,
111
+ input: Type.Number(),
112
+ output: Type.Number(),
113
+ cost: Type.Number(),
114
+ durationMs: Type.Optional(Type.Number()),
115
+ archivedAt: Type.String(),
116
+ });
117
+ const ProjectEntrySchema = Type.Object({
118
+ path: Type.String(),
119
+ prefix: Type.String(),
120
+ name: Type.String(),
121
+ firstSeen: Type.String(),
122
+ lastSeen: Type.String(),
123
+ runCount: Type.Number(),
124
+ });
125
+ /** projects.json — projectKey → identity registry. */
126
+ export const ProjectsRegistrySchema = Type.Object({
127
+ version: Type.Literal(1),
128
+ projects: Type.Record(Type.String(), ProjectEntrySchema),
129
+ });
130
+ //# sourceMappingURL=transcript-archive-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript-archive-types.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/transcript-archive-types.ts"],"names":[],"mappings":"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"}