@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,133 +0,0 @@
1
- /**
2
- * TUI service layer for the calendar/scheduling system.
3
- * Wraps Scheduler and CalendarStore into a single facade
4
- * that the calendar view can consume without touching backend internals.
5
- */
6
- import { join } from 'node:path';
7
- import { homedir } from 'node:os';
8
- import { Scheduler } from '../../calendar/scheduler.js';
9
- import { CalendarStore } from '../../calendar/store.js';
10
- export class CalendarService {
11
- scheduler;
12
- store;
13
- listeners = [];
14
- constructor(calendarFilePath) {
15
- const filePath = calendarFilePath ?? join(homedir(), '.nex-cli', 'calendar.json');
16
- this.store = new CalendarStore(filePath);
17
- this.scheduler = new Scheduler(this.store);
18
- }
19
- // ── View data ──
20
- /**
21
- * Returns events formatted for the calendar grid view.
22
- * Maps scheduled tasks to day/hour slots for the given week.
23
- */
24
- getWeekEvents(weekOffset = 0) {
25
- const { start, end } = this.getWeekRange(weekOffset);
26
- const tasks = this.scheduler.getUpcoming(start, end);
27
- const allTasks = this.store.load().filter(t => t.enabled);
28
- // For recurring tasks, generate occurrences within the week window
29
- const events = [];
30
- // Include tasks whose nextRun falls within the week
31
- for (const task of tasks) {
32
- const runDate = new Date(task.nextRun);
33
- events.push({
34
- id: task.id,
35
- agentName: task.agentSlug,
36
- day: runDate.getDay(),
37
- hour: runDate.getHours(),
38
- label: `${task.agentSlug} ${task.type}`,
39
- });
40
- }
41
- // Also scan all enabled tasks and project their cron into the week
42
- for (const task of allTasks) {
43
- // Skip tasks already captured via getUpcoming
44
- if (tasks.some(t => t.id === task.id))
45
- continue;
46
- try {
47
- let cursor = new Date(start.getTime());
48
- // Walk through the week generating occurrences
49
- while (cursor.getTime() <= end.getTime()) {
50
- const next = this.scheduler.nextRun(task.cronExpression, cursor);
51
- if (next.getTime() > end.getTime())
52
- break;
53
- if (next.getTime() >= start.getTime()) {
54
- events.push({
55
- id: task.id,
56
- agentName: task.agentSlug,
57
- day: next.getDay(),
58
- hour: next.getHours(),
59
- label: `${task.agentSlug} ${task.type}`,
60
- });
61
- }
62
- // Advance cursor past this occurrence
63
- cursor = new Date(next.getTime());
64
- }
65
- }
66
- catch {
67
- // Skip tasks with unparseable cron
68
- }
69
- }
70
- return events;
71
- }
72
- // ── Scheduling ──
73
- scheduleHeartbeat(agentSlug, agentName, cronExpression) {
74
- this.scheduler.schedule({
75
- agentSlug,
76
- type: 'heartbeat',
77
- cronExpression,
78
- enabled: true,
79
- });
80
- this.notify();
81
- }
82
- removeSchedule(agentSlug) {
83
- const agentTasks = this.store.getByAgent(agentSlug);
84
- for (const task of agentTasks) {
85
- this.store.remove(task.id);
86
- }
87
- this.notify();
88
- }
89
- // ── Queries ──
90
- getUpcoming(hours = 24) {
91
- const now = new Date();
92
- const to = new Date(now.getTime() + hours * 60 * 60 * 1000);
93
- return this.scheduler.getUpcoming(now, to);
94
- }
95
- getMissed() {
96
- return this.scheduler.getMissed();
97
- }
98
- // ── Subscription for TUI re-renders ──
99
- subscribe(listener) {
100
- this.listeners.push(listener);
101
- return () => {
102
- const idx = this.listeners.indexOf(listener);
103
- if (idx >= 0)
104
- this.listeners.splice(idx, 1);
105
- };
106
- }
107
- notify() {
108
- for (const listener of this.listeners) {
109
- listener();
110
- }
111
- }
112
- // ── Internal helpers ──
113
- getWeekRange(offset) {
114
- const now = new Date();
115
- const dayOfWeek = now.getDay();
116
- const start = new Date(now);
117
- start.setDate(now.getDate() - dayOfWeek + offset * 7);
118
- start.setHours(0, 0, 0, 0);
119
- const end = new Date(start);
120
- end.setDate(start.getDate() + 6);
121
- end.setHours(23, 59, 59, 999);
122
- return { start, end };
123
- }
124
- }
125
- // ── Singleton accessor ──
126
- let instance;
127
- export function getCalendarService() {
128
- if (!instance) {
129
- instance = new CalendarService();
130
- }
131
- return instance;
132
- }
133
- //# sourceMappingURL=calendar-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calendar-service.js","sourceRoot":"","sources":["../../../src/tui/services/calendar-service.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * TUI service layer for the chat system.
3
- * Wraps ChannelManager, MessageStore, and ChatRouter into a single facade
4
- * that the chat view can consume without touching backend internals.
5
- */
6
- import type { Channel, ChatMessage } from '../../chat/types.js';
7
- export declare class ChatService {
8
- private channelManager;
9
- private messageStore;
10
- private chatRouter;
11
- private listeners;
12
- constructor(baseDir?: string);
13
- getChannels(): Array<{
14
- id: string;
15
- name: string;
16
- unread: number;
17
- }>;
18
- createChannel(name: string, type?: 'public' | 'private'): Channel;
19
- /** Get existing channel by name, or create it if it doesn't exist. */
20
- ensureChannel(name: string, type?: 'public' | 'private'): Channel;
21
- getMessages(channelId: string, limit?: number): ChatMessage[];
22
- send(channelId: string, content: string, sender?: string): ChatMessage;
23
- route(channelId: string, sender: string, content: string): ChatMessage;
24
- getPendingMentions(): ChatMessage[];
25
- subscribe(listener: () => void): () => void;
26
- private notify;
27
- }
28
- export declare function getChatService(): ChatService;
@@ -1,91 +0,0 @@
1
- /**
2
- * TUI service layer for the chat system.
3
- * Wraps ChannelManager, MessageStore, and ChatRouter into a single facade
4
- * that the chat view can consume without touching backend internals.
5
- */
6
- import { join } from 'node:path';
7
- import { homedir } from 'node:os';
8
- import { ChannelManager } from '../../chat/channel.js';
9
- import { MessageStore } from '../../chat/message-store.js';
10
- import { ChatRouter } from '../../chat/router.js';
11
- export class ChatService {
12
- channelManager;
13
- messageStore;
14
- chatRouter;
15
- listeners = [];
16
- constructor(baseDir) {
17
- const dir = baseDir ?? join(process.env.NEX_CLI_DATA_DIR ?? join(homedir(), '.nex-cli'), 'chat');
18
- this.channelManager = new ChannelManager(dir);
19
- this.messageStore = new MessageStore(join(dir, 'messages'));
20
- this.chatRouter = new ChatRouter(this.channelManager, this.messageStore);
21
- // Ensure a #general channel always exists
22
- this.channelManager.ensureDefaults();
23
- }
24
- // ── Channel operations ──
25
- getChannels() {
26
- const channels = this.channelManager.list();
27
- return channels.map(ch => ({
28
- id: ch.id,
29
- name: ch.name,
30
- unread: this.messageStore.getUnread('human', 0)
31
- .filter(m => m.channelId === ch.id).length,
32
- }));
33
- }
34
- createChannel(name, type = 'public') {
35
- const channel = this.channelManager.create({
36
- name,
37
- type,
38
- members: ['human'],
39
- });
40
- this.notify();
41
- return channel;
42
- }
43
- /** Get existing channel by name, or create it if it doesn't exist. */
44
- ensureChannel(name, type = 'public') {
45
- const existing = this.channelManager.list().find((ch) => ch.name === name);
46
- if (existing)
47
- return existing;
48
- return this.createChannel(name, type);
49
- }
50
- // ── Message operations ──
51
- getMessages(channelId, limit) {
52
- return this.messageStore.getMessages(channelId, { limit });
53
- }
54
- send(channelId, content, sender = 'human') {
55
- const message = this.chatRouter.route(channelId, sender, content);
56
- this.notify();
57
- return message;
58
- }
59
- // ── Routing ──
60
- route(channelId, sender, content) {
61
- const message = this.chatRouter.route(channelId, sender, content);
62
- this.notify();
63
- return message;
64
- }
65
- getPendingMentions() {
66
- return this.chatRouter.hasPendingMentions();
67
- }
68
- // ── Subscription for TUI re-renders ──
69
- subscribe(listener) {
70
- this.listeners.push(listener);
71
- return () => {
72
- const idx = this.listeners.indexOf(listener);
73
- if (idx >= 0)
74
- this.listeners.splice(idx, 1);
75
- };
76
- }
77
- notify() {
78
- for (const listener of this.listeners) {
79
- listener();
80
- }
81
- }
82
- }
83
- // ── Singleton accessor ──
84
- let instance;
85
- export function getChatService() {
86
- if (!instance) {
87
- instance = new ChatService();
88
- }
89
- return instance;
90
- }
91
- //# sourceMappingURL=chat-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-service.js","sourceRoot":"","sources":["../../../src/tui/services/chat-service.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * TUI service layer for multi-agent orchestration.
3
- * Wraps BudgetTracker, TaskRouter, OrchestratorExecutor, and workflow
4
- * templates into a single facade the orchestration view can consume.
5
- */
6
- import type { GoalDefinition, TaskDefinition, OrchestratorConfig, BudgetSnapshot, SkillDeclaration } from '../../orchestration/types.js';
7
- export declare class OrchestrationService {
8
- private executor;
9
- private budget;
10
- private router;
11
- private goals;
12
- private tasks;
13
- private listeners;
14
- constructor(config?: Partial<OrchestratorConfig>);
15
- createGoal(title: string, description: string): GoalDefinition;
16
- getGoals(): GoalDefinition[];
17
- createTask(task: Omit<TaskDefinition, 'id' | 'createdAt' | 'status'>): TaskDefinition;
18
- getTasks(goalId?: string): TaskDefinition[];
19
- getActiveTasks(): TaskDefinition[];
20
- instantiateWorkflow(templateName: string): {
21
- goal: GoalDefinition;
22
- tasks: TaskDefinition[];
23
- };
24
- getTemplateNames(): string[];
25
- registerAgentSkills(agentSlug: string, skills: SkillDeclaration[]): void;
26
- findBestAgentForTask(taskId: string): {
27
- agentSlug: string;
28
- score: number;
29
- } | null;
30
- getBudgetSnapshots(): BudgetSnapshot[];
31
- getGlobalBudget(): {
32
- tokens: number;
33
- cost: number;
34
- percentTokens: number;
35
- percentCost: number;
36
- };
37
- submitTask(taskId: string): Promise<void>;
38
- stopAll(): Promise<void>;
39
- subscribe(listener: () => void): () => void;
40
- private notify;
41
- }
42
- export declare function getOrchestrationService(): OrchestrationService;
@@ -1,153 +0,0 @@
1
- /**
2
- * TUI service layer for multi-agent orchestration.
3
- * Wraps BudgetTracker, TaskRouter, OrchestratorExecutor, and workflow
4
- * templates into a single facade the orchestration view can consume.
5
- */
6
- import { randomUUID } from 'node:crypto';
7
- import { BudgetTracker } from '../../orchestration/budget.js';
8
- import { TaskRouter } from '../../orchestration/router.js';
9
- import { OrchestratorExecutor } from '../../orchestration/executor.js';
10
- import { workflows } from '../../orchestration/templates.js';
11
- const DEFAULT_CONFIG = {
12
- maxConcurrentAgents: 3,
13
- globalBudget: { maxTokens: 100_000, maxCostUsd: 0.5 },
14
- taskTimeout: 5 * 60 * 1000, // 5 minutes
15
- autoRetry: true,
16
- maxRetries: 2,
17
- };
18
- export class OrchestrationService {
19
- executor;
20
- budget;
21
- router;
22
- goals = new Map();
23
- tasks = new Map();
24
- listeners = [];
25
- constructor(config) {
26
- const merged = { ...DEFAULT_CONFIG, ...config };
27
- this.executor = new OrchestratorExecutor(merged);
28
- this.budget = new BudgetTracker(merged.globalBudget);
29
- this.router = new TaskRouter();
30
- }
31
- // ── Goal management ──
32
- createGoal(title, description) {
33
- const goal = {
34
- id: randomUUID(),
35
- title,
36
- description,
37
- tasks: [],
38
- status: 'active',
39
- createdAt: Date.now(),
40
- };
41
- this.goals.set(goal.id, goal);
42
- this.notify();
43
- return goal;
44
- }
45
- getGoals() {
46
- return [...this.goals.values()];
47
- }
48
- // ── Task management ──
49
- createTask(task) {
50
- const full = {
51
- ...task,
52
- id: randomUUID(),
53
- status: 'pending',
54
- createdAt: Date.now(),
55
- };
56
- this.tasks.set(full.id, full);
57
- // Link to parent goal if specified
58
- if (full.parentGoalId) {
59
- const goal = this.goals.get(full.parentGoalId);
60
- if (goal) {
61
- goal.tasks.push(full.id);
62
- }
63
- }
64
- this.notify();
65
- return full;
66
- }
67
- getTasks(goalId) {
68
- const all = [...this.tasks.values()];
69
- if (goalId) {
70
- const goal = this.goals.get(goalId);
71
- if (!goal)
72
- return [];
73
- const taskIdSet = new Set(goal.tasks);
74
- return all.filter((t) => taskIdSet.has(t.id));
75
- }
76
- return all;
77
- }
78
- getActiveTasks() {
79
- return [...this.tasks.values()].filter((t) => t.status === 'in_progress' || t.status === 'locked');
80
- }
81
- // ── Workflow templates ──
82
- instantiateWorkflow(templateName) {
83
- const template = workflows[templateName];
84
- if (!template) {
85
- throw new Error(`Unknown workflow template: ${templateName}`);
86
- }
87
- // Create goal from first template goal (templates define one)
88
- const goalDef = template.goals[0];
89
- const goal = this.createGoal(goalDef.title, goalDef.description);
90
- // Create tasks linked to the goal
91
- const tasks = template.tasks.map((t) => this.createTask({
92
- ...t,
93
- parentGoalId: goal.id,
94
- }));
95
- return { goal, tasks };
96
- }
97
- getTemplateNames() {
98
- return Object.keys(workflows);
99
- }
100
- // ── Agent routing ──
101
- registerAgentSkills(agentSlug, skills) {
102
- this.router.registerAgent(agentSlug, skills);
103
- this.notify();
104
- }
105
- findBestAgentForTask(taskId) {
106
- const task = this.tasks.get(taskId);
107
- if (!task)
108
- return null;
109
- return this.router.findBestAgent(task);
110
- }
111
- // ── Budget ──
112
- getBudgetSnapshots() {
113
- return this.budget.getAllSnapshots();
114
- }
115
- getGlobalBudget() {
116
- return this.budget.getGlobalUsage();
117
- }
118
- // ── Execution ──
119
- async submitTask(taskId) {
120
- const task = this.tasks.get(taskId);
121
- if (!task)
122
- throw new Error(`Task not found: ${taskId}`);
123
- await this.executor.submit(task);
124
- this.notify();
125
- }
126
- async stopAll() {
127
- await this.executor.stopAll();
128
- this.notify();
129
- }
130
- // ── Subscribe for TUI re-renders ──
131
- subscribe(listener) {
132
- this.listeners.push(listener);
133
- return () => {
134
- const idx = this.listeners.indexOf(listener);
135
- if (idx >= 0)
136
- this.listeners.splice(idx, 1);
137
- };
138
- }
139
- notify() {
140
- for (const listener of this.listeners) {
141
- listener();
142
- }
143
- }
144
- }
145
- // ── Singleton accessor ──
146
- let instance;
147
- export function getOrchestrationService() {
148
- if (!instance) {
149
- instance = new OrchestrationService();
150
- }
151
- return instance;
152
- }
153
- //# sourceMappingURL=orchestration-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestration-service.js","sourceRoot":"","sources":["../../../src/tui/services/orchestration-service.ts"],"names":[],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- /**
2
- * Slash command registry for the conversation-first TUI.
3
- *
4
- * Slash commands (/help, /agents, etc.) are the explicit navigation model.
5
- * Natural language input goes to the Pi agent via dispatch("ask ...").
6
- */
7
- import type { ViewEntry } from "./store.js";
8
- import type { CommandResult } from "../commands/dispatch.js";
9
- import type { SelectOption } from "./components/inline-select.js";
10
- export interface SlashCommand {
11
- name: string;
12
- description: string;
13
- usage?: string;
14
- execute: (args: string, context: SlashCommandContext) => Promise<SlashCommandResult>;
15
- }
16
- export interface SlashCommandContext {
17
- push: (view: ViewEntry) => void;
18
- dispatch: (input: string) => Promise<CommandResult>;
19
- addMessage: (msg: ConversationMessage) => void;
20
- setLoading: (loading: boolean, hint?: string) => void;
21
- /** Show an arrow-key navigable inline select picker. */
22
- showPicker: (title: string, options: SelectOption[], onSelect: (value: string) => void) => void;
23
- /** Clear the current picker. */
24
- clearPicker: () => void;
25
- /** Show an inline y/n confirm prompt. */
26
- showConfirm: (question: string, onConfirm: (confirmed: boolean) => void) => void;
27
- /** Clear the current confirm prompt. */
28
- clearConfirm: () => void;
29
- }
30
- export interface SlashCommandResult {
31
- output?: string;
32
- silent?: boolean;
33
- }
34
- export type ConversationMessage = {
35
- id: string;
36
- role: "user" | "assistant" | "system" | "tool";
37
- content: string;
38
- timestamp: number;
39
- toolName?: string;
40
- isError?: boolean;
41
- /** When true, MessageBubble shows a trailing cursor block ▌ */
42
- isStreaming?: boolean;
43
- };
44
- export declare function registerSlashCommand(cmd: SlashCommand): void;
45
- export declare function getSlashCommand(name: string): SlashCommand | undefined;
46
- export declare function listSlashCommands(): SlashCommand[];
47
- /**
48
- * Parse raw input to determine if it is a slash command.
49
- * Returns `{ isSlash: true, command, args }` for "/foo bar baz",
50
- * or `{ isSlash: false }` for everything else.
51
- */
52
- export declare function parseSlashInput(input: string): {
53
- isSlash: boolean;
54
- command?: string;
55
- args?: string;
56
- };
57
- export type InitState = {
58
- phase: "idle";
59
- } | {
60
- phase: "awaiting_email";
61
- loginOnly?: boolean;
62
- } | {
63
- phase: "awaiting_new_email";
64
- loginOnly?: boolean;
65
- } | {
66
- phase: "awaiting_agent_prompt";
67
- };
68
- export declare function getInitState(): InitState;
69
- export declare function resetInitState(): void;
70
- /**
71
- * Handle user input when the init flow is awaiting a text response.
72
- * Called by the home adapter when `getInitState().phase !== 'idle'`.
73
- *
74
- * Picker-based choices (regen, agent, template) are now handled via
75
- * showPicker callbacks -- only text-input phases remain here.
76
- */
77
- export declare function handleInitInput(input: string, context: SlashCommandContext): Promise<void>;
78
- export type AgentWizardState = {
79
- phase: "idle";
80
- } | {
81
- phase: "agent_create_name";
82
- } | {
83
- phase: "agent_create_expertise";
84
- slug: string;
85
- name: string;
86
- } | {
87
- phase: "agent_create_describe";
88
- } | {
89
- phase: "agent_edit_name";
90
- slug: string;
91
- } | {
92
- phase: "agent_edit_expertise";
93
- slug: string;
94
- };
95
- export declare function getAgentWizardState(): AgentWizardState;
96
- export declare function resetAgentWizardState(): void;
97
- /**
98
- * Main entry point for the /agents interactive manager.
99
- * Exported so SlackHome can call it from the sidebar `[a]` shortcut.
100
- */
101
- export declare function openAgentsManager(ctx: SlashCommandContext): Promise<void>;
102
- /**
103
- * Handle text input when the agent wizard is awaiting user input.
104
- * Called by SlackHome's handleSend when agentWizardState.phase !== "idle".
105
- */
106
- export declare function handleAgentWizardInput(input: string, ctx: SlashCommandContext): Promise<void>;