@nex-ai/nex 0.1.65 → 0.2.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 (529) hide show
  1. package/README.md +190 -263
  2. package/bin/nex-mcp.js +50 -0
  3. package/bin/nex.js +53 -0
  4. package/package.json +15 -36
  5. package/dist/agent/adoption.d.ts +0 -23
  6. package/dist/agent/adoption.js +0 -87
  7. package/dist/agent/adoption.js.map +0 -1
  8. package/dist/agent/gossip.d.ts +0 -17
  9. package/dist/agent/gossip.js +0 -48
  10. package/dist/agent/gossip.js.map +0 -1
  11. package/dist/agent/loop.d.ts +0 -59
  12. package/dist/agent/loop.js +0 -389
  13. package/dist/agent/loop.js.map +0 -1
  14. package/dist/agent/queues.d.ts +0 -16
  15. package/dist/agent/queues.js +0 -44
  16. package/dist/agent/queues.js.map +0 -1
  17. package/dist/agent/session-store.d.ts +0 -21
  18. package/dist/agent/session-store.js +0 -96
  19. package/dist/agent/session-store.js.map +0 -1
  20. package/dist/agent/templates.d.ts +0 -5
  21. package/dist/agent/templates.js +0 -55
  22. package/dist/agent/templates.js.map +0 -1
  23. package/dist/agent/tools.d.ts +0 -25
  24. package/dist/agent/tools.js +0 -238
  25. package/dist/agent/tools.js.map +0 -1
  26. package/dist/agent/types.d.ts +0 -59
  27. package/dist/agent/types.js +0 -5
  28. package/dist/agent/types.js.map +0 -1
  29. package/dist/calendar/scheduler.d.ts +0 -32
  30. package/dist/calendar/scheduler.js +0 -178
  31. package/dist/calendar/scheduler.js.map +0 -1
  32. package/dist/calendar/store.d.ts +0 -15
  33. package/dist/calendar/store.js +0 -50
  34. package/dist/calendar/store.js.map +0 -1
  35. package/dist/calendar/types.d.ts +0 -17
  36. package/dist/calendar/types.js +0 -5
  37. package/dist/calendar/types.js.map +0 -1
  38. package/dist/chat/channel.d.ts +0 -20
  39. package/dist/chat/channel.js +0 -84
  40. package/dist/chat/channel.js.map +0 -1
  41. package/dist/chat/message-store.d.ts +0 -18
  42. package/dist/chat/message-store.js +0 -82
  43. package/dist/chat/message-store.js.map +0 -1
  44. package/dist/chat/router.d.ts +0 -17
  45. package/dist/chat/router.js +0 -65
  46. package/dist/chat/router.js.map +0 -1
  47. package/dist/chat/suggested-responses.d.ts +0 -6
  48. package/dist/chat/suggested-responses.js +0 -99
  49. package/dist/chat/suggested-responses.js.map +0 -1
  50. package/dist/chat/types.d.ts +0 -28
  51. package/dist/chat/types.js +0 -5
  52. package/dist/chat/types.js.map +0 -1
  53. package/dist/cli.d.ts +0 -5
  54. package/dist/cli.js +0 -20
  55. package/dist/cli.js.map +0 -1
  56. package/dist/commands/attribute.d.ts +0 -4
  57. package/dist/commands/attribute.js +0 -75
  58. package/dist/commands/attribute.js.map +0 -1
  59. package/dist/commands/config-cmd.d.ts +0 -4
  60. package/dist/commands/config-cmd.js +0 -53
  61. package/dist/commands/config-cmd.js.map +0 -1
  62. package/dist/commands/context.d.ts +0 -4
  63. package/dist/commands/context.js +0 -167
  64. package/dist/commands/context.js.map +0 -1
  65. package/dist/commands/dispatch.d.ts +0 -44
  66. package/dist/commands/dispatch.js +0 -1544
  67. package/dist/commands/dispatch.js.map +0 -1
  68. package/dist/commands/graph.d.ts +0 -5
  69. package/dist/commands/graph.js +0 -77
  70. package/dist/commands/graph.js.map +0 -1
  71. package/dist/commands/init.d.ts +0 -49
  72. package/dist/commands/init.js +0 -319
  73. package/dist/commands/init.js.map +0 -1
  74. package/dist/commands/insight.d.ts +0 -4
  75. package/dist/commands/insight.js +0 -39
  76. package/dist/commands/insight.js.map +0 -1
  77. package/dist/commands/integrate.d.ts +0 -4
  78. package/dist/commands/integrate.js +0 -361
  79. package/dist/commands/integrate.js.map +0 -1
  80. package/dist/commands/list-job.d.ts +0 -4
  81. package/dist/commands/list-job.js +0 -41
  82. package/dist/commands/list-job.js.map +0 -1
  83. package/dist/commands/list.d.ts +0 -4
  84. package/dist/commands/list.js +0 -148
  85. package/dist/commands/list.js.map +0 -1
  86. package/dist/commands/note.d.ts +0 -4
  87. package/dist/commands/note.js +0 -77
  88. package/dist/commands/note.js.map +0 -1
  89. package/dist/commands/object.d.ts +0 -4
  90. package/dist/commands/object.js +0 -78
  91. package/dist/commands/object.js.map +0 -1
  92. package/dist/commands/parse-input.d.ts +0 -5
  93. package/dist/commands/parse-input.js +0 -37
  94. package/dist/commands/parse-input.js.map +0 -1
  95. package/dist/commands/record.d.ts +0 -4
  96. package/dist/commands/record.js +0 -126
  97. package/dist/commands/record.js.map +0 -1
  98. package/dist/commands/register.d.ts +0 -4
  99. package/dist/commands/register.js +0 -23
  100. package/dist/commands/register.js.map +0 -1
  101. package/dist/commands/relationship.d.ts +0 -4
  102. package/dist/commands/relationship.js +0 -80
  103. package/dist/commands/relationship.js.map +0 -1
  104. package/dist/commands/scan.d.ts +0 -4
  105. package/dist/commands/scan.js +0 -111
  106. package/dist/commands/scan.js.map +0 -1
  107. package/dist/commands/search.d.ts +0 -4
  108. package/dist/commands/search.js +0 -62
  109. package/dist/commands/search.js.map +0 -1
  110. package/dist/commands/session.d.ts +0 -4
  111. package/dist/commands/session.js +0 -31
  112. package/dist/commands/session.js.map +0 -1
  113. package/dist/commands/setup.d.ts +0 -25
  114. package/dist/commands/setup.js +0 -584
  115. package/dist/commands/setup.js.map +0 -1
  116. package/dist/commands/task.d.ts +0 -4
  117. package/dist/commands/task.js +0 -140
  118. package/dist/commands/task.js.map +0 -1
  119. package/dist/commands/workspace.d.ts +0 -8
  120. package/dist/commands/workspace.js +0 -251
  121. package/dist/commands/workspace.js.map +0 -1
  122. package/dist/index.d.ts +0 -9
  123. package/dist/index.js +0 -142
  124. package/dist/index.js.map +0 -1
  125. package/dist/lib/capture-filter.d.ts +0 -9
  126. package/dist/lib/capture-filter.js +0 -14
  127. package/dist/lib/capture-filter.js.map +0 -1
  128. package/dist/lib/client.d.ts +0 -20
  129. package/dist/lib/client.js +0 -160
  130. package/dist/lib/client.js.map +0 -1
  131. package/dist/lib/compounding-worker.d.ts +0 -2
  132. package/dist/lib/compounding-worker.js +0 -21
  133. package/dist/lib/compounding-worker.js.map +0 -1
  134. package/dist/lib/compounding.d.ts +0 -20
  135. package/dist/lib/compounding.js +0 -45
  136. package/dist/lib/compounding.js.map +0 -1
  137. package/dist/lib/config.d.ts +0 -35
  138. package/dist/lib/config.js +0 -96
  139. package/dist/lib/config.js.map +0 -1
  140. package/dist/lib/context-format.d.ts +0 -7
  141. package/dist/lib/context-format.js +0 -21
  142. package/dist/lib/context-format.js.map +0 -1
  143. package/dist/lib/errors.d.ts +0 -18
  144. package/dist/lib/errors.js +0 -30
  145. package/dist/lib/errors.js.map +0 -1
  146. package/dist/lib/file-scanner.d.ts +0 -38
  147. package/dist/lib/file-scanner.js +0 -188
  148. package/dist/lib/file-scanner.js.map +0 -1
  149. package/dist/lib/graph-html.d.ts +0 -59
  150. package/dist/lib/graph-html.js +0 -859
  151. package/dist/lib/graph-html.js.map +0 -1
  152. package/dist/lib/installers.d.ts +0 -80
  153. package/dist/lib/installers.js +0 -602
  154. package/dist/lib/installers.js.map +0 -1
  155. package/dist/lib/integrations.d.ts +0 -23
  156. package/dist/lib/integrations.js +0 -25
  157. package/dist/lib/integrations.js.map +0 -1
  158. package/dist/lib/output.d.ts +0 -7
  159. package/dist/lib/output.js +0 -70
  160. package/dist/lib/output.js.map +0 -1
  161. package/dist/lib/platform-detect.d.ts +0 -23
  162. package/dist/lib/platform-detect.js +0 -359
  163. package/dist/lib/platform-detect.js.map +0 -1
  164. package/dist/lib/project-config.d.ts +0 -53
  165. package/dist/lib/project-config.js +0 -151
  166. package/dist/lib/project-config.js.map +0 -1
  167. package/dist/lib/prompt.d.ts +0 -15
  168. package/dist/lib/prompt.js +0 -213
  169. package/dist/lib/prompt.js.map +0 -1
  170. package/dist/lib/rate-limiter.d.ts +0 -13
  171. package/dist/lib/rate-limiter.js +0 -49
  172. package/dist/lib/rate-limiter.js.map +0 -1
  173. package/dist/lib/recall-filter.d.ts +0 -5
  174. package/dist/lib/recall-filter.js +0 -24
  175. package/dist/lib/recall-filter.js.map +0 -1
  176. package/dist/lib/session-store.d.ts +0 -15
  177. package/dist/lib/session-store.js +0 -62
  178. package/dist/lib/session-store.js.map +0 -1
  179. package/dist/lib/tui.d.ts +0 -57
  180. package/dist/lib/tui.js +0 -247
  181. package/dist/lib/tui.js.map +0 -1
  182. package/dist/lib/workspace-registry.d.ts +0 -47
  183. package/dist/lib/workspace-registry.js +0 -240
  184. package/dist/lib/workspace-registry.js.map +0 -1
  185. package/dist/mcp/channel.d.ts +0 -24
  186. package/dist/mcp/channel.js +0 -198
  187. package/dist/mcp/channel.js.map +0 -1
  188. package/dist/mcp/client.d.ts +0 -20
  189. package/dist/mcp/client.js +0 -131
  190. package/dist/mcp/client.js.map +0 -1
  191. package/dist/mcp/config.d.ts +0 -19
  192. package/dist/mcp/config.js +0 -48
  193. package/dist/mcp/config.js.map +0 -1
  194. package/dist/mcp/context-files.d.ts +0 -9
  195. package/dist/mcp/context-files.js +0 -90
  196. package/dist/mcp/context-files.js.map +0 -1
  197. package/dist/mcp/file-manifest.d.ts +0 -27
  198. package/dist/mcp/file-manifest.js +0 -68
  199. package/dist/mcp/file-manifest.js.map +0 -1
  200. package/dist/mcp/file-scanner.d.ts +0 -17
  201. package/dist/mcp/file-scanner.js +0 -77
  202. package/dist/mcp/file-scanner.js.map +0 -1
  203. package/dist/mcp/index.d.ts +0 -2
  204. package/dist/mcp/index.js +0 -51
  205. package/dist/mcp/index.js.map +0 -1
  206. package/dist/mcp/rate-limiter.d.ts +0 -14
  207. package/dist/mcp/rate-limiter.js +0 -60
  208. package/dist/mcp/rate-limiter.js.map +0 -1
  209. package/dist/mcp/server.d.ts +0 -6
  210. package/dist/mcp/server.js +0 -44
  211. package/dist/mcp/server.js.map +0 -1
  212. package/dist/mcp/session-store.d.ts +0 -16
  213. package/dist/mcp/session-store.js +0 -70
  214. package/dist/mcp/session-store.js.map +0 -1
  215. package/dist/mcp/tools/context.d.ts +0 -3
  216. package/dist/mcp/tools/context.js +0 -65
  217. package/dist/mcp/tools/context.js.map +0 -1
  218. package/dist/mcp/tools/insights.d.ts +0 -3
  219. package/dist/mcp/tools/insights.js +0 -24
  220. package/dist/mcp/tools/insights.js.map +0 -1
  221. package/dist/mcp/tools/integrations.d.ts +0 -3
  222. package/dist/mcp/tools/integrations.js +0 -27
  223. package/dist/mcp/tools/integrations.js.map +0 -1
  224. package/dist/mcp/tools/lists.d.ts +0 -3
  225. package/dist/mcp/tools/lists.js +0 -101
  226. package/dist/mcp/tools/lists.js.map +0 -1
  227. package/dist/mcp/tools/notes.d.ts +0 -3
  228. package/dist/mcp/tools/notes.js +0 -52
  229. package/dist/mcp/tools/notes.js.map +0 -1
  230. package/dist/mcp/tools/notifications.d.ts +0 -3
  231. package/dist/mcp/tools/notifications.js +0 -53
  232. package/dist/mcp/tools/notifications.js.map +0 -1
  233. package/dist/mcp/tools/records.d.ts +0 -3
  234. package/dist/mcp/tools/records.js +0 -74
  235. package/dist/mcp/tools/records.js.map +0 -1
  236. package/dist/mcp/tools/register.d.ts +0 -3
  237. package/dist/mcp/tools/register.js +0 -41
  238. package/dist/mcp/tools/register.js.map +0 -1
  239. package/dist/mcp/tools/relationships.d.ts +0 -3
  240. package/dist/mcp/tools/relationships.js +0 -47
  241. package/dist/mcp/tools/relationships.js.map +0 -1
  242. package/dist/mcp/tools/scan.d.ts +0 -3
  243. package/dist/mcp/tools/scan.js +0 -37
  244. package/dist/mcp/tools/scan.js.map +0 -1
  245. package/dist/mcp/tools/schema.d.ts +0 -3
  246. package/dist/mcp/tools/schema.js +0 -108
  247. package/dist/mcp/tools/schema.js.map +0 -1
  248. package/dist/mcp/tools/search.d.ts +0 -3
  249. package/dist/mcp/tools/search.js +0 -8
  250. package/dist/mcp/tools/search.js.map +0 -1
  251. package/dist/mcp/tools/tasks.d.ts +0 -3
  252. package/dist/mcp/tools/tasks.js +0 -88
  253. package/dist/mcp/tools/tasks.js.map +0 -1
  254. package/dist/mcp/workspace-data-dir.d.ts +0 -2
  255. package/dist/mcp/workspace-data-dir.js +0 -28
  256. package/dist/mcp/workspace-data-dir.js.map +0 -1
  257. package/dist/orchestration/budget.d.ts +0 -32
  258. package/dist/orchestration/budget.js +0 -72
  259. package/dist/orchestration/budget.js.map +0 -1
  260. package/dist/orchestration/executor.d.ts +0 -59
  261. package/dist/orchestration/executor.js +0 -197
  262. package/dist/orchestration/executor.js.map +0 -1
  263. package/dist/orchestration/router.d.ts +0 -30
  264. package/dist/orchestration/router.js +0 -98
  265. package/dist/orchestration/router.js.map +0 -1
  266. package/dist/orchestration/templates.d.ts +0 -11
  267. package/dist/orchestration/templates.js +0 -99
  268. package/dist/orchestration/templates.js.map +0 -1
  269. package/dist/orchestration/types.d.ts +0 -58
  270. package/dist/orchestration/types.js +0 -7
  271. package/dist/orchestration/types.js.map +0 -1
  272. package/dist/plugin/auto-capture.d.ts +0 -11
  273. package/dist/plugin/auto-capture.js +0 -135
  274. package/dist/plugin/auto-capture.js.map +0 -1
  275. package/dist/plugin/auto-recall-worker.d.ts +0 -2
  276. package/dist/plugin/auto-recall-worker.js +0 -74
  277. package/dist/plugin/auto-recall-worker.js.map +0 -1
  278. package/dist/plugin/auto-recall.d.ts +0 -11
  279. package/dist/plugin/auto-recall.js +0 -186
  280. package/dist/plugin/auto-recall.js.map +0 -1
  281. package/dist/plugin/auto-register.d.ts +0 -10
  282. package/dist/plugin/auto-register.js +0 -81
  283. package/dist/plugin/auto-register.js.map +0 -1
  284. package/dist/plugin/auto-scan.d.ts +0 -10
  285. package/dist/plugin/auto-scan.js +0 -54
  286. package/dist/plugin/auto-scan.js.map +0 -1
  287. package/dist/plugin/auto-session-start.d.ts +0 -14
  288. package/dist/plugin/auto-session-start.js +0 -156
  289. package/dist/plugin/auto-session-start.js.map +0 -1
  290. package/dist/plugin/capture-filter.d.ts +0 -21
  291. package/dist/plugin/capture-filter.js +0 -32
  292. package/dist/plugin/capture-filter.js.map +0 -1
  293. package/dist/plugin/config.d.ts +0 -61
  294. package/dist/plugin/config.js +0 -182
  295. package/dist/plugin/config.js.map +0 -1
  296. package/dist/plugin/context-files.d.ts +0 -23
  297. package/dist/plugin/context-files.js +0 -103
  298. package/dist/plugin/context-files.js.map +0 -1
  299. package/dist/plugin/context-format.d.ts +0 -18
  300. package/dist/plugin/context-format.js +0 -34
  301. package/dist/plugin/context-format.js.map +0 -1
  302. package/dist/plugin/file-manifest.d.ts +0 -27
  303. package/dist/plugin/file-manifest.js +0 -68
  304. package/dist/plugin/file-manifest.js.map +0 -1
  305. package/dist/plugin/file-scanner.d.ts +0 -19
  306. package/dist/plugin/file-scanner.js +0 -90
  307. package/dist/plugin/file-scanner.js.map +0 -1
  308. package/dist/plugin/nex-client.d.ts +0 -50
  309. package/dist/plugin/nex-client.js +0 -129
  310. package/dist/plugin/nex-client.js.map +0 -1
  311. package/dist/plugin/rate-limiter.d.ts +0 -26
  312. package/dist/plugin/rate-limiter.js +0 -65
  313. package/dist/plugin/rate-limiter.js.map +0 -1
  314. package/dist/plugin/recall-cache.d.ts +0 -41
  315. package/dist/plugin/recall-cache.js +0 -195
  316. package/dist/plugin/recall-cache.js.map +0 -1
  317. package/dist/plugin/recall-filter.d.ts +0 -13
  318. package/dist/plugin/recall-filter.js +0 -39
  319. package/dist/plugin/recall-filter.js.map +0 -1
  320. package/dist/plugin/session-store.d.ts +0 -23
  321. package/dist/plugin/session-store.js +0 -73
  322. package/dist/plugin/session-store.js.map +0 -1
  323. package/dist/plugin/workspace-data-dir.d.ts +0 -2
  324. package/dist/plugin/workspace-data-dir.js +0 -31
  325. package/dist/plugin/workspace-data-dir.js.map +0 -1
  326. package/dist/tui/agent-colors.d.ts +0 -19
  327. package/dist/tui/agent-colors.js +0 -34
  328. package/dist/tui/agent-colors.js.map +0 -1
  329. package/dist/tui/app.d.ts +0 -14
  330. package/dist/tui/app.js +0 -181
  331. package/dist/tui/app.js.map +0 -1
  332. package/dist/tui/channel-colors.d.ts +0 -16
  333. package/dist/tui/channel-colors.js +0 -43
  334. package/dist/tui/channel-colors.js.map +0 -1
  335. package/dist/tui/components/agent-card.d.ts +0 -11
  336. package/dist/tui/components/agent-card.js +0 -40
  337. package/dist/tui/components/agent-card.js.map +0 -1
  338. package/dist/tui/components/banner.d.ts +0 -44
  339. package/dist/tui/components/banner.js +0 -130
  340. package/dist/tui/components/banner.js.map +0 -1
  341. package/dist/tui/components/channel-colors.d.ts +0 -21
  342. package/dist/tui/components/channel-colors.js +0 -53
  343. package/dist/tui/components/channel-colors.js.map +0 -1
  344. package/dist/tui/components/channel-message.d.ts +0 -53
  345. package/dist/tui/components/channel-message.js +0 -66
  346. package/dist/tui/components/channel-message.js.map +0 -1
  347. package/dist/tui/components/chat-input.d.ts +0 -11
  348. package/dist/tui/components/chat-input.js +0 -19
  349. package/dist/tui/components/chat-input.js.map +0 -1
  350. package/dist/tui/components/data-table.d.ts +0 -11
  351. package/dist/tui/components/data-table.js +0 -47
  352. package/dist/tui/components/data-table.js.map +0 -1
  353. package/dist/tui/components/error-box.d.ts +0 -11
  354. package/dist/tui/components/error-box.js +0 -59
  355. package/dist/tui/components/error-box.js.map +0 -1
  356. package/dist/tui/components/help-screen.d.ts +0 -3
  357. package/dist/tui/components/help-screen.js +0 -63
  358. package/dist/tui/components/help-screen.js.map +0 -1
  359. package/dist/tui/components/index.d.ts +0 -17
  360. package/dist/tui/components/index.js +0 -10
  361. package/dist/tui/components/index.js.map +0 -1
  362. package/dist/tui/components/inline-confirm.d.ts +0 -14
  363. package/dist/tui/components/inline-confirm.js +0 -13
  364. package/dist/tui/components/inline-confirm.js.map +0 -1
  365. package/dist/tui/components/inline-select.d.ts +0 -21
  366. package/dist/tui/components/inline-select.js +0 -20
  367. package/dist/tui/components/inline-select.js.map +0 -1
  368. package/dist/tui/components/markdown.d.ts +0 -6
  369. package/dist/tui/components/markdown.js +0 -179
  370. package/dist/tui/components/markdown.js.map +0 -1
  371. package/dist/tui/components/mention-autocomplete.d.ts +0 -79
  372. package/dist/tui/components/mention-autocomplete.js +0 -250
  373. package/dist/tui/components/mention-autocomplete.js.map +0 -1
  374. package/dist/tui/components/message-list.d.ts +0 -18
  375. package/dist/tui/components/message-list.js +0 -29
  376. package/dist/tui/components/message-list.js.map +0 -1
  377. package/dist/tui/components/picker.d.ts +0 -16
  378. package/dist/tui/components/picker.js +0 -32
  379. package/dist/tui/components/picker.js.map +0 -1
  380. package/dist/tui/components/progress-steps.d.ts +0 -13
  381. package/dist/tui/components/progress-steps.js +0 -21
  382. package/dist/tui/components/progress-steps.js.map +0 -1
  383. package/dist/tui/components/slack/compose.d.ts +0 -27
  384. package/dist/tui/components/slack/compose.js +0 -147
  385. package/dist/tui/components/slack/compose.js.map +0 -1
  386. package/dist/tui/components/slack/layout.d.ts +0 -36
  387. package/dist/tui/components/slack/layout.js +0 -96
  388. package/dist/tui/components/slack/layout.js.map +0 -1
  389. package/dist/tui/components/slack/messages.d.ts +0 -72
  390. package/dist/tui/components/slack/messages.js +0 -177
  391. package/dist/tui/components/slack/messages.js.map +0 -1
  392. package/dist/tui/components/slack/quick-switcher.d.ts +0 -33
  393. package/dist/tui/components/slack/quick-switcher.js +0 -98
  394. package/dist/tui/components/slack/quick-switcher.js.map +0 -1
  395. package/dist/tui/components/slack/sidebar-types.d.ts +0 -65
  396. package/dist/tui/components/slack/sidebar-types.js +0 -7
  397. package/dist/tui/components/slack/sidebar-types.js.map +0 -1
  398. package/dist/tui/components/slack/sidebar.d.ts +0 -46
  399. package/dist/tui/components/slack/sidebar.js +0 -52
  400. package/dist/tui/components/slack/sidebar.js.map +0 -1
  401. package/dist/tui/components/slack/thread-panel.d.ts +0 -45
  402. package/dist/tui/components/slack/thread-panel.js +0 -47
  403. package/dist/tui/components/slack/thread-panel.js.map +0 -1
  404. package/dist/tui/components/slash-autocomplete.d.ts +0 -83
  405. package/dist/tui/components/slash-autocomplete.js +0 -233
  406. package/dist/tui/components/slash-autocomplete.js.map +0 -1
  407. package/dist/tui/components/spinner.d.ts +0 -17
  408. package/dist/tui/components/spinner.js +0 -30
  409. package/dist/tui/components/spinner.js.map +0 -1
  410. package/dist/tui/components/status-bar.d.ts +0 -23
  411. package/dist/tui/components/status-bar.js +0 -55
  412. package/dist/tui/components/status-bar.js.map +0 -1
  413. package/dist/tui/components/success-box.d.ts +0 -7
  414. package/dist/tui/components/success-box.js +0 -10
  415. package/dist/tui/components/success-box.js.map +0 -1
  416. package/dist/tui/components/tool-indicator.d.ts +0 -12
  417. package/dist/tui/components/tool-indicator.js +0 -18
  418. package/dist/tui/components/tool-indicator.js.map +0 -1
  419. package/dist/tui/components/viewport.d.ts +0 -9
  420. package/dist/tui/components/viewport.js +0 -24
  421. package/dist/tui/components/viewport.js.map +0 -1
  422. package/dist/tui/generative/bindings.d.ts +0 -27
  423. package/dist/tui/generative/bindings.js +0 -152
  424. package/dist/tui/generative/bindings.js.map +0 -1
  425. package/dist/tui/generative/registry.d.ts +0 -19
  426. package/dist/tui/generative/registry.js +0 -31
  427. package/dist/tui/generative/registry.js.map +0 -1
  428. package/dist/tui/generative/renderer.d.ts +0 -24
  429. package/dist/tui/generative/renderer.js +0 -160
  430. package/dist/tui/generative/renderer.js.map +0 -1
  431. package/dist/tui/generative/types.d.ts +0 -68
  432. package/dist/tui/generative/types.js +0 -7
  433. package/dist/tui/generative/types.js.map +0 -1
  434. package/dist/tui/hooks/use-cancellable.d.ts +0 -28
  435. package/dist/tui/hooks/use-cancellable.js +0 -51
  436. package/dist/tui/hooks/use-cancellable.js.map +0 -1
  437. package/dist/tui/hooks/use-streaming.d.ts +0 -44
  438. package/dist/tui/hooks/use-streaming.js +0 -105
  439. package/dist/tui/hooks/use-streaming.js.map +0 -1
  440. package/dist/tui/index.d.ts +0 -4
  441. package/dist/tui/index.js +0 -7
  442. package/dist/tui/index.js.map +0 -1
  443. package/dist/tui/keybindings.d.ts +0 -25
  444. package/dist/tui/keybindings.js +0 -277
  445. package/dist/tui/keybindings.js.map +0 -1
  446. package/dist/tui/register-views.d.ts +0 -8
  447. package/dist/tui/register-views.js +0 -122
  448. package/dist/tui/register-views.js.map +0 -1
  449. package/dist/tui/router.d.ts +0 -29
  450. package/dist/tui/router.js +0 -87
  451. package/dist/tui/router.js.map +0 -1
  452. package/dist/tui/services/agent-service.d.ts +0 -58
  453. package/dist/tui/services/agent-service.js +0 -197
  454. package/dist/tui/services/agent-service.js.map +0 -1
  455. package/dist/tui/services/calendar-service.d.ts +0 -31
  456. package/dist/tui/services/calendar-service.js +0 -133
  457. package/dist/tui/services/calendar-service.js.map +0 -1
  458. package/dist/tui/services/chat-service.d.ts +0 -28
  459. package/dist/tui/services/chat-service.js +0 -91
  460. package/dist/tui/services/chat-service.js.map +0 -1
  461. package/dist/tui/services/orchestration-service.d.ts +0 -42
  462. package/dist/tui/services/orchestration-service.js +0 -153
  463. package/dist/tui/services/orchestration-service.js.map +0 -1
  464. package/dist/tui/slash-commands.d.ts +0 -106
  465. package/dist/tui/slash-commands.js +0 -1421
  466. package/dist/tui/slash-commands.js.map +0 -1
  467. package/dist/tui/store.d.ts +0 -96
  468. package/dist/tui/store.js +0 -120
  469. package/dist/tui/store.js.map +0 -1
  470. package/dist/tui/theme.d.ts +0 -40
  471. package/dist/tui/theme.js +0 -39
  472. package/dist/tui/theme.js.map +0 -1
  473. package/dist/tui/tui-context.d.ts +0 -22
  474. package/dist/tui/tui-context.js +0 -17
  475. package/dist/tui/tui-context.js.map +0 -1
  476. package/dist/tui/views/agent-list.d.ts +0 -8
  477. package/dist/tui/views/agent-list.js +0 -11
  478. package/dist/tui/views/agent-list.js.map +0 -1
  479. package/dist/tui/views/ask-chat.d.ts +0 -9
  480. package/dist/tui/views/ask-chat.js +0 -40
  481. package/dist/tui/views/ask-chat.js.map +0 -1
  482. package/dist/tui/views/calendar.d.ts +0 -15
  483. package/dist/tui/views/calendar.js +0 -29
  484. package/dist/tui/views/calendar.js.map +0 -1
  485. package/dist/tui/views/chat.d.ts +0 -18
  486. package/dist/tui/views/chat.js +0 -28
  487. package/dist/tui/views/chat.js.map +0 -1
  488. package/dist/tui/views/generative.d.ts +0 -14
  489. package/dist/tui/views/generative.js +0 -37
  490. package/dist/tui/views/generative.js.map +0 -1
  491. package/dist/tui/views/help.d.ts +0 -6
  492. package/dist/tui/views/help.js +0 -9
  493. package/dist/tui/views/help.js.map +0 -1
  494. package/dist/tui/views/home-screen.d.ts +0 -67
  495. package/dist/tui/views/home-screen.js +0 -192
  496. package/dist/tui/views/home-screen.js.map +0 -1
  497. package/dist/tui/views/home.d.ts +0 -33
  498. package/dist/tui/views/home.js +0 -60
  499. package/dist/tui/views/home.js.map +0 -1
  500. package/dist/tui/views/index.d.ts +0 -20
  501. package/dist/tui/views/index.js +0 -11
  502. package/dist/tui/views/index.js.map +0 -1
  503. package/dist/tui/views/insights.d.ts +0 -19
  504. package/dist/tui/views/insights.js +0 -46
  505. package/dist/tui/views/insights.js.map +0 -1
  506. package/dist/tui/views/orchestration.d.ts +0 -18
  507. package/dist/tui/views/orchestration.js +0 -73
  508. package/dist/tui/views/orchestration.js.map +0 -1
  509. package/dist/tui/views/record-detail.d.ts +0 -10
  510. package/dist/tui/views/record-detail.js +0 -22
  511. package/dist/tui/views/record-detail.js.map +0 -1
  512. package/dist/tui/views/record-list.d.ts +0 -15
  513. package/dist/tui/views/record-list.js +0 -22
  514. package/dist/tui/views/record-list.js.map +0 -1
  515. package/dist/tui/views/slack-channel-header.d.ts +0 -15
  516. package/dist/tui/views/slack-channel-header.js +0 -16
  517. package/dist/tui/views/slack-channel-header.js.map +0 -1
  518. package/dist/tui/views/slack-home.d.ts +0 -21
  519. package/dist/tui/views/slack-home.js +0 -572
  520. package/dist/tui/views/slack-home.js.map +0 -1
  521. package/dist/tui/views/stream.d.ts +0 -16
  522. package/dist/tui/views/stream.js +0 -210
  523. package/dist/tui/views/stream.js.map +0 -1
  524. package/dist/tui/views/task-board.d.ts +0 -21
  525. package/dist/tui/views/task-board.js +0 -33
  526. package/dist/tui/views/task-board.js.map +0 -1
  527. package/dist/tui/views/timeline.d.ts +0 -17
  528. package/dist/tui/views/timeline.js +0 -24
  529. package/dist/tui/views/timeline.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Persistent channel color assignment.
3
- *
4
- * Well-known channels get fixed colors matching the spec.
5
- * Unknown channels cycle through the palette like agent-colors.ts.
6
- */
7
- declare const CHANNEL_PALETTE: readonly ["cyan", "green", "yellow", "magenta", "blue", "red"];
8
- export type ChannelColor = typeof CHANNEL_PALETTE[number];
9
- /**
10
- * Return the colour assigned to a channel name, assigning a new one on first
11
- * encounter. Well-known names get fixed colors; others cycle the palette.
12
- */
13
- export declare function getChannelColor(channelName: string): ChannelColor;
14
- /** Reset all assignments (useful in tests). */
15
- export declare function resetChannelColors(): void;
16
- export {};
@@ -1,43 +0,0 @@
1
- /**
2
- * Persistent channel color assignment.
3
- *
4
- * Well-known channels get fixed colors matching the spec.
5
- * Unknown channels cycle through the palette like agent-colors.ts.
6
- */
7
- const CHANNEL_PALETTE = ['cyan', 'green', 'yellow', 'magenta', 'blue', 'red'];
8
- /** Well-known channel → color mapping. */
9
- const WELL_KNOWN = {
10
- general: 'cyan',
11
- leads: 'green',
12
- seo: 'yellow',
13
- support: 'magenta',
14
- marketing: 'blue',
15
- alerts: 'red',
16
- };
17
- // Module-level state so colours persist across renders.
18
- const colorMap = new Map();
19
- let nextIdx = 0;
20
- /**
21
- * Return the colour assigned to a channel name, assigning a new one on first
22
- * encounter. Well-known names get fixed colors; others cycle the palette.
23
- */
24
- export function getChannelColor(channelName) {
25
- const existing = colorMap.get(channelName);
26
- if (existing !== undefined)
27
- return existing;
28
- const wellKnown = WELL_KNOWN[channelName.toLowerCase()];
29
- if (wellKnown) {
30
- colorMap.set(channelName, wellKnown);
31
- return wellKnown;
32
- }
33
- const color = CHANNEL_PALETTE[nextIdx % CHANNEL_PALETTE.length];
34
- colorMap.set(channelName, color);
35
- nextIdx++;
36
- return color;
37
- }
38
- /** Reset all assignments (useful in tests). */
39
- export function resetChannelColors() {
40
- colorMap.clear();
41
- nextIdx = 0;
42
- }
43
- //# sourceMappingURL=channel-colors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel-colors.js","sourceRoot":"","sources":["../../src/tui/channel-colors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAGvF,0CAA0C;AAC1C,MAAM,UAAU,GAAiC;IAC/C,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,QAAQ;IACb,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,wDAAwD;AACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;AACjD,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE5C,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAChE,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC;IACV,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,kBAAkB;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,OAAO,GAAG,CAAC,CAAC;AACd,CAAC"}
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- export type AgentStatus = "idle" | "running" | "error" | "stopped";
3
- export interface AgentCardProps {
4
- name: string;
5
- status: AgentStatus;
6
- expertise?: string;
7
- lastHeartbeat?: number;
8
- nextHeartbeat?: number;
9
- }
10
- export declare function AgentCard({ name, status, expertise, lastHeartbeat, nextHeartbeat, }: AgentCardProps): React.JSX.Element;
11
- export default AgentCard;
@@ -1,40 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from "ink";
3
- // --- Helpers ---
4
- const STATUS_CONFIG = {
5
- idle: { dot: "\u25CB", color: "gray" },
6
- running: { dot: "\u25CF", color: "green" },
7
- error: { dot: "\u25CF", color: "red" },
8
- stopped: { dot: "\u25CF", color: "yellow" },
9
- };
10
- function timeAgo(ts) {
11
- const diff = Date.now() - ts;
12
- const secs = Math.floor(diff / 1000);
13
- if (secs < 60)
14
- return `${secs}s ago`;
15
- const mins = Math.floor(secs / 60);
16
- if (mins < 60)
17
- return `${mins}m ago`;
18
- const hrs = Math.floor(mins / 60);
19
- return `${hrs}h ago`;
20
- }
21
- function timeUntil(ts) {
22
- const diff = ts - Date.now();
23
- if (diff <= 0)
24
- return "now";
25
- const secs = Math.floor(diff / 1000);
26
- if (secs < 60)
27
- return `in ${secs}s`;
28
- const mins = Math.floor(secs / 60);
29
- if (mins < 60)
30
- return `in ${mins}m`;
31
- const hrs = Math.floor(mins / 60);
32
- return `in ${hrs}h`;
33
- }
34
- // --- Component ---
35
- export function AgentCard({ name, status, expertise, lastHeartbeat, nextHeartbeat, }) {
36
- const cfg = STATUS_CONFIG[status];
37
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: cfg.color, paddingX: 1, minWidth: 28, children: [_jsxs(Box, { children: [_jsx(Text, { color: cfg.color, children: cfg.dot }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: name }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: `(${status})` })] }), expertise && (_jsxs(Box, { marginTop: 0, children: [_jsx(Text, { dimColor: true, children: "skill: " }), _jsx(Text, { color: "cyan", children: expertise })] })), lastHeartbeat !== undefined && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "last: " }), _jsx(Text, { children: timeAgo(lastHeartbeat) })] })), nextHeartbeat !== undefined && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "next: " }), _jsx(Text, { children: timeUntil(nextHeartbeat) })] }))] }));
38
- }
39
- export default AgentCard;
40
- //# sourceMappingURL=agent-card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../../src/tui/components/agent-card.tsx"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Animated ASCII banner — procedurally generated header matching the Go CLI.
3
- *
4
- * Features:
5
- * - Flowing line patterns with dots/connectors (─●───○──)
6
- * - "nex · powered by nex.ai" centered
7
- * - Regenerates on interval (default: every 3 seconds)
8
- * - Colors: cyan ("NexBlue") for "nex", muted for rest
9
- * - ~6 lines tall, responsive to terminal width
10
- */
11
- import React from "react";
12
- /**
13
- * Build one decorative line of exactly `width` characters.
14
- * The line is a random mix of horizontal segments, dots, and connectors
15
- * that gives the flowing "─●───○──" look.
16
- */
17
- export declare function generateLine(width: number, seed?: number): string;
18
- /**
19
- * Build a centered brand line within `width` columns.
20
- * Returns segments for colorized rendering.
21
- */
22
- export interface BrandSegment {
23
- text: string;
24
- type: "brand" | "muted" | "line";
25
- }
26
- export declare function buildBrandLine(width: number, seed?: number): BrandSegment[];
27
- /**
28
- * Generate the full banner frame — an array of line data.
29
- * Each entry is either "decorative" (a flowing line) or "brand" (the centered text line).
30
- */
31
- export interface BannerFrame {
32
- lines: Array<{
33
- segments: BrandSegment[];
34
- }>;
35
- }
36
- export declare function generateBannerFrame(width: number, seed?: number): BannerFrame;
37
- export interface BannerProps {
38
- /** Override terminal width (for testing or fixed layouts) */
39
- width?: number;
40
- /** Regeneration interval in ms. Default 3000. Set 0 to disable animation. */
41
- interval?: number;
42
- }
43
- export declare function Banner({ width: widthProp, interval }: BannerProps): React.JSX.Element;
44
- export default Banner;
@@ -1,130 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Animated ASCII banner — procedurally generated header matching the Go CLI.
4
- *
5
- * Features:
6
- * - Flowing line patterns with dots/connectors (─●───○──)
7
- * - "nex · powered by nex.ai" centered
8
- * - Regenerates on interval (default: every 3 seconds)
9
- * - Colors: cyan ("NexBlue") for "nex", muted for rest
10
- * - ~6 lines tall, responsive to terminal width
11
- */
12
- import { useState, useEffect, useMemo, useCallback } from "react";
13
- import { Box, Text, useStdout } from "ink";
14
- // ── Pattern atoms ────────────────────────────────────────────────────
15
- const LINE_CHARS = ["─", "─", "─", "─", "─", "─", "●", "○", "◦", "·"];
16
- const CONNECTOR_CHARS = ["┤", "├", "│", "╌"];
17
- /**
18
- * Build one decorative line of exactly `width` characters.
19
- * The line is a random mix of horizontal segments, dots, and connectors
20
- * that gives the flowing "─●───○──" look.
21
- */
22
- export function generateLine(width, seed) {
23
- let s = seed ?? Math.floor(Math.random() * 0xffff);
24
- const next = () => {
25
- s = (s * 1103515245 + 12345) & 0x7fffffff;
26
- return s;
27
- };
28
- const buf = [];
29
- let remaining = width;
30
- while (remaining > 0) {
31
- const r = next();
32
- // Mostly horizontal dashes with occasional dots/connectors
33
- if (remaining > 3 && r % 7 === 0) {
34
- // Insert a connector surrounded by dashes
35
- const connector = CONNECTOR_CHARS[r % CONNECTOR_CHARS.length];
36
- buf.push("─", connector, "─");
37
- remaining -= 3;
38
- }
39
- else if (r % 5 === 0) {
40
- // Insert a dot character
41
- const dot = LINE_CHARS[6 + (r % 4)]; // ●, ○, ◦, ·
42
- buf.push(dot);
43
- remaining -= 1;
44
- }
45
- else {
46
- buf.push("─");
47
- remaining -= 1;
48
- }
49
- }
50
- return buf.join("").slice(0, width);
51
- }
52
- export function buildBrandLine(width, seed) {
53
- const brandText = "nex";
54
- const tagline = " · powered by nex.ai";
55
- const inner = brandText + tagline;
56
- const padding = 2; // space each side of inner text
57
- const innerWidth = inner.length + padding * 2;
58
- if (width < innerWidth + 4) {
59
- // Too narrow — just show brand
60
- const side = Math.max(0, Math.floor((width - brandText.length) / 2));
61
- const leftLine = generateLine(side, seed);
62
- const rightLine = generateLine(Math.max(0, width - side - brandText.length), seed ? seed + 1 : undefined);
63
- return [
64
- { text: leftLine, type: "line" },
65
- { text: brandText, type: "brand" },
66
- { text: rightLine, type: "line" },
67
- ];
68
- }
69
- const sideWidth = Math.floor((width - innerWidth) / 2);
70
- const rightWidth = width - sideWidth - innerWidth;
71
- const leftLine = generateLine(sideWidth, seed);
72
- const rightLine = generateLine(rightWidth, seed ? seed + 1 : undefined);
73
- return [
74
- { text: leftLine, type: "line" },
75
- { text: " ".repeat(padding), type: "muted" },
76
- { text: brandText, type: "brand" },
77
- { text: tagline, type: "muted" },
78
- { text: " ".repeat(padding), type: "muted" },
79
- { text: rightLine, type: "line" },
80
- ];
81
- }
82
- export function generateBannerFrame(width, seed) {
83
- let s = seed ?? Math.floor(Math.random() * 0xffff);
84
- const lines = [];
85
- // Line 1: top decorative
86
- lines.push({ segments: [{ text: generateLine(width, s), type: "line" }] });
87
- s += 7;
88
- // Line 2: decorative with a gap
89
- lines.push({ segments: [{ text: generateLine(width, s), type: "line" }] });
90
- s += 13;
91
- // Line 3: brand line
92
- lines.push({ segments: buildBrandLine(width, s) });
93
- s += 17;
94
- // Line 4: decorative
95
- lines.push({ segments: [{ text: generateLine(width, s), type: "line" }] });
96
- s += 11;
97
- // Line 5: decorative
98
- lines.push({ segments: [{ text: generateLine(width, s), type: "line" }] });
99
- s += 3;
100
- // Line 6: bottom decorative (sparser)
101
- lines.push({ segments: [{ text: generateLine(width, s + 999), type: "line" }] });
102
- return { lines };
103
- }
104
- // ── Component ────────────────────────────────────────────────────────
105
- export function Banner({ width: widthProp, interval = 3000 }) {
106
- const { stdout } = useStdout();
107
- const termWidth = widthProp ?? (stdout?.columns ?? 80);
108
- const effectiveWidth = Math.min(termWidth, 120); // cap at 120 for readability
109
- const [tick, setTick] = useState(0);
110
- useEffect(() => {
111
- if (interval <= 0)
112
- return;
113
- const id = setInterval(() => setTick((t) => t + 1), interval);
114
- return () => clearInterval(id);
115
- }, [interval]);
116
- const frame = useMemo(() => generateBannerFrame(effectiveWidth, tick * 31337), [effectiveWidth, tick]);
117
- const renderSegment = useCallback((seg, idx) => {
118
- switch (seg.type) {
119
- case "brand":
120
- return (_jsx(Text, { color: "cyan", bold: true, children: seg.text }, idx));
121
- case "muted":
122
- return (_jsx(Text, { dimColor: true, children: seg.text }, idx));
123
- case "line":
124
- return (_jsx(Text, { dimColor: true, children: seg.text }, idx));
125
- }
126
- }, []);
127
- return (_jsx(Box, { flexDirection: "column", children: frame.lines.map((line, i) => (_jsx(Box, { children: line.segments.map((seg, j) => renderSegment(seg, j)) }, i))) }));
128
- }
129
- export default Banner;
130
- //# sourceMappingURL=banner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../../src/tui/components/banner.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAE3C,wEAAwE;AAExE,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACtE,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,IAAa;IACvD,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,GAAW,EAAE;QACxB,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC;QAC1C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QACjB,2DAA2D;QAC3D,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,0CAA0C;YAC1C,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9B,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,yBAAyB;YACzB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;YAClD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAWD,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAa;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,sBAAsB,CAAC;IACvC,MAAM,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,gCAAgC;IACnD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IAE9C,IAAI,KAAK,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;QAC3B,+BAA+B;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1G,OAAO;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;YAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;IAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAExE,OAAO;QACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;QAChC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;QAChC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;KAClC,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,IAAa;IAC9D,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;IACnD,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,yBAAyB;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,IAAI,CAAC,CAAC;IAEP,gCAAgC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,IAAI,EAAE,CAAC;IAER,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,IAAI,EAAE,CAAC;IAER,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,IAAI,EAAE,CAAC;IAER,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,IAAI,CAAC,CAAC;IAEP,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjF,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAWD,wEAAwE;AAExE,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI,EAAe;IACvE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,6BAA6B;IAE9E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO;QAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,GAAG,KAAK,CAAC,EACvD,CAAC,cAAc,EAAE,IAAI,CAAC,CACvB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,GAAiB,EAAE,GAAW,EAAE,EAAE;QACnE,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO;gBACV,OAAO,CACL,KAAC,IAAI,IAAW,KAAK,EAAC,MAAM,EAAC,IAAI,kBAC9B,GAAG,CAAC,IAAI,IADA,GAAG,CAEP,CACR,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO,CACL,KAAC,IAAI,IAAW,QAAQ,kBACrB,GAAG,CAAC,IAAI,IADA,GAAG,CAEP,CACR,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO,CACL,KAAC,IAAI,IAAW,QAAQ,kBACrB,GAAG,CAAC,IAAI,IADA,GAAG,CAEP,CACR,CAAC;QACN,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,KAAC,GAAG,cACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAD7C,CAAC,CAEL,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,MAAM,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Persistent channel color assignment.
3
- *
4
- * Each channel name gets a stable color from a palette of terminal-safe
5
- * colours. Well-known channels get fixed colors; others cycle through
6
- * the palette.
7
- *
8
- * Pattern mirrors agent-colors.ts but for channels.
9
- */
10
- declare const CHANNEL_PALETTE: readonly ["cyan", "green", "yellow", "magenta", "blue", "red"];
11
- export type ChannelColor = (typeof CHANNEL_PALETTE)[number];
12
- /**
13
- * Return the colour assigned to `channelName`, assigning a new one on
14
- * first encounter. The same name always returns the same colour.
15
- */
16
- export declare function getChannelColor(channelName: string): ChannelColor;
17
- /** Read-only snapshot of the current colour map. */
18
- export declare function getAllChannelColors(): ReadonlyMap<string, ChannelColor>;
19
- /** Reset all assignments (useful in tests). */
20
- export declare function resetChannelColors(): void;
21
- export {};
@@ -1,53 +0,0 @@
1
- /**
2
- * Persistent channel color assignment.
3
- *
4
- * Each channel name gets a stable color from a palette of terminal-safe
5
- * colours. Well-known channels get fixed colors; others cycle through
6
- * the palette.
7
- *
8
- * Pattern mirrors agent-colors.ts but for channels.
9
- */
10
- const CHANNEL_PALETTE = ["cyan", "green", "yellow", "magenta", "blue", "red"];
11
- /** Well-known channel → color mapping matching the task spec. */
12
- const WELL_KNOWN = {
13
- general: "cyan",
14
- leads: "green",
15
- seo: "yellow",
16
- support: "magenta",
17
- research: "blue",
18
- alerts: "red",
19
- };
20
- // Module-level state so colours persist across renders.
21
- const colorMap = new Map();
22
- let nextColorIdx = 0;
23
- /**
24
- * Return the colour assigned to `channelName`, assigning a new one on
25
- * first encounter. The same name always returns the same colour.
26
- */
27
- export function getChannelColor(channelName) {
28
- const normalized = channelName.toLowerCase().replace(/^#/, "");
29
- const existing = colorMap.get(normalized);
30
- if (existing !== undefined)
31
- return existing;
32
- // Check well-known mapping first
33
- const wellKnown = WELL_KNOWN[normalized];
34
- if (wellKnown) {
35
- colorMap.set(normalized, wellKnown);
36
- return wellKnown;
37
- }
38
- // Cycle through palette
39
- const color = CHANNEL_PALETTE[nextColorIdx % CHANNEL_PALETTE.length];
40
- colorMap.set(normalized, color);
41
- nextColorIdx++;
42
- return color;
43
- }
44
- /** Read-only snapshot of the current colour map. */
45
- export function getAllChannelColors() {
46
- return new Map(colorMap);
47
- }
48
- /** Reset all assignments (useful in tests). */
49
- export function resetChannelColors() {
50
- colorMap.clear();
51
- nextColorIdx = 0;
52
- }
53
- //# sourceMappingURL=channel-colors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel-colors.js","sourceRoot":"","sources":["../../../src/tui/components/channel-colors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAGvF,iEAAiE;AACjE,MAAM,UAAU,GAAiC;IAC/C,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,QAAQ;IACb,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,wDAAwD;AACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;AACjD,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE5C,iCAAiC;IACjC,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wBAAwB;IACxB,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAChC,YAAY,EAAE,CAAC;IACf,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,kBAAkB;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,YAAY,GAAG,CAAC,CAAC;AACnB,CAAC"}
@@ -1,53 +0,0 @@
1
- /**
2
- * Channel-colored message components.
3
- *
4
- * Renders chat messages in colored bordered boxes tagged with channel name,
5
- * matching Claude Code's TeamCreate multi-agent UI style.
6
- *
7
- * Each channel gets a distinct color. Agent messages within a channel show
8
- * the agent name in the agent's own color inside the channel's colored box.
9
- */
10
- import React from "react";
11
- export interface ChannelMessageData {
12
- id: string;
13
- channel: string;
14
- sender: string;
15
- senderType: "agent" | "human" | "system";
16
- content: string;
17
- timestamp: number;
18
- /** Optional agent-specific color (overrides default for agent sender name) */
19
- agentColor?: string;
20
- }
21
- export interface ChannelMessageProps {
22
- message: ChannelMessageData;
23
- }
24
- export interface ChannelMessageListProps {
25
- messages: ChannelMessageData[];
26
- maxVisible?: number;
27
- }
28
- export interface ColoredChannelBarProps {
29
- channels: Array<{
30
- id: string;
31
- name: string;
32
- unread: number;
33
- }>;
34
- activeChannelId: string;
35
- }
36
- /**
37
- * A single message with colored left border and channel tag.
38
- *
39
- * Layout:
40
- * ▌ [#channel] sender: content
41
- * ^--- channel color border
42
- */
43
- export declare function ChannelMessage({ message, }: ChannelMessageProps): React.JSX.Element;
44
- /**
45
- * List of channel-colored messages with auto-tail.
46
- */
47
- export declare function ChannelMessageList({ messages, maxVisible, }: ChannelMessageListProps): React.JSX.Element;
48
- /**
49
- * Horizontal channel tab bar with per-channel colors.
50
- * Active channel is bold + full color, others are dimmed.
51
- */
52
- export declare function ColoredChannelBar({ channels, activeChannelId, }: ColoredChannelBarProps): React.JSX.Element;
53
- export default ChannelMessage;
@@ -1,66 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Channel-colored message components.
4
- *
5
- * Renders chat messages in colored bordered boxes tagged with channel name,
6
- * matching Claude Code's TeamCreate multi-agent UI style.
7
- *
8
- * Each channel gets a distinct color. Agent messages within a channel show
9
- * the agent name in the agent's own color inside the channel's colored box.
10
- */
11
- import React from "react";
12
- import { Box, Text } from "ink";
13
- import { getChannelColor } from "./channel-colors.js";
14
- // ── Helpers ─────────────────────────────────────────────────────────
15
- function formatTime(ts) {
16
- const d = new Date(ts);
17
- const h = String(d.getHours()).padStart(2, "0");
18
- const m = String(d.getMinutes()).padStart(2, "0");
19
- return `${h}:${m}`;
20
- }
21
- // ── Single message component ────────────────────────────────────────
22
- /**
23
- * A single message with colored left border and channel tag.
24
- *
25
- * Layout:
26
- * ▌ [#channel] sender: content
27
- * ^--- channel color border
28
- */
29
- export function ChannelMessage({ message, }) {
30
- const channelColor = getChannelColor(message.channel);
31
- const time = formatTime(message.timestamp);
32
- if (message.senderType === "system") {
33
- return (_jsxs(Box, { children: [_jsx(Text, { color: channelColor, children: "▌ " }), _jsx(Text, { dimColor: true, children: time }), _jsx(Text, { children: " " }), _jsx(Text, { color: channelColor, dimColor: true, children: `[#${message.channel}]` }), _jsx(Text, { children: " " }), _jsx(Text, { color: "yellow", dimColor: true, children: message.content })] }));
34
- }
35
- if (message.senderType === "human") {
36
- return (_jsxs(Box, { children: [_jsx(Text, { color: channelColor, children: "▌ " }), _jsx(Text, { dimColor: true, children: time }), _jsx(Text, { children: " " }), _jsx(Text, { color: channelColor, dimColor: true, children: `[#${message.channel}]` }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, color: "white", children: "> " }), _jsx(Text, { children: message.content })] }));
37
- }
38
- // Agent message — agent name in agent's own color
39
- const senderColor = message.agentColor ?? channelColor;
40
- return (_jsxs(Box, { children: [_jsx(Text, { color: channelColor, children: "▌ " }), _jsx(Text, { dimColor: true, children: time }), _jsx(Text, { children: " " }), _jsx(Text, { color: channelColor, dimColor: true, children: `[#${message.channel}]` }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, color: senderColor, children: `[${message.sender}]` }), _jsx(Text, { children: " " }), _jsx(Text, { children: message.content })] }));
41
- }
42
- // ── Message list ────────────────────────────────────────────────────
43
- /**
44
- * List of channel-colored messages with auto-tail.
45
- */
46
- export function ChannelMessageList({ messages, maxVisible = 20, }) {
47
- const displayMessages = messages.slice(-maxVisible);
48
- if (displayMessages.length === 0) {
49
- return (_jsx(Box, { paddingX: 2, children: _jsx(Text, { dimColor: true, children: "No messages yet." }) }));
50
- }
51
- return (_jsx(Box, { flexDirection: "column", children: displayMessages.map((msg) => (_jsx(ChannelMessage, { message: msg }, msg.id))) }));
52
- }
53
- // ── Colored channel bar ─────────────────────────────────────────────
54
- /**
55
- * Horizontal channel tab bar with per-channel colors.
56
- * Active channel is bold + full color, others are dimmed.
57
- */
58
- export function ColoredChannelBar({ channels, activeChannelId, }) {
59
- return (_jsxs(Box, { paddingX: 1, children: [channels.map((ch, idx) => {
60
- const isActive = ch.id === activeChannelId;
61
- const color = getChannelColor(ch.name);
62
- return (_jsxs(React.Fragment, { children: [idx > 0 && _jsx(Text, { dimColor: true, children: " " }), _jsxs(Text, { bold: isActive, color: color, dimColor: !isActive, children: ["#", ch.name] }), ch.unread > 0 && (_jsx(Text, { color: "red", bold: true, children: ` (${ch.unread})` }))] }, ch.id));
63
- }), channels.length > 1 && (_jsx(Text, { dimColor: true, children: " [Tab=switch]" }))] }));
64
- }
65
- export default ChannelMessage;
66
- //# sourceMappingURL=channel-message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel-message.js","sourceRoot":"","sources":["../../../src/tui/components/channel-message.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- export interface ChatInputProps {
3
- value: string;
4
- onChange: (value: string) => void;
5
- onSubmit: (value: string) => void;
6
- placeholder?: string;
7
- prefix?: string;
8
- isActive: boolean;
9
- }
10
- export declare function ChatInput({ value, onChange, onSubmit, placeholder, prefix, isActive, }: ChatInputProps): React.JSX.Element;
11
- export default ChatInput;
@@ -1,19 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useCallback } from "react";
3
- import { Box, Text } from "ink";
4
- import { TextInput } from "@inkjs/ui";
5
- // --- Component ---
6
- export function ChatInput({ value, onChange, onSubmit, placeholder = "Type a command...", prefix = "nex> ", isActive, }) {
7
- // Counter to force TextInput remount after submit.
8
- // @inkjs/ui TextInput manages its own internal state via useReducer;
9
- // defaultValue is only read on initial mount. Incrementing the key
10
- // forces React to unmount + remount with a fresh empty state.
11
- const [submitKey, setSubmitKey] = useState(0);
12
- const handleSubmit = useCallback((val) => {
13
- onSubmit(val);
14
- setSubmitKey((k) => k + 1);
15
- }, [onSubmit]);
16
- return (_jsxs(Box, { children: [_jsx(Text, { bold: true, color: isActive ? "cyan" : undefined, dimColor: !isActive, children: prefix }), isActive ? (_jsx(TextInput, { placeholder: placeholder, onChange: onChange, onSubmit: handleSubmit }, submitKey)) : (_jsx(Text, { dimColor: true, children: value || placeholder }))] }));
17
- }
18
- export default ChatInput;
19
- //# sourceMappingURL=chat-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-input.js","sourceRoot":"","sources":["../../../src/tui/components/chat-input.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAatC,oBAAoB;AAEpB,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,GAAG,mBAAmB,EACjC,MAAM,GAAG,OAAO,EAChB,QAAQ,GACO;IACf,mDAAmD;IACnD,qEAAqE;IACrE,mEAAmE;IACnE,8DAA8D;IAC9D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,GAAW,EAAE,EAAE;QACd,QAAQ,CAAC,GAAG,CAAC,CAAC;QACd,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,QAAQ,YACjE,MAAM,GACF,EACN,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,SAAS,IAER,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,IAHjB,SAAS,CAId,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,IAAI,WAAW,GAAQ,CAC7C,IACG,CACP,CAAC;AACJ,CAAC;AAED,eAAe,SAAS,CAAC"}
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- export interface DataTableProps {
3
- headers: string[];
4
- rows: string[][];
5
- /** Column indices (0-based) to right-align */
6
- alignRight?: number[];
7
- /** Max width for any column before truncation with "…" (default: 40) */
8
- maxColWidth?: number;
9
- }
10
- export declare function DataTable({ headers, rows, alignRight, maxColWidth, }: DataTableProps): React.JSX.Element;
11
- export default DataTable;
@@ -1,47 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from "react";
3
- import { Box, Text } from "ink";
4
- // --- Helpers ---
5
- function truncate(value, max) {
6
- if (value.length <= max)
7
- return value;
8
- return value.slice(0, max - 1) + "\u2026";
9
- }
10
- function padCell(value, width, right) {
11
- if (right)
12
- return value.padStart(width);
13
- return value.padEnd(width);
14
- }
15
- function computeColumnWidths(headers, rows, maxColWidth) {
16
- return headers.map((h, i) => {
17
- let max = h.length;
18
- for (const row of rows) {
19
- const cell = row[i] ?? "";
20
- if (cell.length > max)
21
- max = cell.length;
22
- }
23
- return Math.min(max, maxColWidth);
24
- });
25
- }
26
- // --- Component ---
27
- export function DataTable({ headers, rows, alignRight = [], maxColWidth = 40, }) {
28
- const rightSet = new Set(alignRight);
29
- const widths = computeColumnWidths(headers, rows, maxColWidth);
30
- const separator = widths.map((w) => "\u2500".repeat(w)).join("\u2500\u253C\u2500");
31
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: headers.map((h, i) => {
32
- const truncated = truncate(h, widths[i]);
33
- const padded = padCell(truncated, widths[i], rightSet.has(i));
34
- const sep = i < headers.length - 1 ? " \u2502 " : "";
35
- return (_jsxs(React.Fragment, { children: [_jsx(Text, { bold: true, color: "blue", underline: true, children: padded }), sep && _jsx(Text, { children: sep })] }, i));
36
- }) }), _jsx(Text, { dimColor: true, children: separator }), rows.map((row, ri) => {
37
- const dim = ri % 2 === 1;
38
- return (_jsx(Text, { dimColor: dim, children: row.map((cell, ci) => {
39
- const truncated = truncate(cell ?? "", widths[ci]);
40
- const padded = padCell(truncated, widths[ci], rightSet.has(ci));
41
- const sep = ci < headers.length - 1 ? " \u2502 " : "";
42
- return padded + sep;
43
- }).join("") }, ri));
44
- }), _jsxs(Text, { dimColor: true, children: ["\n", rows.length, " row", rows.length !== 1 ? "s" : ""] })] }));
45
- }
46
- export default DataTable;
47
- //# sourceMappingURL=data-table.js.map