@nex-ai/nex 0.1.21 → 0.1.23

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 (295) hide show
  1. package/README.md +11 -2
  2. package/dist/agent/adoption.d.ts +23 -0
  3. package/dist/agent/adoption.js +87 -0
  4. package/dist/agent/adoption.js.map +1 -0
  5. package/dist/agent/gossip.d.ts +17 -0
  6. package/dist/agent/gossip.js +48 -0
  7. package/dist/agent/gossip.js.map +1 -0
  8. package/dist/agent/loop.d.ts +59 -0
  9. package/dist/agent/loop.js +389 -0
  10. package/dist/agent/loop.js.map +1 -0
  11. package/dist/agent/queues.d.ts +16 -0
  12. package/dist/agent/queues.js +44 -0
  13. package/dist/agent/queues.js.map +1 -0
  14. package/dist/agent/session-store.d.ts +21 -0
  15. package/dist/agent/session-store.js +96 -0
  16. package/dist/agent/session-store.js.map +1 -0
  17. package/dist/agent/templates.d.ts +5 -0
  18. package/dist/agent/templates.js +48 -0
  19. package/dist/agent/templates.js.map +1 -0
  20. package/dist/agent/tools.d.ts +25 -0
  21. package/dist/agent/tools.js +238 -0
  22. package/dist/agent/tools.js.map +1 -0
  23. package/dist/agent/types.d.ts +59 -0
  24. package/dist/agent/types.js +5 -0
  25. package/dist/agent/types.js.map +1 -0
  26. package/dist/calendar/scheduler.d.ts +32 -0
  27. package/dist/calendar/scheduler.js +178 -0
  28. package/dist/calendar/scheduler.js.map +1 -0
  29. package/dist/calendar/store.d.ts +15 -0
  30. package/dist/calendar/store.js +50 -0
  31. package/dist/calendar/store.js.map +1 -0
  32. package/dist/calendar/types.d.ts +17 -0
  33. package/dist/calendar/types.js +5 -0
  34. package/dist/calendar/types.js.map +1 -0
  35. package/dist/chat/channel.d.ts +20 -0
  36. package/dist/chat/channel.js +84 -0
  37. package/dist/chat/channel.js.map +1 -0
  38. package/dist/chat/message-store.d.ts +18 -0
  39. package/dist/chat/message-store.js +82 -0
  40. package/dist/chat/message-store.js.map +1 -0
  41. package/dist/chat/router.d.ts +17 -0
  42. package/dist/chat/router.js +65 -0
  43. package/dist/chat/router.js.map +1 -0
  44. package/dist/chat/suggested-responses.d.ts +6 -0
  45. package/dist/chat/suggested-responses.js +99 -0
  46. package/dist/chat/suggested-responses.js.map +1 -0
  47. package/dist/chat/types.d.ts +28 -0
  48. package/dist/chat/types.js +5 -0
  49. package/dist/chat/types.js.map +1 -0
  50. package/dist/cli.js +3 -1
  51. package/dist/cli.js.map +1 -1
  52. package/dist/commands/dispatch.d.ts +39 -0
  53. package/dist/commands/dispatch.js +1293 -0
  54. package/dist/commands/dispatch.js.map +1 -0
  55. package/dist/commands/init.d.ts +49 -0
  56. package/dist/commands/init.js +315 -0
  57. package/dist/commands/init.js.map +1 -0
  58. package/dist/commands/parse-input.d.ts +5 -0
  59. package/dist/commands/parse-input.js +37 -0
  60. package/dist/commands/parse-input.js.map +1 -0
  61. package/dist/index.d.ts +6 -23
  62. package/dist/index.js +118 -50
  63. package/dist/index.js.map +1 -1
  64. package/dist/lib/client.js +1 -1
  65. package/dist/lib/client.js.map +1 -1
  66. package/dist/lib/errors.js +1 -1
  67. package/dist/lib/errors.js.map +1 -1
  68. package/dist/lib/graph-html.d.ts +1 -0
  69. package/dist/lib/graph-html.js +16 -3
  70. package/dist/lib/graph-html.js.map +1 -1
  71. package/dist/lib/integrations.d.ts +23 -0
  72. package/dist/lib/integrations.js +25 -0
  73. package/dist/lib/integrations.js.map +1 -0
  74. package/dist/lib/nex-mcp-config.d.ts +14 -0
  75. package/dist/lib/nex-mcp-config.js +26 -0
  76. package/dist/lib/nex-mcp-config.js.map +1 -0
  77. package/dist/orchestration/budget.d.ts +32 -0
  78. package/dist/orchestration/budget.js +72 -0
  79. package/dist/orchestration/budget.js.map +1 -0
  80. package/dist/orchestration/executor.d.ts +59 -0
  81. package/dist/orchestration/executor.js +197 -0
  82. package/dist/orchestration/executor.js.map +1 -0
  83. package/dist/orchestration/router.d.ts +30 -0
  84. package/dist/orchestration/router.js +98 -0
  85. package/dist/orchestration/router.js.map +1 -0
  86. package/dist/orchestration/templates.d.ts +11 -0
  87. package/dist/orchestration/templates.js +99 -0
  88. package/dist/orchestration/templates.js.map +1 -0
  89. package/dist/orchestration/types.d.ts +58 -0
  90. package/dist/orchestration/types.js +7 -0
  91. package/dist/orchestration/types.js.map +1 -0
  92. package/dist/plugin/shared.js +1 -1
  93. package/dist/plugin/shared.js.map +1 -1
  94. package/dist/tui/agent-colors.d.ts +19 -0
  95. package/dist/tui/agent-colors.js +34 -0
  96. package/dist/tui/agent-colors.js.map +1 -0
  97. package/dist/tui/app.d.ts +14 -0
  98. package/dist/tui/app.js +267 -0
  99. package/dist/tui/app.js.map +1 -0
  100. package/dist/tui/channel-colors.d.ts +16 -0
  101. package/dist/tui/channel-colors.js +43 -0
  102. package/dist/tui/channel-colors.js.map +1 -0
  103. package/dist/tui/components/agent-card.d.ts +11 -0
  104. package/dist/tui/components/agent-card.js +40 -0
  105. package/dist/tui/components/agent-card.js.map +1 -0
  106. package/dist/tui/components/banner.d.ts +44 -0
  107. package/dist/tui/components/banner.js +130 -0
  108. package/dist/tui/components/banner.js.map +1 -0
  109. package/dist/tui/components/channel-colors.d.ts +21 -0
  110. package/dist/tui/components/channel-colors.js +53 -0
  111. package/dist/tui/components/channel-colors.js.map +1 -0
  112. package/dist/tui/components/channel-message.d.ts +53 -0
  113. package/dist/tui/components/channel-message.js +66 -0
  114. package/dist/tui/components/channel-message.js.map +1 -0
  115. package/dist/tui/components/chat-input.d.ts +11 -0
  116. package/dist/tui/components/chat-input.js +19 -0
  117. package/dist/tui/components/chat-input.js.map +1 -0
  118. package/dist/tui/components/data-table.d.ts +11 -0
  119. package/dist/tui/components/data-table.js +47 -0
  120. package/dist/tui/components/data-table.js.map +1 -0
  121. package/dist/tui/components/error-box.d.ts +11 -0
  122. package/dist/tui/components/error-box.js +59 -0
  123. package/dist/tui/components/error-box.js.map +1 -0
  124. package/dist/tui/components/help-screen.d.ts +3 -0
  125. package/dist/tui/components/help-screen.js +63 -0
  126. package/dist/tui/components/help-screen.js.map +1 -0
  127. package/dist/tui/components/index.d.ts +17 -0
  128. package/dist/tui/components/index.js +10 -0
  129. package/dist/tui/components/index.js.map +1 -0
  130. package/dist/tui/components/inline-confirm.d.ts +14 -0
  131. package/dist/tui/components/inline-confirm.js +13 -0
  132. package/dist/tui/components/inline-confirm.js.map +1 -0
  133. package/dist/tui/components/inline-select.d.ts +21 -0
  134. package/dist/tui/components/inline-select.js +20 -0
  135. package/dist/tui/components/inline-select.js.map +1 -0
  136. package/dist/tui/components/markdown.d.ts +6 -0
  137. package/dist/tui/components/markdown.js +179 -0
  138. package/dist/tui/components/markdown.js.map +1 -0
  139. package/dist/tui/components/mention-autocomplete.d.ts +77 -0
  140. package/dist/tui/components/mention-autocomplete.js +235 -0
  141. package/dist/tui/components/mention-autocomplete.js.map +1 -0
  142. package/dist/tui/components/message-list.d.ts +18 -0
  143. package/dist/tui/components/message-list.js +29 -0
  144. package/dist/tui/components/message-list.js.map +1 -0
  145. package/dist/tui/components/picker.d.ts +16 -0
  146. package/dist/tui/components/picker.js +32 -0
  147. package/dist/tui/components/picker.js.map +1 -0
  148. package/dist/tui/components/progress-steps.d.ts +13 -0
  149. package/dist/tui/components/progress-steps.js +21 -0
  150. package/dist/tui/components/progress-steps.js.map +1 -0
  151. package/dist/tui/components/slack/compose.d.ts +27 -0
  152. package/dist/tui/components/slack/compose.js +123 -0
  153. package/dist/tui/components/slack/compose.js.map +1 -0
  154. package/dist/tui/components/slack/layout.d.ts +36 -0
  155. package/dist/tui/components/slack/layout.js +96 -0
  156. package/dist/tui/components/slack/layout.js.map +1 -0
  157. package/dist/tui/components/slack/messages.d.ts +72 -0
  158. package/dist/tui/components/slack/messages.js +177 -0
  159. package/dist/tui/components/slack/messages.js.map +1 -0
  160. package/dist/tui/components/slack/quick-switcher.d.ts +33 -0
  161. package/dist/tui/components/slack/quick-switcher.js +98 -0
  162. package/dist/tui/components/slack/quick-switcher.js.map +1 -0
  163. package/dist/tui/components/slack/sidebar-types.d.ts +65 -0
  164. package/dist/tui/components/slack/sidebar-types.js +7 -0
  165. package/dist/tui/components/slack/sidebar-types.js.map +1 -0
  166. package/dist/tui/components/slack/sidebar.d.ts +46 -0
  167. package/dist/tui/components/slack/sidebar.js +52 -0
  168. package/dist/tui/components/slack/sidebar.js.map +1 -0
  169. package/dist/tui/components/slack/thread-panel.d.ts +45 -0
  170. package/dist/tui/components/slack/thread-panel.js +47 -0
  171. package/dist/tui/components/slack/thread-panel.js.map +1 -0
  172. package/dist/tui/components/slash-autocomplete.d.ts +81 -0
  173. package/dist/tui/components/slash-autocomplete.js +218 -0
  174. package/dist/tui/components/slash-autocomplete.js.map +1 -0
  175. package/dist/tui/components/spinner.d.ts +17 -0
  176. package/dist/tui/components/spinner.js +30 -0
  177. package/dist/tui/components/spinner.js.map +1 -0
  178. package/dist/tui/components/status-bar.d.ts +23 -0
  179. package/dist/tui/components/status-bar.js +55 -0
  180. package/dist/tui/components/status-bar.js.map +1 -0
  181. package/dist/tui/components/success-box.d.ts +7 -0
  182. package/dist/tui/components/success-box.js +10 -0
  183. package/dist/tui/components/success-box.js.map +1 -0
  184. package/dist/tui/components/tool-indicator.d.ts +12 -0
  185. package/dist/tui/components/tool-indicator.js +18 -0
  186. package/dist/tui/components/tool-indicator.js.map +1 -0
  187. package/dist/tui/components/viewport.d.ts +9 -0
  188. package/dist/tui/components/viewport.js +24 -0
  189. package/dist/tui/components/viewport.js.map +1 -0
  190. package/dist/tui/generative/bindings.d.ts +27 -0
  191. package/dist/tui/generative/bindings.js +152 -0
  192. package/dist/tui/generative/bindings.js.map +1 -0
  193. package/dist/tui/generative/registry.d.ts +19 -0
  194. package/dist/tui/generative/registry.js +31 -0
  195. package/dist/tui/generative/registry.js.map +1 -0
  196. package/dist/tui/generative/renderer.d.ts +24 -0
  197. package/dist/tui/generative/renderer.js +160 -0
  198. package/dist/tui/generative/renderer.js.map +1 -0
  199. package/dist/tui/generative/types.d.ts +68 -0
  200. package/dist/tui/generative/types.js +7 -0
  201. package/dist/tui/generative/types.js.map +1 -0
  202. package/dist/tui/hooks/use-cancellable.d.ts +28 -0
  203. package/dist/tui/hooks/use-cancellable.js +51 -0
  204. package/dist/tui/hooks/use-cancellable.js.map +1 -0
  205. package/dist/tui/hooks/use-streaming.d.ts +44 -0
  206. package/dist/tui/hooks/use-streaming.js +105 -0
  207. package/dist/tui/hooks/use-streaming.js.map +1 -0
  208. package/dist/tui/index.d.ts +4 -0
  209. package/dist/tui/index.js +7 -0
  210. package/dist/tui/index.js.map +1 -0
  211. package/dist/tui/keybindings.d.ts +25 -0
  212. package/dist/tui/keybindings.js +277 -0
  213. package/dist/tui/keybindings.js.map +1 -0
  214. package/dist/tui/register-views.d.ts +8 -0
  215. package/dist/tui/register-views.js +116 -0
  216. package/dist/tui/register-views.js.map +1 -0
  217. package/dist/tui/router.d.ts +29 -0
  218. package/dist/tui/router.js +87 -0
  219. package/dist/tui/router.js.map +1 -0
  220. package/dist/tui/services/agent-service.d.ts +58 -0
  221. package/dist/tui/services/agent-service.js +197 -0
  222. package/dist/tui/services/agent-service.js.map +1 -0
  223. package/dist/tui/services/calendar-service.d.ts +31 -0
  224. package/dist/tui/services/calendar-service.js +133 -0
  225. package/dist/tui/services/calendar-service.js.map +1 -0
  226. package/dist/tui/services/chat-service.d.ts +28 -0
  227. package/dist/tui/services/chat-service.js +91 -0
  228. package/dist/tui/services/chat-service.js.map +1 -0
  229. package/dist/tui/services/orchestration-service.d.ts +42 -0
  230. package/dist/tui/services/orchestration-service.js +153 -0
  231. package/dist/tui/services/orchestration-service.js.map +1 -0
  232. package/dist/tui/slash-commands.d.ts +106 -0
  233. package/dist/tui/slash-commands.js +1421 -0
  234. package/dist/tui/slash-commands.js.map +1 -0
  235. package/dist/tui/store.d.ts +96 -0
  236. package/dist/tui/store.js +120 -0
  237. package/dist/tui/store.js.map +1 -0
  238. package/dist/tui/theme.d.ts +40 -0
  239. package/dist/tui/theme.js +39 -0
  240. package/dist/tui/theme.js.map +1 -0
  241. package/dist/tui/tui-context.d.ts +22 -0
  242. package/dist/tui/tui-context.js +17 -0
  243. package/dist/tui/tui-context.js.map +1 -0
  244. package/dist/tui/views/agent-list.d.ts +8 -0
  245. package/dist/tui/views/agent-list.js +11 -0
  246. package/dist/tui/views/agent-list.js.map +1 -0
  247. package/dist/tui/views/ask-chat.d.ts +9 -0
  248. package/dist/tui/views/ask-chat.js +40 -0
  249. package/dist/tui/views/ask-chat.js.map +1 -0
  250. package/dist/tui/views/calendar.d.ts +15 -0
  251. package/dist/tui/views/calendar.js +29 -0
  252. package/dist/tui/views/calendar.js.map +1 -0
  253. package/dist/tui/views/chat.d.ts +18 -0
  254. package/dist/tui/views/chat.js +28 -0
  255. package/dist/tui/views/chat.js.map +1 -0
  256. package/dist/tui/views/generative.d.ts +14 -0
  257. package/dist/tui/views/generative.js +37 -0
  258. package/dist/tui/views/generative.js.map +1 -0
  259. package/dist/tui/views/help.d.ts +6 -0
  260. package/dist/tui/views/help.js +9 -0
  261. package/dist/tui/views/help.js.map +1 -0
  262. package/dist/tui/views/home-screen.d.ts +67 -0
  263. package/dist/tui/views/home-screen.js +192 -0
  264. package/dist/tui/views/home-screen.js.map +1 -0
  265. package/dist/tui/views/home.d.ts +33 -0
  266. package/dist/tui/views/home.js +60 -0
  267. package/dist/tui/views/home.js.map +1 -0
  268. package/dist/tui/views/index.d.ts +20 -0
  269. package/dist/tui/views/index.js +11 -0
  270. package/dist/tui/views/index.js.map +1 -0
  271. package/dist/tui/views/insights.d.ts +19 -0
  272. package/dist/tui/views/insights.js +46 -0
  273. package/dist/tui/views/insights.js.map +1 -0
  274. package/dist/tui/views/orchestration.d.ts +18 -0
  275. package/dist/tui/views/orchestration.js +73 -0
  276. package/dist/tui/views/orchestration.js.map +1 -0
  277. package/dist/tui/views/record-detail.d.ts +10 -0
  278. package/dist/tui/views/record-detail.js +22 -0
  279. package/dist/tui/views/record-detail.js.map +1 -0
  280. package/dist/tui/views/record-list.d.ts +15 -0
  281. package/dist/tui/views/record-list.js +22 -0
  282. package/dist/tui/views/record-list.js.map +1 -0
  283. package/dist/tui/views/slack-channel-header.d.ts +15 -0
  284. package/dist/tui/views/slack-channel-header.js +16 -0
  285. package/dist/tui/views/slack-channel-header.js.map +1 -0
  286. package/dist/tui/views/slack-home.d.ts +21 -0
  287. package/dist/tui/views/slack-home.js +572 -0
  288. package/dist/tui/views/slack-home.js.map +1 -0
  289. package/dist/tui/views/task-board.d.ts +21 -0
  290. package/dist/tui/views/task-board.js +33 -0
  291. package/dist/tui/views/task-board.js.map +1 -0
  292. package/dist/tui/views/timeline.d.ts +17 -0
  293. package/dist/tui/views/timeline.js +24 -0
  294. package/dist/tui/views/timeline.js.map +1 -0
  295. package/package.json +8 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../../src/tui/views/insights.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Orchestration dashboard view.
3
+ * Shows active goals, task pool, per-agent budgets, and global budget.
4
+ */
5
+ import React from 'react';
6
+ import type { GoalDefinition, TaskDefinition, BudgetSnapshot } from '../../orchestration/types.js';
7
+ export interface OrchestrationViewProps {
8
+ goals: GoalDefinition[];
9
+ tasks: TaskDefinition[];
10
+ budgets: BudgetSnapshot[];
11
+ globalBudget: {
12
+ tokens: number;
13
+ cost: number;
14
+ percentTokens: number;
15
+ percentCost: number;
16
+ };
17
+ }
18
+ export declare function OrchestrationView({ goals, tasks, budgets, globalBudget, }: OrchestrationViewProps): React.JSX.Element;
@@ -0,0 +1,73 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ // ── Helpers ──
4
+ function statusIcon(status) {
5
+ switch (status) {
6
+ case 'completed':
7
+ return '\u25CF'; // filled circle
8
+ case 'in_progress':
9
+ case 'locked':
10
+ return '\u25D0'; // half circle
11
+ case 'failed':
12
+ return '\u2716'; // cross
13
+ case 'active':
14
+ return '\u25D0';
15
+ case 'paused':
16
+ return '\u25CB'; // open circle
17
+ default:
18
+ return '\u25CB';
19
+ }
20
+ }
21
+ function statusColor(status) {
22
+ switch (status) {
23
+ case 'completed':
24
+ return 'green';
25
+ case 'in_progress':
26
+ case 'locked':
27
+ case 'active':
28
+ return 'yellow';
29
+ case 'failed':
30
+ return 'red';
31
+ default:
32
+ return 'gray';
33
+ }
34
+ }
35
+ function budgetBar(percent, width = 10) {
36
+ const clamped = Math.max(0, Math.min(100, percent));
37
+ const filled = Math.round((clamped / 100) * width);
38
+ const empty = width - filled;
39
+ return '\u2588'.repeat(filled) + '\u2591'.repeat(empty);
40
+ }
41
+ function countByStatus(tasks, status) {
42
+ return tasks.filter((t) => t.status === status).length;
43
+ }
44
+ // ── Sub-components ──
45
+ function GoalRow({ goal, tasks, }) {
46
+ const goalTasks = tasks.filter((t) => t.parentGoalId === goal.id);
47
+ const completed = goalTasks.filter((t) => t.status === 'completed').length;
48
+ const total = goalTasks.length;
49
+ return (_jsxs(Box, { children: [_jsxs(Text, { color: "gray", children: [goal === undefined ? '\u2514' : '\u251C', " "] }), _jsxs(Text, { children: [goal.title, " "] }), _jsxs(Text, { color: "gray", children: ["[", completed, "/", total, " tasks] "] }), _jsxs(Text, { color: statusColor(goal.status), children: [statusIcon(goal.status), " ", goal.status] })] }));
50
+ }
51
+ function GoalSection({ goals, tasks, }) {
52
+ if (goals.length === 0) {
53
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Goals" }), _jsx(Text, { color: "gray", children: " No goals defined yet." })] }));
54
+ }
55
+ const active = goals.filter((g) => g.status === 'active').length;
56
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { bold: true, children: ["Goals (", active, " active)"] }), goals.map((goal, i) => (_jsx(GoalRow, { goal: goal, tasks: tasks }, goal.id ?? i)))] }));
57
+ }
58
+ function TaskPoolSection({ tasks, }) {
59
+ const completed = countByStatus(tasks, 'completed');
60
+ const inProgress = countByStatus(tasks, 'in_progress') + countByStatus(tasks, 'locked');
61
+ const pending = countByStatus(tasks, 'pending');
62
+ const failed = countByStatus(tasks, 'failed');
63
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Task Pool" }), _jsxs(Box, { gap: 2, children: [_jsxs(Text, { color: "green", children: ['\u25CF', " ", completed, " completed"] }), _jsxs(Text, { color: "yellow", children: ['\u25D0', " ", inProgress, " in progress"] }), _jsxs(Text, { color: "gray", children: ['\u25CB', " ", pending, " pending"] }), failed > 0 && (_jsxs(Text, { color: "red", children: ['\u2716', " ", failed, " failed"] }))] })] }));
64
+ }
65
+ function BudgetSection({ budgets, globalBudget, }) {
66
+ const globalPercent = Math.max(globalBudget.percentTokens, globalBudget.percentCost);
67
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Budget" }), budgets.map((b) => (_jsxs(Box, { gap: 1, children: [_jsx(Text, { children: b.agentSlug.padEnd(14) }), _jsx(Text, { color: b.warning ? 'red' : b.percentUsed > 50 ? 'yellow' : 'green', children: budgetBar(b.percentUsed) }), _jsxs(Text, { children: [" ", Math.round(b.percentUsed), "%"] }), _jsxs(Text, { color: "gray", children: [" $", b.costUsd.toFixed(2)] })] }, b.agentSlug))), _jsxs(Box, { gap: 1, children: [_jsx(Text, { children: 'Global'.padEnd(14) }), _jsx(Text, { color: globalPercent > 80 ? 'red' : globalPercent > 50 ? 'yellow' : 'green', children: budgetBar(globalPercent) }), _jsxs(Text, { children: [" ", Math.round(globalPercent), "%"] }), _jsxs(Text, { color: "gray", children: [" $", globalBudget.cost.toFixed(2)] })] })] }));
68
+ }
69
+ // ── Main view ──
70
+ export function OrchestrationView({ goals, tasks, budgets, globalBudget, }) {
71
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, paddingY: 0, children: [_jsx(Text, { bold: true, color: "cyan", children: "Orchestration" }), _jsx(Box, { height: 1 }), _jsx(GoalSection, { goals: goals, tasks: tasks }), _jsx(TaskPoolSection, { tasks: tasks }), _jsx(BudgetSection, { budgets: budgets, globalBudget: globalBudget }), _jsx(Text, { color: "gray", children: "[Esc=back t=tasks g=goals w=workflows]" })] }));
72
+ }
73
+ //# sourceMappingURL=orchestration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../../src/tui/views/orchestration.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export interface RecordDetailViewProps {
3
+ objectType: string;
4
+ recordId: string;
5
+ recordLabel: string;
6
+ attributes: Record<string, string>;
7
+ onBack?: () => void;
8
+ }
9
+ export declare function RecordDetailView({ objectType, recordId, recordLabel, attributes, onBack: _onBack, }: RecordDetailViewProps): React.JSX.Element;
10
+ export default RecordDetailView;
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Box, Text } from "ink";
4
+ import { Viewport } from "../components/viewport.js";
5
+ // --- Helpers ---
6
+ function formatAttributes(attrs) {
7
+ const maxKeyLen = Math.max(...Object.keys(attrs).map((k) => k.length), 0);
8
+ return Object.entries(attrs)
9
+ .map(([key, val]) => {
10
+ const padded = key.padEnd(maxKeyLen);
11
+ return ` ${padded} ${val}`;
12
+ })
13
+ .join("\n");
14
+ }
15
+ // --- Component ---
16
+ export function RecordDetailView({ objectType, recordId, recordLabel, attributes, onBack: _onBack, }) {
17
+ const [scrollOffset, setScrollOffset] = useState(0);
18
+ const content = formatAttributes(attributes);
19
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsxs(Box, { paddingX: 2, marginBottom: 1, flexDirection: "column", children: [_jsx(Box, { children: _jsx(Text, { bold: true, color: "cyan", children: recordLabel }) }), _jsx(Box, { children: _jsx(Text, { dimColor: true, children: `${objectType} \u2502 ${recordId}` }) })] }), _jsx(Box, { paddingX: 1, children: _jsx(Viewport, { content: content, scrollOffset: scrollOffset, onScroll: setScrollOffset }) }), _jsxs(Box, { paddingX: 2, marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "Tip: run " }), _jsx(Text, { color: "cyan", children: `nex record timeline ${recordId}` }), _jsx(Text, { dimColor: true, children: " to see activity" })] })] }));
20
+ }
21
+ export default RecordDetailView;
22
+ //# sourceMappingURL=record-detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-detail.js","sourceRoot":"","sources":["../../../src/tui/views/record-detail.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAYrD,kBAAkB;AAElB,SAAS,gBAAgB,CAAC,KAA6B;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAC1C,CAAC,CACF,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,KAAK,MAAM,KAAK,GAAG,EAAE,CAAC;IAC/B,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,oBAAoB;AAEpB,MAAM,UAAU,gBAAgB,CAAC,EAC/B,UAAU,EACV,QAAQ,EACR,WAAW,EACX,UAAU,EACV,MAAM,EAAE,OAAO,GACO;IACtB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE7C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM,aAEtC,MAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvD,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,YACpB,WAAW,GACP,GACH,EACN,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,UAAU,WAAW,QAAQ,EAAE,GAAQ,GACtD,IACF,EAGN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,eAAe,GACzB,GACE,EAGN,MAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,aAC5B,KAAC,IAAI,IAAC,QAAQ,kBACX,WAAW,GACP,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,uBAAuB,QAAQ,EAAE,GAAQ,EAC7D,KAAC,IAAI,IAAC,QAAQ,kBAAE,kBAAkB,GAAQ,IACtC,IACF,CACP,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ export interface RecordRow {
3
+ id: string;
4
+ label: string;
5
+ attributes: Record<string, string>;
6
+ }
7
+ export interface RecordListViewProps {
8
+ objectType: string;
9
+ records: RecordRow[];
10
+ columns: string[];
11
+ onSelect?: (record: RecordRow) => void;
12
+ onBack?: () => void;
13
+ }
14
+ export declare function RecordListView({ objectType, records, columns, onSelect, onBack: _onBack, }: RecordListViewProps): React.JSX.Element;
15
+ export default RecordListView;
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Box, Text } from "ink";
4
+ import { Picker } from "../components/picker.js";
5
+ // --- Component ---
6
+ export function RecordListView({ objectType, records, columns, onSelect, onBack: _onBack, }) {
7
+ const [cursor, setCursor] = useState(0);
8
+ // Build picker items from records
9
+ const items = records.map((r) => ({
10
+ command: r.id,
11
+ label: r.label,
12
+ detail: columns.map((col) => r.attributes[col] ?? "").join(" | "),
13
+ }));
14
+ const handleSelect = (item) => {
15
+ const record = records.find((r) => r.id === item.command);
16
+ if (record)
17
+ onSelect?.(record);
18
+ };
19
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsxs(Box, { paddingX: 2, marginBottom: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: objectType }), _jsx(Text, { dimColor: true, children: ` (${records.length} records)` })] }), _jsxs(Box, { paddingX: 3, children: [_jsx(Box, { minWidth: 4, children: _jsx(Text, { bold: true, dimColor: true, children: "#" }) }), _jsx(Box, { minWidth: 20, children: _jsx(Text, { bold: true, children: "Name" }) }), columns.map((col) => (_jsx(Box, { minWidth: 16, children: _jsx(Text, { bold: true, dimColor: true, children: col }) }, col)))] }), _jsx(Picker, { items: items, cursor: cursor, onSelect: handleSelect, onCursorChange: setCursor, quickSelect: true })] }));
20
+ }
21
+ export default RecordListView;
22
+ //# sourceMappingURL=record-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-list.js","sourceRoot":"","sources":["../../../src/tui/views/record-list.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAmBjD,oBAAoB;AAEpB,MAAM,UAAU,cAAc,CAAC,EAC7B,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAM,EAAE,OAAO,GACK;IACpB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExC,kCAAkC;IAClC,MAAM,KAAK,GAAiB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC,CAAC,EAAE;QACb,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;KAClE,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,MAAM;YAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM,aAEtC,MAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aAC/B,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,YACpB,UAAU,GACN,EACP,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,OAAO,CAAC,MAAM,WAAW,GAAQ,IAClD,EAGN,MAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,aACd,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,kBAAE,GAAG,GAAQ,GAC5B,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,EAAE,YACf,KAAC,IAAI,IAAC,IAAI,kBAAE,MAAM,GAAQ,GACtB,EACL,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,KAAC,GAAG,IAAW,QAAQ,EAAE,EAAE,YACzB,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,kBAAE,GAAG,GAAQ,IADxB,GAAG,CAEP,CACP,CAAC,IACE,EAGN,KAAC,MAAM,IACL,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,SAAS,EACzB,WAAW,SACX,IACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Slack-style channel header bar.
3
+ *
4
+ * Shows channel name (with # prefix for channels, presence dot for DMs),
5
+ * topic line, and action hints. Sits at the top of the main panel.
6
+ */
7
+ import React from "react";
8
+ export interface ChannelHeaderProps {
9
+ name: string;
10
+ type: "channel" | "dm" | "group-dm";
11
+ online?: boolean;
12
+ focused: boolean;
13
+ }
14
+ export declare function ChannelHeader({ name, type, online, focused, }: ChannelHeaderProps): React.JSX.Element;
15
+ export default ChannelHeader;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ export function ChannelHeader({ name, type, online, focused, }) {
4
+ let prefix;
5
+ if (type === "channel") {
6
+ prefix = _jsx(Text, { color: focused ? "cyan" : "gray", children: "# " });
7
+ }
8
+ else {
9
+ const dotColor = online ? "green" : "gray";
10
+ const dot = online ? "●" : "○";
11
+ prefix = _jsxs(Text, { color: dotColor, children: [dot, " "] });
12
+ }
13
+ return (_jsxs(Box, { paddingX: 1, justifyContent: "space-between", children: [_jsxs(Box, { gap: 1, children: [focused && _jsx(Text, { color: "black", backgroundColor: "cyan", bold: true, children: " MESSAGES " }), prefix, _jsx(Text, { bold: true, color: focused ? "cyan" : "white", children: name })] }), _jsxs(Box, { gap: 2, children: [focused && _jsx(Text, { color: "cyan", children: "↑↓ scroll" }), _jsx(Text, { color: "gray", children: "Ctrl+K search" }), _jsx(Text, { color: "gray", children: "Tab focus" })] })] }));
14
+ }
15
+ export default ChannelHeader;
16
+ //# sourceMappingURL=slack-channel-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-channel-header.js","sourceRoot":"","sources":["../../../src/tui/views/slack-channel-header.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAShC,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,GACY;IACnB,IAAI,MAAyB,CAAC;IAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,KAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,mBAAW,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/B,MAAM,GAAG,MAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,aAAG,GAAG,SAAS,CAAC;IAChD,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IACF,QAAQ,EAAE,CAAC,EACX,cAAc,EAAC,eAAe,aAE9B,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aACR,OAAO,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,eAAe,EAAC,MAAM,EAAC,IAAI,kBAAE,YAAY,GAAQ,EAChF,MAAM,EACP,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YACzC,IAAI,GACA,IACH,EACN,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aACR,OAAO,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,WAAW,GAAQ,EACnD,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,8BAAqB,EACvC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,0BAAiB,IAC/B,IACF,CACP,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * SlackHome — the main Slack-style home view.
3
+ *
4
+ * Connects all Slack components to services:
5
+ * - Sidebar with DMs (agents) and channels from ChatService
6
+ * - Message list with grouping from ChatService
7
+ * - Thread panel for in-thread replies
8
+ * - Quick switcher overlay (Ctrl+K)
9
+ * - Compose area with slash commands and @mentions
10
+ * - Agent routing: DM → steer(), channel → broadcast
11
+ */
12
+ import React from "react";
13
+ export interface SlackHomeProps {
14
+ /** Router push function for navigating to other views */
15
+ push: (view: {
16
+ name: string;
17
+ props?: Record<string, unknown>;
18
+ }) => void;
19
+ }
20
+ export declare function SlackHome({ push }: SlackHomeProps): React.JSX.Element;
21
+ export default SlackHome;