@entelligentsia/forgecli 1.0.20 → 1.0.25

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 (417) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/README.md +7 -1
  3. package/dist/CHANGELOG-forge-plugin.md +118 -0
  4. package/dist/bin/config.js +4 -4
  5. package/dist/bin/config.js.map +1 -1
  6. package/dist/bin/update-cli.d.ts +1 -1
  7. package/dist/bin/update-cli.js +1 -1
  8. package/dist/bin/update-cli.js.map +1 -1
  9. package/dist/extensions/forgecli/ask-user-tool.js +1 -1
  10. package/dist/extensions/forgecli/ask-user-tool.js.map +1 -1
  11. package/dist/extensions/forgecli/{add-pipeline.js → commands/add-pipeline.js} +1 -1
  12. package/dist/extensions/forgecli/commands/add-pipeline.js.map +1 -0
  13. package/dist/extensions/forgecli/{add-task.js → commands/add-task.js} +1 -1
  14. package/dist/extensions/forgecli/commands/add-task.js.map +1 -0
  15. package/dist/extensions/forgecli/{approve.d.ts → commands/approve.d.ts} +2 -2
  16. package/dist/extensions/forgecli/{approve.js → commands/approve.js} +8 -8
  17. package/dist/extensions/forgecli/commands/approve.js.map +1 -0
  18. package/dist/extensions/forgecli/{collate.d.ts → commands/collate.d.ts} +2 -2
  19. package/dist/extensions/forgecli/{collate.js → commands/collate.js} +6 -6
  20. package/dist/extensions/forgecli/commands/collate.js.map +1 -0
  21. package/dist/extensions/forgecli/{commit.d.ts → commands/commit.d.ts} +2 -2
  22. package/dist/extensions/forgecli/{commit.js → commands/commit.js} +8 -8
  23. package/dist/extensions/forgecli/commands/commit.js.map +1 -0
  24. package/dist/extensions/forgecli/{config-command.js → commands/config-command.js} +3 -3
  25. package/dist/extensions/forgecli/commands/config-command.js.map +1 -0
  26. package/dist/extensions/forgecli/commands/enhance.d.ts +45 -0
  27. package/dist/extensions/forgecli/{enhance.js → commands/enhance.js} +95 -75
  28. package/dist/extensions/forgecli/commands/enhance.js.map +1 -0
  29. package/dist/extensions/forgecli/{implement.d.ts → commands/implement.d.ts} +2 -2
  30. package/dist/extensions/forgecli/{implement.js → commands/implement.js} +8 -8
  31. package/dist/extensions/forgecli/commands/implement.js.map +1 -0
  32. package/dist/extensions/forgecli/{plan.d.ts → commands/plan.d.ts} +2 -2
  33. package/dist/extensions/forgecli/{plan.js → commands/plan.js} +8 -8
  34. package/dist/extensions/forgecli/commands/plan.js.map +1 -0
  35. package/dist/extensions/forgecli/{quiz-agent.js → commands/quiz-agent.js} +1 -1
  36. package/dist/extensions/forgecli/commands/quiz-agent.js.map +1 -0
  37. package/dist/extensions/forgecli/{read-command.js → commands/read-command.js} +2 -2
  38. package/dist/extensions/forgecli/commands/read-command.js.map +1 -0
  39. package/dist/extensions/forgecli/{regenerate.js → commands/regenerate.js} +7 -19
  40. package/dist/extensions/forgecli/commands/regenerate.js.map +1 -0
  41. package/dist/extensions/forgecli/{remove-command.js → commands/remove-command.js} +1 -1
  42. package/dist/extensions/forgecli/commands/remove-command.js.map +1 -0
  43. package/dist/extensions/forgecli/{report-bug.js → commands/report-bug.js} +1 -1
  44. package/dist/extensions/forgecli/commands/report-bug.js.map +1 -0
  45. package/dist/extensions/forgecli/{retrospective.d.ts → commands/retrospective.d.ts} +1 -1
  46. package/dist/extensions/forgecli/{retrospective.js → commands/retrospective.js} +5 -5
  47. package/dist/extensions/forgecli/commands/retrospective.js.map +1 -0
  48. package/dist/extensions/forgecli/{review-code.d.ts → commands/review-code.d.ts} +2 -2
  49. package/dist/extensions/forgecli/{review-code.js → commands/review-code.js} +9 -9
  50. package/dist/extensions/forgecli/commands/review-code.js.map +1 -0
  51. package/dist/extensions/forgecli/{review-plan.d.ts → commands/review-plan.d.ts} +2 -2
  52. package/dist/extensions/forgecli/{review-plan.js → commands/review-plan.js} +9 -9
  53. package/dist/extensions/forgecli/commands/review-plan.js.map +1 -0
  54. package/dist/extensions/forgecli/commands/sprint-intake.js.map +1 -0
  55. package/dist/extensions/forgecli/commands/sprint-plan.js.map +1 -0
  56. package/dist/extensions/forgecli/{status-command.js → commands/status-command.js} +1 -1
  57. package/dist/extensions/forgecli/commands/status-command.js.map +1 -0
  58. package/dist/extensions/forgecli/{store-query.js → commands/store-query.js} +1 -1
  59. package/dist/extensions/forgecli/commands/store-query.js.map +1 -0
  60. package/dist/extensions/forgecli/{store-repair.js → commands/store-repair.js} +1 -1
  61. package/dist/extensions/forgecli/commands/store-repair.js.map +1 -0
  62. package/dist/extensions/forgecli/{test-orchestrate.js → commands/test-orchestrate.js} +1 -1
  63. package/dist/extensions/forgecli/commands/test-orchestrate.js.map +1 -0
  64. package/dist/extensions/forgecli/commands/transcripts-command.d.ts +87 -0
  65. package/dist/extensions/forgecli/commands/transcripts-command.js +418 -0
  66. package/dist/extensions/forgecli/commands/transcripts-command.js.map +1 -0
  67. package/dist/extensions/forgecli/{validate.d.ts → commands/validate.d.ts} +2 -2
  68. package/dist/extensions/forgecli/{validate.js → commands/validate.js} +8 -8
  69. package/dist/extensions/forgecli/commands/validate.js.map +1 -0
  70. package/dist/extensions/forgecli/{config-layer.js → config/config-layer.js} +2 -2
  71. package/dist/extensions/forgecli/config/config-layer.js.map +1 -0
  72. package/dist/extensions/forgecli/{config-writer.js → config/config-writer.js} +2 -2
  73. package/dist/extensions/forgecli/config/config-writer.js.map +1 -0
  74. package/dist/extensions/forgecli/{model-registry.js → config/model-registry.js} +1 -1
  75. package/dist/extensions/forgecli/config/model-registry.js.map +1 -0
  76. package/dist/extensions/forgecli/config/model-resolver.js.map +1 -0
  77. package/dist/extensions/forgecli/config/model-validator.js.map +1 -0
  78. package/dist/extensions/forgecli/config-tui/component.js +1 -1
  79. package/dist/extensions/forgecli/config-tui/component.js.map +1 -1
  80. package/dist/extensions/forgecli/config-tui/handler.js +1 -1
  81. package/dist/extensions/forgecli/config-tui/handler.js.map +1 -1
  82. package/dist/extensions/forgecli/config-tui/screens/override-editor.js +1 -1
  83. package/dist/extensions/forgecli/config-tui/screens/override-editor.js.map +1 -1
  84. package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js +1 -1
  85. package/dist/extensions/forgecli/config-tui/screens/overrides-list-phases.js.map +1 -1
  86. package/dist/extensions/forgecli/config-tui/screens/show-resolved.js +1 -1
  87. package/dist/extensions/forgecli/config-tui/screens/show-resolved.js.map +1 -1
  88. package/dist/extensions/forgecli/config-tui/state/buffer.d.ts +2 -2
  89. package/dist/extensions/forgecli/config-tui/state/model.d.ts +1 -1
  90. package/dist/extensions/forgecli/config-tui/state/reducer.js.map +1 -1
  91. package/dist/extensions/forgecli/config-tui/state/selectors.d.ts +2 -2
  92. package/dist/extensions/forgecli/config-tui/state/selectors.js +1 -1
  93. package/dist/extensions/forgecli/config-tui/state/selectors.js.map +1 -1
  94. package/dist/extensions/forgecli/context-governor-compaction.d.ts +13 -2
  95. package/dist/extensions/forgecli/context-governor-compaction.js +66 -41
  96. package/dist/extensions/forgecli/context-governor-compaction.js.map +1 -1
  97. package/dist/extensions/forgecli/context-governor.d.ts +3 -7
  98. package/dist/extensions/forgecli/context-governor.js +43 -69
  99. package/dist/extensions/forgecli/context-governor.js.map +1 -1
  100. package/dist/extensions/forgecli/dashboard/component.d.ts +10 -1
  101. package/dist/extensions/forgecli/dashboard/component.js +84 -18
  102. package/dist/extensions/forgecli/dashboard/component.js.map +1 -1
  103. package/dist/extensions/forgecli/dashboard/register.js +1 -1
  104. package/dist/extensions/forgecli/dashboard/register.js.map +1 -1
  105. package/dist/extensions/forgecli/forge-artifact-tool.js +1 -1
  106. package/dist/extensions/forgecli/forge-commands.js +1 -1
  107. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  108. package/dist/extensions/forgecli/{forge-init.js → forge-init/forge-init.js} +10 -10
  109. package/dist/extensions/forgecli/forge-init/forge-init.js.map +1 -0
  110. package/dist/extensions/forgecli/forge-init/init-context.js.map +1 -0
  111. package/dist/extensions/forgecli/forge-init/init-progress.js.map +1 -0
  112. package/dist/extensions/forgecli/forge-init/phase4-register.js +1 -1
  113. package/dist/extensions/forgecli/forge-init/phase4-register.js.map +1 -1
  114. package/dist/extensions/forgecli/forge-init/run-phases.js +2 -2
  115. package/dist/extensions/forgecli/forge-init/run-phases.js.map +1 -1
  116. package/dist/extensions/forgecli/forge-subagent.d.ts +22 -0
  117. package/dist/extensions/forgecli/forge-subagent.js +42 -15
  118. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  119. package/dist/extensions/forgecli/forge-tools.d.ts +1 -25
  120. package/dist/extensions/forgecli/forge-tools.js +79 -37
  121. package/dist/extensions/forgecli/forge-tools.js.map +1 -1
  122. package/dist/extensions/forgecli/governor-config.d.ts +19 -0
  123. package/dist/extensions/forgecli/governor-config.js +58 -0
  124. package/dist/extensions/forgecli/governor-config.js.map +1 -0
  125. package/dist/extensions/forgecli/health-check.js +1 -1
  126. package/dist/extensions/forgecli/health-check.js.map +1 -1
  127. package/dist/extensions/forgecli/hook-dispatcher.js +2 -2
  128. package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
  129. package/dist/extensions/forgecli/hooks/post-init-hook.js +11 -6
  130. package/dist/extensions/forgecli/hooks/post-init-hook.js.map +1 -1
  131. package/dist/extensions/forgecli/hooks/post-sprint-hook.js +11 -6
  132. package/dist/extensions/forgecli/hooks/post-sprint-hook.js.map +1 -1
  133. package/dist/extensions/forgecli/hooks/write-guard.js +1 -1
  134. package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -1
  135. package/dist/extensions/forgecli/index.js +37 -35
  136. package/dist/extensions/forgecli/index.js.map +1 -1
  137. package/dist/extensions/forgecli/kickoff.d.ts +9 -0
  138. package/dist/extensions/forgecli/kickoff.js +15 -0
  139. package/dist/extensions/forgecli/kickoff.js.map +1 -1
  140. package/dist/extensions/forgecli/lib/forge-config.d.ts +1 -1
  141. package/dist/extensions/forgecli/lib/forge-config.js +1 -1
  142. package/dist/extensions/forgecli/lib/forge-config.js.map +1 -1
  143. package/dist/extensions/forgecli/{forge-root.d.ts → lib/forge-root.d.ts} +5 -0
  144. package/dist/extensions/forgecli/{forge-root.js → lib/forge-root.js} +14 -1
  145. package/dist/extensions/forgecli/lib/forge-root.js.map +1 -0
  146. package/dist/extensions/forgecli/lib/run-cjs.d.ts +26 -0
  147. package/dist/extensions/forgecli/lib/run-cjs.js +42 -0
  148. package/dist/extensions/forgecli/lib/run-cjs.js.map +1 -0
  149. package/dist/extensions/forgecli/orchestrator-tree.d.ts +4 -0
  150. package/dist/extensions/forgecli/orchestrator-tree.js +21 -3
  151. package/dist/extensions/forgecli/orchestrator-tree.js.map +1 -1
  152. package/dist/extensions/forgecli/{calibrate.d.ts → orchestrators/calibrate.d.ts} +2 -2
  153. package/dist/extensions/forgecli/{calibrate.js → orchestrators/calibrate.js} +4 -4
  154. package/dist/extensions/forgecli/orchestrators/calibrate.js.map +1 -0
  155. package/dist/extensions/forgecli/{fix-bug.d.ts → orchestrators/fix-bug.d.ts} +14 -5
  156. package/dist/extensions/forgecli/{fix-bug.js → orchestrators/fix-bug.js} +212 -61
  157. package/dist/extensions/forgecli/orchestrators/fix-bug.js.map +1 -0
  158. package/dist/extensions/forgecli/{lib → orchestrators}/halt-advisor.d.ts +1 -1
  159. package/dist/extensions/forgecli/{lib → orchestrators}/halt-advisor.js +1 -1
  160. package/dist/extensions/forgecli/orchestrators/halt-advisor.js.map +1 -0
  161. package/dist/extensions/forgecli/{materialize.js → orchestrators/materialize.js} +1 -1
  162. package/dist/extensions/forgecli/orchestrators/materialize.js.map +1 -0
  163. package/dist/extensions/forgecli/{migrate.d.ts → orchestrators/migrate.d.ts} +1 -1
  164. package/dist/extensions/forgecli/{migrate.js → orchestrators/migrate.js} +5 -5
  165. package/dist/extensions/forgecli/orchestrators/migrate.js.map +1 -0
  166. package/dist/extensions/forgecli/{lib → orchestrators}/orchestrator-preflight.d.ts +2 -2
  167. package/dist/extensions/forgecli/{lib → orchestrators}/orchestrator-preflight.js +2 -2
  168. package/dist/extensions/forgecli/orchestrators/orchestrator-preflight.js.map +1 -0
  169. package/dist/extensions/forgecli/{run-sprint.d.ts → orchestrators/run-sprint.d.ts} +1 -1
  170. package/dist/extensions/forgecli/{run-sprint.js → orchestrators/run-sprint.js} +85 -18
  171. package/dist/extensions/forgecli/orchestrators/run-sprint.js.map +1 -0
  172. package/dist/extensions/forgecli/{run-task.d.ts → orchestrators/run-task.d.ts} +14 -3
  173. package/dist/extensions/forgecli/{run-task.js → orchestrators/run-task.js} +121 -33
  174. package/dist/extensions/forgecli/orchestrators/run-task.js.map +1 -0
  175. package/dist/extensions/forgecli/paths/paths.d.ts +8 -0
  176. package/dist/extensions/forgecli/paths/paths.js +17 -0
  177. package/dist/extensions/forgecli/paths/paths.js.map +1 -1
  178. package/dist/extensions/forgecli/phase-vocab.d.ts +31 -0
  179. package/dist/extensions/forgecli/phase-vocab.js +82 -0
  180. package/dist/extensions/forgecli/phase-vocab.js.map +1 -0
  181. package/dist/extensions/forgecli/session-registry.d.ts +2 -2
  182. package/dist/extensions/forgecli/session-registry.js +6 -2
  183. package/dist/extensions/forgecli/session-registry.js.map +1 -1
  184. package/dist/extensions/forgecli/{friction-emit.d.ts → skill-curation/friction-emit.d.ts} +1 -1
  185. package/dist/extensions/forgecli/{friction-emit.js → skill-curation/friction-emit.js} +2 -2
  186. package/dist/extensions/forgecli/skill-curation/friction-emit.js.map +1 -0
  187. package/dist/extensions/forgecli/{skill-curation-flag.js → skill-curation/skill-curation-flag.js} +1 -1
  188. package/dist/extensions/forgecli/skill-curation/skill-curation-flag.js.map +1 -0
  189. package/dist/extensions/forgecli/{skill-curator-subagent.d.ts → skill-curation/skill-curator-subagent.d.ts} +2 -2
  190. package/dist/extensions/forgecli/{skill-curator-subagent.js → skill-curation/skill-curator-subagent.js} +1 -1
  191. package/dist/extensions/forgecli/skill-curation/skill-curator-subagent.js.map +1 -0
  192. package/dist/extensions/forgecli/{skill-retriever.js → skill-curation/skill-retriever.js} +1 -1
  193. package/dist/extensions/forgecli/skill-curation/skill-retriever.js.map +1 -0
  194. package/dist/extensions/forgecli/{skill-usage-tracker.js → skill-curation/skill-usage-tracker.js} +1 -1
  195. package/dist/extensions/forgecli/skill-curation/skill-usage-tracker.js.map +1 -0
  196. package/dist/extensions/forgecli/store/store-error-remediation.js.map +1 -0
  197. package/dist/extensions/forgecli/{store-resolver.js → store/store-resolver.js} +2 -2
  198. package/dist/extensions/forgecli/store/store-resolver.js.map +1 -0
  199. package/dist/extensions/forgecli/{store-validator.js → store/store-validator.js} +1 -1
  200. package/dist/extensions/forgecli/store/store-validator.js.map +1 -0
  201. package/dist/extensions/forgecli/{transition-guard.js → store/transition-guard.js} +2 -2
  202. package/dist/extensions/forgecli/store/transition-guard.js.map +1 -0
  203. package/dist/extensions/forgecli/subagent/orchestrator-transcript.js +5 -0
  204. package/dist/extensions/forgecli/subagent/orchestrator-transcript.js.map +1 -1
  205. package/dist/extensions/forgecli/transcript-archive-types.d.ts +171 -0
  206. package/dist/extensions/forgecli/transcript-archive-types.js +130 -0
  207. package/dist/extensions/forgecli/transcript-archive-types.js.map +1 -0
  208. package/dist/extensions/forgecli/transcript-archive.d.ts +127 -0
  209. package/dist/extensions/forgecli/transcript-archive.js +656 -0
  210. package/dist/extensions/forgecli/transcript-archive.js.map +1 -0
  211. package/dist/extensions/forgecli/transcript-replay.d.ts +28 -0
  212. package/dist/extensions/forgecli/transcript-replay.js +153 -0
  213. package/dist/extensions/forgecli/transcript-replay.js.map +1 -0
  214. package/dist/extensions/forgecli/transcripts-tui/component.d.ts +36 -0
  215. package/dist/extensions/forgecli/transcripts-tui/component.js +112 -0
  216. package/dist/extensions/forgecli/transcripts-tui/component.js.map +1 -0
  217. package/dist/extensions/forgecli/transcripts-tui/index.d.ts +4 -0
  218. package/dist/extensions/forgecli/transcripts-tui/index.js +5 -0
  219. package/dist/extensions/forgecli/transcripts-tui/index.js.map +1 -0
  220. package/dist/extensions/forgecli/transcripts-tui/screens/browse.d.ts +21 -0
  221. package/dist/extensions/forgecli/transcripts-tui/screens/browse.js +172 -0
  222. package/dist/extensions/forgecli/transcripts-tui/screens/browse.js.map +1 -0
  223. package/dist/extensions/forgecli/transcripts-tui/screens/types.d.ts +22 -0
  224. package/dist/extensions/forgecli/transcripts-tui/screens/types.js +4 -0
  225. package/dist/extensions/forgecli/transcripts-tui/screens/types.js.map +1 -0
  226. package/dist/extensions/forgecli/transcripts-tui/state/index.d.ts +4 -0
  227. package/dist/extensions/forgecli/transcripts-tui/state/index.js +5 -0
  228. package/dist/extensions/forgecli/transcripts-tui/state/index.js.map +1 -0
  229. package/dist/extensions/forgecli/transcripts-tui/state/init.d.ts +8 -0
  230. package/dist/extensions/forgecli/transcripts-tui/state/init.js +18 -0
  231. package/dist/extensions/forgecli/transcripts-tui/state/init.js.map +1 -0
  232. package/dist/extensions/forgecli/transcripts-tui/state/model.d.ts +56 -0
  233. package/dist/extensions/forgecli/transcripts-tui/state/model.js +6 -0
  234. package/dist/extensions/forgecli/transcripts-tui/state/model.js.map +1 -0
  235. package/dist/extensions/forgecli/transcripts-tui/state/reducer.d.ts +2 -0
  236. package/dist/extensions/forgecli/transcripts-tui/state/reducer.js +51 -0
  237. package/dist/extensions/forgecli/transcripts-tui/state/reducer.js.map +1 -0
  238. package/dist/extensions/forgecli/transcripts-tui/state/selectors.d.ts +10 -0
  239. package/dist/extensions/forgecli/transcripts-tui/state/selectors.js +62 -0
  240. package/dist/extensions/forgecli/transcripts-tui/state/selectors.js.map +1 -0
  241. package/dist/extensions/forgecli/transcripts-tui/theme.d.ts +20 -0
  242. package/dist/extensions/forgecli/transcripts-tui/theme.js +47 -0
  243. package/dist/extensions/forgecli/transcripts-tui/theme.js.map +1 -0
  244. package/dist/extensions/forgecli/tui/banner.js.map +1 -0
  245. package/dist/extensions/forgecli/tui/forge-header.js.map +1 -0
  246. package/dist/extensions/forgecli/tui/input-router.js.map +1 -0
  247. package/dist/extensions/forgecli/{orchestrator-status-bar.d.ts → tui/orchestrator-status-bar.d.ts} +1 -1
  248. package/dist/extensions/forgecli/{orchestrator-status-bar.js → tui/orchestrator-status-bar.js} +1 -1
  249. package/dist/extensions/forgecli/tui/orchestrator-status-bar.js.map +1 -0
  250. package/dist/extensions/forgecli/tui/thread-switcher.d.ts +18 -0
  251. package/dist/extensions/forgecli/{thread-switcher.js → tui/thread-switcher.js} +17 -12
  252. package/dist/extensions/forgecli/tui/thread-switcher.js.map +1 -0
  253. package/dist/extensions/forgecli/{forge-update-command.js → update/forge-update-command.js} +3 -3
  254. package/dist/extensions/forgecli/update/forge-update-command.js.map +1 -0
  255. package/dist/extensions/forgecli/{migration-engine.js → update/migration-engine.js} +1 -1
  256. package/dist/extensions/forgecli/update/migration-engine.js.map +1 -0
  257. package/dist/extensions/forgecli/{update-check.js → update/update-check.js} +1 -1
  258. package/dist/extensions/forgecli/update/update-check.js.map +1 -0
  259. package/dist/extensions/forgecli/{update-tools.js → update/update-tools.js} +1 -1
  260. package/dist/extensions/forgecli/update/update-tools.js.map +1 -0
  261. package/dist/extensions/forgecli/{whats-new-widget.js → update/whats-new-widget.js} +2 -2
  262. package/dist/extensions/forgecli/update/whats-new-widget.js.map +1 -0
  263. package/dist/extensions/forgecli/{whats-new.js → update/whats-new.js} +1 -1
  264. package/dist/extensions/forgecli/update/whats-new.js.map +1 -0
  265. package/dist/extensions/forgecli/{viewport-events.d.ts → viewport/events.d.ts} +37 -2
  266. package/dist/extensions/forgecli/{viewport-events.js → viewport/events.js} +70 -23
  267. package/dist/extensions/forgecli/viewport/events.js.map +1 -0
  268. package/dist/extensions/forgecli/{viewport-renderer.d.ts → viewport/renderer.d.ts} +19 -0
  269. package/dist/extensions/forgecli/{viewport-renderer.js → viewport/renderer.js} +46 -2
  270. package/dist/extensions/forgecli/viewport/renderer.js.map +1 -0
  271. package/dist/extensions/forgecli/{viewport-theme.js → viewport/theme.js} +13 -10
  272. package/dist/extensions/forgecli/viewport/theme.js.map +1 -0
  273. package/dist/extensions/forgecli/wf-engine/engine.js +1 -1
  274. package/dist/extensions/forgecli/wf-engine/engine.js.map +1 -1
  275. package/dist/forge-payload/.base-pack/workflows/_fragments/event-emission-schema.md +4 -0
  276. package/dist/forge-payload/.base-pack/workflows/_fragments/event-vocabulary.md +88 -0
  277. package/dist/forge-payload/.base-pack/workflows/commit_task.md +41 -38
  278. package/dist/forge-payload/.base-pack/workflows/implement_plan.md +3 -3
  279. package/dist/forge-payload/.base-pack/workflows-js/wfl-fix-bug.js +42 -6
  280. package/dist/forge-payload/.base-pack/workflows-js/wfl-run-task.js +32 -1
  281. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  282. package/dist/forge-payload/.schemas/enum-catalog.json +2 -2
  283. package/dist/forge-payload/.schemas/event.schema.json +8 -3
  284. package/dist/forge-payload/.schemas/migrations.json +56 -0
  285. package/dist/forge-payload/integrity.json +3 -3
  286. package/dist/forge-payload/meta/store-schema/event.schema.md +7 -0
  287. package/dist/forge-payload/meta/workflows/_fragments/event-emission-schema.md +4 -0
  288. package/dist/forge-payload/meta/workflows/_fragments/event-vocabulary.md +88 -0
  289. package/dist/forge-payload/meta/workflows/meta-commit.md +46 -43
  290. package/dist/forge-payload/meta/workflows/meta-fix-bug.md +7 -2
  291. package/dist/forge-payload/meta/workflows/meta-implement.md +3 -3
  292. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +4 -1
  293. package/dist/forge-payload/schemas/enum-catalog.json +2 -2
  294. package/dist/forge-payload/schemas/event.schema.json +8 -3
  295. package/dist/forge-payload/schemas/structure-manifest.json +4 -2
  296. package/dist/forge-payload/tools/commit-task.cjs +218 -0
  297. package/dist/forge-payload/tools/store-cli.cjs +6 -1
  298. package/node_modules/@mariozechner/clipboard/package.json +2 -1
  299. package/node_modules/@mariozechner/clipboard-linux-x64-musl/README.md +3 -0
  300. package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +25 -0
  301. package/package.json +5 -3
  302. package/dist/extensions/forgecli/add-pipeline.js.map +0 -1
  303. package/dist/extensions/forgecli/add-task.js.map +0 -1
  304. package/dist/extensions/forgecli/approve.js.map +0 -1
  305. package/dist/extensions/forgecli/banner.js.map +0 -1
  306. package/dist/extensions/forgecli/calibrate.js.map +0 -1
  307. package/dist/extensions/forgecli/collate.js.map +0 -1
  308. package/dist/extensions/forgecli/commit.js.map +0 -1
  309. package/dist/extensions/forgecli/config-command.js.map +0 -1
  310. package/dist/extensions/forgecli/config-layer.js.map +0 -1
  311. package/dist/extensions/forgecli/config-writer.js.map +0 -1
  312. package/dist/extensions/forgecli/enhance.d.ts +0 -27
  313. package/dist/extensions/forgecli/enhance.js.map +0 -1
  314. package/dist/extensions/forgecli/fix-bug.js.map +0 -1
  315. package/dist/extensions/forgecli/forge-header.js.map +0 -1
  316. package/dist/extensions/forgecli/forge-init.js.map +0 -1
  317. package/dist/extensions/forgecli/forge-root.js.map +0 -1
  318. package/dist/extensions/forgecli/forge-update-command.js.map +0 -1
  319. package/dist/extensions/forgecli/friction-emit.js.map +0 -1
  320. package/dist/extensions/forgecli/implement.js.map +0 -1
  321. package/dist/extensions/forgecli/init-context.js.map +0 -1
  322. package/dist/extensions/forgecli/init-progress.js.map +0 -1
  323. package/dist/extensions/forgecli/input-router.js.map +0 -1
  324. package/dist/extensions/forgecli/lib/halt-advisor.js.map +0 -1
  325. package/dist/extensions/forgecli/lib/orchestrator-preflight.js.map +0 -1
  326. package/dist/extensions/forgecli/materialize.js.map +0 -1
  327. package/dist/extensions/forgecli/migrate.js.map +0 -1
  328. package/dist/extensions/forgecli/migration-engine.js.map +0 -1
  329. package/dist/extensions/forgecli/model-registry.js.map +0 -1
  330. package/dist/extensions/forgecli/model-resolver.js.map +0 -1
  331. package/dist/extensions/forgecli/model-validator.js.map +0 -1
  332. package/dist/extensions/forgecli/orchestrator-status-bar.js.map +0 -1
  333. package/dist/extensions/forgecli/plan.js.map +0 -1
  334. package/dist/extensions/forgecli/quiz-agent.js.map +0 -1
  335. package/dist/extensions/forgecli/read-command.js.map +0 -1
  336. package/dist/extensions/forgecli/regenerate.js.map +0 -1
  337. package/dist/extensions/forgecli/remove-command.js.map +0 -1
  338. package/dist/extensions/forgecli/report-bug.js.map +0 -1
  339. package/dist/extensions/forgecli/retrospective.js.map +0 -1
  340. package/dist/extensions/forgecli/review-code.js.map +0 -1
  341. package/dist/extensions/forgecli/review-plan.js.map +0 -1
  342. package/dist/extensions/forgecli/run-sprint.js.map +0 -1
  343. package/dist/extensions/forgecli/run-task.js.map +0 -1
  344. package/dist/extensions/forgecli/skill-curation-flag.js.map +0 -1
  345. package/dist/extensions/forgecli/skill-curator-subagent.js.map +0 -1
  346. package/dist/extensions/forgecli/skill-retriever.js.map +0 -1
  347. package/dist/extensions/forgecli/skill-usage-tracker.js.map +0 -1
  348. package/dist/extensions/forgecli/sprint-intake.js.map +0 -1
  349. package/dist/extensions/forgecli/sprint-plan.js.map +0 -1
  350. package/dist/extensions/forgecli/status-command.js.map +0 -1
  351. package/dist/extensions/forgecli/store-error-remediation.js.map +0 -1
  352. package/dist/extensions/forgecli/store-query.js.map +0 -1
  353. package/dist/extensions/forgecli/store-repair.js.map +0 -1
  354. package/dist/extensions/forgecli/store-resolver.js.map +0 -1
  355. package/dist/extensions/forgecli/store-validator.js.map +0 -1
  356. package/dist/extensions/forgecli/test-orchestrate.js.map +0 -1
  357. package/dist/extensions/forgecli/thread-switcher.d.ts +0 -5
  358. package/dist/extensions/forgecli/thread-switcher.js.map +0 -1
  359. package/dist/extensions/forgecli/transition-guard.js.map +0 -1
  360. package/dist/extensions/forgecli/update-check.js.map +0 -1
  361. package/dist/extensions/forgecli/update-tools.js.map +0 -1
  362. package/dist/extensions/forgecli/validate.js.map +0 -1
  363. package/dist/extensions/forgecli/viewport-events.js.map +0 -1
  364. package/dist/extensions/forgecli/viewport-renderer.js.map +0 -1
  365. package/dist/extensions/forgecli/viewport-theme.js.map +0 -1
  366. package/dist/extensions/forgecli/whats-new-widget.js.map +0 -1
  367. package/dist/extensions/forgecli/whats-new.js.map +0 -1
  368. /package/dist/extensions/forgecli/{add-pipeline.d.ts → commands/add-pipeline.d.ts} +0 -0
  369. /package/dist/extensions/forgecli/{add-task.d.ts → commands/add-task.d.ts} +0 -0
  370. /package/dist/extensions/forgecli/{config-command.d.ts → commands/config-command.d.ts} +0 -0
  371. /package/dist/extensions/forgecli/{quiz-agent.d.ts → commands/quiz-agent.d.ts} +0 -0
  372. /package/dist/extensions/forgecli/{read-command.d.ts → commands/read-command.d.ts} +0 -0
  373. /package/dist/extensions/forgecli/{regenerate.d.ts → commands/regenerate.d.ts} +0 -0
  374. /package/dist/extensions/forgecli/{remove-command.d.ts → commands/remove-command.d.ts} +0 -0
  375. /package/dist/extensions/forgecli/{report-bug.d.ts → commands/report-bug.d.ts} +0 -0
  376. /package/dist/extensions/forgecli/{sprint-intake.d.ts → commands/sprint-intake.d.ts} +0 -0
  377. /package/dist/extensions/forgecli/{sprint-intake.js → commands/sprint-intake.js} +0 -0
  378. /package/dist/extensions/forgecli/{sprint-plan.d.ts → commands/sprint-plan.d.ts} +0 -0
  379. /package/dist/extensions/forgecli/{sprint-plan.js → commands/sprint-plan.js} +0 -0
  380. /package/dist/extensions/forgecli/{status-command.d.ts → commands/status-command.d.ts} +0 -0
  381. /package/dist/extensions/forgecli/{store-query.d.ts → commands/store-query.d.ts} +0 -0
  382. /package/dist/extensions/forgecli/{store-repair.d.ts → commands/store-repair.d.ts} +0 -0
  383. /package/dist/extensions/forgecli/{test-orchestrate.d.ts → commands/test-orchestrate.d.ts} +0 -0
  384. /package/dist/extensions/forgecli/{config-layer.d.ts → config/config-layer.d.ts} +0 -0
  385. /package/dist/extensions/forgecli/{config-writer.d.ts → config/config-writer.d.ts} +0 -0
  386. /package/dist/extensions/forgecli/{model-registry.d.ts → config/model-registry.d.ts} +0 -0
  387. /package/dist/extensions/forgecli/{model-resolver.d.ts → config/model-resolver.d.ts} +0 -0
  388. /package/dist/extensions/forgecli/{model-resolver.js → config/model-resolver.js} +0 -0
  389. /package/dist/extensions/forgecli/{model-validator.d.ts → config/model-validator.d.ts} +0 -0
  390. /package/dist/extensions/forgecli/{model-validator.js → config/model-validator.js} +0 -0
  391. /package/dist/extensions/forgecli/{forge-init.d.ts → forge-init/forge-init.d.ts} +0 -0
  392. /package/dist/extensions/forgecli/{init-context.d.ts → forge-init/init-context.d.ts} +0 -0
  393. /package/dist/extensions/forgecli/{init-context.js → forge-init/init-context.js} +0 -0
  394. /package/dist/extensions/forgecli/{init-progress.d.ts → forge-init/init-progress.d.ts} +0 -0
  395. /package/dist/extensions/forgecli/{init-progress.js → forge-init/init-progress.js} +0 -0
  396. /package/dist/extensions/forgecli/{materialize.d.ts → orchestrators/materialize.d.ts} +0 -0
  397. /package/dist/extensions/forgecli/{skill-curation-flag.d.ts → skill-curation/skill-curation-flag.d.ts} +0 -0
  398. /package/dist/extensions/forgecli/{skill-retriever.d.ts → skill-curation/skill-retriever.d.ts} +0 -0
  399. /package/dist/extensions/forgecli/{skill-usage-tracker.d.ts → skill-curation/skill-usage-tracker.d.ts} +0 -0
  400. /package/dist/extensions/forgecli/{store-error-remediation.d.ts → store/store-error-remediation.d.ts} +0 -0
  401. /package/dist/extensions/forgecli/{store-error-remediation.js → store/store-error-remediation.js} +0 -0
  402. /package/dist/extensions/forgecli/{store-resolver.d.ts → store/store-resolver.d.ts} +0 -0
  403. /package/dist/extensions/forgecli/{store-validator.d.ts → store/store-validator.d.ts} +0 -0
  404. /package/dist/extensions/forgecli/{transition-guard.d.ts → store/transition-guard.d.ts} +0 -0
  405. /package/dist/extensions/forgecli/{banner.d.ts → tui/banner.d.ts} +0 -0
  406. /package/dist/extensions/forgecli/{banner.js → tui/banner.js} +0 -0
  407. /package/dist/extensions/forgecli/{forge-header.d.ts → tui/forge-header.d.ts} +0 -0
  408. /package/dist/extensions/forgecli/{forge-header.js → tui/forge-header.js} +0 -0
  409. /package/dist/extensions/forgecli/{input-router.d.ts → tui/input-router.d.ts} +0 -0
  410. /package/dist/extensions/forgecli/{input-router.js → tui/input-router.js} +0 -0
  411. /package/dist/extensions/forgecli/{forge-update-command.d.ts → update/forge-update-command.d.ts} +0 -0
  412. /package/dist/extensions/forgecli/{migration-engine.d.ts → update/migration-engine.d.ts} +0 -0
  413. /package/dist/extensions/forgecli/{update-check.d.ts → update/update-check.d.ts} +0 -0
  414. /package/dist/extensions/forgecli/{update-tools.d.ts → update/update-tools.d.ts} +0 -0
  415. /package/dist/extensions/forgecli/{whats-new-widget.d.ts → update/whats-new-widget.d.ts} +0 -0
  416. /package/dist/extensions/forgecli/{whats-new.d.ts → update/whats-new.d.ts} +0 -0
  417. /package/dist/extensions/forgecli/{viewport-theme.d.ts → viewport/theme.d.ts} +0 -0
@@ -0,0 +1,22 @@
1
+ import type { Theme } from "@earendil-works/pi-coding-agent";
2
+ import type { BrowseAction, BrowseState } from "../state/model.js";
3
+ export type InputResult = {
4
+ kind: "consumed";
5
+ } | {
6
+ kind: "no-op";
7
+ } | {
8
+ kind: "dispatch";
9
+ action: BrowseAction;
10
+ } | {
11
+ kind: "dispatch-seq";
12
+ actions: BrowseAction[];
13
+ } | {
14
+ kind: "quit";
15
+ } | {
16
+ kind: "error";
17
+ message: string;
18
+ };
19
+ export interface Screen {
20
+ render(state: BrowseState, width: number, theme: Theme): string[];
21
+ handleInput(data: string, state: BrowseState): InputResult;
22
+ }
@@ -0,0 +1,4 @@
1
+ // Screen interface + InputResult discriminated union — same contract as
2
+ // config-tui/screens/types.ts, parameterized to the browse-TUI action type.
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/extensions/forgecli/transcripts-tui/screens/types.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,4EAA4E"}
@@ -0,0 +1,4 @@
1
+ export type { BrowseAction, BrowseFilters, BrowseState, KindFilter, ListRow, OutcomeFilter, SinceFilter, } from "./model.js";
2
+ export { type BrowseInitOptions, initialBrowseState } from "./init.js";
3
+ export { reducer } from "./reducer.js";
4
+ export { activeFilterSummary, filteredRows, nextKind, nextOutcome, nextProject, nextSince, } from "./selectors.js";
@@ -0,0 +1,5 @@
1
+ // Barrel for the browse-TUI state layer.
2
+ export { initialBrowseState } from "./init.js";
3
+ export { reducer } from "./reducer.js";
4
+ export { activeFilterSummary, filteredRows, nextKind, nextOutcome, nextProject, nextSince, } from "./selectors.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/extensions/forgecli/transcripts-tui/state/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAWzC,OAAO,EAA0B,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACN,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,GACT,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { BrowseState, ListRow } from "./model.js";
2
+ export interface BrowseInitOptions {
3
+ rows: ListRow[];
4
+ knownProjects: string[];
5
+ /** Test seam; defaults to Date.now(). */
6
+ now?: number;
7
+ }
8
+ export declare function initialBrowseState(opts: BrowseInitOptions): BrowseState;
@@ -0,0 +1,18 @@
1
+ // Initial browse state. Pure — the caller does the archive I/O
2
+ // (collectListRows / readProjects) and hands the data in.
3
+ export function initialBrowseState(opts) {
4
+ return {
5
+ // Most recent first, guaranteed here rather than trusted from the
6
+ // caller — ISO startedAt compares lexicographically as time.
7
+ rows: [...opts.rows].sort((a, b) => b.startedAt.localeCompare(a.startedAt)),
8
+ knownProjects: opts.knownProjects,
9
+ cursor: 0,
10
+ filters: { kind: "all", outcome: "all", projectKey: null, sinceDays: null },
11
+ searchActive: false,
12
+ searchQuery: "",
13
+ shouldExit: false,
14
+ selectedRunId: null,
15
+ now: opts.now ?? Date.now(),
16
+ };
17
+ }
18
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../src/extensions/forgecli/transcripts-tui/state/init.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,0DAA0D;AAW1D,MAAM,UAAU,kBAAkB,CAAC,IAAuB;IACzD,OAAO;QACN,kEAAkE;QAClE,6DAA6D;QAC7D,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3E,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;QAC3E,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,IAAI;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;KAC3B,CAAC;AACH,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { ListRow } from "../../commands/transcripts-command.js";
2
+ export type { ListRow };
3
+ export type KindFilter = "all" | "task" | "bug" | "sprint";
4
+ export type OutcomeFilter = "all" | "complete" | "halted" | "error" | "incomplete" | "cancelled";
5
+ /** Recency window in days; null = no limit. Cycles 7 → 30 → 90 → null. */
6
+ export type SinceFilter = 7 | 30 | 90 | null;
7
+ export interface BrowseFilters {
8
+ kind: KindFilter;
9
+ outcome: OutcomeFilter;
10
+ /** Project key to pin, or null for all projects. */
11
+ projectKey: string | null;
12
+ sinceDays: SinceFilter;
13
+ }
14
+ export interface BrowseState {
15
+ /** All archived runs, loaded once by the caller (I/O stays outside). */
16
+ rows: ListRow[];
17
+ /** Known project keys, cycle order for the project filter. */
18
+ knownProjects: string[];
19
+ /** Cursor index into filteredRows(state) — NOT into rows. */
20
+ cursor: number;
21
+ filters: BrowseFilters;
22
+ searchActive: boolean;
23
+ searchQuery: string;
24
+ shouldExit: boolean;
25
+ /** Set by select-run; the component surfaces it via onSelect. */
26
+ selectedRunId: string | null;
27
+ /** Captured at init so the since-filter cutoff is pure + testable. */
28
+ now: number;
29
+ }
30
+ export type BrowseAction = {
31
+ kind: "cursor-move";
32
+ delta: number;
33
+ } | {
34
+ kind: "cursor-clamp";
35
+ max: number;
36
+ } | {
37
+ kind: "cycle-kind";
38
+ } | {
39
+ kind: "cycle-outcome";
40
+ } | {
41
+ kind: "cycle-project";
42
+ } | {
43
+ kind: "cycle-since";
44
+ } | {
45
+ kind: "enter-search";
46
+ } | {
47
+ kind: "set-search";
48
+ query: string;
49
+ } | {
50
+ kind: "exit-search";
51
+ } | {
52
+ kind: "select-run";
53
+ runId: string;
54
+ } | {
55
+ kind: "request-quit";
56
+ };
@@ -0,0 +1,6 @@
1
+ // Browse-TUI state model — pure data, no I/O (three-layer architecture).
2
+ //
3
+ // One screen (the run browser) plus an overlaid incremental-search mode, so
4
+ // no view stack is needed — far simpler than config-tui's View[] stack.
5
+ export {};
6
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/extensions/forgecli/transcripts-tui/state/model.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,4EAA4E;AAC5E,wEAAwE"}
@@ -0,0 +1,2 @@
1
+ import type { BrowseAction, BrowseState } from "./model.js";
2
+ export declare function reducer(state: BrowseState, action: BrowseAction): BrowseState;
@@ -0,0 +1,51 @@
1
+ // Pure (state, action) → state reducer for the browse TUI.
2
+ //
3
+ // Cursor lower-bound clamps here; the UPPER bound depends on
4
+ // filteredRows().length, which the component knows — it dispatches an
5
+ // explicit cursor-clamp after every state change (mirrors config-tui's
6
+ // documented reducer/component split).
7
+ import { nextKind, nextOutcome, nextProject, nextSince } from "./selectors.js";
8
+ export function reducer(state, action) {
9
+ switch (action.kind) {
10
+ case "cursor-move":
11
+ return { ...state, cursor: Math.max(0, state.cursor + action.delta) };
12
+ case "cursor-clamp":
13
+ return { ...state, cursor: Math.max(0, Math.min(state.cursor, action.max)) };
14
+ case "cycle-kind":
15
+ return {
16
+ ...state,
17
+ cursor: 0,
18
+ filters: { ...state.filters, kind: nextKind(state.filters.kind) },
19
+ };
20
+ case "cycle-outcome":
21
+ return {
22
+ ...state,
23
+ cursor: 0,
24
+ filters: { ...state.filters, outcome: nextOutcome(state.filters.outcome) },
25
+ };
26
+ case "cycle-project":
27
+ return {
28
+ ...state,
29
+ cursor: 0,
30
+ filters: { ...state.filters, projectKey: nextProject(state.filters.projectKey, state.knownProjects) },
31
+ };
32
+ case "cycle-since":
33
+ return {
34
+ ...state,
35
+ cursor: 0,
36
+ filters: { ...state.filters, sinceDays: nextSince(state.filters.sinceDays) },
37
+ };
38
+ case "enter-search":
39
+ return { ...state, searchActive: true };
40
+ case "set-search":
41
+ // Query change invalidates the selection — reset to the top match.
42
+ return { ...state, searchQuery: action.query, cursor: 0 };
43
+ case "exit-search":
44
+ return { ...state, searchActive: false };
45
+ case "select-run":
46
+ return { ...state, selectedRunId: action.runId, shouldExit: true };
47
+ case "request-quit":
48
+ return { ...state, shouldExit: true };
49
+ }
50
+ }
51
+ //# sourceMappingURL=reducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../../src/extensions/forgecli/transcripts-tui/state/reducer.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,6DAA6D;AAC7D,sEAAsE;AACtE,uEAAuE;AACvE,uCAAuC;AAGvC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE/E,MAAM,UAAU,OAAO,CAAC,KAAkB,EAAE,MAAoB;IAC/D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,aAAa;YACjB,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,KAAK,cAAc;YAClB,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9E,KAAK,YAAY;YAChB,OAAO;gBACN,GAAG,KAAK;gBACR,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;aACjE,CAAC;QACH,KAAK,eAAe;YACnB,OAAO;gBACN,GAAG,KAAK;gBACR,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;aAC1E,CAAC;QACH,KAAK,eAAe;YACnB,OAAO;gBACN,GAAG,KAAK;gBACR,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE;aACrG,CAAC;QACH,KAAK,aAAa;YACjB,OAAO;gBACN,GAAG,KAAK;gBACR,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;aAC5E,CAAC;QACH,KAAK,cAAc;YAClB,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACzC,KAAK,YAAY;YAChB,mEAAmE;YACnE,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC3D,KAAK,aAAa;YACjB,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAC1C,KAAK,YAAY;YAChB,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACpE,KAAK,cAAc;YAClB,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;AACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { BrowseState, KindFilter, ListRow, OutcomeFilter, SinceFilter } from "./model.js";
2
+ export declare function filteredRows(state: BrowseState): ListRow[];
3
+ /** Header line summarizing the active filters, e.g.
4
+ * "kind:bug · outcome:all · project:Cartographer · since:7d · /cart". */
5
+ export declare function activeFilterSummary(state: BrowseState): string;
6
+ export declare function nextKind(current: KindFilter): KindFilter;
7
+ export declare function nextOutcome(current: OutcomeFilter): OutcomeFilter;
8
+ export declare function nextSince(current: SinceFilter): SinceFilter;
9
+ /** null → first known project → … → last → null. */
10
+ export declare function nextProject(current: string | null, known: string[]): string | null;
@@ -0,0 +1,62 @@
1
+ // Pure read helpers over BrowseState. filteredRows is the single source of
2
+ // truth for what's visible — the screen renders it and the component's
3
+ // Enter handler indexes into it, so cursor↔row mapping can never drift.
4
+ export function filteredRows(state) {
5
+ const { kind, outcome, projectKey, sinceDays } = state.filters;
6
+ const cutoff = sinceDays === null ? null : new Date(state.now - sinceDays * 86_400_000).toISOString();
7
+ const query = state.searchQuery.trim().toLowerCase();
8
+ return state.rows.filter((row) => {
9
+ if (kind !== "all" && row.entityKind !== kind)
10
+ return false;
11
+ if (outcome !== "all" && row.outcome !== outcome)
12
+ return false;
13
+ if (projectKey !== null && row.projectKey !== projectKey)
14
+ return false;
15
+ if (cutoff !== null && row.startedAt < cutoff)
16
+ return false;
17
+ if (query) {
18
+ const haystack = `${row.entityId} ${row.sprintId ?? ""} ${row.projectName}`.toLowerCase();
19
+ if (!haystack.includes(query))
20
+ return false;
21
+ }
22
+ return true;
23
+ });
24
+ }
25
+ /** Header line summarizing the active filters, e.g.
26
+ * "kind:bug · outcome:all · project:Cartographer · since:7d · /cart". */
27
+ export function activeFilterSummary(state) {
28
+ const { kind, outcome, projectKey, sinceDays } = state.filters;
29
+ const parts = [
30
+ `kind:${kind}`,
31
+ `outcome:${outcome}`,
32
+ `project:${projectKey ?? "all"}`,
33
+ `since:${sinceDays === null ? "all" : `${sinceDays}d`}`,
34
+ ];
35
+ if (state.searchQuery)
36
+ parts.push(`/${state.searchQuery}`);
37
+ return parts.join(" · ");
38
+ }
39
+ const KIND_CYCLE = ["all", "task", "bug", "sprint"];
40
+ const OUTCOME_CYCLE = ["all", "complete", "halted", "error", "incomplete", "cancelled"];
41
+ const SINCE_CYCLE = [null, 7, 30, 90];
42
+ export function nextKind(current) {
43
+ return KIND_CYCLE[(KIND_CYCLE.indexOf(current) + 1) % KIND_CYCLE.length];
44
+ }
45
+ export function nextOutcome(current) {
46
+ return OUTCOME_CYCLE[(OUTCOME_CYCLE.indexOf(current) + 1) % OUTCOME_CYCLE.length];
47
+ }
48
+ export function nextSince(current) {
49
+ return SINCE_CYCLE[(SINCE_CYCLE.indexOf(current) + 1) % SINCE_CYCLE.length];
50
+ }
51
+ /** null → first known project → … → last → null. */
52
+ export function nextProject(current, known) {
53
+ if (known.length === 0)
54
+ return null;
55
+ if (current === null)
56
+ return known[0];
57
+ const idx = known.indexOf(current);
58
+ if (idx < 0 || idx === known.length - 1)
59
+ return null;
60
+ return known[idx + 1];
61
+ }
62
+ //# sourceMappingURL=selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../src/extensions/forgecli/transcripts-tui/state/selectors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Theme } from "@earendil-works/pi-coding-agent";
2
+ export type { Theme };
3
+ /** Horizontal rule spanning the full width, themed as a border. */
4
+ export declare function rule(width: number, theme: Theme): string;
5
+ export declare function cursor(isSelected: boolean, theme: Theme): string;
6
+ export declare function muted(text: string, theme: Theme): string;
7
+ export declare function accent(text: string, theme: Theme): string;
8
+ export declare function accentBold(text: string, theme: Theme): string;
9
+ /**
10
+ * Truncate a potentially-ANSI string to a visible width, padding with
11
+ * spaces if shorter. ANSI-safe column alignment (Iron Law 10).
12
+ */
13
+ export declare function padOrTruncate(text: string, width: number): string;
14
+ /**
15
+ * Truncate every line to the given visible width. Final safety guard in
16
+ * every screen's render (Iron Law 2, layer 1).
17
+ */
18
+ export declare function truncateLines(lines: string[], width: number): string[];
19
+ /** Alias matching the config-tui screens/shared.ts vocabulary. */
20
+ export declare function safeLines(lines: string[], width: number): string[];
@@ -0,0 +1,47 @@
1
+ // Transcripts-TUI theme helpers — wraps pi Theme for consistent styling.
2
+ //
3
+ // Local copies of the handful of helpers this TUI needs (config-tui keeps
4
+ // its own set; copying ~6 trivial theme-only helpers avoids cross-TUI
5
+ // coupling — see forge-cli-ui-engineer skill, module layout).
6
+ //
7
+ // Every render function receives a Theme instance and routes all visible
8
+ // text through these helpers or theme.fg/bg/bold directly (Iron Law 1).
9
+ import { truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
10
+ /** Horizontal rule spanning the full width, themed as a border. */
11
+ export function rule(width, theme) {
12
+ return theme.fg("border", "─".repeat(Math.max(1, width)));
13
+ }
14
+ export function cursor(isSelected, theme) {
15
+ return isSelected ? theme.fg("accent", "▸") : " ";
16
+ }
17
+ export function muted(text, theme) {
18
+ return theme.fg("muted", text);
19
+ }
20
+ export function accent(text, theme) {
21
+ return theme.fg("accent", text);
22
+ }
23
+ export function accentBold(text, theme) {
24
+ return theme.fg("accent", theme.bold(text));
25
+ }
26
+ /**
27
+ * Truncate a potentially-ANSI string to a visible width, padding with
28
+ * spaces if shorter. ANSI-safe column alignment (Iron Law 10).
29
+ */
30
+ export function padOrTruncate(text, width) {
31
+ const vis = visibleWidth(text);
32
+ if (vis >= width)
33
+ return truncateToWidth(text, width, "");
34
+ return text + " ".repeat(width - vis);
35
+ }
36
+ /**
37
+ * Truncate every line to the given visible width. Final safety guard in
38
+ * every screen's render (Iron Law 2, layer 1).
39
+ */
40
+ export function truncateLines(lines, width) {
41
+ return lines.map((line) => truncateToWidth(line, width, ""));
42
+ }
43
+ /** Alias matching the config-tui screens/shared.ts vocabulary. */
44
+ export function safeLines(lines, width) {
45
+ return truncateLines(lines, width);
46
+ }
47
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/transcripts-tui/theme.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,0EAA0E;AAC1E,sEAAsE;AACtE,8DAA8D;AAC9D,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AAGxE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAIvE,mEAAmE;AACnE,MAAM,UAAU,IAAI,CAAC,KAAa,EAAE,KAAY;IAC/C,OAAO,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,UAAmB,EAAE,KAAY;IACvD,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,KAAY;IAC/C,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,KAAY;IAChD,OAAO,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,KAAY;IACpD,OAAO,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAa;IACxD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAe,EAAE,KAAa;IAC3D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,SAAS,CAAC,KAAe,EAAE,KAAa;IACvD,OAAO,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/tui/banner.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,EAAE;AACF,kDAAkD;AAElD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAc9B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IACjD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACJ,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,GAAG,GAAG,MAAqB,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;IAEnC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forge-header.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/tui/forge-header.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-router.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/tui/input-router.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Theme } from "@earendil-works/pi-coding-agent";
2
2
  import type { Component } from "@earendil-works/pi-tui";
3
- import type { OrchestratorTree } from "./orchestrator-tree.js";
3
+ import type { OrchestratorTree } from "../orchestrator-tree.js";
4
4
  export declare class OrchestratorStatusBar implements Component {
5
5
  private tree;
6
6
  private theme;
@@ -28,7 +28,7 @@
28
28
  // IL1 — All visible strings route through theme.fg()/bg()/bold(). No raw glyphs.
29
29
  // IL7 — Spinner timer guarded by disposed flag to prevent stale callbacks.
30
30
  import { truncateToWidth } from "@earendil-works/pi-tui";
31
- import { fmtTokenMeter } from "./viewport-renderer.js";
31
+ import { fmtTokenMeter } from "../viewport/renderer.js";
32
32
  // ── Braille spinner ────────────────────────────────────────────────────────
33
33
  const SPINNER_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
34
34
  const SPINNER_INTERVAL_MS = 100;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-status-bar.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/tui/orchestrator-status-bar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
2
+ import { type OrchestratorTree } from "../orchestrator-tree.js";
3
+ export interface OpenDashboardOptions {
4
+ /**
5
+ * Inject a detached tree (transcript replay). Defaults to the live
6
+ * singleton. Injected trees are NEVER memoized into the module-level
7
+ * treeRef — a replay must not pollute the live dashboard entry points.
8
+ */
9
+ tree?: OrchestratorTree;
10
+ /** Read-only mode: cancel (`x`) disabled; footer marks the replay. */
11
+ readOnly?: boolean;
12
+ }
13
+ /** Open the dashboard overlay. Shared by /forge:threads, /forge:dashboard,
14
+ * the status bar Enter action, and transcript replay (injected tree).
15
+ * Returns the overlay's lifetime promise so callers (replay re-entry loop)
16
+ * can await close; existing fire-and-forget call sites ignore it. */
17
+ export declare function openDashboardTui(ctx: ExtensionContext, opts?: OpenDashboardOptions): Promise<void>;
18
+ export declare function registerThreadSwitcher(pi: ExtensionAPI): void;
@@ -14,12 +14,12 @@
14
14
  // stays clean for user prompts and new tasks.
15
15
  import { getInputRouter } from "./input-router.js";
16
16
  import { matchesKey, Key } from "@earendil-works/pi-tui";
17
- import { getOrchestratorTree } from "./orchestrator-tree.js";
18
- import { DashboardComponent, DashboardController } from "./dashboard/component.js";
17
+ import { getOrchestratorTree } from "../orchestrator-tree.js";
18
+ import { DashboardComponent, DashboardController } from "../dashboard/component.js";
19
19
  import { OrchestratorStatusBar } from "./orchestrator-status-bar.js";
20
- import { getSessionRegistry, } from "./session-registry.js";
21
- import { fmtModelLabel, fmtTokenFooter } from "./viewport-renderer.js";
22
- import { paintFooterLine } from "./viewport-theme.js";
20
+ import { getSessionRegistry, } from "../session-registry.js";
21
+ import { fmtModelLabel, fmtTokenFooter } from "../viewport/renderer.js";
22
+ import { paintFooterLine } from "../viewport/theme.js";
23
23
  const STATUS_BAR_WIDGET_KEY = "forge:orchestrator-status-bar";
24
24
  const FOOTER_WIDGET_KEY = "forge:viewport-footer";
25
25
  // ── Aggregate token footer ──────────────────────────────────────────────────
@@ -75,15 +75,18 @@ let statusBarTui;
75
75
  // without being nested inside registerThreadSwitcher.
76
76
  let treeRef;
77
77
  /** Open the dashboard overlay. Shared by /forge:threads, /forge:dashboard,
78
- * and the status bar Enter action. */
79
- export function openDashboardTui(ctx) {
80
- const tree = treeRef ?? getOrchestratorTree();
81
- if (!treeRef)
78
+ * the status bar Enter action, and transcript replay (injected tree).
79
+ * Returns the overlay's lifetime promise so callers (replay re-entry loop)
80
+ * can await close; existing fire-and-forget call sites ignore it. */
81
+ export function openDashboardTui(ctx, opts = {}) {
82
+ const tree = opts.tree ?? treeRef ?? getOrchestratorTree();
83
+ if (!opts.tree && !treeRef)
82
84
  treeRef = tree;
83
- const controller = new DashboardController(tree);
85
+ const controller = new DashboardController(tree, undefined, { readOnly: opts.readOnly ?? false });
84
86
  const router = getInputRouter();
85
87
  router.pushOverlay();
86
- ctx.ui.custom((tui, theme, _kb, done) => {
88
+ return ctx.ui
89
+ .custom((tui, theme, _kb, done) => {
87
90
  const component = new DashboardComponent(controller, tui, theme, done);
88
91
  return component;
89
92
  }, {
@@ -93,7 +96,9 @@ export function openDashboardTui(ctx) {
93
96
  anchor: "center",
94
97
  margin: 0,
95
98
  },
96
- }).finally(() => {
99
+ })
100
+ .then(() => undefined)
101
+ .finally(() => {
97
102
  router.popOverlay();
98
103
  });
99
104
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-switcher.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/tui/thread-switcher.ts"],"names":[],"mappings":"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"}
@@ -19,9 +19,9 @@ import { execFile } from "node:child_process";
19
19
  import { existsSync, promises as fs, readFileSync } from "node:fs";
20
20
  import * as path from "node:path";
21
21
  import { promisify } from "node:util";
22
- import { getBundledPayloadRoot } from "./forge-init.js";
23
- import { sendKickoff } from "./kickoff.js";
24
- import { getUserCacheDir } from "./paths/paths.js";
22
+ import { getBundledPayloadRoot } from "../forge-init/forge-init.js";
23
+ import { sendKickoff } from "../kickoff.js";
24
+ import { getUserCacheDir } from "../paths/paths.js";
25
25
  const execFileAsync = promisify(execFile);
26
26
  const PKG_NAME = "@entelligentsia/forgecli";
27
27
  const NPM_DIST_TAGS_URL = "https://registry.npmjs.org/@entelligentsia/forgecli";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forge-update-command.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/update/forge-update-command.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  import * as fs from "node:fs";
14
14
  import { createRequire } from "node:module";
15
15
  import * as path from "node:path";
16
- import { isFile } from "./lib/shared-fs-utils.js";
16
+ import { isFile } from "../lib/shared-fs-utils.js";
17
17
  // ── semverCompare ─────────────────────────────────────────────────────────────
18
18
  /**
19
19
  * Compare two version strings using semver integer-component comparison.