maestro-flow 0.3.12 → 0.3.13

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 (235) hide show
  1. package/.claude/CLAUDE.md +7 -0
  2. package/.claude/agents/workflow-analyzer.md +0 -1
  3. package/.claude/agents/workflow-collab-planner.md +0 -1
  4. package/.claude/agents/workflow-debugger.md +0 -1
  5. package/.claude/agents/workflow-integration-checker.md +2 -2
  6. package/.claude/agents/workflow-nyquist-auditor.md +0 -1
  7. package/.claude/agents/workflow-phase-researcher.md +2 -2
  8. package/.claude/agents/workflow-plan-checker.md +1 -1
  9. package/.claude/agents/workflow-planner.md +1 -2
  10. package/.claude/agents/workflow-roadmapper.md +1 -1
  11. package/.claude/agents/workflow-verifier.md +0 -1
  12. package/.claude/commands/learn-retro.md +2 -2
  13. package/.claude/commands/learn-second-opinion.md +2 -2
  14. package/.claude/commands/maestro-analyze.md +10 -2
  15. package/.claude/commands/maestro-brainstorm.md +1 -1
  16. package/.claude/commands/maestro-execute.md +21 -4
  17. package/.claude/commands/maestro-milestone-complete.md +14 -0
  18. package/.claude/commands/maestro-plan.md +12 -6
  19. package/.claude/commands/maestro-roadmap.md +1 -1
  20. package/.claude/commands/maestro-ui-design.md +7 -7
  21. package/.claude/commands/maestro-update.md +176 -0
  22. package/.claude/commands/maestro-verify.md +18 -3
  23. package/.claude/commands/manage-codebase-rebuild.md +0 -1
  24. package/.claude/commands/manage-harvest.md +1 -1
  25. package/.claude/commands/manage-learn.md +5 -5
  26. package/.claude/commands/manage-memory-capture.md +4 -4
  27. package/.claude/commands/manage-memory.md +1 -1
  28. package/.claude/commands/manage-wiki.md +62 -0
  29. package/.claude/commands/quality-business-test.md +2 -2
  30. package/.claude/commands/quality-debug.md +53 -7
  31. package/.claude/commands/quality-retrospective.md +5 -5
  32. package/.claude/commands/quality-review.md +39 -7
  33. package/.claude/commands/quality-sync.md +1 -1
  34. package/.claude/commands/quality-test-gen.md +1 -1
  35. package/.claude/commands/quality-test.md +45 -12
  36. package/.claude/commands/spec-remove.md +51 -0
  37. package/.claude/commands/spec-setup.md +1 -3
  38. package/.claude/commands/wiki-connect.md +9 -5
  39. package/.claude/commands/wiki-digest.md +6 -3
  40. package/.codex/skills/maestro/SKILL.md +2 -2
  41. package/.codex/skills/maestro-analyze/SKILL.md +4 -4
  42. package/.codex/skills/maestro-brainstorm/SKILL.md +4 -4
  43. package/.codex/skills/maestro-coordinate/SKILL.md +2 -2
  44. package/.codex/skills/maestro-execute/SKILL.md +15 -5
  45. package/.codex/skills/maestro-init/SKILL.md +1 -1
  46. package/.codex/skills/maestro-milestone-complete/SKILL.md +18 -1
  47. package/.codex/skills/maestro-plan/SKILL.md +6 -6
  48. package/.codex/skills/maestro-roadmap/SKILL.md +3 -4
  49. package/.codex/skills/maestro-spec-generate/SKILL.md +2 -2
  50. package/.codex/skills/maestro-ui-design/SKILL.md +6 -6
  51. package/.codex/skills/maestro-verify/SKILL.md +20 -11
  52. package/.codex/skills/manage-codebase-rebuild/SKILL.md +4 -4
  53. package/.codex/skills/manage-harvest/SKILL.md +10 -1
  54. package/.codex/skills/manage-issue-discover/SKILL.md +3 -3
  55. package/.codex/skills/manage-learn/SKILL.md +3 -2
  56. package/.codex/skills/manage-memory/SKILL.md +3 -3
  57. package/.codex/skills/manage-memory-capture/SKILL.md +8 -14
  58. package/.codex/skills/manage-status/SKILL.md +9 -4
  59. package/.codex/skills/manage-wiki/SKILL.md +55 -0
  60. package/.codex/skills/quality-business-test/SKILL.md +8 -6
  61. package/.codex/skills/quality-debug/SKILL.md +22 -9
  62. package/.codex/skills/quality-integration-test/SKILL.md +11 -7
  63. package/.codex/skills/quality-retrospective/SKILL.md +45 -26
  64. package/.codex/skills/quality-review/SKILL.md +10 -7
  65. package/.codex/skills/quality-test/SKILL.md +9 -4
  66. package/.codex/skills/quality-test-gen/SKILL.md +13 -9
  67. package/.codex/skills/spec-add/SKILL.md +11 -3
  68. package/.codex/skills/spec-load/SKILL.md +7 -0
  69. package/.codex/skills/spec-map/SKILL.md +2 -2
  70. package/.codex/skills/spec-remove/SKILL.md +101 -0
  71. package/.codex/skills/spec-setup/SKILL.md +4 -8
  72. package/.codex/skills/wiki-connect/SKILL.md +6 -5
  73. package/.codex/skills/wiki-digest/SKILL.md +2 -2
  74. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +9 -0
  75. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +109 -9
  76. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  77. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js +49 -0
  78. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js.map +1 -1
  79. package/dashboard/dist-server/dashboard/src/server/routes/index.js +5 -4
  80. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  81. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +5 -13
  82. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +97 -155
  83. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  84. package/dashboard/dist-server/dashboard/src/server/routes/wiki.d.ts +11 -1
  85. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +27 -6
  86. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  87. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +25 -7
  88. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  89. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +8 -0
  90. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -1
  91. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +1 -0
  92. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  93. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +29 -0
  94. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +148 -0
  95. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -0
  96. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +4 -2
  97. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  98. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +8 -2
  99. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  100. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +5 -0
  101. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +80 -38
  102. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  103. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +8 -6
  104. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  105. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +40 -5
  106. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +21 -23
  107. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  108. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +33 -3
  109. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +184 -12
  110. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  111. package/dashboard/dist-server/src/commands/delegate.js +26 -0
  112. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  113. package/dashboard/dist-server/src/coordinator/graph-types.d.ts +11 -1
  114. package/dashboard/dist-server/src/coordinator/graph-walker.js +29 -2
  115. package/dashboard/dist-server/src/coordinator/graph-walker.js.map +1 -1
  116. package/dashboard/dist-server/src/coordinator/prompt-assembler.js +3 -2
  117. package/dashboard/dist-server/src/coordinator/prompt-assembler.js.map +1 -1
  118. package/dashboard/dist-server/src/hooks/constants.d.ts +29 -60
  119. package/dashboard/dist-server/src/hooks/constants.js +105 -82
  120. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  121. package/dashboard/dist-server/src/types/index.d.ts +2 -1
  122. package/dist/src/commands/delegate.d.ts.map +1 -1
  123. package/dist/src/commands/delegate.js +26 -0
  124. package/dist/src/commands/delegate.js.map +1 -1
  125. package/dist/src/commands/hooks.d.ts +2 -4
  126. package/dist/src/commands/hooks.d.ts.map +1 -1
  127. package/dist/src/commands/hooks.js +4 -7
  128. package/dist/src/commands/hooks.js.map +1 -1
  129. package/dist/src/commands/install-ui/InstallConfirm.d.ts +2 -3
  130. package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
  131. package/dist/src/commands/install-ui/InstallConfirm.js +1 -1
  132. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  133. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  134. package/dist/src/commands/install-ui/InstallExecution.js +1 -2
  135. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  136. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  137. package/dist/src/commands/install-ui/InstallFlow.js +5 -7
  138. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  139. package/dist/src/commands/install-ui/StatuslineConfig.d.ts +3 -6
  140. package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
  141. package/dist/src/commands/install-ui/StatuslineConfig.js +21 -17
  142. package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
  143. package/dist/src/commands/update.d.ts.map +1 -1
  144. package/dist/src/commands/update.js +95 -0
  145. package/dist/src/commands/update.js.map +1 -1
  146. package/dist/src/commands/wiki.d.ts.map +1 -1
  147. package/dist/src/commands/wiki.js +75 -11
  148. package/dist/src/commands/wiki.js.map +1 -1
  149. package/dist/src/coordinator/graph-types.d.ts +11 -1
  150. package/dist/src/coordinator/graph-types.d.ts.map +1 -1
  151. package/dist/src/coordinator/graph-walker.d.ts.map +1 -1
  152. package/dist/src/coordinator/graph-walker.js +29 -2
  153. package/dist/src/coordinator/graph-walker.js.map +1 -1
  154. package/dist/src/coordinator/prompt-assembler.d.ts.map +1 -1
  155. package/dist/src/coordinator/prompt-assembler.js +3 -2
  156. package/dist/src/coordinator/prompt-assembler.js.map +1 -1
  157. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +4 -1
  158. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -1
  159. package/dist/src/hooks/__tests__/statusline-visual-test.js +55 -174
  160. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
  161. package/dist/src/hooks/constants.d.ts +29 -60
  162. package/dist/src/hooks/constants.d.ts.map +1 -1
  163. package/dist/src/hooks/constants.js +105 -82
  164. package/dist/src/hooks/constants.js.map +1 -1
  165. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  166. package/dist/src/hooks/skill-context.js +54 -6
  167. package/dist/src/hooks/skill-context.js.map +1 -1
  168. package/dist/src/hooks/statusline.d.ts +11 -8
  169. package/dist/src/hooks/statusline.d.ts.map +1 -1
  170. package/dist/src/hooks/statusline.js +284 -182
  171. package/dist/src/hooks/statusline.js.map +1 -1
  172. package/dist/src/hooks/workspace.d.ts.map +1 -1
  173. package/dist/src/hooks/workspace.js +2 -1
  174. package/dist/src/hooks/workspace.js.map +1 -1
  175. package/dist/src/migrations/_template.d.ts +12 -0
  176. package/dist/src/migrations/_template.d.ts.map +1 -0
  177. package/dist/src/migrations/_template.js +55 -0
  178. package/dist/src/migrations/_template.js.map +1 -0
  179. package/dist/src/migrations/index.d.ts +14 -0
  180. package/dist/src/migrations/index.d.ts.map +1 -0
  181. package/dist/src/migrations/index.js +20 -0
  182. package/dist/src/migrations/index.js.map +1 -0
  183. package/dist/src/migrations/run.d.ts +12 -0
  184. package/dist/src/migrations/run.d.ts.map +1 -0
  185. package/dist/src/migrations/run.js +119 -0
  186. package/dist/src/migrations/run.js.map +1 -0
  187. package/dist/src/migrations/v1-to-v2.d.ts +10 -0
  188. package/dist/src/migrations/v1-to-v2.d.ts.map +1 -0
  189. package/dist/src/migrations/v1-to-v2.js +71 -0
  190. package/dist/src/migrations/v1-to-v2.js.map +1 -0
  191. package/dist/src/tools/team-activity.d.ts.map +1 -1
  192. package/dist/src/tools/team-activity.js +22 -0
  193. package/dist/src/tools/team-activity.js.map +1 -1
  194. package/dist/src/tools/transition-recorder.d.ts +2 -17
  195. package/dist/src/tools/transition-recorder.d.ts.map +1 -1
  196. package/dist/src/tools/transition-recorder.js +6 -3
  197. package/dist/src/tools/transition-recorder.js.map +1 -1
  198. package/dist/src/types/index.d.ts +2 -1
  199. package/dist/src/types/index.d.ts.map +1 -1
  200. package/dist/src/utils/migration-registry.d.ts +65 -0
  201. package/dist/src/utils/migration-registry.d.ts.map +1 -0
  202. package/dist/src/utils/migration-registry.js +117 -0
  203. package/dist/src/utils/migration-registry.js.map +1 -0
  204. package/dist/src/utils/state-schema.d.ts +153 -0
  205. package/dist/src/utils/state-schema.d.ts.map +1 -0
  206. package/dist/src/utils/state-schema.js +329 -0
  207. package/dist/src/utils/state-schema.js.map +1 -0
  208. package/package.json +1 -1
  209. package/templates/state.json +17 -39
  210. package/workflows/brainstorm.md +3 -3
  211. package/workflows/codebase-rebuild.md +2 -12
  212. package/workflows/debug.md +7 -8
  213. package/workflows/execute.md +18 -4
  214. package/workflows/fork.md +37 -86
  215. package/workflows/init.md +1 -4
  216. package/workflows/integration-test.md +4 -5
  217. package/workflows/issue.md +3 -9
  218. package/workflows/learn.md +20 -19
  219. package/workflows/maestro.codex.md +8 -1
  220. package/workflows/maestro.md +12 -3
  221. package/workflows/memory.md +26 -71
  222. package/workflows/merge.md +45 -107
  223. package/workflows/milestone-complete.md +24 -7
  224. package/workflows/retrospective.md +77 -109
  225. package/workflows/review.md +5 -12
  226. package/workflows/specs-remove.md +115 -0
  227. package/workflows/specs-setup.md +10 -32
  228. package/workflows/status.md +291 -290
  229. package/workflows/sync.md +5 -5
  230. package/workflows/test.md +4 -5
  231. package/workflows/ui-style.md +3 -4
  232. package/workflows/verify.md +2 -2
  233. package/workflows/wiki-connect.md +188 -0
  234. package/workflows/wiki-digest.md +221 -0
  235. package/workflows/wiki-manage.md +204 -0
@@ -1,47 +1,22 @@
1
1
  /**
2
- * Visual test for dual-mode statusline with custom SVG icons.
2
+ * Visual test for statusline colored text mode.
3
+ *
4
+ * Generates an HTML preview that accurately matches the actual terminal output.
5
+ * Uses the same Unicode icons, segment structure, and TEXT_COLORS as the real renderer.
3
6
  *
4
7
  * Usage: npx tsx src/hooks/__tests__/statusline-visual-test.ts
5
8
  */
6
9
  import { writeFileSync } from 'node:fs';
7
10
  import { join } from 'node:path';
8
11
  import { tmpdir } from 'node:os';
9
- import { SEGMENT_BG, SEGMENT_FG, TEXT_COLORS, getCtxLevel, } from '../constants.js';
10
- // ---------------------------------------------------------------------------
11
- // SVG Icon Library — unified minimalist line style, 14x14 viewBox
12
- // ---------------------------------------------------------------------------
13
- const SVG_ICONS = {
14
- // Model — sparkle/star
15
- model: `<svg viewBox="0 0 14 14" class="icon"><path d="M7 1l1.5 4H13l-3.5 2.5L11 12 7 9.5 3 12l1.5-4.5L1 5h4.5z" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round"/></svg>`,
16
- // Milestone — flag
17
- milestone: `<svg viewBox="0 0 14 14" class="icon"><path d="M3 2v10M3 2h7l-2 3 2 3H3" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round" stroke-linecap="round"/></svg>`,
18
- // Phase — diamond
19
- phase: `<svg viewBox="0 0 14 14" class="icon"><path d="M7 2l5 5-5 5-5-5z" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round"/></svg>`,
20
- // Coordinator — gear
21
- coord: `<svg viewBox="0 0 14 14" class="icon"><circle cx="7" cy="7" r="2" fill="none" stroke="currentColor" stroke-width="1.2"/><path d="M7 1v1.5M7 11.5V13M1 7h1.5M11.5 7H13M2.8 2.8l1 1M10.2 10.2l1 1M11.2 2.8l-1 1M3.8 10.2l-1 1" stroke="currentColor" stroke-width="1" stroke-linecap="round"/></svg>`,
22
- // Task — pencil/edit
23
- task: `<svg viewBox="0 0 14 14" class="icon"><path d="M2 12l1-4L10 1l3 3-7 7zm7-9l3 3" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/></svg>`,
24
- // Team — people
25
- team: `<svg viewBox="0 0 14 14" class="icon"><circle cx="5" cy="4" r="2" fill="none" stroke="currentColor" stroke-width="1.1"/><circle cx="10" cy="4" r="1.5" fill="none" stroke="currentColor" stroke-width="1.1"/><path d="M1 12c0-2.5 2-4 4-4s4 1.5 4 4M8 12c0-1.8 1-3 2.5-3s2.5 1.2 2.5 3" fill="none" stroke="currentColor" stroke-width="1.1" stroke-linecap="round"/></svg>`,
26
- // Directory — folder
27
- dir: `<svg viewBox="0 0 14 14" class="icon"><path d="M2 3h4l1 1.5H12v7H2z" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round"/></svg>`,
28
- // Git — branch
29
- git: `<svg viewBox="0 0 14 14" class="icon"><circle cx="4" cy="4" r="1.5" fill="none" stroke="currentColor" stroke-width="1.1"/><circle cx="4" cy="11" r="1.5" fill="none" stroke="currentColor" stroke-width="1.1"/><circle cx="10" cy="6" r="1.5" fill="none" stroke="currentColor" stroke-width="1.1"/><path d="M4 5.5v4M8.5 6C7 6 4 6 4 8" fill="none" stroke="currentColor" stroke-width="1.1" stroke-linecap="round"/></svg>`,
30
- // Context — gauge/meter
31
- ctx: `<svg viewBox="0 0 14 14" class="icon"><path d="M2 10a5.5 5.5 0 1 1 10 0" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/><path d="M7 10V5.5" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/><circle cx="7" cy="10" r="1" fill="currentColor"/></svg>`,
32
- };
12
+ import { TEXT_COLORS, ICONS, GIT_ICONS, getCtxLevel } from '../constants.js';
33
13
  function rgb(c) {
34
14
  return `rgb(${c[0]},${c[1]},${c[2]})`;
35
15
  }
36
- const ctxBg = (pct) => {
37
- const m = { ok: SEGMENT_BG.ctxOk, warn: SEGMENT_BG.ctxWarn, alert: SEGMENT_BG.ctxAlert, crit: SEGMENT_BG.ctxCrit };
38
- return m[getCtxLevel(pct)];
39
- };
40
- const ctxFg = (pct) => {
41
- const m = { ok: SEGMENT_FG.ctxOk, warn: SEGMENT_FG.ctxWarn, alert: SEGMENT_FG.ctxAlert, crit: SEGMENT_FG.ctxCrit };
42
- return m[getCtxLevel(pct)];
43
- };
44
- const ctxKey = (pct) => `ctx${getCtxLevel(pct).charAt(0).toUpperCase()}${getCtxLevel(pct).slice(1)}`;
16
+ function ctxKey(pct) {
17
+ const level = getCtxLevel(pct);
18
+ return `ctx${level.charAt(0).toUpperCase()}${level.slice(1)}`;
19
+ }
45
20
  function bar(pct) {
46
21
  const f = Math.floor(pct / 10);
47
22
  return '\u2588'.repeat(f) + '\u2591'.repeat(10 - f);
@@ -50,134 +25,70 @@ function esc(s) {
50
25
  return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
51
26
  }
52
27
  // ---------------------------------------------------------------------------
53
- // Scenarios
28
+ // Scenarios — segment structure matches formatStatusline() exactly
54
29
  // ---------------------------------------------------------------------------
55
30
  const scenarios = [
56
31
  {
57
32
  label: '1. Minimal — solo, no workflow',
58
33
  segments: [
59
- { icon: 'model', key: 'model', text: 'Opus 4', bg: SEGMENT_BG.model, fg: SEGMENT_FG.model },
60
- { icon: 'dir', key: 'dir', text: 'maestro2', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
61
- { icon: 'git', key: 'dir', text: 'master ✓', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
62
- { icon: 'ctx', key: ctxKey(30), text: `${bar(30)} 30%`, bg: ctxBg(30), fg: ctxFg(30) },
34
+ { key: 'model', text: `${ICONS.model} Opus 4` },
35
+ { key: 'dir', text: `${ICONS.dir} maestro2 ${ICONS.git} master ${GIT_ICONS.clean}` },
36
+ { key: ctxKey(30), text: `${ICONS.ctx} ${bar(30)} 30%` },
63
37
  ],
64
38
  },
65
39
  {
66
40
  label: '2. With milestone + phase — context warn',
67
41
  segments: [
68
- { icon: 'model', key: 'model', text: 'Sonnet 4', bg: SEGMENT_BG.model, fg: SEGMENT_FG.model },
69
- { icon: 'milestone', key: 'milestone', text: 'MVP 1/4', bg: SEGMENT_BG.milestone, fg: SEGMENT_FG.milestone },
70
- { icon: 'phase', key: 'phase', text: 'P2.1 [2plan 1run]', bg: SEGMENT_BG.phase, fg: SEGMENT_FG.phase },
71
- { icon: 'dir', key: 'dir', text: 'maestro2', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
72
- { icon: 'git', key: 'dir', text: 'master ●', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
73
- { icon: 'ctx', key: ctxKey(54), text: `${bar(54)} 54%`, bg: ctxBg(54), fg: ctxFg(54) },
42
+ { key: 'model', text: `${ICONS.model} Sonnet 4` },
43
+ { key: 'milestone', text: `${ICONS.milestone} MVP 1/4` },
44
+ { key: 'phase', text: `${ICONS.phase} P2.1 [2plan 1run]` },
45
+ { key: 'dir', text: `${ICONS.dir} maestro2 ${ICONS.git} master ${GIT_ICONS.dirty}` },
46
+ { key: ctxKey(54), text: `${ICONS.ctx} ${bar(54)} 54%` },
74
47
  ],
75
48
  },
76
49
  {
77
50
  label: '3. Full — coordinator + task + team',
78
51
  segments: [
79
- { icon: 'model', key: 'model', text: 'Opus 4', bg: SEGMENT_BG.model, fg: SEGMENT_FG.model },
80
- { icon: 'milestone', key: 'milestone', text: 'MVP 2/4', bg: SEGMENT_BG.milestone, fg: SEGMENT_FG.milestone },
81
- { icon: 'phase', key: 'phase', text: 'P3 [3plan]', bg: SEGMENT_BG.phase, fg: SEGMENT_FG.phase },
82
- { icon: 'coord', key: 'coord', text: 'full-lifecycle verify [3/6]', bg: SEGMENT_BG.coord, fg: SEGMENT_FG.coord },
83
- { icon: 'task', key: 'task', text: 'Fixing auth module', bg: SEGMENT_BG.task, fg: SEGMENT_FG.task },
84
- { icon: 'team', key: 'team', text: 'alice (P3/001) | bob +2', bg: SEGMENT_BG.team, fg: SEGMENT_FG.team },
85
- { icon: 'dir', key: 'dir', text: 'maestro2', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
86
- { icon: 'git', key: 'dir', text: 'feat/auth ●↑2', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
87
- { icon: 'ctx', key: ctxKey(66), text: `${bar(66)} 66%`, bg: ctxBg(66), fg: ctxFg(66) },
52
+ { key: 'model', text: `${ICONS.model} Opus 4` },
53
+ { key: 'milestone', text: `${ICONS.milestone} MVP 2/4` },
54
+ { key: 'phase', text: `${ICONS.phase} P3 [3plan]` },
55
+ { key: 'coord', text: `${ICONS.coord} full-lifecycle verify [3/6]` },
56
+ { key: 'task', text: `${ICONS.task} Fixing auth module` },
57
+ { key: 'team', text: `${ICONS.team} alice (P3/001) | bob +2` },
58
+ { key: 'dir', text: `${ICONS.dir} maestro2 ${ICONS.git} feat/auth ${GIT_ICONS.dirty}${GIT_ICONS.ahead}2` },
59
+ { key: ctxKey(66), text: `${ICONS.ctx} ${bar(66)} 66%` },
88
60
  ],
89
61
  },
90
62
  {
91
63
  label: '4. Critical context — 92%',
92
64
  segments: [
93
- { icon: 'model', key: 'model', text: 'Haiku 4.5', bg: SEGMENT_BG.model, fg: SEGMENT_FG.model },
94
- { icon: 'milestone', key: 'milestone', text: 'Production 3/4', bg: SEGMENT_BG.milestone, fg: SEGMENT_FG.milestone },
95
- { icon: 'phase', key: 'phase', text: 'P4', bg: SEGMENT_BG.phase, fg: SEGMENT_FG.phase },
96
- { icon: 'dir', key: 'dir', text: 'maestro2', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
97
- { icon: 'git', key: 'dir', text: 'main ✓', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
98
- { icon: 'ctx', key: ctxKey(92), text: `${bar(92)} 92%`, bg: ctxBg(92), fg: ctxFg(92) },
65
+ { key: 'model', text: `${ICONS.model} Haiku 4.5` },
66
+ { key: 'milestone', text: `${ICONS.milestone} Production 3/4` },
67
+ { key: 'phase', text: `${ICONS.phase} P4` },
68
+ { key: 'dir', text: `${ICONS.dir} maestro2 ${ICONS.git} main ${GIT_ICONS.clean}` },
69
+ { key: ctxKey(92), text: `${ICONS.ctx} ${bar(92)} 92%` },
99
70
  ],
100
71
  },
101
72
  {
102
73
  label: '5. No workflow, no context',
103
74
  segments: [
104
- { icon: 'model', key: 'model', text: 'Claude', bg: SEGMENT_BG.model, fg: SEGMENT_FG.model },
105
- { icon: 'dir', key: 'dir', text: 'my-project', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
106
- { icon: 'git', key: 'dir', text: 'develop ⚠↓3', bg: SEGMENT_BG.dir, fg: SEGMENT_FG.dir },
75
+ { key: 'model', text: `${ICONS.model} Claude` },
76
+ { key: 'dir', text: `${ICONS.dir} my-project ${ICONS.git} develop ${GIT_ICONS.conflict}${GIT_ICONS.behind}3` },
107
77
  ],
108
78
  },
109
79
  ];
110
80
  // ---------------------------------------------------------------------------
111
- // Renderers
81
+ // Renderer — matches renderColoredText() logic exactly
112
82
  // ---------------------------------------------------------------------------
113
- function svgIcon(key) {
114
- return SVG_ICONS[key] || '';
115
- }
116
- /** Powerline colored bg + SVG dovetail arrows */
117
- function renderPowerline(segs) {
118
- // Merge consecutive same-bg segments (dir + git)
119
- const merged = mergeAdjacentDir(segs);
120
- let html = '<div class="pl-line">';
121
- for (let i = 0; i < merged.length; i++) {
122
- const s = merged[i];
123
- html += `<span class="pl-seg" style="background:${rgb(s.bg)};color:${rgb(s.fg)}">${s.iconHtml}<span class="seg-text">${esc(s.text)}</span></span>`;
124
- const nextBg = i < merged.length - 1 ? rgb(merged[i + 1].bg) : '#1e1e2e';
125
- // Classic Powerline dovetail: right-pointing arrow (current color) on next-bg
126
- html += `<svg class="pl-arrow" viewBox="0 0 14 28" preserveAspectRatio="none">` +
127
- `<rect width="14" height="28" fill="${nextBg}"/>` +
128
- `<polygon points="0,0 14,14 0,28" fill="${rgb(s.bg)}"/>` +
129
- `</svg>`;
130
- }
131
- html += '</div>';
132
- return html;
133
- }
134
- /** Colored text — colored text on dark bg + pipe separators */
135
- function renderText(segs) {
136
- const merged = mergeAdjacentDir(segs);
137
- const parts = merged.map((s) => {
138
- const ck = s.key;
139
- const color = TEXT_COLORS[ck] ?? TEXT_COLORS.model;
140
- return `<span style="color:${rgb(color)}">${s.iconHtml}<span class="seg-text">${esc(s.text)}</span></span>`;
83
+ function renderPreview(segs) {
84
+ const pipeColor = rgb(TEXT_COLORS.separator);
85
+ const pipe = `<span style="color:${pipeColor}"> | </span>`;
86
+ const parts = segs.map((seg) => {
87
+ const colorKey = seg.key;
88
+ const color = TEXT_COLORS[colorKey] ?? TEXT_COLORS.model;
89
+ return `<span style="color:${rgb(color)}">${esc(seg.text)}</span>`;
141
90
  });
142
- const pipe = `<span class="pipe">|</span>`;
143
- return `<div class="txt-line">${parts.join(pipe)}</div>`;
144
- }
145
- /** Terminal preview — simulates actual ❯ character rendering in terminal */
146
- function renderTerminal(segs) {
147
- const merged = mergeAdjacentDir(segs);
148
- let html = '<div class="term-line">';
149
- for (let i = 0; i < merged.length; i++) {
150
- const s = merged[i];
151
- // Segment content with bg color
152
- html += `<span class="term-seg" style="background:${rgb(s.bg)};color:${rgb(s.fg)}">${s.iconHtml} <span class="seg-text">${esc(s.text)}</span> </span>`;
153
- // Bold V-arrow separator: fg = current bg, bg = next bg (or transparent for last)
154
- const nextBg = i < merged.length - 1 ? rgb(merged[i + 1].bg) : '#1e1e2e';
155
- html += `<span class="term-arrow" style="color:${rgb(s.bg)};background:${nextBg};font-weight:bold">\u276F</span>`;
156
- }
157
- html += '</div>';
158
- return html;
159
- }
160
- /** Merge dir+git into one segment to avoid redundant separators */
161
- function mergeAdjacentDir(segs) {
162
- const result = [];
163
- for (let i = 0; i < segs.length; i++) {
164
- const s = segs[i];
165
- if (s.icon === 'dir' && i + 1 < segs.length && segs[i + 1].icon === 'git') {
166
- const g = segs[i + 1];
167
- result.push({
168
- ...s,
169
- text: `${s.text} ${g.text}`,
170
- iconHtml: svgIcon('dir') + `<span class="seg-text">${esc(s.text)}</span> ` + svgIcon('git'),
171
- });
172
- // Override: we already embedded text in iconHtml, clear the text field
173
- result[result.length - 1].text = g.text;
174
- i++; // skip git segment
175
- }
176
- else {
177
- result.push({ ...s, iconHtml: svgIcon(s.icon) });
178
- }
179
- }
180
- return result;
91
+ return `<div class="line">${parts.join(pipe)}</div>`;
181
92
  }
182
93
  // ---------------------------------------------------------------------------
183
94
  // HTML
@@ -185,18 +96,12 @@ function mergeAdjacentDir(segs) {
185
96
  const rows = scenarios.map(s => `
186
97
  <div class="scenario">
187
98
  <div class="label">${s.label}</div>
188
- <div class="mode-tag">TERMINAL (❯ char)</div>
189
- ${renderTerminal(s.segments)}
190
- <div class="mode-tag">POWERLINE (SVG ideal)</div>
191
- ${renderPowerline(s.segments)}
192
- <div class="mode-tag">COLORED TEXT</div>
193
- ${renderText(s.segments)}
99
+ ${renderPreview(s.segments)}
194
100
  </div>`).join('\n');
195
- const iconRef = Object.entries(SVG_ICONS).map(([k, v]) => `<div class="icon-item"><span class="icon-preview" style="color:#89b4fa">${v}</span><span class="icon-name">${k}</span></div>`).join('');
196
101
  const html = `<!DOCTYPE html>
197
102
  <html><head>
198
103
  <meta charset="utf-8">
199
- <title>Maestro Statusline — Dual Mode + SVG Icons</title>
104
+ <title>Maestro Statusline — Preview</title>
200
105
  <style>
201
106
  * { box-sizing: border-box; }
202
107
  body {
@@ -205,51 +110,27 @@ const html = `<!DOCTYPE html>
205
110
  font-size: 13px; line-height: 1.5;
206
111
  }
207
112
  h1 { color: #89b4fa; font-size: 18px; margin-bottom: 8px; font-weight: 500; }
208
- h2 { color: #a6adc8; font-size: 14px; margin: 32px 0 12px; font-weight: 400; }
209
113
  .subtitle { color: #585b70; font-size: 11px; margin-bottom: 28px; }
210
114
 
211
- .scenario { margin-bottom: 28px; }
212
- .label { color: #a6adc8; font-size: 12px; margin-bottom: 8px; }
213
- .mode-tag { color: #45475a; font-size: 9px; letter-spacing: 1.5px; margin: 4px 0 3px; text-transform: uppercase; }
214
-
215
- /* Powerline */
216
- .pl-line { display: inline-flex; align-items: stretch; height: 28px; }
217
- .pl-seg { padding: 0 10px; white-space: nowrap; display: inline-flex; align-items: center; gap: 5px; }
218
- .pl-arrow { width: 14px; height: 28px; flex-shrink: 0; display: block; margin: 0; padding: 0; }
219
-
220
- /* Colored text */
221
- .txt-line { display: inline-flex; align-items: center; background: #181825; padding: 4px 14px; border-radius: 6px; height: 28px; gap: 0; }
222
- .txt-line > span { display: inline-flex; align-items: center; gap: 4px; }
223
- .pipe { color: rgb(${TEXT_COLORS.separator.join(',')}); margin: 0 8px; }
224
-
225
- /* Terminal preview */
226
- .term-line { display: inline-flex; align-items: stretch; height: 28px; font-weight: bold; }
227
- .term-seg { padding: 0 0 0 8px; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
228
- .term-arrow { display: inline-flex; align-items: center; justify-content: center; padding: 0 4px; font-size: 15px; font-weight: bold; }
115
+ .scenario { margin-bottom: 24px; }
116
+ .label { color: #a6adc8; font-size: 12px; margin-bottom: 6px; }
229
117
 
230
- .seg-text { white-space: nowrap; }
231
-
232
- /* SVG icons */
233
- .icon { width: 14px; height: 14px; flex-shrink: 0; vertical-align: middle; }
234
-
235
- /* Icon reference */
236
- .icon-grid { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 8px; }
237
- .icon-item { display: flex; align-items: center; gap: 6px; }
238
- .icon-preview .icon { width: 20px; height: 20px; }
239
- .icon-name { color: #585b70; font-size: 11px; }
118
+ .line {
119
+ display: inline-flex; align-items: center;
120
+ background: #181825; padding: 4px 14px; border-radius: 6px; height: 28px;
121
+ white-space: nowrap;
122
+ }
123
+ .line > span { white-space: nowrap; }
240
124
 
241
125
  .footer { margin-top: 32px; color: #45475a; font-size: 11px; }
242
- .footer code { color: #89b4fa; }
243
126
  </style>
244
127
  </head><body>
245
128
  <h1>Maestro Statusline</h1>
246
- <div class="subtitle">Dual-mode rendering with unified SVG icons</div>
129
+ <div class="subtitle">Colored text mode Unicode icons, pipe separators (matches actual terminal output)</div>
247
130
  ${rows}
248
- <h2>Icon Reference</h2>
249
- <div class="icon-grid">${iconRef}</div>
250
131
  <div class="footer">
251
- <p><code>MAESTRO_STATUSLINE_STYLE=powerline|text</code> (default: text)</p>
252
- <p><code>MAESTRO_NERD_FONT=1</code> for Nerd Font terminal icons (default: Unicode)</p>
132
+ <p>Segments are conditionally shown — empty segments are omitted.</p>
133
+ <p>Colors from TEXT_COLORS in constants.ts, icons from ICONS (Unicode set).</p>
253
134
  </div>
254
135
  </body></html>`;
255
136
  const outPath = join(tmpdir(), 'maestro-statusline-test.html');
@@ -1 +1 @@
1
- {"version":3,"file":"statusline-visual-test.js","sourceRoot":"","sources":["../../../../src/hooks/__tests__/statusline-visual-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statusline-visual-test.js","sourceRoot":"","sources":["../../../../src/hooks/__tests__/statusline-visual-test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAe7E,SAAS,GAAG,CAAC,CAAoC;IAC/C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAY,CAAC;AAC1E,CAAC;AAED,SAAS,GAAG,CAAC,GAAW;IACtB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,GAAG,CAAC,CAAS;IACpB,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,8EAA8E;AAC9E,mEAAmE;AACnE,8EAA8E;AAE9E,MAAM,SAAS,GAAe;IAC5B;QACE,KAAK,EAAE,gCAAgC;QACvC,QAAQ,EAAE;YACR,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,SAAS,EAAE;YAC/C,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,cAAc,KAAK,CAAC,GAAG,WAAW,SAAS,CAAC,KAAK,EAAE,EAAE;YACrF,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE;SACzD;KACF;IACD;QACE,KAAK,EAAE,0CAA0C;QACjD,QAAQ,EAAE;YACR,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,WAAW,EAAE;YACjD,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,UAAU,EAAE;YACxD,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,oBAAoB,EAAE;YAC1D,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,cAAc,KAAK,CAAC,GAAG,WAAW,SAAS,CAAC,KAAK,EAAE,EAAE;YACrF,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE;SACzD;KACF;IACD;QACE,KAAK,EAAE,qCAAqC;QAC5C,QAAQ,EAAE;YACR,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,SAAS,EAAE;YAC/C,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,UAAU,EAAE;YACxD,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,aAAa,EAAE;YACnD,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,8BAA8B,EAAE;YACpE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,qBAAqB,EAAE;YACzD,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,0BAA0B,EAAE;YAC9D,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,cAAc,KAAK,CAAC,GAAG,cAAc,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,EAAE;YAC3G,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE;SACzD;KACF;IACD;QACE,KAAK,EAAE,2BAA2B;QAClC,QAAQ,EAAE;YACR,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,YAAY,EAAE;YAClD,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,iBAAiB,EAAE;YAC/D,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,KAAK,EAAE;YAC3C,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,cAAc,KAAK,CAAC,GAAG,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE;YACnF,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE;SACzD;KACF;IACD;QACE,KAAK,EAAE,4BAA4B;QACnC,QAAQ,EAAE;YACR,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,SAAS,EAAE;YAC/C,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,gBAAgB,KAAK,CAAC,GAAG,YAAY,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,EAAE;SAChH;KACF;CACF,CAAC;AAEF,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,SAAS,aAAa,CAAC,IAAW;IAChC,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,sBAAsB,SAAS,cAAc,CAAC;IAE3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAA+B,CAAC;QACrD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC;QACzD,OAAO,sBAAsB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,OAAO,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;;yBAEP,CAAC,CAAC,KAAK;MAC1B,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEtB,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BT,IAAI;;;;;eAKO,CAAC;AAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC;AAC/D,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC7B,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC"}
@@ -18,19 +18,16 @@ export declare const COORD_BRIDGE_PREFIX = "maestro-coord-";
18
18
  export declare const SPEC_KW_BRIDGE_PREFIX = "maestro-spec-kw-";
19
19
  /** Max ms to wait for stdin before exiting (Windows pipe safety) */
20
20
  export declare const STDIN_TIMEOUT_MS = 3000;
21
- /** Powerline right-arrow separator (E0B0 needs Powerline font, fallback to V-chevron) */
22
- export declare const PL_SEP: string;
23
- /** Select icon set based on config */
24
21
  export declare const ICONS: {
25
- readonly model: "󰮩";
26
- readonly milestone: "󰽎";
27
- readonly phase: "";
22
+ readonly model: "";
23
+ readonly milestone: "";
24
+ readonly phase: "";
28
25
  readonly coord: "󰑌";
29
26
  readonly task: "";
30
27
  readonly team: "󰡉";
31
28
  readonly dir: "";
32
29
  readonly git: "";
33
- readonly ctx: "󰐥";
30
+ readonly ctx: "";
34
31
  } | {
35
32
  readonly model: "✎";
36
33
  readonly milestone: "⚑";
@@ -39,47 +36,17 @@ export declare const ICONS: {
39
36
  readonly task: "▸";
40
37
  readonly team: "👥";
41
38
  readonly dir: "■";
42
- readonly git: "";
39
+ readonly git: "";
43
40
  readonly ctx: "◔";
44
41
  };
45
42
  /** Git status icons */
46
43
  export declare const GIT_ICONS: {
47
44
  readonly clean: "✓";
48
- readonly dirty: "";
45
+ readonly dirty: "";
49
46
  readonly conflict: "⚠";
50
47
  readonly ahead: "↑";
51
48
  readonly behind: "↓";
52
49
  };
53
- /**
54
- * RGB background colors — muted Notion-inspired palette.
55
- * Each entry: [R, G, B]
56
- */
57
- export declare const SEGMENT_BG: {
58
- readonly model: readonly [63, 75, 91];
59
- readonly milestone: readonly [160, 82, 45];
60
- readonly phase: readonly [180, 142, 46];
61
- readonly coord: readonly [58, 126, 200];
62
- readonly task: readonly [55, 55, 60];
63
- readonly team: readonly [123, 94, 167];
64
- readonly dir: readonly [45, 134, 89];
65
- readonly ctxOk: readonly [45, 134, 89];
66
- readonly ctxWarn: readonly [180, 142, 46];
67
- readonly ctxAlert: readonly [200, 122, 42];
68
- readonly ctxCrit: readonly [196, 64, 64];
69
- };
70
- export declare const SEGMENT_FG: {
71
- readonly model: readonly [255, 255, 255];
72
- readonly milestone: readonly [255, 255, 255];
73
- readonly phase: readonly [30, 30, 30];
74
- readonly coord: readonly [255, 255, 255];
75
- readonly task: readonly [224, 224, 224];
76
- readonly team: readonly [255, 255, 255];
77
- readonly dir: readonly [255, 255, 255];
78
- readonly ctxOk: readonly [255, 255, 255];
79
- readonly ctxWarn: readonly [30, 30, 30];
80
- readonly ctxAlert: readonly [255, 255, 255];
81
- readonly ctxCrit: readonly [255, 255, 255];
82
- };
83
50
  export type CtxLevel = 'ok' | 'warn' | 'alert' | 'crit';
84
51
  export declare function getCtxLevel(usedPct: number): CtxLevel;
85
52
  export declare function ansiBg(rgb: readonly [number, number, number]): string;
@@ -89,27 +56,28 @@ export declare const ANSI_DIM = "\u001B[2m";
89
56
  export declare const ANSI_BOLD = "\u001B[1m";
90
57
  export declare const ANSI_CYAN = "\u001B[36m";
91
58
  export declare const ANSI_BLINK = "\u001B[5m";
92
- export type StatuslineStyle = 'powerline' | 'text';
93
- export declare function getStatuslineStyle(): StatuslineStyle;
94
- /**
95
- * Text-mode segment colors — used as foreground on transparent background.
96
- * Each color is the "accent" for that segment type.
97
- */
98
- export declare const TEXT_COLORS: {
99
- readonly model: readonly [86, 182, 194];
100
- readonly milestone: readonly [224, 175, 104];
101
- readonly phase: readonly [166, 209, 137];
102
- readonly coord: readonly [137, 180, 250];
103
- readonly task: readonly [205, 214, 244];
104
- readonly team: readonly [203, 166, 247];
105
- readonly dir: readonly [249, 226, 175];
106
- readonly git: readonly [166, 227, 161];
107
- readonly ctxOk: readonly [166, 227, 161];
108
- readonly ctxWarn: readonly [249, 226, 175];
109
- readonly ctxAlert: readonly [250, 179, 135];
110
- readonly ctxCrit: readonly [243, 139, 168];
111
- readonly separator: readonly [88, 91, 112];
112
- };
59
+ type RGB = readonly [number, number, number];
60
+ interface ThemeColors {
61
+ model: RGB;
62
+ milestone: RGB;
63
+ phase: RGB;
64
+ coord: RGB;
65
+ task: RGB;
66
+ team: RGB;
67
+ dir: RGB;
68
+ git: RGB;
69
+ ctxOk: RGB;
70
+ ctxWarn: RGB;
71
+ ctxAlert: RGB;
72
+ ctxCrit: RGB;
73
+ separator: RGB;
74
+ }
75
+ /** All available themes */
76
+ export declare const THEMES: Record<string, ThemeColors>;
77
+ /** Available theme names for install UI */
78
+ export declare const THEME_NAMES: string[];
79
+ /** Active theme colors — used as foreground on transparent background */
80
+ export declare const TEXT_COLORS: ThemeColors;
113
81
  export declare const FACES: {
114
82
  readonly happy: "^_^";
115
83
  readonly neutral: "-_-";
@@ -119,4 +87,5 @@ export declare const FACES: {
119
87
  export type FaceLevel = keyof typeof FACES;
120
88
  export declare function getFaceLevel(usedPct: number): FaceLevel;
121
89
  export declare const FACE_COLORS: Record<FaceLevel, string>;
90
+ export {};
122
91
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"AAqCA,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,sDAAsD;AACtD,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,kDAAkD;AAClD,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,wCAAwC;AACxC,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAE5C,uDAAuD;AACvD,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAMrC,yFAAyF;AACzF,eAAO,MAAM,MAAM,QAA2C,CAAC;AA2B/D,sCAAsC;AACtC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAErE,uBAAuB;AACvB,eAAO,MAAM,SAAS;;;;;;CAMZ,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;CAYb,CAAC;AAOX,eAAO,MAAM,UAAU;;;;;;;;;;;;CAYb,CAAC;AAMX,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAKrD;AAMD,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAErE;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAErE;AAED,eAAO,MAAM,UAAU,cAAY,CAAC;AACpC,eAAO,MAAM,QAAQ,cAAY,CAAC;AAClC,eAAO,MAAM,SAAS,cAAY,CAAC;AACnC,eAAO,MAAM,SAAS,eAAa,CAAC;AACpC,eAAO,MAAM,UAAU,cAAY,CAAC;AAOpC,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnD,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;CAcd,CAAC;AAGX,eAAO,MAAM,KAAK;;;;;CAKR,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,KAAK,CAAC;AAE3C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAKvD;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAKjD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/constants.ts"],"names":[],"mappings":"AA2CA,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,sDAAsD;AACtD,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,kDAAkD;AAClD,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,wCAAwC;AACxC,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAE5C,uDAAuD;AACvD,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,qEAAqE;AACrE,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AA8BrC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAErE,uBAAuB;AACvB,eAAO,MAAM,SAAS;;;;;;CAMZ,CAAC;AAMX,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAKrD;AAMD,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAErE;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAErE;AAED,eAAO,MAAM,UAAU,cAAY,CAAC;AACpC,eAAO,MAAM,QAAQ,cAAY,CAAC;AAClC,eAAO,MAAM,SAAS,cAAY,CAAC;AACnC,eAAO,MAAM,SAAS,eAAa,CAAC;AACpC,eAAO,MAAM,UAAU,cAAY,CAAC;AAMpC,KAAK,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7C,UAAU,WAAW;IACnB,KAAK,EAAM,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAM,GAAG,CAAC;IACf,KAAK,EAAM,GAAG,CAAC;IACf,IAAI,EAAO,GAAG,CAAC;IACf,IAAI,EAAO,GAAG,CAAC;IACf,GAAG,EAAQ,GAAG,CAAC;IACf,GAAG,EAAQ,GAAG,CAAC;IACf,KAAK,EAAM,GAAG,CAAC;IACf,OAAO,EAAI,GAAG,CAAC;IACf,QAAQ,EAAG,GAAG,CAAC;IACf,OAAO,EAAI,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,2BAA2B;AAC3B,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA4E9C,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,WAAW,EAA0B,MAAM,EAAE,CAAC;AAE3D,yEAAyE;AACzE,eAAO,MAAM,WAAW,EAAE,WAAsD,CAAC;AAGjF,eAAO,MAAM,KAAK;;;;;CAKR,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,KAAK,CAAC;AAE3C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAKvD;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAKjD,CAAC"}