@snoglobe/helios 0.3.6 → 0.4.1

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 (352) hide show
  1. package/dist/__tests__/db-helper.d.ts +8 -0
  2. package/dist/__tests__/db-helper.d.ts.map +1 -0
  3. package/dist/__tests__/db-helper.js +15 -0
  4. package/dist/__tests__/db-helper.js.map +1 -0
  5. package/dist/cli/replay.d.ts.map +1 -1
  6. package/dist/cli/replay.js +2 -3
  7. package/dist/cli/replay.js.map +1 -1
  8. package/dist/cli/sessions.d.ts.map +1 -1
  9. package/dist/cli/sessions.js +2 -1
  10. package/dist/cli/sessions.js.map +1 -1
  11. package/dist/config/project.test.d.ts +2 -0
  12. package/dist/config/project.test.d.ts.map +1 -0
  13. package/dist/config/project.test.js +219 -0
  14. package/dist/config/project.test.js.map +1 -0
  15. package/dist/core/orchestrator-integration.test.d.ts +2 -0
  16. package/dist/core/orchestrator-integration.test.d.ts.map +1 -0
  17. package/dist/core/orchestrator-integration.test.js +674 -0
  18. package/dist/core/orchestrator-integration.test.js.map +1 -0
  19. package/dist/core/orchestrator.d.ts +1 -0
  20. package/dist/core/orchestrator.d.ts.map +1 -1
  21. package/dist/core/orchestrator.js +129 -37
  22. package/dist/core/orchestrator.js.map +1 -1
  23. package/dist/core/orchestrator.test.d.ts +2 -0
  24. package/dist/core/orchestrator.test.d.ts.map +1 -0
  25. package/dist/core/orchestrator.test.js +982 -0
  26. package/dist/core/orchestrator.test.js.map +1 -0
  27. package/dist/core/state-machine.d.ts.map +1 -1
  28. package/dist/core/state-machine.js +3 -0
  29. package/dist/core/state-machine.js.map +1 -1
  30. package/dist/core/state-machine.test.d.ts +2 -0
  31. package/dist/core/state-machine.test.d.ts.map +1 -0
  32. package/dist/core/state-machine.test.js +95 -0
  33. package/dist/core/state-machine.test.js.map +1 -0
  34. package/dist/core/stickies.d.ts.map +1 -1
  35. package/dist/core/stickies.js +3 -0
  36. package/dist/core/stickies.js.map +1 -1
  37. package/dist/core/stickies.test.d.ts +2 -0
  38. package/dist/core/stickies.test.d.ts.map +1 -0
  39. package/dist/core/stickies.test.js +63 -0
  40. package/dist/core/stickies.test.js.map +1 -0
  41. package/dist/core/task-poller.d.ts +2 -1
  42. package/dist/core/task-poller.d.ts.map +1 -1
  43. package/dist/core/task-poller.js +25 -3
  44. package/dist/core/task-poller.js.map +1 -1
  45. package/dist/init.d.ts +2 -0
  46. package/dist/init.d.ts.map +1 -1
  47. package/dist/init.js +42 -7
  48. package/dist/init.js.map +1 -1
  49. package/dist/memory/context-gate.d.ts.map +1 -1
  50. package/dist/memory/context-gate.js +2 -1
  51. package/dist/memory/context-gate.js.map +1 -1
  52. package/dist/memory/context-gate.test.d.ts +2 -0
  53. package/dist/memory/context-gate.test.d.ts.map +1 -0
  54. package/dist/memory/context-gate.test.js +318 -0
  55. package/dist/memory/context-gate.test.js.map +1 -0
  56. package/dist/memory/experiment-tracker.test.d.ts +2 -0
  57. package/dist/memory/experiment-tracker.test.d.ts.map +1 -0
  58. package/dist/memory/experiment-tracker.test.js +325 -0
  59. package/dist/memory/experiment-tracker.test.js.map +1 -0
  60. package/dist/memory/global-memory.d.ts +0 -1
  61. package/dist/memory/global-memory.d.ts.map +1 -1
  62. package/dist/memory/global-memory.js +0 -14
  63. package/dist/memory/global-memory.js.map +1 -1
  64. package/dist/memory/memory-store.d.ts +2 -0
  65. package/dist/memory/memory-store.d.ts.map +1 -1
  66. package/dist/memory/memory-store.js +35 -28
  67. package/dist/memory/memory-store.js.map +1 -1
  68. package/dist/memory/memory-store.test.d.ts +2 -0
  69. package/dist/memory/memory-store.test.d.ts.map +1 -0
  70. package/dist/memory/memory-store.test.js +144 -0
  71. package/dist/memory/memory-store.test.js.map +1 -0
  72. package/dist/memory/token-estimator.test.d.ts +2 -0
  73. package/dist/memory/token-estimator.test.d.ts.map +1 -0
  74. package/dist/memory/token-estimator.test.js +42 -0
  75. package/dist/memory/token-estimator.test.js.map +1 -0
  76. package/dist/metrics/analyzer.test.d.ts +2 -0
  77. package/dist/metrics/analyzer.test.d.ts.map +1 -0
  78. package/dist/metrics/analyzer.test.js +65 -0
  79. package/dist/metrics/analyzer.test.js.map +1 -0
  80. package/dist/metrics/parser.test.d.ts +2 -0
  81. package/dist/metrics/parser.test.d.ts.map +1 -0
  82. package/dist/metrics/parser.test.js +106 -0
  83. package/dist/metrics/parser.test.js.map +1 -0
  84. package/dist/metrics/store.d.ts +2 -0
  85. package/dist/metrics/store.d.ts.map +1 -1
  86. package/dist/metrics/store.js +26 -50
  87. package/dist/metrics/store.js.map +1 -1
  88. package/dist/metrics/store.test.d.ts +2 -0
  89. package/dist/metrics/store.test.d.ts.map +1 -0
  90. package/dist/metrics/store.test.js +148 -0
  91. package/dist/metrics/store.test.js.map +1 -0
  92. package/dist/paths.js +5 -5
  93. package/dist/paths.js.map +1 -1
  94. package/dist/providers/auth/auth-manager.d.ts +1 -0
  95. package/dist/providers/auth/auth-manager.d.ts.map +1 -1
  96. package/dist/providers/auth/auth-manager.js +8 -1
  97. package/dist/providers/auth/auth-manager.js.map +1 -1
  98. package/dist/providers/auth/auth-manager.test.d.ts +2 -0
  99. package/dist/providers/auth/auth-manager.test.d.ts.map +1 -0
  100. package/dist/providers/auth/auth-manager.test.js +364 -0
  101. package/dist/providers/auth/auth-manager.test.js.map +1 -0
  102. package/dist/providers/auth/token-store.js +2 -2
  103. package/dist/providers/auth/token-store.js.map +1 -1
  104. package/dist/providers/claude/history.test.d.ts +2 -0
  105. package/dist/providers/claude/history.test.d.ts.map +1 -0
  106. package/dist/providers/claude/history.test.js +757 -0
  107. package/dist/providers/claude/history.test.js.map +1 -0
  108. package/dist/providers/claude/provider.d.ts +2 -1
  109. package/dist/providers/claude/provider.d.ts.map +1 -1
  110. package/dist/providers/claude/provider.js +87 -25
  111. package/dist/providers/claude/provider.js.map +1 -1
  112. package/dist/providers/claude/provider.test.d.ts +2 -0
  113. package/dist/providers/claude/provider.test.d.ts.map +1 -0
  114. package/dist/providers/claude/provider.test.js +1168 -0
  115. package/dist/providers/claude/provider.test.js.map +1 -0
  116. package/dist/providers/openai/history.test.d.ts +2 -0
  117. package/dist/providers/openai/history.test.d.ts.map +1 -0
  118. package/dist/providers/openai/history.test.js +657 -0
  119. package/dist/providers/openai/history.test.js.map +1 -0
  120. package/dist/providers/openai/provider.d.ts +2 -1
  121. package/dist/providers/openai/provider.d.ts.map +1 -1
  122. package/dist/providers/openai/provider.js +75 -22
  123. package/dist/providers/openai/provider.js.map +1 -1
  124. package/dist/providers/openai/provider.test.d.ts +2 -0
  125. package/dist/providers/openai/provider.test.d.ts.map +1 -0
  126. package/dist/providers/openai/provider.test.js +1093 -0
  127. package/dist/providers/openai/provider.test.js.map +1 -0
  128. package/dist/providers/retry.test.d.ts +2 -0
  129. package/dist/providers/retry.test.d.ts.map +1 -0
  130. package/dist/providers/retry.test.js +194 -0
  131. package/dist/providers/retry.test.js.map +1 -0
  132. package/dist/providers/sse.d.ts +1 -0
  133. package/dist/providers/sse.d.ts.map +1 -1
  134. package/dist/providers/sse.js +29 -20
  135. package/dist/providers/sse.js.map +1 -1
  136. package/dist/providers/sse.test.d.ts +2 -0
  137. package/dist/providers/sse.test.d.ts.map +1 -0
  138. package/dist/providers/sse.test.js +79 -0
  139. package/dist/providers/sse.test.js.map +1 -0
  140. package/dist/providers/types.d.ts +3 -0
  141. package/dist/providers/types.d.ts.map +1 -1
  142. package/dist/providers/types.js.map +1 -1
  143. package/dist/providers/types.test.d.ts +2 -0
  144. package/dist/providers/types.test.d.ts.map +1 -0
  145. package/dist/providers/types.test.js +112 -0
  146. package/dist/providers/types.test.js.map +1 -0
  147. package/dist/remote/connection-pool.d.ts.map +1 -1
  148. package/dist/remote/connection-pool.js +24 -3
  149. package/dist/remote/connection-pool.js.map +1 -1
  150. package/dist/remote/file-sync.d.ts.map +1 -1
  151. package/dist/remote/file-sync.js +4 -3
  152. package/dist/remote/file-sync.js.map +1 -1
  153. package/dist/scheduler/sleep-manager.d.ts.map +1 -1
  154. package/dist/scheduler/sleep-manager.js +9 -2
  155. package/dist/scheduler/sleep-manager.js.map +1 -1
  156. package/dist/scheduler/sleep-manager.test.d.ts +2 -0
  157. package/dist/scheduler/sleep-manager.test.d.ts.map +1 -0
  158. package/dist/scheduler/sleep-manager.test.js +491 -0
  159. package/dist/scheduler/sleep-manager.test.js.map +1 -0
  160. package/dist/scheduler/ssh-batcher.d.ts.map +1 -1
  161. package/dist/scheduler/ssh-batcher.js +6 -4
  162. package/dist/scheduler/ssh-batcher.js.map +1 -1
  163. package/dist/scheduler/ssh-batcher.test.d.ts +2 -0
  164. package/dist/scheduler/ssh-batcher.test.d.ts.map +1 -0
  165. package/dist/scheduler/ssh-batcher.test.js +76 -0
  166. package/dist/scheduler/ssh-batcher.test.js.map +1 -0
  167. package/dist/scheduler/state-store.d.ts.map +1 -1
  168. package/dist/scheduler/state-store.js +1 -2
  169. package/dist/scheduler/state-store.js.map +1 -1
  170. package/dist/scheduler/trigger-scheduler.d.ts.map +1 -1
  171. package/dist/scheduler/trigger-scheduler.js +59 -36
  172. package/dist/scheduler/trigger-scheduler.js.map +1 -1
  173. package/dist/scheduler/trigger-scheduler.test.d.ts +2 -0
  174. package/dist/scheduler/trigger-scheduler.test.d.ts.map +1 -0
  175. package/dist/scheduler/trigger-scheduler.test.js +483 -0
  176. package/dist/scheduler/trigger-scheduler.test.js.map +1 -0
  177. package/dist/scheduler/triggers/file.d.ts.map +1 -1
  178. package/dist/scheduler/triggers/file.js +12 -3
  179. package/dist/scheduler/triggers/file.js.map +1 -1
  180. package/dist/scheduler/triggers/file.test.d.ts +2 -0
  181. package/dist/scheduler/triggers/file.test.d.ts.map +1 -0
  182. package/dist/scheduler/triggers/file.test.js +294 -0
  183. package/dist/scheduler/triggers/file.test.js.map +1 -0
  184. package/dist/scheduler/triggers/metric.d.ts +3 -1
  185. package/dist/scheduler/triggers/metric.d.ts.map +1 -1
  186. package/dist/scheduler/triggers/metric.js +12 -8
  187. package/dist/scheduler/triggers/metric.js.map +1 -1
  188. package/dist/scheduler/triggers/metric.test.d.ts +2 -0
  189. package/dist/scheduler/triggers/metric.test.d.ts.map +1 -0
  190. package/dist/scheduler/triggers/metric.test.js +533 -0
  191. package/dist/scheduler/triggers/metric.test.js.map +1 -0
  192. package/dist/scheduler/triggers/process-exit.d.ts.map +1 -1
  193. package/dist/scheduler/triggers/process-exit.js +2 -1
  194. package/dist/scheduler/triggers/process-exit.js.map +1 -1
  195. package/dist/scheduler/triggers/process-exit.test.d.ts +2 -0
  196. package/dist/scheduler/triggers/process-exit.test.d.ts.map +1 -0
  197. package/dist/scheduler/triggers/process-exit.test.js +118 -0
  198. package/dist/scheduler/triggers/process-exit.test.js.map +1 -0
  199. package/dist/scheduler/triggers/resource.d.ts.map +1 -1
  200. package/dist/scheduler/triggers/resource.js +2 -10
  201. package/dist/scheduler/triggers/resource.js.map +1 -1
  202. package/dist/scheduler/triggers/resource.test.d.ts +2 -0
  203. package/dist/scheduler/triggers/resource.test.d.ts.map +1 -0
  204. package/dist/scheduler/triggers/resource.test.js +225 -0
  205. package/dist/scheduler/triggers/resource.test.js.map +1 -0
  206. package/dist/scheduler/triggers/timer.test.d.ts +2 -0
  207. package/dist/scheduler/triggers/timer.test.d.ts.map +1 -0
  208. package/dist/scheduler/triggers/timer.test.js +56 -0
  209. package/dist/scheduler/triggers/timer.test.js.map +1 -0
  210. package/dist/scheduler/triggers/types.d.ts +4 -2
  211. package/dist/scheduler/triggers/types.d.ts.map +1 -1
  212. package/dist/scheduler/triggers/types.js +0 -1
  213. package/dist/scheduler/triggers/types.js.map +1 -1
  214. package/dist/skills/executor.d.ts.map +1 -1
  215. package/dist/skills/executor.js +13 -15
  216. package/dist/skills/executor.js.map +1 -1
  217. package/dist/store/database.d.ts +5 -0
  218. package/dist/store/database.d.ts.map +1 -1
  219. package/dist/store/database.js +17 -1
  220. package/dist/store/database.js.map +1 -1
  221. package/dist/store/migrations.d.ts.map +1 -1
  222. package/dist/store/migrations.js +7 -0
  223. package/dist/store/migrations.js.map +1 -1
  224. package/dist/store/migrations.test.d.ts +2 -0
  225. package/dist/store/migrations.test.d.ts.map +1 -0
  226. package/dist/store/migrations.test.js +278 -0
  227. package/dist/store/migrations.test.js.map +1 -0
  228. package/dist/store/session-store-edge.test.d.ts +2 -0
  229. package/dist/store/session-store-edge.test.d.ts.map +1 -0
  230. package/dist/store/session-store-edge.test.js +522 -0
  231. package/dist/store/session-store-edge.test.js.map +1 -0
  232. package/dist/store/session-store.d.ts +28 -1
  233. package/dist/store/session-store.d.ts.map +1 -1
  234. package/dist/store/session-store.js +62 -26
  235. package/dist/store/session-store.js.map +1 -1
  236. package/dist/store/session-store.test.d.ts +2 -0
  237. package/dist/store/session-store.test.d.ts.map +1 -0
  238. package/dist/store/session-store.test.js +125 -0
  239. package/dist/store/session-store.test.js.map +1 -0
  240. package/dist/subagent/executor.d.ts +24 -0
  241. package/dist/subagent/executor.d.ts.map +1 -0
  242. package/dist/subagent/executor.js +140 -0
  243. package/dist/subagent/executor.js.map +1 -0
  244. package/dist/subagent/manager.d.ts +20 -0
  245. package/dist/subagent/manager.d.ts.map +1 -0
  246. package/dist/subagent/manager.js +100 -0
  247. package/dist/subagent/manager.js.map +1 -0
  248. package/dist/subagent/scoped-memory.d.ts +28 -0
  249. package/dist/subagent/scoped-memory.d.ts.map +1 -0
  250. package/dist/subagent/scoped-memory.js +122 -0
  251. package/dist/subagent/scoped-memory.js.map +1 -0
  252. package/dist/subagent/types.d.ts +27 -0
  253. package/dist/subagent/types.d.ts.map +1 -0
  254. package/dist/subagent/types.js +2 -0
  255. package/dist/subagent/types.js.map +1 -0
  256. package/dist/tools/file-ops.d.ts.map +1 -1
  257. package/dist/tools/file-ops.js +23 -13
  258. package/dist/tools/file-ops.js.map +1 -1
  259. package/dist/tools/file-ops.test.d.ts +2 -0
  260. package/dist/tools/file-ops.test.d.ts.map +1 -0
  261. package/dist/tools/file-ops.test.js +656 -0
  262. package/dist/tools/file-ops.test.js.map +1 -0
  263. package/dist/tools/memory-tools.test.d.ts +2 -0
  264. package/dist/tools/memory-tools.test.d.ts.map +1 -0
  265. package/dist/tools/memory-tools.test.js +273 -0
  266. package/dist/tools/memory-tools.test.js.map +1 -0
  267. package/dist/tools/sleep.d.ts.map +1 -1
  268. package/dist/tools/sleep.js +19 -7
  269. package/dist/tools/sleep.js.map +1 -1
  270. package/dist/tools/subagent.d.ts +10 -0
  271. package/dist/tools/subagent.d.ts.map +1 -0
  272. package/dist/tools/subagent.js +164 -0
  273. package/dist/tools/subagent.js.map +1 -0
  274. package/dist/tools/task-output.d.ts.map +1 -1
  275. package/dist/tools/task-output.js +13 -2
  276. package/dist/tools/task-output.js.map +1 -1
  277. package/dist/ui/components/input-bar.d.ts +1 -1
  278. package/dist/ui/components/input-bar.d.ts.map +1 -1
  279. package/dist/ui/components/input-bar.js +3 -3
  280. package/dist/ui/components/input-bar.js.map +1 -1
  281. package/dist/ui/components/input-bar.test.d.ts +2 -0
  282. package/dist/ui/components/input-bar.test.d.ts.map +1 -0
  283. package/dist/ui/components/input-bar.test.js +380 -0
  284. package/dist/ui/components/input-bar.test.js.map +1 -0
  285. package/dist/ui/components/key-hint-rule.d.ts +2 -1
  286. package/dist/ui/components/key-hint-rule.d.ts.map +1 -1
  287. package/dist/ui/components/key-hint-rule.js +3 -3
  288. package/dist/ui/components/key-hint-rule.js.map +1 -1
  289. package/dist/ui/components/status-bar.d.ts +1 -1
  290. package/dist/ui/components/status-bar.d.ts.map +1 -1
  291. package/dist/ui/components/status-bar.js +11 -10
  292. package/dist/ui/components/status-bar.js.map +1 -1
  293. package/dist/ui/components/status-bar.test.d.ts +2 -0
  294. package/dist/ui/components/status-bar.test.d.ts.map +1 -0
  295. package/dist/ui/components/status-bar.test.js +206 -0
  296. package/dist/ui/components/status-bar.test.js.map +1 -0
  297. package/dist/ui/format.d.ts +9 -0
  298. package/dist/ui/format.d.ts.map +1 -1
  299. package/dist/ui/format.js +21 -0
  300. package/dist/ui/format.js.map +1 -1
  301. package/dist/ui/format.test.d.ts +2 -0
  302. package/dist/ui/format.test.d.ts.map +1 -0
  303. package/dist/ui/format.test.js +122 -0
  304. package/dist/ui/format.test.js.map +1 -0
  305. package/dist/ui/layout.d.ts.map +1 -1
  306. package/dist/ui/layout.js +123 -16
  307. package/dist/ui/layout.js.map +1 -1
  308. package/dist/ui/markdown.test.d.ts +2 -0
  309. package/dist/ui/markdown.test.d.ts.map +1 -0
  310. package/dist/ui/markdown.test.js +133 -0
  311. package/dist/ui/markdown.test.js.map +1 -0
  312. package/dist/ui/mouse-filter.test.d.ts +2 -0
  313. package/dist/ui/mouse-filter.test.d.ts.map +1 -0
  314. package/dist/ui/mouse-filter.test.js +231 -0
  315. package/dist/ui/mouse-filter.test.js.map +1 -0
  316. package/dist/ui/overlays/metrics-overlay.test.d.ts +2 -0
  317. package/dist/ui/overlays/metrics-overlay.test.d.ts.map +1 -0
  318. package/dist/ui/overlays/metrics-overlay.test.js +248 -0
  319. package/dist/ui/overlays/metrics-overlay.test.js.map +1 -0
  320. package/dist/ui/overlays/task-overlay.test.d.ts +2 -0
  321. package/dist/ui/overlays/task-overlay.test.d.ts.map +1 -0
  322. package/dist/ui/overlays/task-overlay.test.js +238 -0
  323. package/dist/ui/overlays/task-overlay.test.js.map +1 -0
  324. package/dist/ui/panels/conversation.d.ts.map +1 -1
  325. package/dist/ui/panels/conversation.js +60 -5
  326. package/dist/ui/panels/conversation.js.map +1 -1
  327. package/dist/ui/panels/conversation.test.d.ts +2 -0
  328. package/dist/ui/panels/conversation.test.d.ts.map +1 -0
  329. package/dist/ui/panels/conversation.test.js +381 -0
  330. package/dist/ui/panels/conversation.test.js.map +1 -0
  331. package/dist/ui/panels/metrics-dashboard.test.d.ts +2 -0
  332. package/dist/ui/panels/metrics-dashboard.test.d.ts.map +1 -0
  333. package/dist/ui/panels/metrics-dashboard.test.js +191 -0
  334. package/dist/ui/panels/metrics-dashboard.test.js.map +1 -0
  335. package/dist/ui/panels/sleep-panel.test.d.ts +2 -0
  336. package/dist/ui/panels/sleep-panel.test.d.ts.map +1 -0
  337. package/dist/ui/panels/sleep-panel.test.js +376 -0
  338. package/dist/ui/panels/sleep-panel.test.js.map +1 -0
  339. package/dist/ui/panels/task-list.d.ts.map +1 -1
  340. package/dist/ui/panels/task-list.js +5 -6
  341. package/dist/ui/panels/task-list.js.map +1 -1
  342. package/dist/ui/panels/task-list.test.d.ts +2 -0
  343. package/dist/ui/panels/task-list.test.d.ts.map +1 -0
  344. package/dist/ui/panels/task-list.test.js +210 -0
  345. package/dist/ui/panels/task-list.test.js.map +1 -0
  346. package/dist/ui/theme.test.d.ts +2 -0
  347. package/dist/ui/theme.test.d.ts.map +1 -0
  348. package/dist/ui/theme.test.js +159 -0
  349. package/dist/ui/theme.test.js.map +1 -0
  350. package/dist/ui/types.d.ts +3 -0
  351. package/dist/ui/types.d.ts.map +1 -1
  352. package/package.json +6 -2
@@ -0,0 +1,238 @@
1
+ import { describe, it, expect } from "vitest";
2
+ // ─── Selection Logic ────────────────────────────────────
3
+ function selectionUp(current, tasksLength) {
4
+ if (tasksLength === 0)
5
+ return current;
6
+ return Math.max(0, current - 1);
7
+ }
8
+ function selectionDown(current, tasksLength) {
9
+ if (tasksLength === 0)
10
+ return current;
11
+ return Math.min(tasksLength - 1, current + 1);
12
+ }
13
+ function clampSelection(selectedIndex, tasksLength) {
14
+ if (tasksLength === 0)
15
+ return selectedIndex;
16
+ if (selectedIndex >= tasksLength)
17
+ return tasksLength - 1;
18
+ return selectedIndex;
19
+ }
20
+ function selectedTask(tasks, selectedIndex) {
21
+ return tasks[selectedIndex] ?? null;
22
+ }
23
+ // ─── Layout Calculations ────────────────────────────────
24
+ function listWidth(width) {
25
+ return Math.min(35, Math.floor(width * 0.3));
26
+ }
27
+ function outputWidth(width) {
28
+ const lw = listWidth(width);
29
+ return width - lw - 1; // 1 for separator
30
+ }
31
+ function bodyHeight(height) {
32
+ return height - 2; // header + hint
33
+ }
34
+ // ─── Task Status Logic ──────────────────────────────────
35
+ function taskIcon(status) {
36
+ // G.dot for running, G.dotDim for completed, G.active for failed
37
+ if (status === "running")
38
+ return "◆";
39
+ if (status === "completed")
40
+ return "◇";
41
+ return "▸";
42
+ }
43
+ function taskColor(status) {
44
+ if (status === "running")
45
+ return "yellow"; // C.primary
46
+ if (status === "completed")
47
+ return "green"; // C.success
48
+ return "red"; // C.error
49
+ }
50
+ // ─── Output Fetching Error Pattern ──────────────────────
51
+ function formatError(err) {
52
+ return err instanceof Error ? err.message : String(err);
53
+ }
54
+ function getOutputState(selected, hasExecutor, hasLogPath) {
55
+ if (!selected || !hasExecutor)
56
+ return "empty";
57
+ if (!hasLogPath)
58
+ return "no_log";
59
+ return "fetch";
60
+ }
61
+ // ─── Tests ──────────────────────────────────────────────
62
+ describe("TaskOverlay — selection navigation", () => {
63
+ it("up from 0 stays at 0", () => {
64
+ expect(selectionUp(0, 5)).toBe(0);
65
+ });
66
+ it("up decrements by 1", () => {
67
+ expect(selectionUp(3, 5)).toBe(2);
68
+ });
69
+ it("down increments by 1", () => {
70
+ expect(selectionDown(0, 5)).toBe(1);
71
+ });
72
+ it("down from last entry stays at last", () => {
73
+ expect(selectionDown(4, 5)).toBe(4);
74
+ });
75
+ it("up with empty tasks returns current", () => {
76
+ expect(selectionUp(0, 0)).toBe(0);
77
+ });
78
+ it("down with empty tasks returns current", () => {
79
+ expect(selectionDown(0, 0)).toBe(0);
80
+ });
81
+ it("up from index 1 goes to 0", () => {
82
+ expect(selectionUp(1, 10)).toBe(0);
83
+ });
84
+ it("down with single task stays at 0", () => {
85
+ expect(selectionDown(0, 1)).toBe(0);
86
+ });
87
+ it("sequential down traversal", () => {
88
+ let idx = 0;
89
+ idx = selectionDown(idx, 3); // 1
90
+ idx = selectionDown(idx, 3); // 2
91
+ idx = selectionDown(idx, 3); // 2 (clamped)
92
+ expect(idx).toBe(2);
93
+ });
94
+ it("sequential up traversal", () => {
95
+ let idx = 4;
96
+ idx = selectionUp(idx, 5); // 3
97
+ idx = selectionUp(idx, 5); // 2
98
+ idx = selectionUp(idx, 5); // 1
99
+ idx = selectionUp(idx, 5); // 0
100
+ idx = selectionUp(idx, 5); // 0 (clamped)
101
+ expect(idx).toBe(0);
102
+ });
103
+ });
104
+ describe("TaskOverlay — selection clamping", () => {
105
+ it("clamps index when tasks shrink", () => {
106
+ expect(clampSelection(5, 3)).toBe(2);
107
+ });
108
+ it("does not clamp valid index", () => {
109
+ expect(clampSelection(1, 3)).toBe(1);
110
+ });
111
+ it("clamps to 0 for single task", () => {
112
+ expect(clampSelection(5, 1)).toBe(0);
113
+ });
114
+ it("returns current for empty tasks (no clamping)", () => {
115
+ expect(clampSelection(3, 0)).toBe(3);
116
+ });
117
+ it("exact boundary: index == length clamps to length - 1", () => {
118
+ expect(clampSelection(3, 3)).toBe(2);
119
+ });
120
+ it("index 0 with tasks stays at 0", () => {
121
+ expect(clampSelection(0, 5)).toBe(0);
122
+ });
123
+ it("index 0 with single task stays at 0", () => {
124
+ expect(clampSelection(0, 1)).toBe(0);
125
+ });
126
+ });
127
+ describe("TaskOverlay — selected task lookup", () => {
128
+ const tasks = [
129
+ { id: "t1", name: "train", status: "running", machineId: "gpu-0", pid: 1234, startedAt: 1000 },
130
+ { id: "t2", name: "eval", status: "completed", machineId: "gpu-1", pid: 5678, startedAt: 2000 },
131
+ { id: "t3", name: "preprocess", status: "failed", machineId: "cpu-0", startedAt: 3000 },
132
+ ];
133
+ it("returns task at valid index", () => {
134
+ expect(selectedTask(tasks, 0)?.id).toBe("t1");
135
+ expect(selectedTask(tasks, 1)?.id).toBe("t2");
136
+ expect(selectedTask(tasks, 2)?.id).toBe("t3");
137
+ });
138
+ it("returns null for out-of-bounds index", () => {
139
+ expect(selectedTask(tasks, 5)).toBeNull();
140
+ expect(selectedTask(tasks, -1)).toBeNull();
141
+ });
142
+ it("returns null for empty task list", () => {
143
+ expect(selectedTask([], 0)).toBeNull();
144
+ });
145
+ });
146
+ describe("TaskOverlay — empty task list handling", () => {
147
+ it("empty tasks array has length 0", () => {
148
+ const tasks = [];
149
+ expect(tasks.length).toBe(0);
150
+ });
151
+ it("selected is null with empty tasks", () => {
152
+ expect(selectedTask([], 0)).toBeNull();
153
+ });
154
+ it("navigation is no-op with empty tasks", () => {
155
+ expect(selectionUp(0, 0)).toBe(0);
156
+ expect(selectionDown(0, 0)).toBe(0);
157
+ });
158
+ });
159
+ describe("TaskOverlay — layout calculations", () => {
160
+ it("list width is 30% of total, max 35", () => {
161
+ expect(listWidth(100)).toBe(30);
162
+ expect(listWidth(120)).toBe(35); // min(35, 36) = 35
163
+ expect(listWidth(200)).toBe(35); // capped at 35
164
+ });
165
+ it("list width for narrow terminals", () => {
166
+ expect(listWidth(50)).toBe(15);
167
+ expect(listWidth(30)).toBe(9);
168
+ });
169
+ it("output width fills remaining space minus separator", () => {
170
+ // width=100: listWidth=30, output=100-30-1=69
171
+ expect(outputWidth(100)).toBe(69);
172
+ });
173
+ it("output width with wide terminal", () => {
174
+ // width=200: listWidth=35, output=200-35-1=164
175
+ expect(outputWidth(200)).toBe(164);
176
+ });
177
+ it("body height subtracts 2 for header and hint", () => {
178
+ expect(bodyHeight(40)).toBe(38);
179
+ expect(bodyHeight(10)).toBe(8);
180
+ expect(bodyHeight(2)).toBe(0);
181
+ });
182
+ it("body height can go negative for very small heights", () => {
183
+ expect(bodyHeight(1)).toBe(-1);
184
+ expect(bodyHeight(0)).toBe(-2);
185
+ });
186
+ });
187
+ describe("TaskOverlay — task status icons and colors", () => {
188
+ it("running task gets filled dot and primary color", () => {
189
+ expect(taskIcon("running")).toBe("◆");
190
+ expect(taskColor("running")).toBe("yellow");
191
+ });
192
+ it("completed task gets hollow dot and success color", () => {
193
+ expect(taskIcon("completed")).toBe("◇");
194
+ expect(taskColor("completed")).toBe("green");
195
+ });
196
+ it("failed task gets arrow and error color", () => {
197
+ expect(taskIcon("failed")).toBe("▸");
198
+ expect(taskColor("failed")).toBe("red");
199
+ });
200
+ });
201
+ describe("TaskOverlay — output fetching error handling", () => {
202
+ it("returns empty when no selected task", () => {
203
+ expect(getOutputState(null, true, true)).toBe("empty");
204
+ });
205
+ it("returns empty when no executor", () => {
206
+ const task = { id: "t1", name: "x", status: "running", machineId: "m1", startedAt: 0 };
207
+ expect(getOutputState(task, false, true)).toBe("empty");
208
+ });
209
+ it("returns no_log when process has no log path", () => {
210
+ const task = { id: "t1", name: "x", status: "running", machineId: "m1", startedAt: 0 };
211
+ expect(getOutputState(task, true, false)).toBe("no_log");
212
+ });
213
+ it("returns fetch when all conditions met", () => {
214
+ const task = { id: "t1", name: "x", status: "running", machineId: "m1", startedAt: 0 };
215
+ expect(getOutputState(task, true, true)).toBe("fetch");
216
+ });
217
+ it("formatError extracts Error message", () => {
218
+ expect(formatError(new Error("ssh timeout"))).toBe("ssh timeout");
219
+ });
220
+ it("formatError converts non-Error to string", () => {
221
+ expect(formatError("connection refused")).toBe("connection refused");
222
+ expect(formatError(42)).toBe("42");
223
+ expect(formatError(null)).toBe("null");
224
+ });
225
+ });
226
+ describe("TaskOverlay — separator height", () => {
227
+ it("separator string has bodyHeight lines", () => {
228
+ const h = bodyHeight(10); // 8
229
+ const separatorLines = Array.from({ length: h }, () => "│").join("\n");
230
+ expect(separatorLines.split("\n").length).toBe(8);
231
+ });
232
+ it("empty separator for 0 body height", () => {
233
+ const h = bodyHeight(2); // 0
234
+ const lines = Array.from({ length: h }, () => "│");
235
+ expect(lines.length).toBe(0);
236
+ });
237
+ });
238
+ //# sourceMappingURL=task-overlay.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-overlay.test.js","sourceRoot":"","sources":["../../../src/ui/overlays/task-overlay.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/ui/panels/conversation.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,aAAa,CAAC;AAKrD,eAAO,MAAM,WAAW;aAAqD,OAAO;EAyClF,CAAC;AAaH,wBAAgB,gBAAgB,4CAS/B"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/ui/panels/conversation.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,aAAa,CAAC;AAKrD,eAAO,MAAM,WAAW;aAAqD,OAAO;EAyClF,CAAC;AA2CH,wBAAgB,gBAAgB,4CAS/B"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { useState, useEffect, memo, useMemo } from "react";
2
+ import { useState, useEffect, useRef, memo, useMemo } from "react";
3
3
  import { Box, Text } from "ink";
4
4
  import { C, G, METRIC_COLORS, nameHash } from "../theme.js";
5
5
  import { renderMarkdown } from "../markdown.js";
@@ -23,8 +23,35 @@ export const MessageLine = memo(function MessageLine({ message }) {
23
23
  return (_jsx(Box, { paddingLeft: 2, children: _jsx(Text, { wrap: "wrap", children: content }) }));
24
24
  }
25
25
  });
26
+ const MD_THROTTLE_MS = 150;
26
27
  function AssistantMessage({ content }) {
27
- const rendered = useMemo(() => renderMarkdown(content), [content]);
28
+ const [rendered, setRendered] = useState(() => renderMarkdown(content));
29
+ const timerRef = useRef(null);
30
+ const lastRenderTimeRef = useRef(Date.now());
31
+ const lastContentRef = useRef(content);
32
+ useEffect(() => {
33
+ // Skip if content hasn't changed (avoids double-render on mount)
34
+ if (lastContentRef.current === content && rendered)
35
+ return;
36
+ lastContentRef.current = content;
37
+ if (timerRef.current)
38
+ clearTimeout(timerRef.current);
39
+ const elapsed = Date.now() - lastRenderTimeRef.current;
40
+ if (elapsed >= MD_THROTTLE_MS) {
41
+ lastRenderTimeRef.current = Date.now();
42
+ setRendered(renderMarkdown(content));
43
+ }
44
+ else {
45
+ timerRef.current = setTimeout(() => {
46
+ lastRenderTimeRef.current = Date.now();
47
+ setRendered(renderMarkdown(content));
48
+ }, MD_THROTTLE_MS - elapsed);
49
+ }
50
+ return () => {
51
+ if (timerRef.current)
52
+ clearTimeout(timerRef.current);
53
+ };
54
+ }, [content]);
28
55
  return (_jsx(Box, { paddingLeft: 2, children: _jsx(Text, { wrap: "wrap", children: rendered }) }));
29
56
  }
30
57
  const PULSE_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
@@ -50,6 +77,12 @@ function ToolCallBlock({ tool }) {
50
77
  return _jsx(FileSyncDisplay, { tool: tool });
51
78
  case "sleep":
52
79
  return _jsx(SleepDisplay, { tool: tool });
80
+ case "subagent":
81
+ return _jsx(SubagentDisplay, { tool: tool });
82
+ case "subagent_status":
83
+ return _jsx(SubagentStatusDisplay, { tool: tool });
84
+ case "subagent_result":
85
+ return _jsx(SubagentResultDisplay, { tool: tool });
53
86
  case "start_monitor":
54
87
  return _jsx(MonitorDisplay, { tool: tool });
55
88
  case "stop_monitor":
@@ -84,7 +117,7 @@ function parseResult(tool) {
84
117
  function ExecDisplay({ tool }) {
85
118
  const machine = tool.args.machine_id ?? "?";
86
119
  const command = tool.args.command ?? "";
87
- const result = parseResult(tool);
120
+ const result = useMemo(() => parseResult(tool), [tool.result]);
88
121
  const stdout = result?.stdout;
89
122
  const stderr = result?.stderr;
90
123
  const exitCode = result?.exit_code;
@@ -127,7 +160,7 @@ function SleepDisplay({ tool }) {
127
160
  function TaskOutputDisplay({ tool }) {
128
161
  const machine = tool.args.machine_id ?? "?";
129
162
  const pid = tool.args.pid;
130
- const result = parseResult(tool);
163
+ const result = useMemo(() => parseResult(tool), [tool.result]);
131
164
  const output = result?.output;
132
165
  const running = result?.running;
133
166
  return (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsx(ToolHeader, { icon: "\u22B3", label: `${machine}:${pid}`, detail: running !== undefined ? (running ? "running" : "stopped") : undefined }), output ? (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.text, wrap: "wrap", children: trimOutput(output, 20) })] })) : !tool.result ? (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.dim, children: "fetching\u2026" })] })) : result?.error ? (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.error, children: String(result.error) })] })) : null] }));
@@ -140,7 +173,7 @@ function ListMachinesDisplay({ tool }) {
140
173
  }
141
174
  // ── show_metrics ────────────────────────────────────────────────────
142
175
  function ShowMetricsDisplay({ tool }) {
143
- const result = parseResult(tool);
176
+ const result = useMemo(() => parseResult(tool), [tool.result]);
144
177
  const metrics = (result?.metrics ?? []);
145
178
  const trendIcon = (trend) => {
146
179
  switch (trend) {
@@ -200,6 +233,28 @@ function CompareRunsDisplay({ tool }) {
200
233
  return (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: color, children: c.metric.padEnd(12) }), _jsx(Text, { color: C.dim, children: fmtVal(c.baseline?.latest ?? null) }), _jsx(Text, { color: C.dim, children: " → " }), _jsx(Text, { color: dirColor(c.direction), children: fmtVal(c.experiment?.latest ?? null) }), c.delta !== null ? (_jsxs(Text, { color: dirColor(c.direction), children: [" ", dirIcon(c.direction), " ", c.delta > 0 ? "+" : "", fmtVal(c.delta)] })) : null] }, c.metric));
201
234
  })) : !tool.result ? (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.dim, children: "comparing\u2026" })] })) : result?.error ? (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.error, children: String(result.error) })] })) : null] }));
202
235
  }
236
+ // ── subagent ─────────────────────────────────────────────────────────
237
+ function SubagentDisplay({ tool }) {
238
+ const task = tool.args.task ?? "";
239
+ const model = tool.args.model ?? "";
240
+ const result = parseResult(tool);
241
+ const id = result?.id;
242
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsx(ToolHeader, { icon: "\u2295", label: "subagent", detail: model ? `${model}` : undefined }), _jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.text, wrap: "wrap", children: truncate(task, 80) })] }), id && (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.dim, children: "id " }), _jsx(Text, { color: C.text, children: id })] })), tool.isError && tool.result && (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.error, children: truncate(tool.result, 80) })] }))] }));
243
+ }
244
+ function SubagentStatusDisplay({ tool }) {
245
+ const result = parseResult(tool);
246
+ const subagents = (result?.subagents ?? (result ? [result] : []));
247
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsx(ToolHeader, { icon: "\u2295", label: "subagent_status" }), subagents.length > 0 ? subagents.map((sa) => (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: sa.status === "running" ? C.primary : sa.status === "completed" ? C.success : C.error, children: sa.id }), _jsxs(Text, { color: C.dim, children: [" ", sa.status, " ", sa.elapsed, " $", sa.cost_usd?.toFixed(4) ?? "0"] })] }, sa.id))) : (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.dim, children: "no subagents" })] }))] }));
248
+ }
249
+ function SubagentResultDisplay({ tool }) {
250
+ const id = tool.args.id ?? "?";
251
+ const result = parseResult(tool);
252
+ const status = result?.status;
253
+ const text = result?.result;
254
+ const elapsed = result?.elapsed;
255
+ const costUsd = result?.cost_usd;
256
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, children: [_jsx(ToolHeader, { icon: "\u2295", label: `subagent_result ${id}`, detail: status === "running" ? "still running…" : elapsed ? `${elapsed}` : undefined }), text ? (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.text, wrap: "wrap", children: trimOutput(text, 20) })] })) : !tool.result ? (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsx(Text, { color: C.dim, children: "fetching\u2026" })] })) : null, costUsd !== undefined && (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: C.dim, dimColor: true, children: "┃ " }), _jsxs(Text, { color: C.dim, children: ["$", costUsd.toFixed(4)] })] }))] }));
257
+ }
203
258
  // ── Generic fallback ─────────────────────────────────────────────────
204
259
  function GenericToolDisplay({ tool }) {
205
260
  const argStr = Object.entries(tool.args)
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/ui/panels/conversation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/ui/panels/conversation.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=conversation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.test.d.ts","sourceRoot":"","sources":["../../../src/ui/panels/conversation.test.ts"],"names":[],"mappings":""}