claude-code-workflow 6.3.36 → 6.3.38

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 (250) hide show
  1. package/.claude/commands/workflow/lite-execute.md +2 -0
  2. package/.claude/commands/workflow/lite-fix.md +108 -9
  3. package/.claude/skills/ccw-loop/README.md +303 -0
  4. package/.claude/skills/ccw-loop/SKILL.md +259 -0
  5. package/.claude/skills/ccw-loop/phases/actions/action-complete.md +320 -0
  6. package/.claude/skills/ccw-loop/phases/actions/action-debug-with-file.md +485 -0
  7. package/.claude/skills/ccw-loop/phases/actions/action-develop-with-file.md +365 -0
  8. package/.claude/skills/ccw-loop/phases/actions/action-init.md +200 -0
  9. package/.claude/skills/ccw-loop/phases/actions/action-menu.md +192 -0
  10. package/.claude/skills/ccw-loop/phases/actions/action-validate-with-file.md +307 -0
  11. package/.claude/skills/ccw-loop/phases/orchestrator.md +486 -0
  12. package/.claude/skills/ccw-loop/phases/state-schema.md +474 -0
  13. package/.claude/skills/ccw-loop/specs/action-catalog.md +300 -0
  14. package/.claude/skills/ccw-loop/specs/loop-requirements.md +192 -0
  15. package/.claude/skills/ccw-loop/templates/progress-template.md +175 -0
  16. package/.claude/skills/ccw-loop/templates/understanding-template.md +303 -0
  17. package/.claude/skills/ccw-loop/templates/validation-template.md +258 -0
  18. package/.codex/agents/action-planning-agent.md +885 -0
  19. package/.codex/agents/ccw-loop-executor.md +260 -0
  20. package/.codex/agents/cli-discuss-agent.md +391 -0
  21. package/.codex/agents/cli-execution-agent.md +333 -0
  22. package/.codex/agents/cli-explore-agent.md +186 -0
  23. package/.codex/agents/cli-lite-planning-agent.md +736 -0
  24. package/.codex/agents/cli-planning-agent.md +562 -0
  25. package/.codex/agents/code-developer.md +408 -0
  26. package/.codex/agents/conceptual-planning-agent.md +321 -0
  27. package/.codex/agents/context-search-agent.md +585 -0
  28. package/.codex/agents/debug-explore-agent.md +436 -0
  29. package/.codex/agents/doc-generator.md +334 -0
  30. package/.codex/agents/issue-plan-agent.md +417 -0
  31. package/.codex/agents/issue-queue-agent.md +311 -0
  32. package/.codex/agents/memory-bridge.md +96 -0
  33. package/.codex/agents/test-context-search-agent.md +402 -0
  34. package/.codex/agents/test-fix-agent.md +359 -0
  35. package/.codex/agents/ui-design-agent.md +595 -0
  36. package/.codex/agents/universal-executor.md +135 -0
  37. package/.codex/prompts/issue-discover-by-prompt.md +364 -0
  38. package/.codex/prompts/issue-discover.md +261 -0
  39. package/.codex/prompts/issue-execute.md +10 -0
  40. package/.codex/prompts/issue-new.md +285 -0
  41. package/.codex/prompts/issue-plan.md +161 -63
  42. package/.codex/prompts/issue-queue.md +298 -288
  43. package/.codex/prompts/lite-execute.md +627 -133
  44. package/.codex/prompts/lite-fix.md +670 -0
  45. package/.codex/prompts/lite-plan-a.md +337 -0
  46. package/.codex/prompts/lite-plan-b.md +485 -0
  47. package/.codex/prompts/{lite-plan.md → lite-plan-c.md} +601 -469
  48. package/.codex/skills/ccw-loop/README.md +171 -0
  49. package/.codex/skills/ccw-loop/SKILL.md +349 -0
  50. package/.codex/skills/ccw-loop/phases/actions/action-complete.md +269 -0
  51. package/.codex/skills/ccw-loop/phases/actions/action-debug.md +286 -0
  52. package/.codex/skills/ccw-loop/phases/actions/action-develop.md +183 -0
  53. package/.codex/skills/ccw-loop/phases/actions/action-init.md +164 -0
  54. package/.codex/skills/ccw-loop/phases/actions/action-menu.md +205 -0
  55. package/.codex/skills/ccw-loop/phases/actions/action-validate.md +250 -0
  56. package/.codex/skills/ccw-loop/phases/orchestrator.md +416 -0
  57. package/.codex/skills/ccw-loop/phases/state-schema.md +388 -0
  58. package/.codex/skills/ccw-loop/specs/action-catalog.md +182 -0
  59. package/.codex/skills/ccw-loop-b/README.md +102 -0
  60. package/.codex/skills/ccw-loop-b/SKILL.md +322 -0
  61. package/.codex/skills/ccw-loop-b/phases/orchestrator.md +257 -0
  62. package/.codex/skills/ccw-loop-b/phases/state-schema.md +181 -0
  63. package/ccw/dist/cli.d.ts.map +1 -1
  64. package/ccw/dist/cli.js +12 -1
  65. package/ccw/dist/cli.js.map +1 -1
  66. package/ccw/dist/commands/cli.d.ts.map +1 -1
  67. package/ccw/dist/commands/cli.js +14 -1
  68. package/ccw/dist/commands/cli.js.map +1 -1
  69. package/ccw/dist/commands/install.d.ts.map +1 -1
  70. package/ccw/dist/commands/install.js +38 -7
  71. package/ccw/dist/commands/install.js.map +1 -1
  72. package/ccw/dist/commands/issue.d.ts +3 -0
  73. package/ccw/dist/commands/issue.d.ts.map +1 -1
  74. package/ccw/dist/commands/issue.js +107 -0
  75. package/ccw/dist/commands/issue.js.map +1 -1
  76. package/ccw/dist/commands/loop.d.ts +10 -0
  77. package/ccw/dist/commands/loop.d.ts.map +1 -0
  78. package/ccw/dist/commands/loop.js +289 -0
  79. package/ccw/dist/commands/loop.js.map +1 -0
  80. package/ccw/dist/commands/upgrade.js +1 -1
  81. package/ccw/dist/commands/upgrade.js.map +1 -1
  82. package/ccw/dist/config/litellm-api-config-manager.d.ts.map +1 -1
  83. package/ccw/dist/config/litellm-api-config-manager.js +3 -2
  84. package/ccw/dist/config/litellm-api-config-manager.js.map +1 -1
  85. package/ccw/dist/core/dashboard-generator.d.ts.map +1 -1
  86. package/ccw/dist/core/dashboard-generator.js +4 -1
  87. package/ccw/dist/core/dashboard-generator.js.map +1 -1
  88. package/ccw/dist/core/memory-embedder-bridge.d.ts.map +1 -1
  89. package/ccw/dist/core/memory-embedder-bridge.js +2 -5
  90. package/ccw/dist/core/memory-embedder-bridge.js.map +1 -1
  91. package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -1
  92. package/ccw/dist/core/routes/claude-routes.js +5 -3
  93. package/ccw/dist/core/routes/claude-routes.js.map +1 -1
  94. package/ccw/dist/core/routes/cli-routes.d.ts +6 -0
  95. package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
  96. package/ccw/dist/core/routes/cli-routes.js +42 -13
  97. package/ccw/dist/core/routes/cli-routes.js.map +1 -1
  98. package/ccw/dist/core/routes/cli-settings-routes.d.ts.map +1 -1
  99. package/ccw/dist/core/routes/cli-settings-routes.js +44 -0
  100. package/ccw/dist/core/routes/cli-settings-routes.js.map +1 -1
  101. package/ccw/dist/core/routes/codexlens/config-handlers.d.ts.map +1 -1
  102. package/ccw/dist/core/routes/codexlens/config-handlers.js +7 -6
  103. package/ccw/dist/core/routes/codexlens/config-handlers.js.map +1 -1
  104. package/ccw/dist/core/routes/codexlens/semantic-handlers.d.ts.map +1 -1
  105. package/ccw/dist/core/routes/codexlens/semantic-handlers.js +5 -4
  106. package/ccw/dist/core/routes/codexlens/semantic-handlers.js.map +1 -1
  107. package/ccw/dist/core/routes/core-memory-routes.d.ts.map +1 -1
  108. package/ccw/dist/core/routes/core-memory-routes.js +4 -2
  109. package/ccw/dist/core/routes/core-memory-routes.js.map +1 -1
  110. package/ccw/dist/core/routes/files-routes.d.ts.map +1 -1
  111. package/ccw/dist/core/routes/files-routes.js +4 -2
  112. package/ccw/dist/core/routes/files-routes.js.map +1 -1
  113. package/ccw/dist/core/routes/graph-routes.d.ts.map +1 -1
  114. package/ccw/dist/core/routes/graph-routes.js +17 -2
  115. package/ccw/dist/core/routes/graph-routes.js.map +1 -1
  116. package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -1
  117. package/ccw/dist/core/routes/issue-routes.js +280 -33
  118. package/ccw/dist/core/routes/issue-routes.js.map +1 -1
  119. package/ccw/dist/core/routes/loop-routes.d.ts +24 -0
  120. package/ccw/dist/core/routes/loop-routes.d.ts.map +1 -0
  121. package/ccw/dist/core/routes/loop-routes.js +334 -0
  122. package/ccw/dist/core/routes/loop-routes.js.map +1 -0
  123. package/ccw/dist/core/routes/loop-v2-routes.d.ts +44 -0
  124. package/ccw/dist/core/routes/loop-v2-routes.d.ts.map +1 -0
  125. package/ccw/dist/core/routes/loop-v2-routes.js +1260 -0
  126. package/ccw/dist/core/routes/loop-v2-routes.js.map +1 -0
  127. package/ccw/dist/core/routes/memory-routes.d.ts.map +1 -1
  128. package/ccw/dist/core/routes/memory-routes.js +2 -1
  129. package/ccw/dist/core/routes/memory-routes.js.map +1 -1
  130. package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
  131. package/ccw/dist/core/routes/system-routes.js +3 -2
  132. package/ccw/dist/core/routes/system-routes.js.map +1 -1
  133. package/ccw/dist/core/routes/task-routes.d.ts +12 -0
  134. package/ccw/dist/core/routes/task-routes.d.ts.map +1 -0
  135. package/ccw/dist/core/routes/task-routes.js +321 -0
  136. package/ccw/dist/core/routes/task-routes.js.map +1 -0
  137. package/ccw/dist/core/routes/test-loop-routes.d.ts +11 -0
  138. package/ccw/dist/core/routes/test-loop-routes.d.ts.map +1 -0
  139. package/ccw/dist/core/routes/test-loop-routes.js +298 -0
  140. package/ccw/dist/core/routes/test-loop-routes.js.map +1 -0
  141. package/ccw/dist/core/server.d.ts.map +1 -1
  142. package/ccw/dist/core/server.js +47 -5
  143. package/ccw/dist/core/server.js.map +1 -1
  144. package/ccw/dist/core/websocket.d.ts +59 -0
  145. package/ccw/dist/core/websocket.d.ts.map +1 -1
  146. package/ccw/dist/core/websocket.js +34 -0
  147. package/ccw/dist/core/websocket.js.map +1 -1
  148. package/ccw/dist/tools/claude-cli-tools.d.ts +40 -0
  149. package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
  150. package/ccw/dist/tools/claude-cli-tools.js +119 -0
  151. package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
  152. package/ccw/dist/tools/codex-lens-lsp.d.ts.map +1 -1
  153. package/ccw/dist/tools/codex-lens-lsp.js +2 -5
  154. package/ccw/dist/tools/codex-lens-lsp.js.map +1 -1
  155. package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
  156. package/ccw/dist/tools/codex-lens.js +22 -32
  157. package/ccw/dist/tools/codex-lens.js.map +1 -1
  158. package/ccw/dist/tools/litellm-client.d.ts +6 -0
  159. package/ccw/dist/tools/litellm-client.d.ts.map +1 -1
  160. package/ccw/dist/tools/litellm-client.js +15 -2
  161. package/ccw/dist/tools/litellm-client.js.map +1 -1
  162. package/ccw/dist/tools/loop-manager.d.ts +84 -0
  163. package/ccw/dist/tools/loop-manager.d.ts.map +1 -0
  164. package/ccw/dist/tools/loop-manager.js +425 -0
  165. package/ccw/dist/tools/loop-manager.js.map +1 -0
  166. package/ccw/dist/tools/loop-state-manager.d.ts +47 -0
  167. package/ccw/dist/tools/loop-state-manager.d.ts.map +1 -0
  168. package/ccw/dist/tools/loop-state-manager.js +149 -0
  169. package/ccw/dist/tools/loop-state-manager.js.map +1 -0
  170. package/ccw/dist/tools/loop-task-manager.d.ts +149 -0
  171. package/ccw/dist/tools/loop-task-manager.d.ts.map +1 -0
  172. package/ccw/dist/tools/loop-task-manager.js +270 -0
  173. package/ccw/dist/tools/loop-task-manager.js.map +1 -0
  174. package/ccw/dist/tools/native-session-discovery.d.ts.map +1 -1
  175. package/ccw/dist/tools/native-session-discovery.js +35 -7
  176. package/ccw/dist/tools/native-session-discovery.js.map +1 -1
  177. package/ccw/dist/types/index.d.ts +1 -0
  178. package/ccw/dist/types/index.d.ts.map +1 -1
  179. package/ccw/dist/types/index.js +1 -0
  180. package/ccw/dist/types/index.js.map +1 -1
  181. package/ccw/dist/types/loop.d.ts +257 -0
  182. package/ccw/dist/types/loop.d.ts.map +1 -0
  183. package/ccw/dist/types/loop.js +17 -0
  184. package/ccw/dist/types/loop.js.map +1 -0
  185. package/ccw/dist/utils/codexlens-path.d.ts +36 -0
  186. package/ccw/dist/utils/codexlens-path.d.ts.map +1 -0
  187. package/ccw/dist/utils/codexlens-path.js +56 -0
  188. package/ccw/dist/utils/codexlens-path.js.map +1 -0
  189. package/ccw/dist/utils/uv-manager.d.ts.map +1 -1
  190. package/ccw/dist/utils/uv-manager.js +3 -2
  191. package/ccw/dist/utils/uv-manager.js.map +1 -1
  192. package/ccw/src/cli.ts +13 -1
  193. package/ccw/src/commands/cli.ts +14 -1
  194. package/ccw/src/commands/install.ts +50 -7
  195. package/ccw/src/commands/issue.ts +119 -0
  196. package/ccw/src/commands/loop.ts +344 -0
  197. package/ccw/src/commands/upgrade.ts +1 -1
  198. package/ccw/src/config/litellm-api-config-manager.ts +3 -2
  199. package/ccw/src/core/dashboard-generator.ts +4 -1
  200. package/ccw/src/core/memory-embedder-bridge.ts +2 -6
  201. package/ccw/src/core/routes/claude-routes.ts +5 -3
  202. package/ccw/src/core/routes/cli-routes.ts +48 -16
  203. package/ccw/src/core/routes/cli-settings-routes.ts +47 -0
  204. package/ccw/src/core/routes/codexlens/config-handlers.ts +7 -6
  205. package/ccw/src/core/routes/codexlens/semantic-handlers.ts +5 -4
  206. package/ccw/src/core/routes/core-memory-routes.ts +4 -2
  207. package/ccw/src/core/routes/files-routes.ts +4 -2
  208. package/ccw/src/core/routes/graph-routes.ts +18 -2
  209. package/ccw/src/core/routes/issue-routes.ts +308 -33
  210. package/ccw/src/core/routes/loop-routes.ts +386 -0
  211. package/ccw/src/core/routes/loop-v2-routes.ts +1470 -0
  212. package/ccw/src/core/routes/memory-routes.ts +2 -1
  213. package/ccw/src/core/routes/system-routes.ts +3 -2
  214. package/ccw/src/core/routes/task-routes.ts +361 -0
  215. package/ccw/src/core/routes/test-loop-routes.ts +312 -0
  216. package/ccw/src/core/server.ts +49 -5
  217. package/ccw/src/core/websocket.ts +104 -0
  218. package/ccw/src/templates/dashboard-css/02-session.css +2 -0
  219. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +103 -1
  220. package/ccw/src/templates/dashboard-css/12-cli-legacy.css +56 -0
  221. package/ccw/src/templates/dashboard-css/32-issue-manager.css +32 -0
  222. package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +55 -0
  223. package/ccw/src/templates/dashboard-css/36-loop-monitor.css +1896 -0
  224. package/ccw/src/templates/dashboard-css/36-loop-monitor.css.backup +1877 -0
  225. package/ccw/src/templates/dashboard-js/components/cli-history.js +48 -48
  226. package/ccw/src/templates/dashboard-js/components/cli-status.js +64 -3
  227. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +251 -110
  228. package/ccw/src/templates/dashboard-js/components/navigation.js +16 -0
  229. package/ccw/src/templates/dashboard-js/components/notifications.js +22 -0
  230. package/ccw/src/templates/dashboard-js/components/version-check.js +38 -0
  231. package/ccw/src/templates/dashboard-js/i18n.js +601 -1
  232. package/ccw/src/templates/dashboard-js/state.js +2 -0
  233. package/ccw/src/templates/dashboard-js/views/cli-manager.js +4 -3
  234. package/ccw/src/templates/dashboard-js/views/issue-manager.js +183 -1
  235. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +55 -11
  236. package/ccw/src/templates/dashboard-js/views/loop-monitor.js +3345 -0
  237. package/ccw/src/templates/dashboard.html +68 -4
  238. package/ccw/src/tools/claude-cli-tools.ts +143 -0
  239. package/ccw/src/tools/codex-lens-lsp.ts +2 -5
  240. package/ccw/src/tools/codex-lens.ts +27 -38
  241. package/ccw/src/tools/litellm-client.ts +16 -2
  242. package/ccw/src/tools/loop-manager.ts +519 -0
  243. package/ccw/src/tools/loop-state-manager.ts +173 -0
  244. package/ccw/src/tools/loop-task-manager.ts +391 -0
  245. package/ccw/src/tools/native-session-discovery.ts +38 -7
  246. package/ccw/src/types/index.ts +1 -0
  247. package/ccw/src/types/loop.ts +316 -0
  248. package/ccw/src/utils/codexlens-path.ts +60 -0
  249. package/ccw/src/utils/uv-manager.ts +3 -2
  250. package/package.json +1 -1
@@ -2,6 +2,41 @@
2
2
  * Legacy Container Styles (kept for compatibility)
3
3
  * ======================================== */
4
4
 
5
+ /* CLI Stream Recovery Badge Styles */
6
+ .cli-stream-recovery-badge {
7
+ font-size: 0.5625rem;
8
+ font-weight: 600;
9
+ padding: 0.125rem 0.375rem;
10
+ background: hsl(38 92% 50% / 0.15);
11
+ color: hsl(38 92% 50%);
12
+ border-radius: 9999px;
13
+ text-transform: uppercase;
14
+ letter-spacing: 0.03em;
15
+ margin-left: 0.375rem;
16
+ }
17
+
18
+ .cli-status-recovery-badge {
19
+ font-size: 0.625rem;
20
+ font-weight: 600;
21
+ padding: 0.125rem 0.5rem;
22
+ background: hsl(38 92% 50% / 0.15);
23
+ color: hsl(38 92% 50%);
24
+ border-radius: 0.25rem;
25
+ text-transform: uppercase;
26
+ letter-spacing: 0.03em;
27
+ margin-left: 0.5rem;
28
+ }
29
+
30
+ /* Tab styling for recovered sessions */
31
+ .cli-stream-tab.recovered {
32
+ border-color: hsl(38 92% 50% / 0.3);
33
+ }
34
+
35
+ .cli-stream-tab.recovered .cli-stream-recovery-badge {
36
+ background: hsl(38 92% 50% / 0.2);
37
+ color: hsl(38 92% 55%);
38
+ }
39
+
5
40
  /* Container */
6
41
  .cli-manager-container {
7
42
  display: flex;
@@ -66,6 +101,27 @@
66
101
  color: hsl(var(--muted-foreground));
67
102
  }
68
103
 
104
+ /* CLI status actions container */
105
+ .cli-status-actions {
106
+ display: flex;
107
+ align-items: center;
108
+ gap: 0.375rem;
109
+ }
110
+
111
+ /* Spin animation for sync icon */
112
+ @keyframes spin {
113
+ from {
114
+ transform: rotate(0deg);
115
+ }
116
+ to {
117
+ transform: rotate(360deg);
118
+ }
119
+ }
120
+
121
+ .spin {
122
+ animation: spin 1s linear infinite;
123
+ }
124
+
69
125
  .cli-tools-grid {
70
126
  display: grid;
71
127
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
@@ -1508,6 +1508,38 @@
1508
1508
  transform: translateY(0);
1509
1509
  }
1510
1510
 
1511
+ .issue-pull-btn {
1512
+ display: inline-flex;
1513
+ align-items: center;
1514
+ gap: 0.375rem;
1515
+ padding: 0.5rem 1rem;
1516
+ background: #1a1a1a;
1517
+ color: #ffffff;
1518
+ border: 1px solid #2d2d2d;
1519
+ border-radius: 0.375rem;
1520
+ font-size: 0.875rem;
1521
+ font-weight: 500;
1522
+ cursor: pointer;
1523
+ transition: all 0.15s ease;
1524
+ }
1525
+
1526
+ .issue-pull-btn:hover {
1527
+ background: #2d2d2d;
1528
+ border-color: #404040;
1529
+ transform: translateY(-1px);
1530
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
1531
+ }
1532
+
1533
+ .issue-pull-btn:active {
1534
+ transform: translateY(0);
1535
+ background: #1a1a1a;
1536
+ }
1537
+
1538
+ .issue-pull-btn:disabled {
1539
+ opacity: 0.5;
1540
+ cursor: not-allowed;
1541
+ }
1542
+
1511
1543
  /* ==========================================
1512
1544
  ISSUE STATS
1513
1545
  ========================================== */
@@ -161,6 +161,8 @@
161
161
  display: flex;
162
162
  align-items: center;
163
163
  gap: 8px;
164
+ /* Isolate from parent transform to fix native tooltip positioning */
165
+ will-change: transform;
164
166
  }
165
167
 
166
168
  .cli-stream-action-btn {
@@ -196,6 +198,10 @@
196
198
  color: hsl(var(--muted-foreground));
197
199
  cursor: pointer;
198
200
  transition: all 0.15s;
201
+ /* Fix native tooltip positioning under transformed parent */
202
+ position: relative;
203
+ z-index: 1;
204
+ transform: translateZ(0);
199
205
  }
200
206
 
201
207
  .cli-stream-close-btn:hover {
@@ -203,6 +209,49 @@
203
209
  color: hsl(var(--destructive));
204
210
  }
205
211
 
212
+ /* Icon-only action buttons (cleaner style matching close button) */
213
+ .cli-stream-icon-btn {
214
+ display: flex;
215
+ align-items: center;
216
+ justify-content: center;
217
+ width: 28px;
218
+ height: 28px;
219
+ padding: 0;
220
+ background: transparent;
221
+ border: none;
222
+ border-radius: 4px;
223
+ color: hsl(var(--muted-foreground));
224
+ cursor: pointer;
225
+ transition: all 0.15s;
226
+ /* Fix native tooltip positioning under transformed parent */
227
+ position: relative;
228
+ z-index: 1;
229
+ /* Create new stacking context to isolate from parent transform */
230
+ transform: translateZ(0);
231
+ }
232
+
233
+ .cli-stream-icon-btn svg {
234
+ width: 16px;
235
+ height: 16px;
236
+ }
237
+
238
+ .cli-stream-icon-btn:hover {
239
+ background: hsl(var(--hover));
240
+ color: hsl(var(--foreground));
241
+ }
242
+
243
+ .cli-stream-icon-btn:first-child:hover {
244
+ /* Clear completed - green/success tint */
245
+ background: hsl(142 76% 36% / 0.1);
246
+ color: hsl(142 76% 36%);
247
+ }
248
+
249
+ .cli-stream-icon-btn:nth-child(2):hover {
250
+ /* Clear all - orange/warning tint */
251
+ background: hsl(38 92% 50% / 0.1);
252
+ color: hsl(38 92% 50%);
253
+ }
254
+
206
255
  /* ===== Tab Bar ===== */
207
256
  .cli-stream-tabs {
208
257
  display: flex;
@@ -787,6 +836,12 @@
787
836
  animation: streamBadgePulse 1.5s ease-in-out infinite;
788
837
  }
789
838
 
839
+ .cli-stream-badge.has-completed {
840
+ display: flex;
841
+ background: hsl(var(--muted) / 0.8);
842
+ color: hsl(var(--muted-foreground));
843
+ }
844
+
790
845
  @keyframes streamBadgePulse {
791
846
  0%, 100% { transform: scale(1); }
792
847
  50% { transform: scale(1.15); }