codingbuddy 4.5.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/dist/src/agent/agent.module.js +3 -1
  2. package/dist/src/agent/agent.module.js.map +1 -1
  3. package/dist/src/agent/agent.service.d.ts +11 -4
  4. package/dist/src/agent/agent.service.js +81 -13
  5. package/dist/src/agent/agent.service.js.map +1 -1
  6. package/dist/src/agent/agent.types.d.ts +41 -1
  7. package/dist/src/agent/agent.types.js.map +1 -1
  8. package/dist/src/collaboration/discussion-engine.d.ts +14 -0
  9. package/dist/src/collaboration/discussion-engine.js +49 -0
  10. package/dist/src/collaboration/discussion-engine.js.map +1 -0
  11. package/dist/src/collaboration/index.d.ts +5 -0
  12. package/dist/src/collaboration/index.js +22 -0
  13. package/dist/src/collaboration/index.js.map +1 -0
  14. package/dist/src/collaboration/opinion-adapter.d.ts +14 -0
  15. package/dist/src/collaboration/opinion-adapter.js +56 -0
  16. package/dist/src/collaboration/opinion-adapter.js.map +1 -0
  17. package/dist/src/collaboration/terminal-formatter.d.ts +5 -0
  18. package/dist/src/collaboration/terminal-formatter.js +57 -0
  19. package/dist/src/collaboration/terminal-formatter.js.map +1 -0
  20. package/dist/src/collaboration/types.d.ts +50 -0
  21. package/dist/src/collaboration/types.js +53 -0
  22. package/dist/src/collaboration/types.js.map +1 -0
  23. package/dist/src/config/config.schema.d.ts +14 -0
  24. package/dist/src/config/config.schema.js +7 -0
  25. package/dist/src/config/config.schema.js.map +1 -1
  26. package/dist/src/context/context-archive.service.d.ts +14 -0
  27. package/dist/src/context/context-archive.service.js +257 -0
  28. package/dist/src/context/context-archive.service.js.map +1 -0
  29. package/dist/src/context/context-archive.types.d.ts +37 -0
  30. package/dist/src/context/context-archive.types.js +47 -0
  31. package/dist/src/context/context-archive.types.js.map +1 -0
  32. package/dist/src/context/context-document.service.d.ts +4 -2
  33. package/dist/src/context/context-document.service.js +24 -4
  34. package/dist/src/context/context-document.service.js.map +1 -1
  35. package/dist/src/context/context-document.types.d.ts +18 -0
  36. package/dist/src/context/context-document.types.js +13 -1
  37. package/dist/src/context/context-document.types.js.map +1 -1
  38. package/dist/src/context/context-parser.utils.js +32 -0
  39. package/dist/src/context/context-parser.utils.js.map +1 -1
  40. package/dist/src/context/context-serializer.utils.d.ts +3 -2
  41. package/dist/src/context/context-serializer.utils.js +25 -1
  42. package/dist/src/context/context-serializer.utils.js.map +1 -1
  43. package/dist/src/context/context.module.js +3 -2
  44. package/dist/src/context/context.module.js.map +1 -1
  45. package/dist/src/context/index.d.ts +1 -0
  46. package/dist/src/context/index.js +1 -0
  47. package/dist/src/context/index.js.map +1 -1
  48. package/dist/src/impact/impact-event.service.d.ts +8 -0
  49. package/dist/src/impact/impact-event.service.js +53 -0
  50. package/dist/src/impact/impact-event.service.js.map +1 -0
  51. package/dist/src/impact/impact-report.service.d.ts +7 -0
  52. package/dist/src/impact/impact-report.service.js +92 -0
  53. package/dist/src/impact/impact-report.service.js.map +1 -0
  54. package/dist/src/impact/impact.module.d.ts +2 -0
  55. package/dist/src/impact/impact.module.js +22 -0
  56. package/dist/src/impact/impact.module.js.map +1 -0
  57. package/dist/src/impact/impact.types.d.ts +32 -0
  58. package/dist/src/impact/impact.types.js +5 -0
  59. package/dist/src/impact/impact.types.js.map +1 -0
  60. package/dist/src/impact/index.d.ts +4 -0
  61. package/dist/src/impact/index.js +25 -0
  62. package/dist/src/impact/index.js.map +1 -0
  63. package/dist/src/keyword/diff-analyzer.d.ts +19 -0
  64. package/dist/src/keyword/diff-analyzer.js +127 -0
  65. package/dist/src/keyword/diff-analyzer.js.map +1 -0
  66. package/dist/src/keyword/explicit-pattern-matcher.d.ts +3 -0
  67. package/dist/src/keyword/explicit-pattern-matcher.js +34 -0
  68. package/dist/src/keyword/explicit-pattern-matcher.js.map +1 -0
  69. package/dist/src/keyword/keyword.module.js +17 -1
  70. package/dist/src/keyword/keyword.module.js.map +1 -1
  71. package/dist/src/keyword/keyword.service.d.ts +3 -0
  72. package/dist/src/keyword/keyword.service.js +33 -3
  73. package/dist/src/keyword/keyword.service.js.map +1 -1
  74. package/dist/src/keyword/keyword.types.d.ts +29 -1
  75. package/dist/src/keyword/keyword.types.js +34 -1
  76. package/dist/src/keyword/keyword.types.js.map +1 -1
  77. package/dist/src/keyword/primary-agent-resolver.d.ts +7 -3
  78. package/dist/src/keyword/primary-agent-resolver.js +24 -2
  79. package/dist/src/keyword/primary-agent-resolver.js.map +1 -1
  80. package/dist/src/keyword/strategies/act-agent.strategy.js +16 -0
  81. package/dist/src/keyword/strategies/act-agent.strategy.js.map +1 -1
  82. package/dist/src/keyword/strategies/index.d.ts +1 -1
  83. package/dist/src/keyword/strategies/index.js.map +1 -1
  84. package/dist/src/keyword/strategies/resolution-strategy.interface.d.ts +5 -0
  85. package/dist/src/keyword/visual-data.builder.d.ts +10 -0
  86. package/dist/src/keyword/visual-data.builder.js +62 -0
  87. package/dist/src/keyword/visual-data.builder.js.map +1 -0
  88. package/dist/src/mcp/handlers/agent.handler.d.ts +4 -1
  89. package/dist/src/mcp/handlers/agent.handler.js +59 -6
  90. package/dist/src/mcp/handlers/agent.handler.js.map +1 -1
  91. package/dist/src/mcp/handlers/checklist-context.handler.d.ts +3 -1
  92. package/dist/src/mcp/handlers/checklist-context.handler.js +13 -2
  93. package/dist/src/mcp/handlers/checklist-context.handler.js.map +1 -1
  94. package/dist/src/mcp/handlers/context-archive.handler.d.ts +14 -0
  95. package/dist/src/mcp/handlers/context-archive.handler.js +136 -0
  96. package/dist/src/mcp/handlers/context-archive.handler.js.map +1 -0
  97. package/dist/src/mcp/handlers/context-document.handler.d.ts +6 -1
  98. package/dist/src/mcp/handlers/context-document.handler.js +113 -12
  99. package/dist/src/mcp/handlers/context-document.handler.js.map +1 -1
  100. package/dist/src/mcp/handlers/discussion.handler.d.ts +14 -0
  101. package/dist/src/mcp/handlers/discussion.handler.js +168 -0
  102. package/dist/src/mcp/handlers/discussion.handler.js.map +1 -0
  103. package/dist/src/mcp/handlers/discussion.types.d.ts +18 -0
  104. package/dist/src/mcp/handlers/discussion.types.js +11 -0
  105. package/dist/src/mcp/handlers/discussion.types.js.map +1 -0
  106. package/dist/src/mcp/handlers/impact.handler.d.ts +11 -0
  107. package/dist/src/mcp/handlers/impact.handler.js +53 -0
  108. package/dist/src/mcp/handlers/impact.handler.js.map +1 -0
  109. package/dist/src/mcp/handlers/index.d.ts +6 -0
  110. package/dist/src/mcp/handlers/index.js +13 -1
  111. package/dist/src/mcp/handlers/index.js.map +1 -1
  112. package/dist/src/mcp/handlers/mode.handler.d.ts +7 -1
  113. package/dist/src/mcp/handlers/mode.handler.js +109 -3
  114. package/dist/src/mcp/handlers/mode.handler.js.map +1 -1
  115. package/dist/src/mcp/handlers/pipeline.handler.d.ts +14 -0
  116. package/dist/src/mcp/handlers/pipeline.handler.js +137 -0
  117. package/dist/src/mcp/handlers/pipeline.handler.js.map +1 -0
  118. package/dist/src/mcp/handlers/rule-insights.handler.d.ts +14 -0
  119. package/dist/src/mcp/handlers/rule-insights.handler.js +78 -0
  120. package/dist/src/mcp/handlers/rule-insights.handler.js.map +1 -0
  121. package/dist/src/mcp/handlers/rules.handler.d.ts +3 -1
  122. package/dist/src/mcp/handlers/rules.handler.js +14 -2
  123. package/dist/src/mcp/handlers/rules.handler.js.map +1 -1
  124. package/dist/src/mcp/mcp.module.js +10 -0
  125. package/dist/src/mcp/mcp.module.js.map +1 -1
  126. package/dist/src/parallel-validation/extract-file-paths.d.ts +1 -0
  127. package/dist/src/parallel-validation/extract-file-paths.js +19 -0
  128. package/dist/src/parallel-validation/extract-file-paths.js.map +1 -0
  129. package/dist/src/parallel-validation/index.d.ts +5 -0
  130. package/dist/src/parallel-validation/index.js +12 -0
  131. package/dist/src/parallel-validation/index.js.map +1 -0
  132. package/dist/src/parallel-validation/overlap-matrix.d.ts +10 -0
  133. package/dist/src/parallel-validation/overlap-matrix.js +23 -0
  134. package/dist/src/parallel-validation/overlap-matrix.js.map +1 -0
  135. package/dist/src/parallel-validation/parallel-validation.handler.d.ts +8 -0
  136. package/dist/src/parallel-validation/parallel-validation.handler.js +84 -0
  137. package/dist/src/parallel-validation/parallel-validation.handler.js.map +1 -0
  138. package/dist/src/parallel-validation/parallel-validation.types.d.ts +12 -0
  139. package/dist/src/parallel-validation/parallel-validation.types.js +3 -0
  140. package/dist/src/parallel-validation/parallel-validation.types.js.map +1 -0
  141. package/dist/src/parallel-validation/wave-splitter.d.ts +2 -0
  142. package/dist/src/parallel-validation/wave-splitter.js +39 -0
  143. package/dist/src/parallel-validation/wave-splitter.js.map +1 -0
  144. package/dist/src/pipeline/index.d.ts +5 -0
  145. package/dist/src/pipeline/index.js +14 -0
  146. package/dist/src/pipeline/index.js.map +1 -0
  147. package/dist/src/pipeline/pipeline.executors.d.ts +2 -0
  148. package/dist/src/pipeline/pipeline.executors.js +79 -0
  149. package/dist/src/pipeline/pipeline.executors.js.map +1 -0
  150. package/dist/src/pipeline/pipeline.module.d.ts +2 -0
  151. package/dist/src/pipeline/pipeline.module.js +21 -0
  152. package/dist/src/pipeline/pipeline.module.js.map +1 -0
  153. package/dist/src/pipeline/pipeline.service.d.ts +8 -0
  154. package/dist/src/pipeline/pipeline.service.js +89 -0
  155. package/dist/src/pipeline/pipeline.service.js.map +1 -0
  156. package/dist/src/pipeline/pipeline.types.d.ts +47 -0
  157. package/dist/src/pipeline/pipeline.types.js +33 -0
  158. package/dist/src/pipeline/pipeline.types.js.map +1 -0
  159. package/dist/src/rules/rule-insights.service.d.ts +31 -0
  160. package/dist/src/rules/rule-insights.service.js +102 -0
  161. package/dist/src/rules/rule-insights.service.js.map +1 -0
  162. package/dist/src/rules/rule-tracker.d.ts +24 -0
  163. package/dist/src/rules/rule-tracker.js +74 -0
  164. package/dist/src/rules/rule-tracker.js.map +1 -0
  165. package/dist/src/rules/rules.module.js +3 -2
  166. package/dist/src/rules/rules.module.js.map +1 -1
  167. package/dist/src/shared/event-bridge-reader.d.ts +17 -0
  168. package/dist/src/shared/event-bridge-reader.js +56 -0
  169. package/dist/src/shared/event-bridge-reader.js.map +1 -0
  170. package/dist/src/shared/version.d.ts +1 -1
  171. package/dist/src/shared/version.js +1 -1
  172. package/dist/src/skill/i18n/keywords.types.d.ts +4 -2
  173. package/dist/src/skill/i18n/keywords.types.js +3 -0
  174. package/dist/src/skill/i18n/keywords.types.js.map +1 -1
  175. package/dist/src/tui/components/ActModeScreen.d.ts +10 -0
  176. package/dist/src/tui/components/ActModeScreen.js +25 -0
  177. package/dist/src/tui/components/ActModeScreen.js.map +1 -0
  178. package/dist/src/tui/components/AgentDiscussionPanel.d.ts +8 -0
  179. package/dist/src/tui/components/AgentDiscussionPanel.js +115 -0
  180. package/dist/src/tui/components/AgentDiscussionPanel.js.map +1 -0
  181. package/dist/src/tui/components/AgentDiscussionPanel.spec.d.ts +1 -0
  182. package/dist/src/tui/components/AgentDiscussionPanel.spec.js +229 -0
  183. package/dist/src/tui/components/AgentDiscussionPanel.spec.js.map +1 -0
  184. package/dist/src/tui/components/EvalModeScreen.d.ts +8 -0
  185. package/dist/src/tui/components/EvalModeScreen.js +21 -0
  186. package/dist/src/tui/components/EvalModeScreen.js.map +1 -0
  187. package/dist/src/tui/components/FlowMap.spec.js.map +1 -1
  188. package/dist/src/tui/components/FocusedAgentPanel.js +1 -1
  189. package/dist/src/tui/components/FocusedAgentPanel.js.map +1 -1
  190. package/dist/src/tui/components/FocusedAgentPanel.spec.js +1 -3
  191. package/dist/src/tui/components/FocusedAgentPanel.spec.js.map +1 -1
  192. package/dist/src/tui/components/HeaderBar.js +3 -3
  193. package/dist/src/tui/components/HeaderBar.js.map +1 -1
  194. package/dist/src/tui/components/ModeScreenRouter.d.ts +13 -0
  195. package/dist/src/tui/components/ModeScreenRouter.js +51 -0
  196. package/dist/src/tui/components/ModeScreenRouter.js.map +1 -0
  197. package/dist/src/tui/components/PlanModeScreen.d.ts +10 -0
  198. package/dist/src/tui/components/PlanModeScreen.js +24 -0
  199. package/dist/src/tui/components/PlanModeScreen.js.map +1 -0
  200. package/dist/src/tui/components/SessionDashboard.d.ts +17 -0
  201. package/dist/src/tui/components/SessionDashboard.js +58 -0
  202. package/dist/src/tui/components/SessionDashboard.js.map +1 -0
  203. package/dist/src/tui/components/act-screen.pure.d.ts +12 -0
  204. package/dist/src/tui/components/act-screen.pure.js +93 -0
  205. package/dist/src/tui/components/act-screen.pure.js.map +1 -0
  206. package/dist/src/tui/components/agent-discussion-panel.pure.d.ts +55 -0
  207. package/dist/src/tui/components/agent-discussion-panel.pure.js +201 -0
  208. package/dist/src/tui/components/agent-discussion-panel.pure.js.map +1 -0
  209. package/dist/src/tui/components/eval-screen.pure.d.ts +13 -0
  210. package/dist/src/tui/components/eval-screen.pure.js +76 -0
  211. package/dist/src/tui/components/eval-screen.pure.js.map +1 -0
  212. package/dist/src/tui/components/index.d.ts +16 -0
  213. package/dist/src/tui/components/index.js +48 -1
  214. package/dist/src/tui/components/index.js.map +1 -1
  215. package/dist/src/tui/components/plan-screen.pure.d.ts +9 -0
  216. package/dist/src/tui/components/plan-screen.pure.js +61 -0
  217. package/dist/src/tui/components/plan-screen.pure.js.map +1 -0
  218. package/dist/src/tui/components/session-dashboard.pure.d.ts +43 -0
  219. package/dist/src/tui/components/session-dashboard.pure.js +182 -0
  220. package/dist/src/tui/components/session-dashboard.pure.js.map +1 -0
  221. package/dist/src/tui/dashboard-app.js +3 -3
  222. package/dist/src/tui/dashboard-app.js.map +1 -1
  223. package/dist/src/tui/dashboard-types.d.ts +49 -0
  224. package/dist/src/tui/dashboard-types.js +20 -1
  225. package/dist/src/tui/dashboard-types.js.map +1 -1
  226. package/dist/src/tui/events/index.d.ts +1 -1
  227. package/dist/src/tui/events/index.js.map +1 -1
  228. package/dist/src/tui/events/types.d.ts +29 -1
  229. package/dist/src/tui/events/types.js +5 -0
  230. package/dist/src/tui/events/types.js.map +1 -1
  231. package/dist/src/tui/hooks/use-dashboard-state.d.ts +16 -1
  232. package/dist/src/tui/hooks/use-dashboard-state.js +70 -1
  233. package/dist/src/tui/hooks/use-dashboard-state.js.map +1 -1
  234. package/dist/src/tui-bundle.mjs +1023 -125
  235. package/dist/tsconfig.build.tsbuildinfo +1 -1
  236. package/package.json +14 -14
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderScoreBar = renderScoreBar;
4
+ exports.renderAgentResult = renderAgentResult;
5
+ exports.calculateAggregateScore = calculateAggregateScore;
6
+ exports.renderEvalScreen = renderEvalScreen;
7
+ function renderScoreBar(score, maxScore, barWidth) {
8
+ const percent = maxScore > 0 ? Math.round((score / maxScore) * 100) : 0;
9
+ const filled = Math.round((percent / 100) * barWidth);
10
+ const empty = barWidth - filled;
11
+ return `[${'█'.repeat(filled)}${'░'.repeat(empty)}] ${score}/${maxScore}`;
12
+ }
13
+ function renderAgentResult(result, width) {
14
+ const lines = [];
15
+ const statusIcon = getResultStatusIcon(result.status);
16
+ const barWidth = Math.max(8, Math.min(20, width - 30));
17
+ lines.push({
18
+ type: 'agent-result',
19
+ text: ` ${statusIcon} ${result.agentName}`,
20
+ });
21
+ for (const cat of result.categories) {
22
+ const bar = renderScoreBar(cat.score, cat.maxScore, barWidth);
23
+ lines.push({
24
+ type: 'category',
25
+ text: ` ${padRight(cat.name, 16)} ${bar}`,
26
+ });
27
+ }
28
+ const totalBar = renderScoreBar(result.totalScore, result.maxTotalScore, barWidth);
29
+ lines.push({
30
+ type: 'total-score',
31
+ text: ` ${'Total'.padEnd(16)} ${totalBar}`,
32
+ });
33
+ return lines;
34
+ }
35
+ function getResultStatusIcon(status) {
36
+ switch (status) {
37
+ case 'pending':
38
+ return '⏳';
39
+ case 'in-progress':
40
+ return '🔄';
41
+ case 'done':
42
+ return '✅';
43
+ }
44
+ }
45
+ function padRight(str, len) {
46
+ return str.length >= len ? str.slice(0, len) : str + ' '.repeat(len - str.length);
47
+ }
48
+ function calculateAggregateScore(results) {
49
+ if (results.length === 0)
50
+ return { total: 0, max: 0, percent: 0 };
51
+ const total = results.reduce((sum, r) => sum + r.totalScore, 0);
52
+ const max = results.reduce((sum, r) => sum + r.maxTotalScore, 0);
53
+ const percent = max > 0 ? Math.round((total / max) * 100) : 0;
54
+ return { total, max, percent };
55
+ }
56
+ function renderEvalScreen(results, width) {
57
+ const lines = [];
58
+ lines.push({ type: 'header', text: '📊 Review Results' });
59
+ if (results.length === 0) {
60
+ lines.push({ type: 'empty', text: ' (no review results yet)' });
61
+ return lines;
62
+ }
63
+ for (const result of results) {
64
+ lines.push(...renderAgentResult(result, width));
65
+ lines.push({ type: 'empty', text: '' });
66
+ }
67
+ const agg = calculateAggregateScore(results);
68
+ const barWidth = Math.max(8, Math.min(20, width - 30));
69
+ lines.push({ type: 'header', text: '🏆 Aggregate Score' });
70
+ lines.push({
71
+ type: 'total-score',
72
+ text: ` ${renderScoreBar(agg.total, agg.max, barWidth)} (${agg.percent}%)`,
73
+ });
74
+ return lines;
75
+ }
76
+ //# sourceMappingURL=eval-screen.pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval-screen.pure.js","sourceRoot":"","sources":["../../../../src/tui/components/eval-screen.pure.ts"],"names":[],"mappings":";;AAgBA,wCAKC;AAKD,8CAyBC;AAoBD,0DAUC;AAKD,4CA2BC;AAjGD,SAAgB,cAAc,CAAC,KAAa,EAAE,QAAgB,EAAE,QAAgB;IAC9E,MAAM,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;AAC5E,CAAC;AAKD,SAAgB,iBAAiB,CAAC,MAAyB,EAAE,KAAa;IACxE,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IAEvD,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,KAAK,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE;KAC5C,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnF,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE;KAC9C,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmC;IAC9D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC;QACb,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,OAAO,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AACpF,CAAC;AAKD,SAAgB,uBAAuB,CAAC,OAAqC;IAK3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAKD,SAAgB,gBAAgB,CAC9B,OAAqC,EACrC,KAAa;IAEb,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAE1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAGD,MAAM,GAAG,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,KAAK,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI;KAC5E,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export { HeaderBar, type HeaderBarProps } from './HeaderBar';
2
2
  export { FlowMap, type FlowMapProps } from './FlowMap';
3
3
  export { renderFlowMap, renderFlowMapSimplified, renderFlowMapCompact, layoutStageColumns, layoutAgentNodes, } from './flow-map.pure';
4
+ export { AgentDiscussionPanel, type AgentDiscussionPanelProps } from './AgentDiscussionPanel';
5
+ export { renderDiscussionPanel, renderOpinionLine, renderCrossReviewLine, renderConsensusLine, renderStanceHistory, } from './agent-discussion-panel.pure';
4
6
  export { FocusedAgentPanel, type FocusedAgentPanelProps } from './FocusedAgentPanel';
5
7
  export { ChecklistPanel, type ChecklistPanelProps } from './ChecklistPanel';
6
8
  export { resolveChecklistTasks } from './checklist-panel.pure';
@@ -12,5 +14,19 @@ export { ActivityVisualizer, type ActivityVisualizerProps } from './ActivityVisu
12
14
  export { renderAgentTree, renderAgentStatusCard } from './activity-visualizer.pure';
13
15
  export { SessionTabBar } from './SessionTabBar';
14
16
  export type { SessionTabBarProps } from './SessionTabBar';
17
+ export { PlanModeScreen } from './PlanModeScreen';
18
+ export type { PlanModeScreenProps } from './PlanModeScreen';
19
+ export { ActModeScreen } from './ActModeScreen';
20
+ export type { ActModeScreenProps } from './ActModeScreen';
21
+ export { EvalModeScreen } from './EvalModeScreen';
22
+ export type { EvalModeScreenProps } from './EvalModeScreen';
23
+ export { ModeScreenRouter, resolveModeScreen } from './ModeScreenRouter';
24
+ export type { ModeScreenRouterProps } from './ModeScreenRouter';
25
+ export { renderPlanScreen, renderAgentSummonList, renderConsensusSummary, } from './plan-screen.pure';
26
+ export { renderActScreen, renderTddPhaseBar, renderTddSteps, renderOverallProgress, renderProgressBar, } from './act-screen.pure';
27
+ export { renderEvalScreen, renderAgentResult, renderScoreBar, calculateAggregateScore, } from './eval-screen.pure';
15
28
  export { formatElapsed, formatRelativeTime, spinnerFrame, pulseIcon, renderSparkline, computeThroughput, formatTimeWithSeconds, } from './live.pure';
16
29
  export type { ActivitySample } from './live.pure';
30
+ export { SessionDashboard } from './SessionDashboard';
31
+ export type { SessionDashboardProps } from './SessionDashboard';
32
+ export { computeToolDistribution, computeAgentTimeline, computeTddCycleStats, renderBar, renderToolDistribution, renderAgentTimeline, renderTddStats, renderFileChangeStats, renderModeTransitions, renderSessionDashboard, formatDurationMs, } from './session-dashboard.pure';
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatTimeWithSeconds = exports.computeThroughput = exports.renderSparkline = exports.pulseIcon = exports.spinnerFrame = exports.formatRelativeTime = exports.formatElapsed = exports.SessionTabBar = exports.renderAgentStatusCard = exports.renderAgentTree = exports.ActivityVisualizer = exports.computeGridLayout = exports.detectBottlenecks = exports.computeStageHealth = exports.StageHealthBar = exports.formatSectionDivider = exports.formatLogTailRelative = exports.formatLogTail = exports.formatObjective = exports.resolveChecklistTasks = exports.ChecklistPanel = exports.FocusedAgentPanel = exports.layoutAgentNodes = exports.layoutStageColumns = exports.renderFlowMapCompact = exports.renderFlowMapSimplified = exports.renderFlowMap = exports.FlowMap = exports.HeaderBar = void 0;
3
+ exports.renderSparkline = exports.pulseIcon = exports.spinnerFrame = exports.formatRelativeTime = exports.formatElapsed = exports.calculateAggregateScore = exports.renderScoreBar = exports.renderAgentResult = exports.renderEvalScreen = exports.renderProgressBar = exports.renderOverallProgress = exports.renderTddSteps = exports.renderTddPhaseBar = exports.renderActScreen = exports.renderConsensusSummary = exports.renderAgentSummonList = exports.renderPlanScreen = exports.resolveModeScreen = exports.ModeScreenRouter = exports.EvalModeScreen = exports.ActModeScreen = exports.PlanModeScreen = exports.SessionTabBar = exports.renderAgentStatusCard = exports.renderAgentTree = exports.ActivityVisualizer = exports.computeGridLayout = exports.detectBottlenecks = exports.computeStageHealth = exports.StageHealthBar = exports.formatSectionDivider = exports.formatLogTailRelative = exports.formatLogTail = exports.formatObjective = exports.resolveChecklistTasks = exports.ChecklistPanel = exports.FocusedAgentPanel = exports.renderStanceHistory = exports.renderConsensusLine = exports.renderCrossReviewLine = exports.renderOpinionLine = exports.renderDiscussionPanel = exports.AgentDiscussionPanel = exports.layoutAgentNodes = exports.layoutStageColumns = exports.renderFlowMapCompact = exports.renderFlowMapSimplified = exports.renderFlowMap = exports.FlowMap = exports.HeaderBar = void 0;
4
+ exports.formatDurationMs = exports.renderSessionDashboard = exports.renderModeTransitions = exports.renderFileChangeStats = exports.renderTddStats = exports.renderAgentTimeline = exports.renderToolDistribution = exports.renderBar = exports.computeTddCycleStats = exports.computeAgentTimeline = exports.computeToolDistribution = exports.SessionDashboard = exports.formatTimeWithSeconds = exports.computeThroughput = void 0;
4
5
  var HeaderBar_1 = require("./HeaderBar");
5
6
  Object.defineProperty(exports, "HeaderBar", { enumerable: true, get: function () { return HeaderBar_1.HeaderBar; } });
6
7
  var FlowMap_1 = require("./FlowMap");
@@ -11,6 +12,14 @@ Object.defineProperty(exports, "renderFlowMapSimplified", { enumerable: true, ge
11
12
  Object.defineProperty(exports, "renderFlowMapCompact", { enumerable: true, get: function () { return flow_map_pure_1.renderFlowMapCompact; } });
12
13
  Object.defineProperty(exports, "layoutStageColumns", { enumerable: true, get: function () { return flow_map_pure_1.layoutStageColumns; } });
13
14
  Object.defineProperty(exports, "layoutAgentNodes", { enumerable: true, get: function () { return flow_map_pure_1.layoutAgentNodes; } });
15
+ var AgentDiscussionPanel_1 = require("./AgentDiscussionPanel");
16
+ Object.defineProperty(exports, "AgentDiscussionPanel", { enumerable: true, get: function () { return AgentDiscussionPanel_1.AgentDiscussionPanel; } });
17
+ var agent_discussion_panel_pure_1 = require("./agent-discussion-panel.pure");
18
+ Object.defineProperty(exports, "renderDiscussionPanel", { enumerable: true, get: function () { return agent_discussion_panel_pure_1.renderDiscussionPanel; } });
19
+ Object.defineProperty(exports, "renderOpinionLine", { enumerable: true, get: function () { return agent_discussion_panel_pure_1.renderOpinionLine; } });
20
+ Object.defineProperty(exports, "renderCrossReviewLine", { enumerable: true, get: function () { return agent_discussion_panel_pure_1.renderCrossReviewLine; } });
21
+ Object.defineProperty(exports, "renderConsensusLine", { enumerable: true, get: function () { return agent_discussion_panel_pure_1.renderConsensusLine; } });
22
+ Object.defineProperty(exports, "renderStanceHistory", { enumerable: true, get: function () { return agent_discussion_panel_pure_1.renderStanceHistory; } });
14
23
  var FocusedAgentPanel_1 = require("./FocusedAgentPanel");
15
24
  Object.defineProperty(exports, "FocusedAgentPanel", { enumerable: true, get: function () { return FocusedAgentPanel_1.FocusedAgentPanel; } });
16
25
  var ChecklistPanel_1 = require("./ChecklistPanel");
@@ -36,6 +45,30 @@ Object.defineProperty(exports, "renderAgentTree", { enumerable: true, get: funct
36
45
  Object.defineProperty(exports, "renderAgentStatusCard", { enumerable: true, get: function () { return activity_visualizer_pure_1.renderAgentStatusCard; } });
37
46
  var SessionTabBar_1 = require("./SessionTabBar");
38
47
  Object.defineProperty(exports, "SessionTabBar", { enumerable: true, get: function () { return SessionTabBar_1.SessionTabBar; } });
48
+ var PlanModeScreen_1 = require("./PlanModeScreen");
49
+ Object.defineProperty(exports, "PlanModeScreen", { enumerable: true, get: function () { return PlanModeScreen_1.PlanModeScreen; } });
50
+ var ActModeScreen_1 = require("./ActModeScreen");
51
+ Object.defineProperty(exports, "ActModeScreen", { enumerable: true, get: function () { return ActModeScreen_1.ActModeScreen; } });
52
+ var EvalModeScreen_1 = require("./EvalModeScreen");
53
+ Object.defineProperty(exports, "EvalModeScreen", { enumerable: true, get: function () { return EvalModeScreen_1.EvalModeScreen; } });
54
+ var ModeScreenRouter_1 = require("./ModeScreenRouter");
55
+ Object.defineProperty(exports, "ModeScreenRouter", { enumerable: true, get: function () { return ModeScreenRouter_1.ModeScreenRouter; } });
56
+ Object.defineProperty(exports, "resolveModeScreen", { enumerable: true, get: function () { return ModeScreenRouter_1.resolveModeScreen; } });
57
+ var plan_screen_pure_1 = require("./plan-screen.pure");
58
+ Object.defineProperty(exports, "renderPlanScreen", { enumerable: true, get: function () { return plan_screen_pure_1.renderPlanScreen; } });
59
+ Object.defineProperty(exports, "renderAgentSummonList", { enumerable: true, get: function () { return plan_screen_pure_1.renderAgentSummonList; } });
60
+ Object.defineProperty(exports, "renderConsensusSummary", { enumerable: true, get: function () { return plan_screen_pure_1.renderConsensusSummary; } });
61
+ var act_screen_pure_1 = require("./act-screen.pure");
62
+ Object.defineProperty(exports, "renderActScreen", { enumerable: true, get: function () { return act_screen_pure_1.renderActScreen; } });
63
+ Object.defineProperty(exports, "renderTddPhaseBar", { enumerable: true, get: function () { return act_screen_pure_1.renderTddPhaseBar; } });
64
+ Object.defineProperty(exports, "renderTddSteps", { enumerable: true, get: function () { return act_screen_pure_1.renderTddSteps; } });
65
+ Object.defineProperty(exports, "renderOverallProgress", { enumerable: true, get: function () { return act_screen_pure_1.renderOverallProgress; } });
66
+ Object.defineProperty(exports, "renderProgressBar", { enumerable: true, get: function () { return act_screen_pure_1.renderProgressBar; } });
67
+ var eval_screen_pure_1 = require("./eval-screen.pure");
68
+ Object.defineProperty(exports, "renderEvalScreen", { enumerable: true, get: function () { return eval_screen_pure_1.renderEvalScreen; } });
69
+ Object.defineProperty(exports, "renderAgentResult", { enumerable: true, get: function () { return eval_screen_pure_1.renderAgentResult; } });
70
+ Object.defineProperty(exports, "renderScoreBar", { enumerable: true, get: function () { return eval_screen_pure_1.renderScoreBar; } });
71
+ Object.defineProperty(exports, "calculateAggregateScore", { enumerable: true, get: function () { return eval_screen_pure_1.calculateAggregateScore; } });
39
72
  var live_pure_1 = require("./live.pure");
40
73
  Object.defineProperty(exports, "formatElapsed", { enumerable: true, get: function () { return live_pure_1.formatElapsed; } });
41
74
  Object.defineProperty(exports, "formatRelativeTime", { enumerable: true, get: function () { return live_pure_1.formatRelativeTime; } });
@@ -44,4 +77,18 @@ Object.defineProperty(exports, "pulseIcon", { enumerable: true, get: function ()
44
77
  Object.defineProperty(exports, "renderSparkline", { enumerable: true, get: function () { return live_pure_1.renderSparkline; } });
45
78
  Object.defineProperty(exports, "computeThroughput", { enumerable: true, get: function () { return live_pure_1.computeThroughput; } });
46
79
  Object.defineProperty(exports, "formatTimeWithSeconds", { enumerable: true, get: function () { return live_pure_1.formatTimeWithSeconds; } });
80
+ var SessionDashboard_1 = require("./SessionDashboard");
81
+ Object.defineProperty(exports, "SessionDashboard", { enumerable: true, get: function () { return SessionDashboard_1.SessionDashboard; } });
82
+ var session_dashboard_pure_1 = require("./session-dashboard.pure");
83
+ Object.defineProperty(exports, "computeToolDistribution", { enumerable: true, get: function () { return session_dashboard_pure_1.computeToolDistribution; } });
84
+ Object.defineProperty(exports, "computeAgentTimeline", { enumerable: true, get: function () { return session_dashboard_pure_1.computeAgentTimeline; } });
85
+ Object.defineProperty(exports, "computeTddCycleStats", { enumerable: true, get: function () { return session_dashboard_pure_1.computeTddCycleStats; } });
86
+ Object.defineProperty(exports, "renderBar", { enumerable: true, get: function () { return session_dashboard_pure_1.renderBar; } });
87
+ Object.defineProperty(exports, "renderToolDistribution", { enumerable: true, get: function () { return session_dashboard_pure_1.renderToolDistribution; } });
88
+ Object.defineProperty(exports, "renderAgentTimeline", { enumerable: true, get: function () { return session_dashboard_pure_1.renderAgentTimeline; } });
89
+ Object.defineProperty(exports, "renderTddStats", { enumerable: true, get: function () { return session_dashboard_pure_1.renderTddStats; } });
90
+ Object.defineProperty(exports, "renderFileChangeStats", { enumerable: true, get: function () { return session_dashboard_pure_1.renderFileChangeStats; } });
91
+ Object.defineProperty(exports, "renderModeTransitions", { enumerable: true, get: function () { return session_dashboard_pure_1.renderModeTransitions; } });
92
+ Object.defineProperty(exports, "renderSessionDashboard", { enumerable: true, get: function () { return session_dashboard_pure_1.renderSessionDashboard; } });
93
+ Object.defineProperty(exports, "formatDurationMs", { enumerable: true, get: function () { return session_dashboard_pure_1.formatDurationMs; } });
47
94
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tui/components/index.ts"],"names":[],"mappings":";;;AAAA,yCAA6D;AAApD,sGAAA,SAAS,OAAA;AAClB,qCAAuD;AAA9C,kGAAA,OAAO,OAAA;AAChB,iDAMyB;AALvB,8GAAA,aAAa,OAAA;AACb,wHAAA,uBAAuB,OAAA;AACvB,qHAAA,oBAAoB,OAAA;AACpB,mHAAA,kBAAkB,OAAA;AAClB,iHAAA,gBAAgB,OAAA;AAElB,yDAAqF;AAA5E,sHAAA,iBAAiB,OAAA;AAC1B,mDAA4E;AAAnE,gHAAA,cAAc,OAAA;AACvB,+DAA+D;AAAtD,6HAAA,qBAAqB,OAAA;AAC9B,2DAK8B;AAJ5B,qHAAA,eAAe,OAAA;AACf,mHAAA,aAAa,OAAA;AACb,2HAAA,qBAAqB,OAAA;AACrB,0HAAA,oBAAoB,OAAA;AAEtB,mDAA4E;AAAnE,gHAAA,cAAc,OAAA;AACvB,yDAA4E;AAAnE,uHAAA,kBAAkB,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AAC9C,uDAAuD;AAA9C,qHAAA,iBAAiB,OAAA;AAC1B,2DAAwF;AAA/E,wHAAA,kBAAkB,OAAA;AAC3B,uEAAoF;AAA3E,2HAAA,eAAe,OAAA;AAAE,iIAAA,qBAAqB,OAAA;AAC/C,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,yCAQqB;AAPnB,0GAAA,aAAa,OAAA;AACb,+GAAA,kBAAkB,OAAA;AAClB,yGAAA,YAAY,OAAA;AACZ,sGAAA,SAAS,OAAA;AACT,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,kHAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tui/components/index.ts"],"names":[],"mappings":";;;;AAAA,yCAA6D;AAApD,sGAAA,SAAS,OAAA;AAClB,qCAAuD;AAA9C,kGAAA,OAAO,OAAA;AAChB,iDAMyB;AALvB,8GAAA,aAAa,OAAA;AACb,wHAAA,uBAAuB,OAAA;AACvB,qHAAA,oBAAoB,OAAA;AACpB,mHAAA,kBAAkB,OAAA;AAClB,iHAAA,gBAAgB,OAAA;AAElB,+DAA8F;AAArF,4HAAA,oBAAoB,OAAA;AAC7B,6EAMuC;AALrC,oIAAA,qBAAqB,OAAA;AACrB,gIAAA,iBAAiB,OAAA;AACjB,oIAAA,qBAAqB,OAAA;AACrB,kIAAA,mBAAmB,OAAA;AACnB,kIAAA,mBAAmB,OAAA;AAErB,yDAAqF;AAA5E,sHAAA,iBAAiB,OAAA;AAC1B,mDAA4E;AAAnE,gHAAA,cAAc,OAAA;AACvB,+DAA+D;AAAtD,6HAAA,qBAAqB,OAAA;AAC9B,2DAK8B;AAJ5B,qHAAA,eAAe,OAAA;AACf,mHAAA,aAAa,OAAA;AACb,2HAAA,qBAAqB,OAAA;AACrB,0HAAA,oBAAoB,OAAA;AAEtB,mDAA4E;AAAnE,gHAAA,cAAc,OAAA;AACvB,yDAA4E;AAAnE,uHAAA,kBAAkB,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AAC9C,uDAAuD;AAA9C,qHAAA,iBAAiB,OAAA;AAC1B,2DAAwF;AAA/E,wHAAA,kBAAkB,OAAA;AAC3B,uEAAoF;AAA3E,2HAAA,eAAe,OAAA;AAAE,iIAAA,qBAAqB,OAAA;AAC/C,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,uDAAyE;AAAhE,oHAAA,gBAAgB,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AAE5C,uDAI4B;AAH1B,oHAAA,gBAAgB,OAAA;AAChB,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AAExB,qDAM2B;AALzB,kHAAA,eAAe,OAAA;AACf,oHAAA,iBAAiB,OAAA;AACjB,iHAAA,cAAc,OAAA;AACd,wHAAA,qBAAqB,OAAA;AACrB,oHAAA,iBAAiB,OAAA;AAEnB,uDAK4B;AAJ1B,oHAAA,gBAAgB,OAAA;AAChB,qHAAA,iBAAiB,OAAA;AACjB,kHAAA,cAAc,OAAA;AACd,2HAAA,uBAAuB,OAAA;AAEzB,yCAQqB;AAPnB,0GAAA,aAAa,OAAA;AACb,+GAAA,kBAAkB,OAAA;AAClB,yGAAA,YAAY,OAAA;AACZ,sGAAA,SAAS,OAAA;AACT,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,kHAAA,qBAAqB,OAAA;AAGvB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,mEAYkC;AAXhC,iIAAA,uBAAuB,OAAA;AACvB,8HAAA,oBAAoB,OAAA;AACpB,8HAAA,oBAAoB,OAAA;AACpB,mHAAA,SAAS,OAAA;AACT,gIAAA,sBAAsB,OAAA;AACtB,6HAAA,mBAAmB,OAAA;AACnB,wHAAA,cAAc,OAAA;AACd,+HAAA,qBAAqB,OAAA;AACrB,+HAAA,qBAAqB,OAAA;AACrB,gIAAA,sBAAsB,OAAA;AACtB,0HAAA,gBAAgB,OAAA"}
@@ -0,0 +1,9 @@
1
+ import type { DashboardNode } from '../dashboard-types';
2
+ import type { DiscussionRound } from '../../collaboration/types';
3
+ export interface PlanScreenLine {
4
+ type: 'header' | 'agent' | 'discussion' | 'consensus' | 'empty';
5
+ text: string;
6
+ }
7
+ export declare function renderAgentSummonList(agents: ReadonlyMap<string, DashboardNode>, width: number): PlanScreenLine[];
8
+ export declare function renderConsensusSummary(rounds: readonly DiscussionRound[]): PlanScreenLine[];
9
+ export declare function renderPlanScreen(agents: ReadonlyMap<string, DashboardNode>, rounds: readonly DiscussionRound[], width: number): PlanScreenLine[];
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderAgentSummonList = renderAgentSummonList;
4
+ exports.renderConsensusSummary = renderConsensusSummary;
5
+ exports.renderPlanScreen = renderPlanScreen;
6
+ const types_1 = require("../../collaboration/types");
7
+ function renderAgentSummonList(agents, width) {
8
+ const lines = [];
9
+ lines.push({ type: 'header', text: '📋 Summoned Agents' });
10
+ if (agents.size === 0) {
11
+ lines.push({ type: 'empty', text: ' (no agents summoned)' });
12
+ return lines;
13
+ }
14
+ for (const agent of agents.values()) {
15
+ const statusIcon = getAgentStatusIcon(agent.status);
16
+ const primaryTag = agent.isPrimary ? ' ★' : '';
17
+ const text = ` ${statusIcon} ${agent.name}${primaryTag} [${agent.status}]`;
18
+ lines.push({ type: 'agent', text: text.slice(0, width) });
19
+ }
20
+ return lines;
21
+ }
22
+ function getAgentStatusIcon(status) {
23
+ switch (status) {
24
+ case 'running':
25
+ return '🔄';
26
+ case 'done':
27
+ return '✅';
28
+ case 'error':
29
+ return '❌';
30
+ case 'idle':
31
+ return '⏳';
32
+ case 'blocked':
33
+ return '🚫';
34
+ }
35
+ }
36
+ function renderConsensusSummary(rounds) {
37
+ if (rounds.length === 0) {
38
+ return [{ type: 'empty', text: ' (no discussion yet)' }];
39
+ }
40
+ const lastRound = rounds[rounds.length - 1];
41
+ const consensus = (0, types_1.calculateConsensus)(lastRound.opinions);
42
+ const lines = [];
43
+ lines.push({ type: 'header', text: `🗳️ Consensus (Round ${lastRound.roundNumber})` });
44
+ lines.push({
45
+ type: 'consensus',
46
+ text: ` ${types_1.STANCE_ICONS.approve} ${consensus.approveCount} ${types_1.STANCE_ICONS.concern} ${consensus.concernCount} ${types_1.STANCE_ICONS.reject} ${consensus.rejectCount}`,
47
+ });
48
+ lines.push({
49
+ type: 'consensus',
50
+ text: consensus.reached ? ' ✅ Consensus reached' : ' ⏳ Consensus not reached',
51
+ });
52
+ return lines;
53
+ }
54
+ function renderPlanScreen(agents, rounds, width) {
55
+ const lines = [];
56
+ lines.push(...renderAgentSummonList(agents, width));
57
+ lines.push({ type: 'empty', text: '' });
58
+ lines.push(...renderConsensusSummary(rounds));
59
+ return lines;
60
+ }
61
+ //# sourceMappingURL=plan-screen.pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-screen.pure.js","sourceRoot":"","sources":["../../../../src/tui/components/plan-screen.pure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { ToolCallRecord, TddStep, ModeTransition, FileChangeStats } from '../dashboard-types';
2
+ import type { DashboardNode } from '../dashboard-types';
3
+ import type { LayoutMode } from '../dashboard-types';
4
+ export interface ToolDistributionEntry {
5
+ name: string;
6
+ count: number;
7
+ pct: number;
8
+ }
9
+ export declare function computeToolDistribution(toolCalls: ToolCallRecord[]): ToolDistributionEntry[];
10
+ export interface AgentTimelineEntry {
11
+ name: string;
12
+ startedAt: number;
13
+ durationMs: number;
14
+ status: string;
15
+ }
16
+ export declare function computeAgentTimeline(agents: Map<string, DashboardNode>, now: number): AgentTimelineEntry[];
17
+ export interface TddCycleStats {
18
+ red: number;
19
+ green: number;
20
+ refactor: number;
21
+ cycles: number;
22
+ }
23
+ export declare function computeTddCycleStats(tddSteps: TddStep[]): TddCycleStats;
24
+ export declare function renderBar(pct: number, maxWidth: number): string;
25
+ export declare function renderToolDistribution(entries: ToolDistributionEntry[], width: number, maxItems?: number): string[];
26
+ export declare function formatDurationMs(ms: number): string;
27
+ export declare function renderAgentTimeline(entries: AgentTimelineEntry[], _width: number): string[];
28
+ export declare function renderTddStats(stats: TddCycleStats): string[];
29
+ export declare function renderFileChangeStats(stats: FileChangeStats): string;
30
+ export declare function renderModeTransitions(transitions: ModeTransition[], sessionStartedAt: number): string[];
31
+ export declare function renderSessionDashboard(params: {
32
+ toolDistribution: ToolDistributionEntry[];
33
+ agentTimeline: AgentTimelineEntry[];
34
+ tddStats: TddCycleStats;
35
+ fileChanges: FileChangeStats;
36
+ modeTransitions: ModeTransition[];
37
+ sessionStartedAt: number;
38
+ sessionDuration: string;
39
+ totalToolCalls: number;
40
+ totalAgents: number;
41
+ width: number;
42
+ layoutMode: LayoutMode;
43
+ }): string[];
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeToolDistribution = computeToolDistribution;
4
+ exports.computeAgentTimeline = computeAgentTimeline;
5
+ exports.computeTddCycleStats = computeTddCycleStats;
6
+ exports.renderBar = renderBar;
7
+ exports.renderToolDistribution = renderToolDistribution;
8
+ exports.formatDurationMs = formatDurationMs;
9
+ exports.renderAgentTimeline = renderAgentTimeline;
10
+ exports.renderTddStats = renderTddStats;
11
+ exports.renderFileChangeStats = renderFileChangeStats;
12
+ exports.renderModeTransitions = renderModeTransitions;
13
+ exports.renderSessionDashboard = renderSessionDashboard;
14
+ function computeToolDistribution(toolCalls) {
15
+ if (toolCalls.length === 0)
16
+ return [];
17
+ const counts = new Map();
18
+ for (const tc of toolCalls) {
19
+ counts.set(tc.toolName, (counts.get(tc.toolName) ?? 0) + 1);
20
+ }
21
+ const total = toolCalls.length;
22
+ return [...counts.entries()]
23
+ .map(([name, count]) => ({ name, count, pct: Math.round((count / total) * 100) }))
24
+ .sort((a, b) => b.count - a.count);
25
+ }
26
+ function computeAgentTimeline(agents, now) {
27
+ const entries = [];
28
+ for (const agent of agents.values()) {
29
+ if (agent.startedAt === undefined)
30
+ continue;
31
+ const end = agent.completedAt ?? now;
32
+ entries.push({
33
+ name: agent.name,
34
+ startedAt: agent.startedAt,
35
+ durationMs: end - agent.startedAt,
36
+ status: agent.status,
37
+ });
38
+ }
39
+ return entries.sort((a, b) => a.startedAt - b.startedAt);
40
+ }
41
+ function computeTddCycleStats(tddSteps) {
42
+ let red = 0;
43
+ let green = 0;
44
+ let refactor = 0;
45
+ for (const step of tddSteps) {
46
+ switch (step.phase) {
47
+ case 'RED':
48
+ red++;
49
+ break;
50
+ case 'GREEN':
51
+ green++;
52
+ break;
53
+ case 'REFACTOR':
54
+ refactor++;
55
+ break;
56
+ }
57
+ }
58
+ const cycles = Math.min(red, green, refactor);
59
+ return { red, green, refactor, cycles };
60
+ }
61
+ const BAR_CHARS = { filled: '█', empty: '░' };
62
+ function renderBar(pct, maxWidth) {
63
+ const filled = Math.round((pct / 100) * maxWidth);
64
+ const empty = maxWidth - filled;
65
+ return BAR_CHARS.filled.repeat(filled) + BAR_CHARS.empty.repeat(empty);
66
+ }
67
+ function renderToolDistribution(entries, width, maxItems = 8) {
68
+ if (entries.length === 0)
69
+ return [' (no tool calls)'];
70
+ const visible = entries.slice(0, maxItems);
71
+ const nameWidth = Math.min(14, Math.max(...visible.map(e => e.name.length)));
72
+ const countWidth = String(visible[0].count).length;
73
+ const barWidth = Math.max(6, width - nameWidth - countWidth - 12);
74
+ return visible.map(e => {
75
+ const name = e.name.padEnd(nameWidth).slice(0, nameWidth);
76
+ const bar = renderBar(e.pct, barWidth);
77
+ const count = String(e.count).padStart(countWidth);
78
+ return ` ${name} ${bar} ${count} (${String(e.pct).padStart(2)}%)`;
79
+ });
80
+ }
81
+ function formatDurationMs(ms) {
82
+ const totalSec = Math.max(0, Math.floor(ms / 1000));
83
+ const min = Math.floor(totalSec / 60);
84
+ const sec = totalSec % 60;
85
+ if (min > 0)
86
+ return `${min}m ${sec}s`;
87
+ return `${sec}s`;
88
+ }
89
+ function renderAgentTimeline(entries, _width) {
90
+ if (entries.length === 0)
91
+ return [' (no agents)'];
92
+ const nameWidth = Math.min(20, Math.max(...entries.map(e => e.name.length)));
93
+ const statusIcons = {
94
+ running: '●',
95
+ done: '✓',
96
+ error: '!',
97
+ idle: '○',
98
+ blocked: '⏸',
99
+ };
100
+ return entries.slice(0, 10).map(e => {
101
+ const icon = statusIcons[e.status] ?? '○';
102
+ const name = e.name.padEnd(nameWidth).slice(0, nameWidth);
103
+ const dur = formatDurationMs(e.durationMs);
104
+ return ` ${icon} ${name} ${dur}`;
105
+ });
106
+ }
107
+ function renderTddStats(stats) {
108
+ if (stats.red === 0 && stats.green === 0 && stats.refactor === 0) {
109
+ return [' (no TDD activity)'];
110
+ }
111
+ const total = stats.red + stats.green + stats.refactor;
112
+ const redPct = total > 0 ? Math.round((stats.red / total) * 100) : 0;
113
+ const greenPct = total > 0 ? Math.round((stats.green / total) * 100) : 0;
114
+ const refactorPct = total > 0 ? Math.round((stats.refactor / total) * 100) : 0;
115
+ return [
116
+ ` Cycles: ${stats.cycles} complete`,
117
+ ` RED:${String(stats.red).padStart(3)} (${String(redPct).padStart(2)}%) GREEN:${String(stats.green).padStart(3)} (${String(greenPct).padStart(2)}%) REFACTOR:${String(stats.refactor).padStart(3)} (${String(refactorPct).padStart(2)}%)`,
118
+ ];
119
+ }
120
+ function renderFileChangeStats(stats) {
121
+ const parts = [];
122
+ if (stats.created > 0)
123
+ parts.push(`+${stats.created} created`);
124
+ if (stats.modified > 0)
125
+ parts.push(`~${stats.modified} modified`);
126
+ if (stats.deleted > 0)
127
+ parts.push(`-${stats.deleted} deleted`);
128
+ if (parts.length === 0)
129
+ return ' (no file changes)';
130
+ return ` ${parts.join(' ')}`;
131
+ }
132
+ function renderModeTransitions(transitions, sessionStartedAt) {
133
+ if (transitions.length === 0)
134
+ return [' (no mode changes)'];
135
+ return transitions.slice(-8).map(t => {
136
+ const elapsed = formatDurationMs(t.timestamp - sessionStartedAt);
137
+ const from = t.from ?? 'START';
138
+ return ` ${elapsed.padStart(7)} ${from} → ${t.to}`;
139
+ });
140
+ }
141
+ function renderSessionDashboard(params) {
142
+ const { toolDistribution, agentTimeline, tddStats, fileChanges, modeTransitions, sessionDuration, sessionStartedAt, totalToolCalls, totalAgents, width, layoutMode, } = params;
143
+ const lines = [];
144
+ const divider = (title) => {
145
+ const pad = Math.max(0, width - title.length - 6);
146
+ return `── ${title} ${'─'.repeat(pad)}`;
147
+ };
148
+ lines.push(divider(`Session Analytics (${sessionDuration})`));
149
+ lines.push(` Tools: ${totalToolCalls} Agents: ${totalAgents}`);
150
+ lines.push('');
151
+ if (layoutMode === 'narrow') {
152
+ lines.push(divider('Tools'));
153
+ lines.push(...renderToolDistribution(toolDistribution, width - 4, 5));
154
+ lines.push('');
155
+ lines.push(divider('TDD'));
156
+ lines.push(...renderTddStats(tddStats));
157
+ lines.push('');
158
+ lines.push(divider('Files'));
159
+ lines.push(renderFileChangeStats(fileChanges));
160
+ lines.push('');
161
+ lines.push(divider('Modes'));
162
+ lines.push(...renderModeTransitions(modeTransitions, sessionStartedAt));
163
+ }
164
+ else {
165
+ lines.push(divider('Tool Distribution'));
166
+ lines.push(...renderToolDistribution(toolDistribution, Math.floor(width / 2), 8));
167
+ lines.push('');
168
+ lines.push(divider('Agent Timeline'));
169
+ lines.push(...renderAgentTimeline(agentTimeline, width));
170
+ lines.push('');
171
+ lines.push(divider('TDD Cycles'));
172
+ lines.push(...renderTddStats(tddStats));
173
+ lines.push('');
174
+ lines.push(divider('File Changes'));
175
+ lines.push(renderFileChangeStats(fileChanges));
176
+ lines.push('');
177
+ lines.push(divider('Mode Transitions'));
178
+ lines.push(...renderModeTransitions(modeTransitions, sessionStartedAt));
179
+ }
180
+ return lines;
181
+ }
182
+ //# sourceMappingURL=session-dashboard.pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-dashboard.pure.js","sourceRoot":"","sources":["../../../../src/tui/components/session-dashboard.pure.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const use_terminal_size_1 = require("./hooks/use-terminal-size");
7
7
  const use_tick_1 = require("./hooks/use-tick");
8
8
  const use_dashboard_state_1 = require("./hooks/use-dashboard-state");
9
9
  const HeaderBar_1 = require("./components/HeaderBar");
10
- const FlowMap_1 = require("./components/FlowMap");
10
+ const ModeScreenRouter_1 = require("./components/ModeScreenRouter");
11
11
  const FocusedAgentPanel_1 = require("./components/FocusedAgentPanel");
12
12
  const ChecklistPanel_1 = require("./components/ChecklistPanel");
13
13
  const StageHealthBar_1 = require("./components/StageHealthBar");
@@ -31,9 +31,9 @@ function DashboardApp({ eventBus, externalState, workspace: workspaceProp, }) {
31
31
  layoutMode === 'narrow' ? (react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
32
32
  grid.checklistPanel.height > 0 && (react_1.default.createElement(ChecklistPanel_1.ChecklistPanel, { tasks: state.tasks, contextDecisions: state.contextDecisions, contextNotes: state.contextNotes, width: grid.checklistPanel.width, height: grid.checklistPanel.height })),
33
33
  react_1.default.createElement(FocusedAgentPanel_1.FocusedAgentPanel, { agent: focusedAgent, objectives: state.objectives, activeSkills: state.activeSkills, eventLog: state.eventLog, contextDecisions: state.contextDecisions, contextNotes: state.contextNotes, width: grid.focusedAgent.width, height: grid.focusedAgent.height, tick: tick, now: now }),
34
- react_1.default.createElement(FlowMap_1.FlowMap, { agents: state.agents, edges: state.edges, layoutMode: layoutMode, width: grid.flowMap.width, height: grid.flowMap.height, activeStage: state.currentMode, tick: tick, now: now }))) : (react_1.default.createElement(ink_1.Box, { flexDirection: "row", width: grid.total.width, height: grid.checklistPanel.height + grid.focusedAgent.height },
34
+ react_1.default.createElement(ModeScreenRouter_1.ModeScreenRouter, { state: state, layoutMode: layoutMode, width: grid.flowMap.width, height: grid.flowMap.height, tick: tick, now: now }))) : (react_1.default.createElement(ink_1.Box, { flexDirection: "row", width: grid.total.width, height: grid.checklistPanel.height + grid.focusedAgent.height },
35
35
  react_1.default.createElement(ink_1.Box, { flexDirection: "column", width: grid.flowMap.width },
36
- react_1.default.createElement(FlowMap_1.FlowMap, { agents: state.agents, edges: state.edges, layoutMode: layoutMode, width: grid.flowMap.width, height: grid.flowMap.height, activeStage: state.currentMode, tick: tick, now: now }),
36
+ react_1.default.createElement(ModeScreenRouter_1.ModeScreenRouter, { state: state, layoutMode: layoutMode, width: grid.flowMap.width, height: grid.flowMap.height, tick: tick, now: now }),
37
37
  react_1.default.createElement(ActivityVisualizer_1.ActivityVisualizer, { currentMode: state.currentMode, focusedAgent: focusedAgent, agents: state.agents, edges: state.edges, activeSkills: state.activeSkills, objectives: state.objectives, width: grid.monitorPanel.width, height: grid.monitorPanel.height })),
38
38
  react_1.default.createElement(ink_1.Box, { flexDirection: "column", width: grid.checklistPanel.width },
39
39
  react_1.default.createElement(ChecklistPanel_1.ChecklistPanel, { tasks: state.tasks, contextDecisions: state.contextDecisions, contextNotes: state.contextNotes, width: grid.checklistPanel.width, height: grid.checklistPanel.height }),
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-app.js","sourceRoot":"","sources":["../../../src/tui/dashboard-app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-app.js","sourceRoot":"","sources":["../../../src/tui/dashboard-app.tsx"],"names":[],"mappings":"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"}