@nex-ai/nex 0.1.25 → 0.1.27

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 (121) hide show
  1. package/README.md +8 -13
  2. package/dist/cli.d.ts +2 -1
  3. package/dist/commands/dispatch.js +18 -2
  4. package/dist/commands/dispatch.js.map +1 -1
  5. package/dist/commands/graph.d.ts +1 -0
  6. package/dist/commands/graph.js +7 -12
  7. package/dist/commands/graph.js.map +1 -1
  8. package/dist/index.d.ts +6 -23
  9. package/dist/index.js +41 -57
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/client.d.ts +1 -0
  12. package/dist/lib/client.js +33 -0
  13. package/dist/lib/client.js.map +1 -1
  14. package/dist/lib/config.d.ts +1 -1
  15. package/dist/lib/config.js +1 -1
  16. package/dist/lib/config.js.map +1 -1
  17. package/dist/lib/file-scanner.js +45 -37
  18. package/dist/lib/file-scanner.js.map +1 -1
  19. package/dist/plugin/config.js +20 -4
  20. package/dist/plugin/config.js.map +1 -1
  21. package/dist/plugin/shared.js +2 -2
  22. package/dist/tui/app.d.ts +1 -2
  23. package/dist/tui/app.js +4 -26
  24. package/dist/tui/app.js.map +1 -1
  25. package/dist/tui/components/agent-card.js +2 -27
  26. package/dist/tui/components/agent-card.js.map +1 -1
  27. package/dist/tui/components/banner.js +6 -15
  28. package/dist/tui/components/banner.js.map +1 -1
  29. package/dist/tui/components/channel-message.js +11 -61
  30. package/dist/tui/components/channel-message.js.map +1 -1
  31. package/dist/tui/components/chat-input.js +3 -7
  32. package/dist/tui/components/chat-input.js.map +1 -1
  33. package/dist/tui/components/data-table.js +15 -37
  34. package/dist/tui/components/data-table.js.map +1 -1
  35. package/dist/tui/components/error-box.js +2 -21
  36. package/dist/tui/components/error-box.js.map +1 -1
  37. package/dist/tui/components/help-screen.js +2 -31
  38. package/dist/tui/components/help-screen.js.map +1 -1
  39. package/dist/tui/components/inline-confirm.js +2 -21
  40. package/dist/tui/components/inline-confirm.js.map +1 -1
  41. package/dist/tui/components/inline-select.js +2 -22
  42. package/dist/tui/components/inline-select.js.map +1 -1
  43. package/dist/tui/components/markdown.js +21 -59
  44. package/dist/tui/components/markdown.js.map +1 -1
  45. package/dist/tui/components/mention-autocomplete.js +14 -22
  46. package/dist/tui/components/mention-autocomplete.js.map +1 -1
  47. package/dist/tui/components/message-list.js +6 -19
  48. package/dist/tui/components/message-list.js.map +1 -1
  49. package/dist/tui/components/picker.js +9 -23
  50. package/dist/tui/components/picker.js.map +1 -1
  51. package/dist/tui/components/progress-steps.js +5 -12
  52. package/dist/tui/components/progress-steps.js.map +1 -1
  53. package/dist/tui/components/slack/compose.js +10 -34
  54. package/dist/tui/components/slack/compose.js.map +1 -1
  55. package/dist/tui/components/slack/layout.js +3 -37
  56. package/dist/tui/components/slack/layout.js.map +1 -1
  57. package/dist/tui/components/slack/messages.js +20 -73
  58. package/dist/tui/components/slack/messages.js.map +1 -1
  59. package/dist/tui/components/slack/quick-switcher.js +5 -42
  60. package/dist/tui/components/slack/quick-switcher.js.map +1 -1
  61. package/dist/tui/components/slack/sidebar.js +12 -57
  62. package/dist/tui/components/slack/sidebar.js.map +1 -1
  63. package/dist/tui/components/slack/thread-panel.js +7 -76
  64. package/dist/tui/components/slack/thread-panel.js.map +1 -1
  65. package/dist/tui/components/slash-autocomplete.js +13 -22
  66. package/dist/tui/components/slash-autocomplete.js.map +1 -1
  67. package/dist/tui/components/spinner.js +4 -6
  68. package/dist/tui/components/spinner.js.map +1 -1
  69. package/dist/tui/components/status-bar.js +4 -66
  70. package/dist/tui/components/status-bar.js.map +1 -1
  71. package/dist/tui/components/success-box.js +2 -13
  72. package/dist/tui/components/success-box.js.map +1 -1
  73. package/dist/tui/components/tool-indicator.js +4 -14
  74. package/dist/tui/components/tool-indicator.js.map +1 -1
  75. package/dist/tui/components/viewport.js +3 -11
  76. package/dist/tui/components/viewport.js.map +1 -1
  77. package/dist/tui/generative/renderer.js +25 -71
  78. package/dist/tui/generative/renderer.js.map +1 -1
  79. package/dist/tui/index.js +2 -5
  80. package/dist/tui/index.js.map +1 -1
  81. package/dist/tui/register-views.js +12 -11
  82. package/dist/tui/register-views.js.map +1 -1
  83. package/dist/tui/router.d.ts +1 -1
  84. package/dist/tui/router.js +10 -31
  85. package/dist/tui/router.js.map +1 -1
  86. package/dist/tui/theme.d.ts +1 -2
  87. package/dist/tui/theme.js +3 -4
  88. package/dist/tui/theme.js.map +1 -1
  89. package/dist/tui/views/agent-list.js +2 -21
  90. package/dist/tui/views/agent-list.js.map +1 -1
  91. package/dist/tui/views/ask-chat.js +3 -30
  92. package/dist/tui/views/ask-chat.js.map +1 -1
  93. package/dist/tui/views/calendar.js +5 -49
  94. package/dist/tui/views/calendar.js.map +1 -1
  95. package/dist/tui/views/chat.js +7 -45
  96. package/dist/tui/views/chat.js.map +1 -1
  97. package/dist/tui/views/generative.js +5 -49
  98. package/dist/tui/views/generative.js.map +1 -1
  99. package/dist/tui/views/help.js +2 -12
  100. package/dist/tui/views/help.js.map +1 -1
  101. package/dist/tui/views/home-screen.js +25 -140
  102. package/dist/tui/views/home-screen.js.map +1 -1
  103. package/dist/tui/views/home.js +8 -56
  104. package/dist/tui/views/home.js.map +1 -1
  105. package/dist/tui/views/insights.js +7 -49
  106. package/dist/tui/views/insights.js.map +1 -1
  107. package/dist/tui/views/orchestration.js +7 -63
  108. package/dist/tui/views/orchestration.js.map +1 -1
  109. package/dist/tui/views/record-detail.js +3 -28
  110. package/dist/tui/views/record-detail.js.map +1 -1
  111. package/dist/tui/views/record-list.js +3 -26
  112. package/dist/tui/views/record-list.js.map +1 -1
  113. package/dist/tui/views/slack-channel-header.js +4 -23
  114. package/dist/tui/views/slack-channel-header.js.map +1 -1
  115. package/dist/tui/views/slack-home.js +3 -14
  116. package/dist/tui/views/slack-home.js.map +1 -1
  117. package/dist/tui/views/task-board.js +5 -46
  118. package/dist/tui/views/task-board.js.map +1 -1
  119. package/dist/tui/views/timeline.js +9 -52
  120. package/dist/tui/views/timeline.js.map +1 -1
  121. package/package.json +14 -10
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  /**
2
3
  * Conversation-first home view.
3
4
  *
@@ -7,7 +8,7 @@
7
8
  * When a picker or confirm prompt is active, the TextInput is hidden
8
9
  * and the interactive widget is shown instead.
9
10
  */
10
- import React, { useState } from "react";
11
+ import { useState } from "react";
11
12
  import { Box, Text, useStdout } from "ink";
12
13
  import { TextInput } from "@inkjs/ui";
13
14
  import { InlineSelect } from "../components/inline-select.js";
@@ -17,35 +18,15 @@ function MessageBubble({ msg }) {
17
18
  const streamingCursor = msg.isStreaming ? "▌" : "";
18
19
  switch (msg.role) {
19
20
  case "user":
20
- return (<Box paddingX={2}>
21
- <Text bold color="white">
22
- {"> "}
23
- </Text>
24
- <Text>{msg.content}</Text>
25
- </Box>);
21
+ return (_jsxs(Box, { paddingX: 2, children: [_jsx(Text, { bold: true, color: "white", children: "> " }), _jsx(Text, { children: msg.content })] }));
26
22
  case "assistant":
27
- return (<Box paddingX={2} flexDirection="column">
28
- <Text color={msg.isError ? "red" : "cyan"}>
29
- {msg.content}{streamingCursor}
30
- </Text>
31
- </Box>);
23
+ return (_jsx(Box, { paddingX: 2, flexDirection: "column", children: _jsxs(Text, { color: msg.isError ? "red" : "cyan", children: [msg.content, streamingCursor] }) }));
32
24
  case "system":
33
- return (<Box paddingX={2} justifyContent="center">
34
- <Text color="yellow" dimColor>
35
- {msg.content}
36
- </Text>
37
- </Box>);
25
+ return (_jsx(Box, { paddingX: 2, justifyContent: "center", children: _jsx(Text, { color: "yellow", dimColor: true, children: msg.content }) }));
38
26
  case "tool":
39
- return (<Box paddingX={4}>
40
- {msg.toolName && (<Text dimColor bold>
41
- {`[${msg.toolName}] `}
42
- </Text>)}
43
- <Text dimColor>{msg.content}</Text>
44
- </Box>);
27
+ return (_jsxs(Box, { paddingX: 4, children: [msg.toolName && (_jsx(Text, { dimColor: true, bold: true, children: `[${msg.toolName}] ` })), _jsx(Text, { dimColor: true, children: msg.content })] }));
45
28
  default:
46
- return (<Box paddingX={2}>
47
- <Text>{msg.content}</Text>
48
- </Box>);
29
+ return (_jsx(Box, { paddingX: 2, children: _jsx(Text, { children: msg.content }) }));
49
30
  }
50
31
  }
51
32
  // ── Conversation view ───────────────────────────────────────────────
@@ -72,36 +53,7 @@ export function ConversationView({ messages, onSubmit, isLoading = false, loadin
72
53
  setSubmitKey((k) => k + 1);
73
54
  };
74
55
  const hasWidget = picker != null || confirm != null;
75
- return (<Box flexDirection="column" width="100%" minHeight={visibleRows + 3}>
76
- {/* Message history */}
77
- <Box flexDirection="column" flexGrow={1}>
78
- {displayMessages.map((msg) => (<Box key={msg.id} marginBottom={0}>
79
- <MessageBubble msg={msg}/>
80
- </Box>))}
81
-
82
- {/* Loading indicator */}
83
- {isLoading && (<Box paddingX={2}>
84
- <Text color="cyan" dimColor>
85
- {` ${loadingHint}`}
86
- </Text>
87
- </Box>)}
88
- </Box>
89
-
90
- {/* Divider */}
91
- <Box paddingX={1}>
92
- <Text dimColor>
93
- {"─".repeat(Math.min(stdout?.columns ?? 60, 120) - 2)}
94
- </Text>
95
- </Box>
96
-
97
- {/* Interactive widget area: picker, confirm, or text input */}
98
- {picker != null ? (<InlineSelect title={picker.title} options={picker.options} onSelect={picker.onSelect}/>) : confirm != null ? (<InlineConfirm question={confirm.question} onConfirm={confirm.onConfirm}/>) : (<Box paddingX={1}>
99
- <Text bold color="cyan">
100
- {"> "}
101
- </Text>
102
- <TextInput key={submitKey} placeholder="Type a message or /help..." onChange={setInputValue} onSubmit={handleSubmit}/>
103
- </Box>)}
104
- </Box>);
56
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", minHeight: visibleRows + 3, children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [displayMessages.map((msg) => (_jsx(Box, { marginBottom: 0, children: _jsx(MessageBubble, { msg: msg }) }, msg.id))), isLoading && (_jsx(Box, { paddingX: 2, children: _jsx(Text, { color: "cyan", dimColor: true, children: ` ${loadingHint}` }) }))] }), _jsx(Box, { paddingX: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(Math.min(stdout?.columns ?? 60, 120) - 2) }) }), picker != null ? (_jsx(InlineSelect, { title: picker.title, options: picker.options, onSelect: picker.onSelect })) : confirm != null ? (_jsx(InlineConfirm, { question: confirm.question, onConfirm: confirm.onConfirm })) : (_jsxs(Box, { paddingX: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "> " }), _jsx(TextInput, { placeholder: "Type a message or /help...", onChange: setInputValue, onSubmit: handleSubmit }, submitKey)] }))] }));
105
57
  }
106
58
  // Keep the default export for backward compat
107
59
  export default ConversationView;
@@ -1 +1 @@
1
- {"version":3,"file":"home.js","sourceRoot":"","sources":["../../../src/tui/views/home.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"home.js","sourceRoot":"","sources":["../../../src/tui/views/home.tsx"],"names":[],"mappings":"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"}
@@ -1,21 +1,16 @@
1
- /**
2
- * Insights dashboard view.
3
- * Displays insights from the context graph with priority badges,
4
- * categories, and linked record IDs.
5
- */
6
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
2
  import { Box, Text } from 'ink';
8
3
  // ── Helpers ──
9
4
  function priorityBadge(priority) {
10
5
  switch (priority) {
11
6
  case 'critical':
12
- return <Text color="red" bold>[CRIT]</Text>;
7
+ return _jsx(Text, { color: "red", bold: true, children: "[CRIT]" });
13
8
  case 'high':
14
- return <Text color="red">[HIGH]</Text>;
9
+ return _jsx(Text, { color: "red", children: "[HIGH]" });
15
10
  case 'medium':
16
- return <Text color="yellow">[MED]</Text>;
11
+ return _jsx(Text, { color: "yellow", children: "[MED]" });
17
12
  case 'low':
18
- return <Text dimColor>[LOW]</Text>;
13
+ return _jsx(Text, { dimColor: true, children: "[LOW]" });
19
14
  }
20
15
  }
21
16
  function formatTimestamp(ts) {
@@ -42,47 +37,10 @@ function formatTimestamp(ts) {
42
37
  }
43
38
  // ── Sub-components ──
44
39
  function InsightCard({ insight }) {
45
- return (<Box flexDirection="column" marginBottom={1}>
46
- {/* Header line: priority + category + title */}
47
- <Box gap={1}>
48
- {priorityBadge(insight.priority)}
49
- <Text color="magenta">[{insight.category}]</Text>
50
- <Text bold color="blue">{insight.title}</Text>
51
- </Box>
52
-
53
- {/* Body — indented */}
54
- {insight.body && (<Box paddingLeft={2}>
55
- <Text>{insight.body}</Text>
56
- </Box>)}
57
-
58
- {/* Record IDs — muted */}
59
- {insight.recordIds && insight.recordIds.length > 0 && (<Box paddingLeft={2}>
60
- <Text dimColor>Records: {insight.recordIds.join(', ')}</Text>
61
- </Box>)}
62
-
63
- {/* Timestamp — muted */}
64
- <Box paddingLeft={2}>
65
- <Text dimColor>{formatTimestamp(insight.timestamp)}</Text>
66
- </Box>
67
- </Box>);
40
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { gap: 1, children: [priorityBadge(insight.priority), _jsxs(Text, { color: "magenta", children: ["[", insight.category, "]"] }), _jsx(Text, { bold: true, color: "blue", children: insight.title })] }), insight.body && (_jsx(Box, { paddingLeft: 2, children: _jsx(Text, { children: insight.body }) })), insight.recordIds && insight.recordIds.length > 0 && (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["Records: ", insight.recordIds.join(', ')] }) })), _jsx(Box, { paddingLeft: 2, children: _jsx(Text, { dimColor: true, children: formatTimestamp(insight.timestamp) }) })] }));
68
41
  }
69
42
  // ── Main view ──
70
43
  export function InsightsView({ insights }) {
71
- return (<Box flexDirection="column" borderStyle="round" borderColor="cyan" paddingX={1} paddingY={0}>
72
- <Text bold color="cyan">
73
- Insights
74
- </Text>
75
- <Box height={1}/>
76
-
77
- {insights.length === 0 ? (<Text color="gray"> No insights found. Try expanding the time window.</Text>) : (<Box flexDirection="column">
78
- <Text dimColor>{insights.length} insight{insights.length !== 1 ? 's' : ''}</Text>
79
- <Box height={1}/>
80
- {insights.map((insight, i) => (<InsightCard key={insight.id ?? i} insight={insight}/>))}
81
- </Box>)}
82
-
83
- <Text color="gray">
84
- [Esc=back /insights --last 24h]
85
- </Text>
86
- </Box>);
44
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, paddingY: 0, children: [_jsx(Text, { bold: true, color: "cyan", children: "Insights" }), _jsx(Box, { height: 1 }), insights.length === 0 ? (_jsx(Text, { color: "gray", children: " No insights found. Try expanding the time window." })) : (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { dimColor: true, children: [insights.length, " insight", insights.length !== 1 ? 's' : ''] }), _jsx(Box, { height: 1 }), insights.map((insight, i) => (_jsx(InsightCard, { insight: insight }, insight.id ?? i)))] })), _jsx(Text, { color: "gray", children: "[Esc=back /insights --last 24h]" })] }));
87
45
  }
88
46
  //# sourceMappingURL=insights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../../src/tui/views/insights.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../../src/tui/views/insights.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,4 @@
1
- /**
2
- * Orchestration dashboard view.
3
- * Shows active goals, task pool, per-agent budgets, and global budget.
4
- */
5
- import React from 'react';
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
6
2
  import { Box, Text } from 'ink';
7
3
  // ── Helpers ──
8
4
  function statusIcon(status) {
@@ -50,80 +46,28 @@ function GoalRow({ goal, tasks, }) {
50
46
  const goalTasks = tasks.filter((t) => t.parentGoalId === goal.id);
51
47
  const completed = goalTasks.filter((t) => t.status === 'completed').length;
52
48
  const total = goalTasks.length;
53
- return (<Box>
54
- <Text color="gray">{goal === undefined ? '\u2514' : '\u251C'} </Text>
55
- <Text>{goal.title} </Text>
56
- <Text color="gray">[{completed}/{total} tasks] </Text>
57
- <Text color={statusColor(goal.status)}>
58
- {statusIcon(goal.status)} {goal.status}
59
- </Text>
60
- </Box>);
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] })] }));
61
50
  }
62
51
  function GoalSection({ goals, tasks, }) {
63
52
  if (goals.length === 0) {
64
- return (<Box flexDirection="column" marginBottom={1}>
65
- <Text bold>Goals</Text>
66
- <Text color="gray"> No goals defined yet.</Text>
67
- </Box>);
53
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Goals" }), _jsx(Text, { color: "gray", children: " No goals defined yet." })] }));
68
54
  }
69
55
  const active = goals.filter((g) => g.status === 'active').length;
70
- return (<Box flexDirection="column" marginBottom={1}>
71
- <Text bold>Goals ({active} active)</Text>
72
- {goals.map((goal, i) => (<GoalRow key={goal.id ?? i} goal={goal} tasks={tasks}/>))}
73
- </Box>);
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)))] }));
74
57
  }
75
58
  function TaskPoolSection({ tasks, }) {
76
59
  const completed = countByStatus(tasks, 'completed');
77
60
  const inProgress = countByStatus(tasks, 'in_progress') + countByStatus(tasks, 'locked');
78
61
  const pending = countByStatus(tasks, 'pending');
79
62
  const failed = countByStatus(tasks, 'failed');
80
- return (<Box flexDirection="column" marginBottom={1}>
81
- <Text bold>Task Pool</Text>
82
- <Box gap={2}>
83
- <Text color="green">{'\u25CF'} {completed} completed</Text>
84
- <Text color="yellow">{'\u25D0'} {inProgress} in progress</Text>
85
- <Text color="gray">{'\u25CB'} {pending} pending</Text>
86
- {failed > 0 && (<Text color="red">{'\u2716'} {failed} failed</Text>)}
87
- </Box>
88
- </Box>);
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"] }))] })] }));
89
64
  }
90
65
  function BudgetSection({ budgets, globalBudget, }) {
91
66
  const globalPercent = Math.max(globalBudget.percentTokens, globalBudget.percentCost);
92
- return (<Box flexDirection="column" marginBottom={1}>
93
- <Text bold>Budget</Text>
94
- {budgets.map((b) => (<Box key={b.agentSlug} gap={1}>
95
- <Text>
96
- {b.agentSlug.padEnd(14)}
97
- </Text>
98
- <Text color={b.warning ? 'red' : b.percentUsed > 50 ? 'yellow' : 'green'}>
99
- {budgetBar(b.percentUsed)}
100
- </Text>
101
- <Text> {Math.round(b.percentUsed)}%</Text>
102
- <Text color="gray"> ${b.costUsd.toFixed(2)}</Text>
103
- </Box>))}
104
- <Box gap={1}>
105
- <Text>{'Global'.padEnd(14)}</Text>
106
- <Text color={globalPercent > 80 ? 'red' : globalPercent > 50 ? 'yellow' : 'green'}>
107
- {budgetBar(globalPercent)}
108
- </Text>
109
- <Text> {Math.round(globalPercent)}%</Text>
110
- <Text color="gray"> ${globalBudget.cost.toFixed(2)}</Text>
111
- </Box>
112
- </Box>);
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)] })] })] }));
113
68
  }
114
69
  // ── Main view ──
115
70
  export function OrchestrationView({ goals, tasks, budgets, globalBudget, }) {
116
- return (<Box flexDirection="column" borderStyle="round" borderColor="cyan" paddingX={1} paddingY={0}>
117
- <Text bold color="cyan">
118
- Orchestration
119
- </Text>
120
- <Box height={1}/>
121
- <GoalSection goals={goals} tasks={tasks}/>
122
- <TaskPoolSection tasks={tasks}/>
123
- <BudgetSection budgets={budgets} globalBudget={globalBudget}/>
124
- <Text color="gray">
125
- [Esc=back t=tasks g=goals w=workflows]
126
- </Text>
127
- </Box>);
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]" })] }));
128
72
  }
129
73
  //# sourceMappingURL=orchestration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../../src/tui/views/orchestration.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,gBAAgB;AAEhB,SAAS,UAAU,CAAC,MAAc;IAChC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,CAAC,gBAAgB;QACnC,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,CAAC,cAAc;QACjC,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,CAAC,QAAQ;QAC3B,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC,CAAC,cAAc;QACjC;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,OAAO,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,QAAgB,EAAE;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7B,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,aAAa,CACpB,KAAuB,EACvB,MAAgC;IAEhC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,uBAAuB;AAEvB,SAAS,OAAO,CAAC,EACf,IAAI,EACJ,KAAK,GAIN;IACC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAE/B,OAAO,CACL,CAAC,GAAG,CACF;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAA,EAAE,IAAI,CACpE;MAAA,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAE,CAAA,EAAE,IAAI,CACzB;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAE,QAAO,EAAE,IAAI,CACrD;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CACpC;QAAA,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAA,CAAC,IAAI,CAAC,MAAM,CACxC;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,KAAK,EACL,KAAK,GAIN;IACC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAC1C;QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CACtB;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAG,uBAAqB,EAAE,IAAI,CAClD;MAAA,EAAE,GAAG,CAAC,CACP,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IAEjE,OAAO,CACL,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAC1C;MAAA,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAE,QAAO,EAAE,IAAI,CACxC;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAG,CACzD,CAAC,CACJ;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,KAAK,GAGN;IACC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACpD,MAAM,UAAU,GACd,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE9C,OAAO,CACL,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAC1C;MAAA,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAC1B;MAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACV;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAE,CAAA,CAAC,SAAS,CAAE,UAAS,EAAE,IAAI,CAC1D;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAE,CAAA,CAAC,UAAU,CAAE,YAAW,EAAE,IAAI,CAC9D;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAE,CAAA,CAAC,OAAO,CAAE,QAAO,EAAE,IAAI,CACrD;QAAA,CAAC,MAAM,GAAG,CAAC,IAAI,CACb,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAE,CAAA,CAAC,MAAM,CAAE,OAAM,EAAE,IAAI,CAAC,CACpD,CACH;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,OAAO,EACP,YAAY,GAIb;IACC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,YAAY,CAAC,aAAa,EAC1B,YAAY,CAAC,WAAW,CACzB,CAAC;IAEF,OAAO,CACL,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAC1C;MAAA,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CACvB;MAAA,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC5B;UAAA,CAAC,IAAI,CACH;YAAA,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CACzB;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CACvE;YAAA,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAC3B;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,IAAI,CAAE,CAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CACzC;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAE,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CACnD;QAAA,EAAE,GAAG,CAAC,CACP,CAAC,CACF;MAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACV;QAAA,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CACjC;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAChF;UAAA,CAAC,SAAS,CAAC,aAAa,CAAC,CAC3B;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,IAAI,CAAE,CAAA,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CACzC;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAE,EAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAC3D;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,kBAAkB;AAElB,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,GACW;IACvB,OAAO,CACL,CAAC,GAAG,CACF,aAAa,CAAC,QAAQ,CACtB,WAAW,CAAC,OAAO,CACnB,WAAW,CAAC,MAAM,CAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,CAEZ;MAAA,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CACrB;;MACF,EAAE,IAAI,CACN;MAAA,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACf;MAAA,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACxC;MAAA,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAC9B;MAAA,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EAC5D;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAChB;;MACF,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../../src/tui/views/orchestration.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import React, { useState } from "react";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
2
3
  import { Box, Text } from "ink";
3
4
  import { Viewport } from "../components/viewport.js";
4
5
  // --- Helpers ---
@@ -15,33 +16,7 @@ function formatAttributes(attrs) {
15
16
  export function RecordDetailView({ objectType, recordId, recordLabel, attributes, onBack: _onBack, }) {
16
17
  const [scrollOffset, setScrollOffset] = useState(0);
17
18
  const content = formatAttributes(attributes);
18
- return (<Box flexDirection="column" width="100%">
19
- {/* Header */}
20
- <Box paddingX={2} marginBottom={1} flexDirection="column">
21
- <Box>
22
- <Text bold color="cyan">
23
- {recordLabel}
24
- </Text>
25
- </Box>
26
- <Box>
27
- <Text dimColor>{`${objectType} \u2502 ${recordId}`}</Text>
28
- </Box>
29
- </Box>
30
-
31
- {/* Attributes */}
32
- <Box paddingX={1}>
33
- <Viewport content={content} scrollOffset={scrollOffset} onScroll={setScrollOffset}/>
34
- </Box>
35
-
36
- {/* Timeline hint */}
37
- <Box paddingX={2} marginTop={1}>
38
- <Text dimColor>
39
- {"Tip: run "}
40
- </Text>
41
- <Text color="cyan">{`nex record timeline ${recordId}`}</Text>
42
- <Text dimColor>{" to see activity"}</Text>
43
- </Box>
44
- </Box>);
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" })] })] }));
45
20
  }
46
21
  export default RecordDetailView;
47
22
  //# sourceMappingURL=record-detail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record-detail.js","sourceRoot":"","sources":["../../../src/tui/views/record-detail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,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,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CACtC;MAAA,CAAC,YAAY,CACb;MAAA,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CACvD;QAAA,CAAC,GAAG,CACF;UAAA,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CACrB;YAAA,CAAC,WAAW,CACd;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,GAAG,CACL;QAAA,CAAC,GAAG,CACF;UAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,WAAW,QAAQ,EAAE,CAAC,EAAE,IAAI,CAC3D;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,GAAG,CAEL;;MAAA,CAAC,gBAAgB,CACjB;MAAA,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACf;QAAA,CAAC,QAAQ,CACP,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,QAAQ,CAAC,CAAC,eAAe,CAAC,EAE9B;MAAA,EAAE,GAAG,CAEL;;MAAA,CAAC,mBAAmB,CACpB;MAAA,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAC7B;QAAA,CAAC,IAAI,CAAC,QAAQ,CACZ;UAAA,CAAC,WAAW,CACd;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,uBAAuB,QAAQ,EAAE,CAAC,EAAE,IAAI,CAC5D;QAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAC3C;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
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"}
@@ -1,4 +1,5 @@
1
- import React, { useState } from "react";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
2
3
  import { Box, Text } from "ink";
3
4
  import { Picker } from "../components/picker.js";
4
5
  // --- Component ---
@@ -15,31 +16,7 @@ export function RecordListView({ objectType, records, columns, onSelect, onBack:
15
16
  if (record)
16
17
  onSelect?.(record);
17
18
  };
18
- return (<Box flexDirection="column" width="100%">
19
- {/* Header */}
20
- <Box paddingX={2} marginBottom={1}>
21
- <Text bold color="cyan">
22
- {objectType}
23
- </Text>
24
- <Text dimColor>{` (${records.length} records)`}</Text>
25
- </Box>
26
-
27
- {/* Column headers */}
28
- <Box paddingX={3}>
29
- <Box minWidth={4}>
30
- <Text bold dimColor>{"#"}</Text>
31
- </Box>
32
- <Box minWidth={20}>
33
- <Text bold>{"Name"}</Text>
34
- </Box>
35
- {columns.map((col) => (<Box key={col} minWidth={16}>
36
- <Text bold dimColor>{col}</Text>
37
- </Box>))}
38
- </Box>
39
-
40
- {/* Records */}
41
- <Picker items={items} cursor={cursor} onSelect={handleSelect} onCursorChange={setCursor} quickSelect/>
42
- </Box>);
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 })] }));
43
20
  }
44
21
  export default RecordListView;
45
22
  //# sourceMappingURL=record-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record-list.js","sourceRoot":"","sources":["../../../src/tui/views/record-list.tsx"],"names":[],"mappings":"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"}
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"}
@@ -1,35 +1,16 @@
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";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
2
  import { Box, Text } from "ink";
9
3
  export function ChannelHeader({ name, type, online, focused, }) {
10
4
  let prefix;
11
5
  if (type === "channel") {
12
- prefix = <Text color={focused ? "cyan" : "gray"}># </Text>;
6
+ prefix = _jsx(Text, { color: focused ? "cyan" : "gray", children: "# " });
13
7
  }
14
8
  else {
15
9
  const dotColor = online ? "green" : "gray";
16
10
  const dot = online ? "●" : "○";
17
- prefix = <Text color={dotColor}>{dot} </Text>;
11
+ prefix = _jsxs(Text, { color: dotColor, children: [dot, " "] });
18
12
  }
19
- return (<Box paddingX={1} justifyContent="space-between">
20
- <Box gap={1}>
21
- {focused && <Text color="black" backgroundColor="cyan" bold>{" MESSAGES "}</Text>}
22
- {prefix}
23
- <Text bold color={focused ? "cyan" : "white"}>
24
- {name}
25
- </Text>
26
- </Box>
27
- <Box gap={2}>
28
- {focused && <Text color="cyan">{"↑↓ scroll"}</Text>}
29
- <Text color="gray">Ctrl+K search</Text>
30
- <Text color="gray">Tab focus</Text>
31
- </Box>
32
- </Box>);
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" })] })] }));
33
14
  }
34
15
  export default ChannelHeader;
35
16
  //# sourceMappingURL=slack-channel-header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slack-channel-header.js","sourceRoot":"","sources":["../../../src/tui/views/slack-channel-header.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,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,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,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,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAE,CAAA,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CACL,CAAC,GAAG,CACF,QAAQ,CAAC,CAAC,CAAC,CAAC,CACZ,cAAc,CAAC,eAAe,CAE9B;MAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACV;QAAA,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CACjF;QAAA,CAAC,MAAM,CACP;QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAC3C;UAAA,CAAC,IAAI,CACP;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,GAAG,CACL;MAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACV;QAAA,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CACnD;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CACtC;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CACpC;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
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"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  /**
2
3
  * SlackHome — the main Slack-style home view.
3
4
  *
@@ -9,7 +10,7 @@
9
10
  * - Compose area with slash commands and @mentions
10
11
  * - Agent routing: DM → steer(), channel → broadcast
11
12
  */
12
- import React, { useState, useEffect, useMemo, useCallback } from "react";
13
+ import { useState, useEffect, useMemo, useCallback } from "react";
13
14
  import { useStdout } from "ink";
14
15
  import { SlackLayout, computeLayout } from "../components/slack/layout.js";
15
16
  import { SlackSidebar } from "../components/slack/sidebar.js";
@@ -565,19 +566,7 @@ export function SlackHome({ push }) {
565
566
  // ── Layout metrics ──
566
567
  const layout = computeLayout(cols, threadOpen);
567
568
  // ── Render ──
568
- return (<SlackLayout cols={cols} rows={rows} threadOpen={threadOpen} focusSection={focusSection} sidebar={<SlackSidebar width={layout.sidebarWidth} focused={focusSection === "sidebar"} workspaceName="Nex Workspace" sections={sidebarSections} collapsedSections={collapsedSections} activeChannelId={activeChannelId} cursor={sidebarCursor} onToggleSection={handleToggleSection} onSelectItem={handleSidebarSelect}/>} main={<>
569
- {/* Channel header */}
570
- <ChannelHeader name={activeChannelName} type={activeChannelType} online={activeItem?.online} focused={focusSection === "messages"}/>
571
-
572
- {/* Message list */}
573
- <SlackMessageList messages={allMessages} onThreadOpen={handleOpenThread} width={layout.mainWidth}/>
574
-
575
- {/* Loading indicator */}
576
- {isLoading && <Spinner label={loadingHint || "thinking..."}/>}
577
-
578
- {/* Inline widgets */}
579
- {picker != null ? (<InlineSelect title={picker.title} options={picker.options} onSelect={picker.onSelect}/>) : confirm != null ? (<InlineConfirm question={confirm.question} onConfirm={confirm.onConfirm}/>) : (<ComposeArea channelName={activeChannelName} channelType={activeChannelType} recipientName={activeChannelType === "dm" ? activeChannelName : undefined} focused={focusSection === "compose"} onSubmit={handleSend} slashCommands={slashCommandEntries} agents={agentEntries}/>)}
580
- </>} thread={threadOpen && threadParentMessage ? (<ThreadPanel width={layout.threadWidth} focused={focusSection === "thread"} parentMessage={threadParentMessage} replies={threadReplies} sourceChannelName={activeChannelName} sourceChannelType={activeChannelType} alsoSendToChannel={false} onSendReply={handleThreadReply} onToggleAlsoSend={() => { }} onClose={handleCloseThread} slashCommands={slashCommandEntries} agents={agentEntries}/>) : undefined} overlay={quickSwitcherOpen ? (<QuickSwitcher open={quickSwitcherOpen} items={switcherItems} onSelect={handleQuickSwitcherSelect} onClose={() => setQuickSwitcherOpen(false)}/>) : undefined}/>);
569
+ return (_jsx(SlackLayout, { cols: cols, rows: rows, threadOpen: threadOpen, focusSection: focusSection, sidebar: _jsx(SlackSidebar, { width: layout.sidebarWidth, focused: focusSection === "sidebar", workspaceName: "Nex Workspace", sections: sidebarSections, collapsedSections: collapsedSections, activeChannelId: activeChannelId, cursor: sidebarCursor, onToggleSection: handleToggleSection, onSelectItem: handleSidebarSelect }), main: _jsxs(_Fragment, { children: [_jsx(ChannelHeader, { name: activeChannelName, type: activeChannelType, online: activeItem?.online, focused: focusSection === "messages" }), _jsx(SlackMessageList, { messages: allMessages, onThreadOpen: handleOpenThread, width: layout.mainWidth }), isLoading && _jsx(Spinner, { label: loadingHint || "thinking..." }), picker != null ? (_jsx(InlineSelect, { title: picker.title, options: picker.options, onSelect: picker.onSelect })) : confirm != null ? (_jsx(InlineConfirm, { question: confirm.question, onConfirm: confirm.onConfirm })) : (_jsx(ComposeArea, { channelName: activeChannelName, channelType: activeChannelType, recipientName: activeChannelType === "dm" ? activeChannelName : undefined, focused: focusSection === "compose", onSubmit: handleSend, slashCommands: slashCommandEntries, agents: agentEntries }))] }), thread: threadOpen && threadParentMessage ? (_jsx(ThreadPanel, { width: layout.threadWidth, focused: focusSection === "thread", parentMessage: threadParentMessage, replies: threadReplies, sourceChannelName: activeChannelName, sourceChannelType: activeChannelType, alsoSendToChannel: false, onSendReply: handleThreadReply, onToggleAlsoSend: () => { }, onClose: handleCloseThread, slashCommands: slashCommandEntries, agents: agentEntries })) : undefined, overlay: quickSwitcherOpen ? (_jsx(QuickSwitcher, { open: quickSwitcherOpen, items: switcherItems, onSelect: handleQuickSwitcherSelect, onClose: () => setQuickSwitcherOpen(false) })) : undefined }));
581
570
  }
582
571
  export default SlackHome;
583
572
  //# sourceMappingURL=slack-home.js.map