attocode 0.1.5 → 0.1.7

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 (187) hide show
  1. package/CHANGELOG.md +27 -2
  2. package/README.md +47 -0
  3. package/dist/src/adapters.d.ts +21 -1
  4. package/dist/src/adapters.d.ts.map +1 -1
  5. package/dist/src/adapters.js +29 -1
  6. package/dist/src/adapters.js.map +1 -1
  7. package/dist/src/agent.d.ts +69 -3
  8. package/dist/src/agent.d.ts.map +1 -1
  9. package/dist/src/agent.js +692 -42
  10. package/dist/src/agent.js.map +1 -1
  11. package/dist/src/commands/agents-commands.d.ts.map +1 -1
  12. package/dist/src/commands/agents-commands.js +18 -4
  13. package/dist/src/commands/agents-commands.js.map +1 -1
  14. package/dist/src/commands/handler.d.ts.map +1 -1
  15. package/dist/src/commands/handler.js +120 -5
  16. package/dist/src/commands/handler.js.map +1 -1
  17. package/dist/src/core/index.d.ts +1 -6
  18. package/dist/src/core/index.d.ts.map +1 -1
  19. package/dist/src/core/index.js +4 -7
  20. package/dist/src/core/index.js.map +1 -1
  21. package/dist/src/defaults.d.ts +31 -1
  22. package/dist/src/defaults.d.ts.map +1 -1
  23. package/dist/src/defaults.js +52 -2
  24. package/dist/src/defaults.js.map +1 -1
  25. package/dist/src/integrations/agent-registry.d.ts.map +1 -1
  26. package/dist/src/integrations/agent-registry.js +12 -5
  27. package/dist/src/integrations/agent-registry.js.map +1 -1
  28. package/dist/src/integrations/codebase-context.d.ts +163 -0
  29. package/dist/src/integrations/codebase-context.d.ts.map +1 -1
  30. package/dist/src/integrations/codebase-context.js +462 -0
  31. package/dist/src/integrations/codebase-context.js.map +1 -1
  32. package/dist/src/integrations/economics.js +2 -2
  33. package/dist/src/integrations/economics.js.map +1 -1
  34. package/dist/src/integrations/file-change-tracker.d.ts +1 -0
  35. package/dist/src/integrations/file-change-tracker.d.ts.map +1 -1
  36. package/dist/src/integrations/file-change-tracker.js +30 -12
  37. package/dist/src/integrations/file-change-tracker.js.map +1 -1
  38. package/dist/src/integrations/graph-visualization.d.ts +72 -0
  39. package/dist/src/integrations/graph-visualization.d.ts.map +1 -0
  40. package/dist/src/integrations/graph-visualization.js +383 -0
  41. package/dist/src/integrations/graph-visualization.js.map +1 -0
  42. package/dist/src/integrations/index.d.ts +3 -1
  43. package/dist/src/integrations/index.d.ts.map +1 -1
  44. package/dist/src/integrations/index.js +4 -0
  45. package/dist/src/integrations/index.js.map +1 -1
  46. package/dist/src/integrations/memory.d.ts +8 -0
  47. package/dist/src/integrations/memory.d.ts.map +1 -1
  48. package/dist/src/integrations/memory.js +23 -0
  49. package/dist/src/integrations/memory.js.map +1 -1
  50. package/dist/src/integrations/pending-plan.d.ts +26 -1
  51. package/dist/src/integrations/pending-plan.d.ts.map +1 -1
  52. package/dist/src/integrations/pending-plan.js +131 -3
  53. package/dist/src/integrations/pending-plan.js.map +1 -1
  54. package/dist/src/integrations/planning.d.ts +19 -0
  55. package/dist/src/integrations/planning.d.ts.map +1 -1
  56. package/dist/src/integrations/planning.js +78 -4
  57. package/dist/src/integrations/planning.js.map +1 -1
  58. package/dist/src/integrations/safety.d.ts +4 -0
  59. package/dist/src/integrations/safety.d.ts.map +1 -1
  60. package/dist/src/integrations/safety.js +46 -7
  61. package/dist/src/integrations/safety.js.map +1 -1
  62. package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
  63. package/dist/src/integrations/sqlite-store.js +24 -2
  64. package/dist/src/integrations/sqlite-store.js.map +1 -1
  65. package/dist/src/integrations/task-manager.d.ts +132 -0
  66. package/dist/src/integrations/task-manager.d.ts.map +1 -0
  67. package/dist/src/integrations/task-manager.js +309 -0
  68. package/dist/src/integrations/task-manager.js.map +1 -0
  69. package/dist/src/modes/tui.d.ts.map +1 -1
  70. package/dist/src/modes/tui.js +9 -0
  71. package/dist/src/modes/tui.js.map +1 -1
  72. package/dist/src/modes.d.ts +30 -0
  73. package/dist/src/modes.d.ts.map +1 -1
  74. package/dist/src/modes.js +130 -2
  75. package/dist/src/modes.js.map +1 -1
  76. package/dist/src/providers/adapters/openai.d.ts +46 -2
  77. package/dist/src/providers/adapters/openai.d.ts.map +1 -1
  78. package/dist/src/providers/adapters/openai.js +221 -21
  79. package/dist/src/providers/adapters/openai.js.map +1 -1
  80. package/dist/src/providers/llm-resilience.d.ts +8 -0
  81. package/dist/src/providers/llm-resilience.d.ts.map +1 -1
  82. package/dist/src/providers/llm-resilience.js +36 -0
  83. package/dist/src/providers/llm-resilience.js.map +1 -1
  84. package/dist/src/tools/agent.d.ts +38 -1
  85. package/dist/src/tools/agent.d.ts.map +1 -1
  86. package/dist/src/tools/agent.js +152 -2
  87. package/dist/src/tools/agent.js.map +1 -1
  88. package/dist/src/tools/file.d.ts.map +1 -1
  89. package/dist/src/tools/file.js +17 -3
  90. package/dist/src/tools/file.js.map +1 -1
  91. package/dist/src/tools/tasks.d.ts +32 -0
  92. package/dist/src/tools/tasks.d.ts.map +1 -0
  93. package/dist/src/tools/tasks.js +334 -0
  94. package/dist/src/tools/tasks.js.map +1 -0
  95. package/dist/src/tracing/trace-collector.d.ts +81 -0
  96. package/dist/src/tracing/trace-collector.d.ts.map +1 -1
  97. package/dist/src/tracing/trace-collector.js +216 -4
  98. package/dist/src/tracing/trace-collector.js.map +1 -1
  99. package/dist/src/tracing/types.d.ts +8 -0
  100. package/dist/src/tracing/types.d.ts.map +1 -1
  101. package/dist/src/tracing/types.js.map +1 -1
  102. package/dist/src/tui/app.d.ts.map +1 -1
  103. package/dist/src/tui/app.js +503 -90
  104. package/dist/src/tui/app.js.map +1 -1
  105. package/dist/src/tui/components/ActiveAgentsPanel.d.ts +45 -0
  106. package/dist/src/tui/components/ActiveAgentsPanel.d.ts.map +1 -0
  107. package/dist/src/tui/components/ActiveAgentsPanel.js +121 -0
  108. package/dist/src/tui/components/ActiveAgentsPanel.js.map +1 -0
  109. package/dist/src/tui/components/CollapsibleDiffView.d.ts +49 -0
  110. package/dist/src/tui/components/CollapsibleDiffView.d.ts.map +1 -0
  111. package/dist/src/tui/components/CollapsibleDiffView.js +302 -0
  112. package/dist/src/tui/components/CollapsibleDiffView.js.map +1 -0
  113. package/dist/src/tui/components/DiffView.d.ts +55 -0
  114. package/dist/src/tui/components/DiffView.d.ts.map +1 -0
  115. package/dist/src/tui/components/DiffView.js +356 -0
  116. package/dist/src/tui/components/DiffView.js.map +1 -0
  117. package/dist/src/tui/components/ErrorBoundary.d.ts +63 -0
  118. package/dist/src/tui/components/ErrorBoundary.d.ts.map +1 -0
  119. package/dist/src/tui/components/ErrorBoundary.js +88 -0
  120. package/dist/src/tui/components/ErrorBoundary.js.map +1 -0
  121. package/dist/src/tui/components/FileChangeSummary.d.ts +48 -0
  122. package/dist/src/tui/components/FileChangeSummary.d.ts.map +1 -0
  123. package/dist/src/tui/components/FileChangeSummary.js +152 -0
  124. package/dist/src/tui/components/FileChangeSummary.js.map +1 -0
  125. package/dist/src/tui/components/SideBySideDiff.d.ts +62 -0
  126. package/dist/src/tui/components/SideBySideDiff.d.ts.map +1 -0
  127. package/dist/src/tui/components/SideBySideDiff.js +320 -0
  128. package/dist/src/tui/components/SideBySideDiff.js.map +1 -0
  129. package/dist/src/tui/components/SyntaxText.d.ts +47 -0
  130. package/dist/src/tui/components/SyntaxText.d.ts.map +1 -0
  131. package/dist/src/tui/components/SyntaxText.js +43 -0
  132. package/dist/src/tui/components/SyntaxText.js.map +1 -0
  133. package/dist/src/tui/components/TasksPanel.d.ts +25 -0
  134. package/dist/src/tui/components/TasksPanel.d.ts.map +1 -0
  135. package/dist/src/tui/components/TasksPanel.js +101 -0
  136. package/dist/src/tui/components/TasksPanel.js.map +1 -0
  137. package/dist/src/tui/components/index.d.ts +8 -0
  138. package/dist/src/tui/components/index.d.ts.map +1 -1
  139. package/dist/src/tui/components/index.js +13 -0
  140. package/dist/src/tui/components/index.js.map +1 -1
  141. package/dist/src/tui/hooks/index.d.ts +7 -0
  142. package/dist/src/tui/hooks/index.d.ts.map +1 -0
  143. package/dist/src/tui/hooks/index.js +7 -0
  144. package/dist/src/tui/hooks/index.js.map +1 -0
  145. package/dist/src/tui/hooks/useMessagePruning.d.ts +114 -0
  146. package/dist/src/tui/hooks/useMessagePruning.d.ts.map +1 -0
  147. package/dist/src/tui/hooks/useMessagePruning.js +127 -0
  148. package/dist/src/tui/hooks/useMessagePruning.js.map +1 -0
  149. package/dist/src/tui/index.d.ts +3 -0
  150. package/dist/src/tui/index.d.ts.map +1 -1
  151. package/dist/src/tui/index.js +9 -0
  152. package/dist/src/tui/index.js.map +1 -1
  153. package/dist/src/tui/syntax/index.d.ts +12 -0
  154. package/dist/src/tui/syntax/index.d.ts.map +1 -0
  155. package/dist/src/tui/syntax/index.js +14 -0
  156. package/dist/src/tui/syntax/index.js.map +1 -0
  157. package/dist/src/tui/syntax/languages/bash.d.ts +8 -0
  158. package/dist/src/tui/syntax/languages/bash.d.ts.map +1 -0
  159. package/dist/src/tui/syntax/languages/bash.js +296 -0
  160. package/dist/src/tui/syntax/languages/bash.js.map +1 -0
  161. package/dist/src/tui/syntax/languages/javascript.d.ts +8 -0
  162. package/dist/src/tui/syntax/languages/javascript.d.ts.map +1 -0
  163. package/dist/src/tui/syntax/languages/javascript.js +253 -0
  164. package/dist/src/tui/syntax/languages/javascript.js.map +1 -0
  165. package/dist/src/tui/syntax/languages/json.d.ts +8 -0
  166. package/dist/src/tui/syntax/languages/json.d.ts.map +1 -0
  167. package/dist/src/tui/syntax/languages/json.js +112 -0
  168. package/dist/src/tui/syntax/languages/json.js.map +1 -0
  169. package/dist/src/tui/syntax/languages/python.d.ts +8 -0
  170. package/dist/src/tui/syntax/languages/python.d.ts.map +1 -0
  171. package/dist/src/tui/syntax/languages/python.js +232 -0
  172. package/dist/src/tui/syntax/languages/python.js.map +1 -0
  173. package/dist/src/tui/syntax/lexer.d.ts +51 -0
  174. package/dist/src/tui/syntax/lexer.d.ts.map +1 -0
  175. package/dist/src/tui/syntax/lexer.js +131 -0
  176. package/dist/src/tui/syntax/lexer.js.map +1 -0
  177. package/dist/src/tui/utils/index.d.ts +7 -0
  178. package/dist/src/tui/utils/index.d.ts.map +1 -0
  179. package/dist/src/tui/utils/index.js +7 -0
  180. package/dist/src/tui/utils/index.js.map +1 -0
  181. package/dist/src/tui/utils/keyboard.d.ts +123 -0
  182. package/dist/src/tui/utils/keyboard.d.ts.map +1 -0
  183. package/dist/src/tui/utils/keyboard.js +185 -0
  184. package/dist/src/tui/utils/keyboard.js.map +1 -0
  185. package/dist/src/types.d.ts +73 -0
  186. package/dist/src/types.d.ts.map +1 -1
  187. package/package.json +4 -1
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * SyntaxText Component
4
+ *
5
+ * Renders code with syntax highlighting using the theme's code colors.
6
+ */
7
+ import React from 'react';
8
+ import { Text } from 'ink';
9
+ import { tokenize, detectLanguage, getTokenColor } from '../syntax/index.js';
10
+ // =============================================================================
11
+ // COMPONENT
12
+ // =============================================================================
13
+ /**
14
+ * Renders code with syntax highlighting.
15
+ *
16
+ * Uses the theme's code colors (codeKeyword, codeString, etc.) for highlighting.
17
+ * Language can be specified directly or auto-detected from file path.
18
+ */
19
+ export function SyntaxText({ code, language, filePath, theme, }) {
20
+ // Determine language
21
+ const detectedLang = language || (filePath ? detectLanguage(filePath) : null);
22
+ // Tokenize code
23
+ const tokens = detectedLang
24
+ ? tokenize(code, detectedLang)
25
+ : [{ type: 'plain', content: code }];
26
+ return (_jsx(_Fragment, { children: tokens.map((token, i) => (_jsx(Text, { color: getTokenColor(token.type, theme), children: token.content }, i))) }));
27
+ }
28
+ // =============================================================================
29
+ // MEMOIZED VERSION
30
+ // =============================================================================
31
+ /**
32
+ * Memoized version of SyntaxText for use in lists.
33
+ */
34
+ export const MemoizedSyntaxText = React.memo(SyntaxText);
35
+ /**
36
+ * Renders a single line of code with syntax highlighting.
37
+ * Useful for diff views where each line needs individual styling.
38
+ */
39
+ export function SyntaxLine({ line, language, filePath, theme, prefix, }) {
40
+ return (_jsxs(Text, { children: [prefix, _jsx(SyntaxText, { code: line, language: language, filePath: filePath, theme: theme })] }));
41
+ }
42
+ export const MemoizedSyntaxLine = React.memo(SyntaxLine);
43
+ //# sourceMappingURL=SyntaxText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyntaxText.js","sourceRoot":"","sources":["../../../../src/tui/components/SyntaxText.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAkB7E,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,GACW;IAChB,qBAAqB;IACrB,MAAM,YAAY,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9E,gBAAgB;IAChB,MAAM,MAAM,GAAG,YAAY;QACzB,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAC9B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,OAAO,CACL,4BACG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,KAAC,IAAI,IAAS,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAClD,KAAK,CAAC,OAAO,IADL,CAAC,CAEL,CACR,CAAC,GACD,CACJ,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAmBzD;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAM,GACU;IAChB,OAAO,CACL,MAAC,IAAI,eACF,MAAM,EACP,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,IAC3E,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Tasks Panel Component
3
+ *
4
+ * Displays task list in an anchored panel above the input box.
5
+ * Similar to Claude Code's task tracking interface.
6
+ *
7
+ * Features:
8
+ * - Real-time status updates for tasks
9
+ * - Dependency visualization (blocked by)
10
+ * - Active form display for in_progress tasks
11
+ * - Toggle visibility with Alt+K
12
+ */
13
+ import type { ThemeColors } from '../types.js';
14
+ import type { Task } from '../../integrations/task-manager.js';
15
+ export interface TasksPanelProps {
16
+ /** List of tasks to display */
17
+ tasks: Task[];
18
+ /** Theme colors */
19
+ colors: ThemeColors;
20
+ /** Whether the panel is expanded/visible */
21
+ expanded: boolean;
22
+ }
23
+ export declare const TasksPanel: import("react").NamedExoticComponent<TasksPanelProps>;
24
+ export default TasksPanel;
25
+ //# sourceMappingURL=TasksPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TasksPanel.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/TasksPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,oCAAoC,CAAC;AAM3E,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,mBAAmB;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAsGD,eAAO,MAAM,UAAU,uDAgDrB,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Tasks Panel Component
4
+ *
5
+ * Displays task list in an anchored panel above the input box.
6
+ * Similar to Claude Code's task tracking interface.
7
+ *
8
+ * Features:
9
+ * - Real-time status updates for tasks
10
+ * - Dependency visualization (blocked by)
11
+ * - Active form display for in_progress tasks
12
+ * - Toggle visibility with Alt+K
13
+ */
14
+ import { memo } from 'react';
15
+ import { Box, Text } from 'ink';
16
+ // =============================================================================
17
+ // HELPER FUNCTIONS
18
+ // =============================================================================
19
+ /**
20
+ * Get status icon for task state.
21
+ */
22
+ function getStatusIcon(status, isBlocked) {
23
+ if (isBlocked)
24
+ return '◌'; // Blocked
25
+ switch (status) {
26
+ case 'pending':
27
+ return '○';
28
+ case 'in_progress':
29
+ return '●';
30
+ case 'completed':
31
+ return '✓';
32
+ default:
33
+ return '○';
34
+ }
35
+ }
36
+ /**
37
+ * Get color for task status.
38
+ */
39
+ function getStatusColor(status, isBlocked, colors) {
40
+ if (isBlocked)
41
+ return colors.warning;
42
+ switch (status) {
43
+ case 'pending':
44
+ return colors.textMuted;
45
+ case 'in_progress':
46
+ return colors.info;
47
+ case 'completed':
48
+ return colors.success;
49
+ default:
50
+ return colors.textMuted;
51
+ }
52
+ }
53
+ /**
54
+ * Truncate subject for display.
55
+ */
56
+ function truncateSubject(subject, maxLength = 40) {
57
+ if (subject.length <= maxLength)
58
+ return subject;
59
+ return subject.slice(0, maxLength - 3) + '...';
60
+ }
61
+ const TaskItem = memo(function TaskItem({ task, colors, allTasks }) {
62
+ // Check if task is blocked by any non-completed task
63
+ const isBlocked = task.blockedBy.some(blockerId => {
64
+ const blocker = allTasks.find(t => t.id === blockerId);
65
+ return blocker && blocker.status !== 'completed';
66
+ });
67
+ const icon = getStatusIcon(task.status, isBlocked);
68
+ const statusColor = getStatusColor(task.status, isBlocked, colors);
69
+ const subjectPreview = truncateSubject(task.subject);
70
+ // Build blocked by info
71
+ let blockedByInfo = '';
72
+ if (isBlocked && task.blockedBy.length > 0) {
73
+ const blockerIds = task.blockedBy.slice(0, 2).join(', ');
74
+ blockedByInfo = task.blockedBy.length > 2
75
+ ? ` (blocked by: ${blockerIds}, +${task.blockedBy.length - 2})`
76
+ : ` (blocked by: ${blockerIds})`;
77
+ }
78
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: statusColor, children: icon }), _jsx(Text, { color: colors.textMuted, dimColor: true, children: task.id }), _jsx(Text, { color: colors.text, children: subjectPreview }), blockedByInfo && (_jsx(Text, { color: colors.warning, dimColor: true, children: blockedByInfo }))] }), task.status === 'in_progress' && task.activeForm && (_jsx(Box, { marginLeft: 3, children: _jsxs(Text, { color: colors.info, dimColor: true, children: [task.activeForm, "..."] }) }))] }));
79
+ });
80
+ // =============================================================================
81
+ // MAIN COMPONENT
82
+ // =============================================================================
83
+ export const TasksPanel = memo(function TasksPanel({ tasks, colors, expanded, }) {
84
+ // Filter out deleted tasks
85
+ const visibleTasks = tasks.filter(t => t.status !== 'deleted');
86
+ // Don't render if no tasks or not expanded
87
+ if (!expanded || visibleTasks.length === 0) {
88
+ return null;
89
+ }
90
+ // Count by status
91
+ const pending = visibleTasks.filter(t => t.status === 'pending').length;
92
+ const inProgress = visibleTasks.filter(t => t.status === 'in_progress').length;
93
+ const completed = visibleTasks.filter(t => t.status === 'completed').length;
94
+ // Show most recent tasks (last 5)
95
+ const recentTasks = visibleTasks.slice(-5);
96
+ // Determine border color based on activity
97
+ const hasActive = inProgress > 0;
98
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, borderStyle: "single", borderColor: hasActive ? colors.info : colors.border, paddingX: 1, children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Text, { color: colors.accent, bold: true, children: ["TASKS [", pending, " pending, ", inProgress, " in_progress, ", completed, " completed]"] }), _jsx(Text, { color: colors.textMuted, dimColor: true, children: "Alt+K to hide" })] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: recentTasks.map(task => (_jsx(TaskItem, { task: task, colors: colors, allTasks: visibleTasks }, task.id))) })] }));
99
+ });
100
+ export default TasksPanel;
101
+ //# sourceMappingURL=TasksPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TasksPanel.js","sourceRoot":"","sources":["../../../../src/tui/components/TasksPanel.tsx"],"names":[],"mappings":"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"}
@@ -10,4 +10,12 @@ export { MessageItem, type MessageItemProps, type TUIMessage } from './MessageIt
10
10
  export { ToolCallItem, type ToolCallItemProps, type ToolCallDisplayItem } from './ToolCallItem.js';
11
11
  export { MemoizedInputArea, type InputAreaProps } from './InputArea.js';
12
12
  export { ApprovalDialog, type ApprovalDialogProps, type ApprovalRequest } from './ApprovalDialog.js';
13
+ export { DiffView, type UnifiedDiff, type DiffHunk, type DiffLine } from './DiffView.js';
14
+ export { SideBySideDiff, type SideBySideDiffProps, type AlignedPair } from './SideBySideDiff.js';
15
+ export { CollapsibleDiffView, type CollapsibleDiffViewProps } from './CollapsibleDiffView.js';
16
+ export { FileChangeSummary } from './FileChangeSummary.js';
17
+ export { SyntaxText, MemoizedSyntaxText, SyntaxLine, MemoizedSyntaxLine, type SyntaxTextProps, type SyntaxLineProps } from './SyntaxText.js';
18
+ export { TUIErrorBoundary, ErrorFallback, withErrorBoundary } from './ErrorBoundary.js';
19
+ export { ActiveAgentsPanel, type ActiveAgentsPanelProps, type ActiveAgent, type ActiveAgentStatus, } from './ActiveAgentsPanel.js';
20
+ export { TasksPanel, type TasksPanelProps } from './TasksPanel.js';
13
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGrG,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAG7I,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGxF,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -12,4 +12,17 @@ export { ToolCallItem } from './ToolCallItem.js';
12
12
  export { MemoizedInputArea } from './InputArea.js';
13
13
  // Approval dialog for permission requests
14
14
  export { ApprovalDialog } from './ApprovalDialog.js';
15
+ // Diff display components with syntax highlighting support
16
+ export { DiffView } from './DiffView.js';
17
+ export { SideBySideDiff } from './SideBySideDiff.js';
18
+ export { CollapsibleDiffView } from './CollapsibleDiffView.js';
19
+ export { FileChangeSummary } from './FileChangeSummary.js';
20
+ // Syntax highlighting component
21
+ export { SyntaxText, MemoizedSyntaxText, SyntaxLine, MemoizedSyntaxLine } from './SyntaxText.js';
22
+ // Error boundaries
23
+ export { TUIErrorBoundary, ErrorFallback, withErrorBoundary } from './ErrorBoundary.js';
24
+ // Active agents panel (subagent visibility)
25
+ export { ActiveAgentsPanel, } from './ActiveAgentsPanel.js';
26
+ // Tasks panel (task tracking visibility)
27
+ export { TasksPanel } from './TasksPanel.js';
15
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAC;AAE5E,6CAA6C;AAC7C,OAAO,EAAE,WAAW,EAA0C,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAoD,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAuB,MAAM,gBAAgB,CAAC;AAExE,0CAA0C;AAC1C,OAAO,EAAE,cAAc,EAAkD,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAC;AAE5E,6CAA6C;AAC7C,OAAO,EAAE,WAAW,EAA0C,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAoD,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAuB,MAAM,gBAAgB,CAAC;AAExE,0CAA0C;AAC1C,OAAO,EAAE,cAAc,EAAkD,MAAM,qBAAqB,CAAC;AAErG,2DAA2D;AAC3D,OAAO,EAAE,QAAQ,EAAkD,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,cAAc,EAA8C,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAiC,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,gCAAgC;AAChC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAA8C,MAAM,iBAAiB,CAAC;AAE7I,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAExF,4CAA4C;AAC5C,OAAO,EACL,iBAAiB,GAIlB,MAAM,wBAAwB,CAAC;AAEhC,yCAAyC;AACzC,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * TUI Hooks
3
+ *
4
+ * Custom React hooks for TUI functionality.
5
+ */
6
+ export { useMessagePruning, type TUIMessage, type MessagePruningConfig, type PruneStats, type UseMessagePruningResult, } from './useMessagePruning.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tui/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * TUI Hooks
3
+ *
4
+ * Custom React hooks for TUI functionality.
5
+ */
6
+ export { useMessagePruning, } from './useMessagePruning.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tui/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,iBAAiB,GAKlB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Message Pruning Hook
3
+ *
4
+ * Provides intelligent memory management for the TUI message list.
5
+ * Prevents unbounded memory growth in long sessions by pruning older
6
+ * messages while preserving the most recent context.
7
+ *
8
+ * Features:
9
+ * - Configurable max/preserve thresholds
10
+ * - Prunes in batches to avoid frequent re-renders
11
+ * - Preserves error and system messages longer
12
+ * - Returns pruning stats for transparency
13
+ */
14
+ /**
15
+ * TUI message format (matches app.tsx TUIMessage interface)
16
+ */
17
+ export interface TUIMessage {
18
+ id: string;
19
+ role: string;
20
+ content: string;
21
+ ts: Date;
22
+ }
23
+ /**
24
+ * Configuration for message pruning behavior.
25
+ */
26
+ export interface MessagePruningConfig {
27
+ /**
28
+ * Maximum number of messages to keep before triggering pruning.
29
+ * Default: 500
30
+ */
31
+ maxMessages?: number;
32
+ /**
33
+ * Number of most recent messages to always preserve.
34
+ * Default: 200
35
+ */
36
+ preserveRecent?: number;
37
+ /**
38
+ * Minimum messages required before pruning is considered.
39
+ * Prevents premature pruning in short sessions.
40
+ * Default: 100
41
+ */
42
+ minBeforePrune?: number;
43
+ /**
44
+ * Roles that should be preserved longer (pruned last).
45
+ * Default: ['error', 'system']
46
+ */
47
+ priorityRoles?: string[];
48
+ /**
49
+ * Callback when pruning occurs.
50
+ */
51
+ onPrune?: (stats: PruneStats) => void;
52
+ }
53
+ /**
54
+ * Statistics from a pruning operation.
55
+ */
56
+ export interface PruneStats {
57
+ /** Messages before pruning */
58
+ beforeCount: number;
59
+ /** Messages after pruning */
60
+ afterCount: number;
61
+ /** Number of messages pruned */
62
+ prunedCount: number;
63
+ /** Timestamp of prune operation */
64
+ timestamp: Date;
65
+ }
66
+ /**
67
+ * Return type for the useMessagePruning hook.
68
+ */
69
+ export interface UseMessagePruningResult {
70
+ /**
71
+ * Check if messages need pruning and return pruned array if so.
72
+ * Returns original array reference if no pruning needed.
73
+ */
74
+ pruneIfNeeded: (messages: TUIMessage[]) => TUIMessage[];
75
+ /**
76
+ * Force prune messages to the preserve limit.
77
+ */
78
+ forcePrune: (messages: TUIMessage[]) => TUIMessage[];
79
+ /**
80
+ * Check if messages array would trigger pruning.
81
+ */
82
+ needsPruning: (messages: TUIMessage[]) => boolean;
83
+ /**
84
+ * Get the last prune stats (if any).
85
+ */
86
+ getLastPruneStats: () => PruneStats | null;
87
+ /**
88
+ * Total messages pruned this session.
89
+ */
90
+ totalPruned: number;
91
+ }
92
+ /**
93
+ * Hook for managing message pruning in the TUI.
94
+ *
95
+ * @example
96
+ * ```tsx
97
+ * const { pruneIfNeeded, needsPruning } = useMessagePruning({
98
+ * maxMessages: 500,
99
+ * preserveRecent: 200,
100
+ * onPrune: (stats) => console.log(`Pruned ${stats.prunedCount} messages`),
101
+ * });
102
+ *
103
+ * // In your message handler:
104
+ * const addMessage = useCallback((role, content) => {
105
+ * setMessages(prev => {
106
+ * const newMessages = [...prev, { id, role, content, ts: new Date() }];
107
+ * return pruneIfNeeded(newMessages);
108
+ * });
109
+ * }, [pruneIfNeeded]);
110
+ * ```
111
+ */
112
+ export declare function useMessagePruning(config?: MessagePruningConfig): UseMessagePruningResult;
113
+ export default useMessagePruning;
114
+ //# sourceMappingURL=useMessagePruning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMessagePruning.d.ts","sourceRoot":"","sources":["../../../../src/tui/hooks/useMessagePruning.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,IAAI,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,CAAC;IAExD;;OAEG;IACH,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,CAAC;IAErD;;OAEG;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,OAAO,CAAC;IAElD;;OAEG;IACH,iBAAiB,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;IAE3C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAUD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,GAAE,oBAAyB,GAChC,uBAAuB,CAoHzB;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Message Pruning Hook
3
+ *
4
+ * Provides intelligent memory management for the TUI message list.
5
+ * Prevents unbounded memory growth in long sessions by pruning older
6
+ * messages while preserving the most recent context.
7
+ *
8
+ * Features:
9
+ * - Configurable max/preserve thresholds
10
+ * - Prunes in batches to avoid frequent re-renders
11
+ * - Preserves error and system messages longer
12
+ * - Returns pruning stats for transparency
13
+ */
14
+ import { useCallback, useRef, useMemo } from 'react';
15
+ const DEFAULT_CONFIG = {
16
+ maxMessages: 500,
17
+ preserveRecent: 200,
18
+ minBeforePrune: 100,
19
+ priorityRoles: ['error', 'system'],
20
+ onPrune: () => { },
21
+ };
22
+ /**
23
+ * Hook for managing message pruning in the TUI.
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * const { pruneIfNeeded, needsPruning } = useMessagePruning({
28
+ * maxMessages: 500,
29
+ * preserveRecent: 200,
30
+ * onPrune: (stats) => console.log(`Pruned ${stats.prunedCount} messages`),
31
+ * });
32
+ *
33
+ * // In your message handler:
34
+ * const addMessage = useCallback((role, content) => {
35
+ * setMessages(prev => {
36
+ * const newMessages = [...prev, { id, role, content, ts: new Date() }];
37
+ * return pruneIfNeeded(newMessages);
38
+ * });
39
+ * }, [pruneIfNeeded]);
40
+ * ```
41
+ */
42
+ export function useMessagePruning(config = {}) {
43
+ const resolvedConfig = useMemo(() => ({ ...DEFAULT_CONFIG, ...config }), [config]);
44
+ const lastPruneStatsRef = useRef(null);
45
+ const totalPrunedRef = useRef(0);
46
+ /**
47
+ * Check if the messages array exceeds the max threshold.
48
+ */
49
+ const needsPruning = useCallback((messages) => {
50
+ return (messages.length >= resolvedConfig.maxMessages &&
51
+ messages.length >= resolvedConfig.minBeforePrune);
52
+ }, [resolvedConfig.maxMessages, resolvedConfig.minBeforePrune]);
53
+ /**
54
+ * Perform the actual pruning operation.
55
+ * Preserves priority roles (errors, system messages) when possible.
56
+ */
57
+ const doPrune = useCallback((messages, targetCount) => {
58
+ if (messages.length <= targetCount) {
59
+ return messages;
60
+ }
61
+ const beforeCount = messages.length;
62
+ // Separate priority and regular messages
63
+ const priorityMessages = [];
64
+ const regularMessages = [];
65
+ for (const msg of messages) {
66
+ if (resolvedConfig.priorityRoles.includes(msg.role)) {
67
+ priorityMessages.push(msg);
68
+ }
69
+ else {
70
+ regularMessages.push(msg);
71
+ }
72
+ }
73
+ // Calculate how many of each to keep
74
+ // Priority: keep all priority messages if they fit, otherwise keep most recent
75
+ const maxPriority = Math.floor(targetCount * 0.3); // Max 30% can be priority
76
+ const keptPriority = priorityMessages.slice(-maxPriority);
77
+ const regularSlots = targetCount - keptPriority.length;
78
+ const keptRegular = regularMessages.slice(-regularSlots);
79
+ // Merge and sort by timestamp
80
+ const result = [...keptPriority, ...keptRegular].sort((a, b) => a.ts.getTime() - b.ts.getTime());
81
+ // Record stats
82
+ const stats = {
83
+ beforeCount,
84
+ afterCount: result.length,
85
+ prunedCount: beforeCount - result.length,
86
+ timestamp: new Date(),
87
+ };
88
+ lastPruneStatsRef.current = stats;
89
+ totalPrunedRef.current += stats.prunedCount;
90
+ // Call callback
91
+ resolvedConfig.onPrune(stats);
92
+ return result;
93
+ }, [resolvedConfig]);
94
+ /**
95
+ * Prune messages if they exceed the max threshold.
96
+ * Returns original array reference if no pruning needed.
97
+ */
98
+ const pruneIfNeeded = useCallback((messages) => {
99
+ if (!needsPruning(messages)) {
100
+ return messages;
101
+ }
102
+ return doPrune(messages, resolvedConfig.preserveRecent);
103
+ }, [needsPruning, doPrune, resolvedConfig.preserveRecent]);
104
+ /**
105
+ * Force prune to the preserve limit regardless of current count.
106
+ */
107
+ const forcePrune = useCallback((messages) => {
108
+ return doPrune(messages, resolvedConfig.preserveRecent);
109
+ }, [doPrune, resolvedConfig.preserveRecent]);
110
+ /**
111
+ * Get the stats from the last prune operation.
112
+ */
113
+ const getLastPruneStats = useCallback(() => {
114
+ return lastPruneStatsRef.current;
115
+ }, []);
116
+ return {
117
+ pruneIfNeeded,
118
+ forcePrune,
119
+ needsPruning,
120
+ getLastPruneStats,
121
+ get totalPruned() {
122
+ return totalPrunedRef.current;
123
+ },
124
+ };
125
+ }
126
+ export default useMessagePruning;
127
+ //# sourceMappingURL=useMessagePruning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMessagePruning.js","sourceRoot":"","sources":["../../../../src/tui/hooks/useMessagePruning.ts"],"names":[],"mappings":"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"}
@@ -103,4 +103,7 @@ export { ScrollableBox, type ScrollableBoxProps, MessageItem, type MessageItemPr
103
103
  export { ControlledCommandPalette, CommandPalette, type ControlledCommandPaletteProps, type CommandPaletteProps } from './input/CommandPalette.js';
104
104
  export { createEventDisplay, createJunctureLogger } from './event-display.js';
105
105
  export { TransparencyAggregator, createTransparencyAggregator, formatTransparencyState, getTransparencySummary, type TransparencyState, type DecisionRecord, type TransparencyAggregatorConfig, } from './transparency-aggregator.js';
106
+ export { TUIErrorBoundary, ErrorFallback, withErrorBoundary } from './components/ErrorBoundary.js';
107
+ export { useMessagePruning, type TUIMessage as PruningTUIMessage, type MessagePruningConfig, type PruneStats, type UseMessagePruningResult, } from './hooks/index.js';
108
+ export { detectAltShortcut, isAltShortcut, normalizeShortcut, createShortcutHandler, formatShortcutDisplay, type KeyEvent, type NormalizedShortcut, type ShortcutHandlers, } from './utils/index.js';
106
109
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/index.ts"],"names":[],"mappings":"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"}
@@ -213,4 +213,13 @@ export { ControlledCommandPalette, CommandPalette } from './input/CommandPalette
213
213
  export { createEventDisplay, createJunctureLogger } from './event-display.js';
214
214
  // Transparency aggregator (decision tracking)
215
215
  export { TransparencyAggregator, createTransparencyAggregator, formatTransparencyState, getTransparencySummary, } from './transparency-aggregator.js';
216
+ // =============================================================================
217
+ // NEW MODERNIZATION EXPORTS
218
+ // =============================================================================
219
+ // Error boundaries
220
+ export { TUIErrorBoundary, ErrorFallback, withErrorBoundary } from './components/ErrorBoundary.js';
221
+ // Message pruning hook
222
+ export { useMessagePruning, } from './hooks/index.js';
223
+ // Cross-platform keyboard utilities
224
+ export { detectAltShortcut, isAltShortcut, normalizeShortcut, createShortcutHandler, formatShortcutDisplay, } from './utils/index.js';
216
225
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Syntax Highlighting Module
3
+ *
4
+ * Custom minimal lexer for syntax highlighting in diffs and code blocks.
5
+ * Zero external dependencies.
6
+ */
7
+ export { type Token, type TokenType, type Tokenizer, tokenize, detectLanguage, getTokenColor, TOKEN_COLOR_MAP, registerTokenizer, getTokenizer, } from './lexer.js';
8
+ import './languages/javascript.js';
9
+ import './languages/python.js';
10
+ import './languages/json.js';
11
+ import './languages/bash.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tui/syntax/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,SAAS,EACd,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,2BAA2B,CAAC;AACnC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Syntax Highlighting Module
3
+ *
4
+ * Custom minimal lexer for syntax highlighting in diffs and code blocks.
5
+ * Zero external dependencies.
6
+ */
7
+ // Export lexer API
8
+ export { tokenize, detectLanguage, getTokenColor, TOKEN_COLOR_MAP, registerTokenizer, getTokenizer, } from './lexer.js';
9
+ // Register language tokenizers (side effect imports)
10
+ import './languages/javascript.js';
11
+ import './languages/python.js';
12
+ import './languages/json.js';
13
+ import './languages/bash.js';
14
+ //# sourceMappingURL=index.js.map