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.
- package/CHANGELOG.md +27 -2
- package/README.md +47 -0
- package/dist/src/adapters.d.ts +21 -1
- package/dist/src/adapters.d.ts.map +1 -1
- package/dist/src/adapters.js +29 -1
- package/dist/src/adapters.js.map +1 -1
- package/dist/src/agent.d.ts +69 -3
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +692 -42
- package/dist/src/agent.js.map +1 -1
- package/dist/src/commands/agents-commands.d.ts.map +1 -1
- package/dist/src/commands/agents-commands.js +18 -4
- package/dist/src/commands/agents-commands.js.map +1 -1
- package/dist/src/commands/handler.d.ts.map +1 -1
- package/dist/src/commands/handler.js +120 -5
- package/dist/src/commands/handler.js.map +1 -1
- package/dist/src/core/index.d.ts +1 -6
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +4 -7
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/defaults.d.ts +31 -1
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +52 -2
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/integrations/agent-registry.d.ts.map +1 -1
- package/dist/src/integrations/agent-registry.js +12 -5
- package/dist/src/integrations/agent-registry.js.map +1 -1
- package/dist/src/integrations/codebase-context.d.ts +163 -0
- package/dist/src/integrations/codebase-context.d.ts.map +1 -1
- package/dist/src/integrations/codebase-context.js +462 -0
- package/dist/src/integrations/codebase-context.js.map +1 -1
- package/dist/src/integrations/economics.js +2 -2
- package/dist/src/integrations/economics.js.map +1 -1
- package/dist/src/integrations/file-change-tracker.d.ts +1 -0
- package/dist/src/integrations/file-change-tracker.d.ts.map +1 -1
- package/dist/src/integrations/file-change-tracker.js +30 -12
- package/dist/src/integrations/file-change-tracker.js.map +1 -1
- package/dist/src/integrations/graph-visualization.d.ts +72 -0
- package/dist/src/integrations/graph-visualization.d.ts.map +1 -0
- package/dist/src/integrations/graph-visualization.js +383 -0
- package/dist/src/integrations/graph-visualization.js.map +1 -0
- package/dist/src/integrations/index.d.ts +3 -1
- package/dist/src/integrations/index.d.ts.map +1 -1
- package/dist/src/integrations/index.js +4 -0
- package/dist/src/integrations/index.js.map +1 -1
- package/dist/src/integrations/memory.d.ts +8 -0
- package/dist/src/integrations/memory.d.ts.map +1 -1
- package/dist/src/integrations/memory.js +23 -0
- package/dist/src/integrations/memory.js.map +1 -1
- package/dist/src/integrations/pending-plan.d.ts +26 -1
- package/dist/src/integrations/pending-plan.d.ts.map +1 -1
- package/dist/src/integrations/pending-plan.js +131 -3
- package/dist/src/integrations/pending-plan.js.map +1 -1
- package/dist/src/integrations/planning.d.ts +19 -0
- package/dist/src/integrations/planning.d.ts.map +1 -1
- package/dist/src/integrations/planning.js +78 -4
- package/dist/src/integrations/planning.js.map +1 -1
- package/dist/src/integrations/safety.d.ts +4 -0
- package/dist/src/integrations/safety.d.ts.map +1 -1
- package/dist/src/integrations/safety.js +46 -7
- package/dist/src/integrations/safety.js.map +1 -1
- package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
- package/dist/src/integrations/sqlite-store.js +24 -2
- package/dist/src/integrations/sqlite-store.js.map +1 -1
- package/dist/src/integrations/task-manager.d.ts +132 -0
- package/dist/src/integrations/task-manager.d.ts.map +1 -0
- package/dist/src/integrations/task-manager.js +309 -0
- package/dist/src/integrations/task-manager.js.map +1 -0
- package/dist/src/modes/tui.d.ts.map +1 -1
- package/dist/src/modes/tui.js +9 -0
- package/dist/src/modes/tui.js.map +1 -1
- package/dist/src/modes.d.ts +30 -0
- package/dist/src/modes.d.ts.map +1 -1
- package/dist/src/modes.js +130 -2
- package/dist/src/modes.js.map +1 -1
- package/dist/src/providers/adapters/openai.d.ts +46 -2
- package/dist/src/providers/adapters/openai.d.ts.map +1 -1
- package/dist/src/providers/adapters/openai.js +221 -21
- package/dist/src/providers/adapters/openai.js.map +1 -1
- package/dist/src/providers/llm-resilience.d.ts +8 -0
- package/dist/src/providers/llm-resilience.d.ts.map +1 -1
- package/dist/src/providers/llm-resilience.js +36 -0
- package/dist/src/providers/llm-resilience.js.map +1 -1
- package/dist/src/tools/agent.d.ts +38 -1
- package/dist/src/tools/agent.d.ts.map +1 -1
- package/dist/src/tools/agent.js +152 -2
- package/dist/src/tools/agent.js.map +1 -1
- package/dist/src/tools/file.d.ts.map +1 -1
- package/dist/src/tools/file.js +17 -3
- package/dist/src/tools/file.js.map +1 -1
- package/dist/src/tools/tasks.d.ts +32 -0
- package/dist/src/tools/tasks.d.ts.map +1 -0
- package/dist/src/tools/tasks.js +334 -0
- package/dist/src/tools/tasks.js.map +1 -0
- package/dist/src/tracing/trace-collector.d.ts +81 -0
- package/dist/src/tracing/trace-collector.d.ts.map +1 -1
- package/dist/src/tracing/trace-collector.js +216 -4
- package/dist/src/tracing/trace-collector.js.map +1 -1
- package/dist/src/tracing/types.d.ts +8 -0
- package/dist/src/tracing/types.d.ts.map +1 -1
- package/dist/src/tracing/types.js.map +1 -1
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +503 -90
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/tui/components/ActiveAgentsPanel.d.ts +45 -0
- package/dist/src/tui/components/ActiveAgentsPanel.d.ts.map +1 -0
- package/dist/src/tui/components/ActiveAgentsPanel.js +121 -0
- package/dist/src/tui/components/ActiveAgentsPanel.js.map +1 -0
- package/dist/src/tui/components/CollapsibleDiffView.d.ts +49 -0
- package/dist/src/tui/components/CollapsibleDiffView.d.ts.map +1 -0
- package/dist/src/tui/components/CollapsibleDiffView.js +302 -0
- package/dist/src/tui/components/CollapsibleDiffView.js.map +1 -0
- package/dist/src/tui/components/DiffView.d.ts +55 -0
- package/dist/src/tui/components/DiffView.d.ts.map +1 -0
- package/dist/src/tui/components/DiffView.js +356 -0
- package/dist/src/tui/components/DiffView.js.map +1 -0
- package/dist/src/tui/components/ErrorBoundary.d.ts +63 -0
- package/dist/src/tui/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/src/tui/components/ErrorBoundary.js +88 -0
- package/dist/src/tui/components/ErrorBoundary.js.map +1 -0
- package/dist/src/tui/components/FileChangeSummary.d.ts +48 -0
- package/dist/src/tui/components/FileChangeSummary.d.ts.map +1 -0
- package/dist/src/tui/components/FileChangeSummary.js +152 -0
- package/dist/src/tui/components/FileChangeSummary.js.map +1 -0
- package/dist/src/tui/components/SideBySideDiff.d.ts +62 -0
- package/dist/src/tui/components/SideBySideDiff.d.ts.map +1 -0
- package/dist/src/tui/components/SideBySideDiff.js +320 -0
- package/dist/src/tui/components/SideBySideDiff.js.map +1 -0
- package/dist/src/tui/components/SyntaxText.d.ts +47 -0
- package/dist/src/tui/components/SyntaxText.d.ts.map +1 -0
- package/dist/src/tui/components/SyntaxText.js +43 -0
- package/dist/src/tui/components/SyntaxText.js.map +1 -0
- package/dist/src/tui/components/TasksPanel.d.ts +25 -0
- package/dist/src/tui/components/TasksPanel.d.ts.map +1 -0
- package/dist/src/tui/components/TasksPanel.js +101 -0
- package/dist/src/tui/components/TasksPanel.js.map +1 -0
- package/dist/src/tui/components/index.d.ts +8 -0
- package/dist/src/tui/components/index.d.ts.map +1 -1
- package/dist/src/tui/components/index.js +13 -0
- package/dist/src/tui/components/index.js.map +1 -1
- package/dist/src/tui/hooks/index.d.ts +7 -0
- package/dist/src/tui/hooks/index.d.ts.map +1 -0
- package/dist/src/tui/hooks/index.js +7 -0
- package/dist/src/tui/hooks/index.js.map +1 -0
- package/dist/src/tui/hooks/useMessagePruning.d.ts +114 -0
- package/dist/src/tui/hooks/useMessagePruning.d.ts.map +1 -0
- package/dist/src/tui/hooks/useMessagePruning.js +127 -0
- package/dist/src/tui/hooks/useMessagePruning.js.map +1 -0
- package/dist/src/tui/index.d.ts +3 -0
- package/dist/src/tui/index.d.ts.map +1 -1
- package/dist/src/tui/index.js +9 -0
- package/dist/src/tui/index.js.map +1 -1
- package/dist/src/tui/syntax/index.d.ts +12 -0
- package/dist/src/tui/syntax/index.d.ts.map +1 -0
- package/dist/src/tui/syntax/index.js +14 -0
- package/dist/src/tui/syntax/index.js.map +1 -0
- package/dist/src/tui/syntax/languages/bash.d.ts +8 -0
- package/dist/src/tui/syntax/languages/bash.d.ts.map +1 -0
- package/dist/src/tui/syntax/languages/bash.js +296 -0
- package/dist/src/tui/syntax/languages/bash.js.map +1 -0
- package/dist/src/tui/syntax/languages/javascript.d.ts +8 -0
- package/dist/src/tui/syntax/languages/javascript.d.ts.map +1 -0
- package/dist/src/tui/syntax/languages/javascript.js +253 -0
- package/dist/src/tui/syntax/languages/javascript.js.map +1 -0
- package/dist/src/tui/syntax/languages/json.d.ts +8 -0
- package/dist/src/tui/syntax/languages/json.d.ts.map +1 -0
- package/dist/src/tui/syntax/languages/json.js +112 -0
- package/dist/src/tui/syntax/languages/json.js.map +1 -0
- package/dist/src/tui/syntax/languages/python.d.ts +8 -0
- package/dist/src/tui/syntax/languages/python.d.ts.map +1 -0
- package/dist/src/tui/syntax/languages/python.js +232 -0
- package/dist/src/tui/syntax/languages/python.js.map +1 -0
- package/dist/src/tui/syntax/lexer.d.ts +51 -0
- package/dist/src/tui/syntax/lexer.d.ts.map +1 -0
- package/dist/src/tui/syntax/lexer.js +131 -0
- package/dist/src/tui/syntax/lexer.js.map +1 -0
- package/dist/src/tui/utils/index.d.ts +7 -0
- package/dist/src/tui/utils/index.d.ts.map +1 -0
- package/dist/src/tui/utils/index.js +7 -0
- package/dist/src/tui/utils/index.js.map +1 -0
- package/dist/src/tui/utils/keyboard.d.ts +123 -0
- package/dist/src/tui/utils/keyboard.d.ts.map +1 -0
- package/dist/src/tui/utils/keyboard.js +185 -0
- package/dist/src/tui/utils/keyboard.js.map +1 -0
- package/dist/src/types.d.ts +73 -0
- package/dist/src/types.d.ts.map +1 -1
- 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":";AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAiBhC,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,SAAS,aAAa,CAAC,MAAkB,EAAE,SAAkB;IAC3D,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,CAAE,UAAU;IACtC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC;QACb,KAAK,aAAa;YAChB,OAAO,GAAG,CAAC;QACb,KAAK,WAAW;YACd,OAAO,GAAG,CAAC;QACb;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAAkB,EAAE,SAAkB,EAAE,MAAmB;IACjF,IAAI,SAAS;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IACrC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB;YACE,OAAO,MAAM,CAAC,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,YAAoB,EAAE;IAC9D,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACjD,CAAC;AAYD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAiB;IAC/E,qDAAqD;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QACvD,OAAO,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErD,wBAAwB;IACxB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACvC,CAAC,CAAC,iBAAiB,UAAU,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG;YAC/D,CAAC,CAAC,iBAAiB,UAAU,GAAG,CAAC;IACrC,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aACT,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,YAAG,IAAI,GAAQ,EACvC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,kBAAE,IAAI,CAAC,EAAE,GAAQ,EACxD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,cAAc,GAAQ,EAChD,aAAa,IAAI,CAChB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,kBAAE,aAAa,GAAQ,CAC7D,IACG,EAEL,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,UAAU,IAAI,CACnD,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,mBAAE,IAAI,CAAC,UAAU,WAAW,GAC1D,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,UAAU,CAAC,EACjD,KAAK,EACL,MAAM,EACN,QAAQ,GACQ;IAChB,2BAA2B;IAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAE/D,2CAA2C;IAC3C,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;IAClB,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;IAC/E,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAE5E,kCAAkC;IAClC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,2CAA2C;IAC3C,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC;IAEjC,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,YAAY,EAAE,CAAC,EACf,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EACpD,QAAQ,EAAE,CAAC,aAGX,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,aACjC,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,8BACtB,OAAO,gBAAY,UAAU,oBAAgB,SAAS,mBACzD,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,oCAAqB,IACxD,EAGN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACvB,KAAC,QAAQ,IAAe,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,IAA3D,IAAI,CAAC,EAAE,CAAwD,CAC/E,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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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"}
|
package/dist/src/tui/index.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/src/tui/index.js
CHANGED
|
@@ -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
|