@nanocollective/nanocoder 1.16.2 → 1.16.3
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/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +35 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/components/assistant-message.d.ts +1 -4
- package/dist/components/assistant-message.d.ts.map +1 -1
- package/dist/components/assistant-message.js +1 -199
- package/dist/components/assistant-message.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +13 -5
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +23 -2
- package/dist/config/paths.js.map +1 -1
- package/dist/hooks/useAppState.d.ts.map +1 -1
- package/dist/hooks/useAppState.js +8 -15
- package/dist/hooks/useAppState.js.map +1 -1
- package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
- package/dist/hooks/useTerminalWidth.js +6 -0
- package/dist/hooks/useTerminalWidth.js.map +1 -1
- package/dist/markdown-parser/html-entities.d.ts +2 -0
- package/dist/markdown-parser/html-entities.d.ts.map +1 -0
- package/dist/markdown-parser/html-entities.js +41 -0
- package/dist/markdown-parser/html-entities.js.map +1 -0
- package/dist/markdown-parser/html-entities.spec.d.ts +2 -0
- package/dist/markdown-parser/html-entities.spec.d.ts.map +1 -0
- package/dist/markdown-parser/html-entities.spec.js +73 -0
- package/dist/markdown-parser/html-entities.spec.js.map +1 -0
- package/dist/markdown-parser/index.d.ts +6 -0
- package/dist/markdown-parser/index.d.ts.map +1 -0
- package/dist/markdown-parser/index.js +97 -0
- package/dist/markdown-parser/index.js.map +1 -0
- package/dist/markdown-parser/index.spec.d.ts +2 -0
- package/dist/markdown-parser/index.spec.d.ts.map +1 -0
- package/dist/markdown-parser/index.spec.js +245 -0
- package/dist/markdown-parser/index.spec.js.map +1 -0
- package/dist/markdown-parser/table-parser.d.ts +3 -0
- package/dist/markdown-parser/table-parser.d.ts.map +1 -0
- package/dist/markdown-parser/table-parser.js +92 -0
- package/dist/markdown-parser/table-parser.js.map +1 -0
- package/dist/markdown-parser/table-parser.spec.d.ts +2 -0
- package/dist/markdown-parser/table-parser.spec.d.ts.map +1 -0
- package/dist/markdown-parser/table-parser.spec.js +120 -0
- package/dist/markdown-parser/table-parser.spec.js.map +1 -0
- package/dist/markdown-parser/utils.d.ts +2 -0
- package/dist/markdown-parser/utils.d.ts.map +1 -0
- package/dist/markdown-parser/utils.js +14 -0
- package/dist/markdown-parser/utils.js.map +1 -0
- package/dist/markdown-parser/utils.spec.d.ts +2 -0
- package/dist/markdown-parser/utils.spec.d.ts.map +1 -0
- package/dist/markdown-parser/utils.spec.js +59 -0
- package/dist/markdown-parser/utils.spec.js.map +1 -0
- package/dist/tools/find-files.d.ts +3 -0
- package/dist/tools/find-files.d.ts.map +1 -0
- package/dist/tools/find-files.js +186 -0
- package/dist/tools/find-files.js.map +1 -0
- package/dist/tools/index.js +4 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +143 -9
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/search-file-contents.d.ts +3 -0
- package/dist/tools/search-file-contents.d.ts.map +1 -0
- package/dist/tools/search-file-contents.js +164 -0
- package/dist/tools/search-file-contents.js.map +1 -0
- package/dist/types/markdown-parser.d.ts +11 -0
- package/dist/types/markdown-parser.d.ts.map +1 -0
- package/dist/types/markdown-parser.js +2 -0
- package/dist/types/markdown-parser.js.map +1 -0
- package/dist/utils/update-checker.spec.d.ts +2 -0
- package/dist/utils/update-checker.spec.d.ts.map +1 -0
- package/dist/utils/update-checker.spec.js +230 -0
- package/dist/utils/update-checker.spec.js.map +1 -0
- package/package.json +1 -1
- package/source/app/prompts/main-prompt.md +67 -23
- package/dist/components/update-message.d.ts +0 -7
- package/dist/components/update-message.d.ts.map +0 -1
- package/dist/components/update-message.js +0 -93
- package/dist/components/update-message.js.map +0 -1
- package/dist/tools/read-many-files.d.ts +0 -3
- package/dist/tools/read-many-files.d.ts.map +0 -1
- package/dist/tools/read-many-files.js +0 -169
- package/dist/tools/read-many-files.js.map +0 -1
- package/dist/tools/search-files.d.ts +0 -3
- package/dist/tools/search-files.d.ts.map +0 -1
- package/dist/tools/search-files.js +0 -251
- package/dist/tools/search-files.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../source/commands/update.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../source/commands/update.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAOtC,eAAO,MAAM,aAAa,EAAE,OA0C3B,CAAC"}
|
package/dist/commands/update.js
CHANGED
|
@@ -1,10 +1,42 @@
|
|
|
1
|
+
import { checkForUpdates } from '../utils/update-checker.js';
|
|
2
|
+
import { logInfo, logError } from '../utils/message-queue.js';
|
|
3
|
+
import { toolRegistry } from '../tools/index.js';
|
|
1
4
|
import React from 'react';
|
|
2
|
-
import
|
|
5
|
+
import SuccessMessage from '../components/success-message.js';
|
|
3
6
|
export const updateCommand = {
|
|
4
7
|
name: 'update',
|
|
5
8
|
description: 'Update Nanocoder to the latest version',
|
|
6
|
-
handler: (_args) => {
|
|
7
|
-
|
|
9
|
+
handler: async (_args) => {
|
|
10
|
+
// Show initial checking message
|
|
11
|
+
logInfo('Checking for available updates...', true);
|
|
12
|
+
try {
|
|
13
|
+
const updateInfo = await checkForUpdates();
|
|
14
|
+
if (updateInfo.hasUpdate) {
|
|
15
|
+
// Show updating message
|
|
16
|
+
logInfo('Downloading and installing the latest Nanocoder update...', true);
|
|
17
|
+
// Run the update command
|
|
18
|
+
await toolRegistry.execute_bash({
|
|
19
|
+
command: 'npm update -g @nanocollective/nanocoder',
|
|
20
|
+
});
|
|
21
|
+
// Show success message
|
|
22
|
+
return React.createElement(SuccessMessage, {
|
|
23
|
+
message: 'Nanocoder has been updated to the latest version. Please restart your session to apply the update.',
|
|
24
|
+
hideBox: true,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// Already up to date
|
|
29
|
+
return React.createElement(SuccessMessage, {
|
|
30
|
+
message: 'Nanocoder is already up to date.',
|
|
31
|
+
hideBox: true,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
37
|
+
logError(`Failed to update Nanocoder: ${errorMessage}`, true);
|
|
38
|
+
return React.createElement(React.Fragment);
|
|
39
|
+
}
|
|
8
40
|
},
|
|
9
41
|
};
|
|
10
42
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../source/commands/update.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../source/commands/update.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAE1D,MAAM,CAAC,MAAM,aAAa,GAAY;IACrC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,wCAAwC;IACrD,OAAO,EAAE,KAAK,EAAE,KAAe,EAAE,EAAE;QAClC,gCAAgC;QAChC,OAAO,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,MAAM,eAAe,EAAE,CAAC;YAE3C,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC1B,wBAAwB;gBACxB,OAAO,CACN,2DAA2D,EAC3D,IAAI,CACJ,CAAC;gBAEF,yBAAyB;gBACzB,MAAM,YAAY,CAAC,YAAY,CAAC;oBAC/B,OAAO,EAAE,yCAAyC;iBAClD,CAAC,CAAC;gBAEH,uBAAuB;gBACvB,OAAO,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;oBAC1C,OAAO,EACN,oGAAoG;oBACrG,OAAO,EAAE,IAAI;iBACb,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,qBAAqB;gBACrB,OAAO,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE;oBAC1C,OAAO,EAAE,kCAAkC;oBAC3C,OAAO,EAAE,IAAI;iBACb,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxD,QAAQ,CAAC,+BAA+B,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;CACD,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import type { AssistantMessageProps
|
|
2
|
-
export declare function decodeHtmlEntities(text: string): string;
|
|
3
|
-
export declare function parseMarkdownTable(tableText: string, themeColors: Colors): string;
|
|
4
|
-
export declare function parseMarkdown(text: string, themeColors: Colors): string;
|
|
1
|
+
import type { AssistantMessageProps } from '../types/index.js';
|
|
5
2
|
declare const _default: import("react").NamedExoticComponent<AssistantMessageProps>;
|
|
6
3
|
export default _default;
|
|
7
4
|
//# sourceMappingURL=assistant-message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-message.d.ts","sourceRoot":"","sources":["../../source/components/assistant-message.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"assistant-message.d.ts","sourceRoot":"","sources":["../../source/components/assistant-message.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;;AAGzD,wBA0BG"}
|
|
@@ -2,205 +2,7 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Text, Box } from 'ink';
|
|
3
3
|
import { memo, useMemo } from 'react';
|
|
4
4
|
import { useTheme } from '../hooks/useTheme.js';
|
|
5
|
-
import
|
|
6
|
-
import { highlight } from 'cli-highlight';
|
|
7
|
-
import Table from 'cli-table3';
|
|
8
|
-
// Decode HTML entities
|
|
9
|
-
export function decodeHtmlEntities(text) {
|
|
10
|
-
const entities = {
|
|
11
|
-
' ': ' ',
|
|
12
|
-
'&': '&',
|
|
13
|
-
'<': '<',
|
|
14
|
-
'>': '>',
|
|
15
|
-
'"': '"',
|
|
16
|
-
''': "'",
|
|
17
|
-
'©': '©',
|
|
18
|
-
'®': '®',
|
|
19
|
-
'™': '™',
|
|
20
|
-
'€': '€',
|
|
21
|
-
'£': '£',
|
|
22
|
-
'¥': '¥',
|
|
23
|
-
'¢': '¢',
|
|
24
|
-
'§': '§',
|
|
25
|
-
'°': '°',
|
|
26
|
-
'±': '±',
|
|
27
|
-
'×': '×',
|
|
28
|
-
'÷': '÷',
|
|
29
|
-
'–': '–',
|
|
30
|
-
'—': '—',
|
|
31
|
-
'‘': '\u2018',
|
|
32
|
-
'’': '\u2019',
|
|
33
|
-
'“': '\u201C',
|
|
34
|
-
'”': '\u201D',
|
|
35
|
-
'…': '…',
|
|
36
|
-
'•': '•',
|
|
37
|
-
};
|
|
38
|
-
let result = text;
|
|
39
|
-
// Replace named entities
|
|
40
|
-
for (const [entity, char] of Object.entries(entities)) {
|
|
41
|
-
result = result.replace(new RegExp(entity, 'g'), char);
|
|
42
|
-
}
|
|
43
|
-
// Replace numeric entities (e.g.,   or  )
|
|
44
|
-
result = result.replace(/&#(\d+);/g, (_match, code) => String.fromCharCode(parseInt(code, 10)));
|
|
45
|
-
result = result.replace(/&#x([0-9A-Fa-f]+);/g, (_match, code) => String.fromCharCode(parseInt(code, 16)));
|
|
46
|
-
return result;
|
|
47
|
-
}
|
|
48
|
-
// Strip markdown formatting from text (for width calculations)
|
|
49
|
-
function stripMarkdown(text) {
|
|
50
|
-
let result = text;
|
|
51
|
-
// Remove inline code
|
|
52
|
-
result = result.replace(/`([^`]+)`/g, '$1');
|
|
53
|
-
// Remove bold
|
|
54
|
-
result = result.replace(/\*\*([^*]+)\*\*/g, '$1');
|
|
55
|
-
result = result.replace(/__([^_]+)__/g, '$1');
|
|
56
|
-
// Remove italic
|
|
57
|
-
result = result.replace(/\*([^*]+)\*/g, '$1');
|
|
58
|
-
result = result.replace(/_([^_]+)_/g, '$1');
|
|
59
|
-
// Remove links
|
|
60
|
-
result = result.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1');
|
|
61
|
-
return result;
|
|
62
|
-
}
|
|
63
|
-
// Parse markdown tables using cli-table3
|
|
64
|
-
export function parseMarkdownTable(tableText, themeColors) {
|
|
65
|
-
const lines = tableText.trim().split('\n');
|
|
66
|
-
if (lines.length < 2)
|
|
67
|
-
return tableText;
|
|
68
|
-
// Extract rows
|
|
69
|
-
const rows = lines.map(line => line
|
|
70
|
-
.split('|')
|
|
71
|
-
.map(cell => cell.trim())
|
|
72
|
-
.filter(cell => cell.length > 0));
|
|
73
|
-
// Check if second row is separator (e.g., |---|---|)
|
|
74
|
-
const separatorRow = rows[1];
|
|
75
|
-
const isSeparator = separatorRow?.every(cell => /^:?-+:?$/.test(cell));
|
|
76
|
-
if (!isSeparator || rows.length < 3)
|
|
77
|
-
return tableText;
|
|
78
|
-
// Extract header and data rows - strip markdown for proper width calculation
|
|
79
|
-
const header = rows[0].map(cell => stripMarkdown(cell));
|
|
80
|
-
const dataRows = rows
|
|
81
|
-
.slice(2)
|
|
82
|
-
.map(row => row.map(cell => stripMarkdown(cell)));
|
|
83
|
-
// Calculate column widths properly
|
|
84
|
-
const terminalWidth = process.stdout.columns || 120;
|
|
85
|
-
const numCols = header.length;
|
|
86
|
-
// Get max content width for each column
|
|
87
|
-
const contentWidths = header.map((_, colIdx) => {
|
|
88
|
-
let maxWidth = header[colIdx].length;
|
|
89
|
-
for (const row of dataRows) {
|
|
90
|
-
if (row[colIdx]) {
|
|
91
|
-
maxWidth = Math.max(maxWidth, row[colIdx].length);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return maxWidth;
|
|
95
|
-
});
|
|
96
|
-
// Calculate available width (accounting for borders and padding)
|
|
97
|
-
const borderWidth = numCols + 1; // vertical bars
|
|
98
|
-
const paddingWidth = numCols * 2; // 1 space on each side of each column
|
|
99
|
-
const availableWidth = terminalWidth - borderWidth - paddingWidth;
|
|
100
|
-
// Distribute width proportionally
|
|
101
|
-
const totalContentWidth = contentWidths.reduce((a, b) => a + b, 0);
|
|
102
|
-
const colWidths = contentWidths.map(width => Math.max(10, Math.floor((width / totalContentWidth) * availableWidth)));
|
|
103
|
-
// Create table with cli-table3 - full borders, proper alignment
|
|
104
|
-
const table = new Table({
|
|
105
|
-
head: header.map(cell => chalk.hex(themeColors.primary).bold(cell)),
|
|
106
|
-
colWidths: colWidths,
|
|
107
|
-
style: {
|
|
108
|
-
head: [], // Don't apply default styles, we're using chalk
|
|
109
|
-
border: ['gray'], // Subtle border color
|
|
110
|
-
'padding-left': 1,
|
|
111
|
-
'padding-right': 1,
|
|
112
|
-
},
|
|
113
|
-
chars: {
|
|
114
|
-
top: '─',
|
|
115
|
-
'top-mid': '┬',
|
|
116
|
-
'top-left': '┌',
|
|
117
|
-
'top-right': '┐',
|
|
118
|
-
bottom: '─',
|
|
119
|
-
'bottom-mid': '┴',
|
|
120
|
-
'bottom-left': '└',
|
|
121
|
-
'bottom-right': '┘',
|
|
122
|
-
left: '│',
|
|
123
|
-
'left-mid': '├',
|
|
124
|
-
mid: '─',
|
|
125
|
-
'mid-mid': '┼',
|
|
126
|
-
right: '│',
|
|
127
|
-
'right-mid': '┤',
|
|
128
|
-
middle: '│',
|
|
129
|
-
},
|
|
130
|
-
wordWrap: true,
|
|
131
|
-
wrapOnWordBoundary: true,
|
|
132
|
-
});
|
|
133
|
-
// Add data rows - don't style them, let cli-table3 handle layout
|
|
134
|
-
for (const row of dataRows) {
|
|
135
|
-
table.push(row);
|
|
136
|
-
}
|
|
137
|
-
return table.toString();
|
|
138
|
-
}
|
|
139
|
-
// Basic markdown parser for terminal
|
|
140
|
-
export function parseMarkdown(text, themeColors) {
|
|
141
|
-
// First decode HTML entities
|
|
142
|
-
let result = decodeHtmlEntities(text);
|
|
143
|
-
// Parse tables before other markdown elements
|
|
144
|
-
result = result.replace(/(?:^|\n)((?:\|.+\|\n)+)/gm, (_match, tableText) => {
|
|
145
|
-
return '\n' + parseMarkdownTable(tableText, themeColors) + '\n';
|
|
146
|
-
});
|
|
147
|
-
// Code blocks (```language\ncode\n```)
|
|
148
|
-
result = result.replace(/```(\w+)?\n([\s\S]*?)```/g, (_match, lang, code) => {
|
|
149
|
-
try {
|
|
150
|
-
const codeStr = String(code).trim();
|
|
151
|
-
// Apply syntax highlighting with detected language
|
|
152
|
-
const highlighted = highlight(codeStr, {
|
|
153
|
-
language: lang || 'plaintext',
|
|
154
|
-
theme: 'default',
|
|
155
|
-
});
|
|
156
|
-
return highlighted;
|
|
157
|
-
}
|
|
158
|
-
catch {
|
|
159
|
-
// Fallback to plain colored text if highlighting fails
|
|
160
|
-
return chalk.hex(themeColors.tool)(String(code).trim());
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
// Inline code (`code`)
|
|
164
|
-
result = result.replace(/`([^`]+)`/g, (_match, code) => {
|
|
165
|
-
return chalk.hex(themeColors.tool)(String(code).trim());
|
|
166
|
-
});
|
|
167
|
-
// Bold (**text** or __text__)
|
|
168
|
-
result = result.replace(/\*\*([^*]+)\*\*/g, (_match, text) => {
|
|
169
|
-
return chalk.hex(themeColors.white).bold(text);
|
|
170
|
-
});
|
|
171
|
-
result = result.replace(/__([^_]+)__/g, (_match, text) => {
|
|
172
|
-
return chalk.hex(themeColors.white).bold(text);
|
|
173
|
-
});
|
|
174
|
-
// Italic (*text* or _text_)
|
|
175
|
-
result = result.replace(/\*([^*]+)\*/g, (_match, text) => {
|
|
176
|
-
return chalk.hex(themeColors.white).italic(text);
|
|
177
|
-
});
|
|
178
|
-
result = result.replace(/_([^_]+)_/g, (_match, text) => {
|
|
179
|
-
return chalk.hex(themeColors.white).italic(text);
|
|
180
|
-
});
|
|
181
|
-
// Headings (# Heading)
|
|
182
|
-
result = result.replace(/^(#{1,6})\s+(.+)$/gm, (_match, _hashes, text) => {
|
|
183
|
-
return chalk.hex(themeColors.primary).bold(text);
|
|
184
|
-
});
|
|
185
|
-
// Links [text](url)
|
|
186
|
-
result = result.replace(/\[([^\]]+)\]\(([^)]+)\)/g, (_match, text, url) => {
|
|
187
|
-
return (chalk.hex(themeColors.info).underline(text) +
|
|
188
|
-
' ' +
|
|
189
|
-
chalk.hex(themeColors.secondary)(`(${url})`));
|
|
190
|
-
});
|
|
191
|
-
// Blockquotes (> text)
|
|
192
|
-
result = result.replace(/^>\s+(.+)$/gm, (_match, text) => {
|
|
193
|
-
return chalk.hex(themeColors.secondary).italic(`> ${text}`);
|
|
194
|
-
});
|
|
195
|
-
// List items (- item or * item or 1. item)
|
|
196
|
-
result = result.replace(/^[\s]*[-*]\s+(.+)$/gm, (_match, text) => {
|
|
197
|
-
return chalk.hex(themeColors.white)(`• ${text}`);
|
|
198
|
-
});
|
|
199
|
-
result = result.replace(/^[\s]*\d+\.\s+(.+)$/gm, (_match, text) => {
|
|
200
|
-
return chalk.hex(themeColors.white)(text);
|
|
201
|
-
});
|
|
202
|
-
return result;
|
|
203
|
-
}
|
|
5
|
+
import { parseMarkdown } from '../markdown-parser/index.js';
|
|
204
6
|
export default memo(function AssistantMessage({ message, model, }) {
|
|
205
7
|
const { colors } = useTheme();
|
|
206
8
|
// Render markdown to terminal-formatted text with theme colors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assistant-message.js","sourceRoot":"","sources":["../../source/components/assistant-message.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,GAAG,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"assistant-message.js","sourceRoot":"","sources":["../../source/components/assistant-message.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,GAAG,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAEtD,eAAe,IAAI,CAAC,SAAS,gBAAgB,CAAC,EAC7C,OAAO,EACP,KAAK,GACkB;IACvB,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE5B,+DAA+D;IAC/D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC;YACJ,OAAO,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACR,mDAAmD;YACnD,OAAO,OAAO,CAAC;QAChB,CAAC;IACF,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAC1C,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YACnB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,mBAC/B,KAAK,SACA,GACF,EACN,KAAC,IAAI,cAAE,eAAe,GAAQ,IACzB,CACN,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AA0BrD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAGrD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmC7D;AA8CD,eAAO,IAAI,SAAS,WAAkB,CAAC;AAGvC,wBAAgB,eAAe,IAAI,IAAI,CAEtC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AA0BrD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAGrD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmC7D;AA8CD,eAAO,IAAI,SAAS,WAAkB,CAAC;AAGvC,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAID,wBAAgB,SAAS,IAAI,MAAM,CAOlC;AAGD,eAAO,MAAM,MAAM,QAIjB,CAAC;AAOH,eAAO,MAAM,UAAU,QAGtB,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -92,13 +92,21 @@ export let appConfig = loadAppConfig();
|
|
|
92
92
|
export function reloadAppConfig() {
|
|
93
93
|
appConfig = loadAppConfig();
|
|
94
94
|
}
|
|
95
|
+
let cachedColors = null;
|
|
95
96
|
export function getColors() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
if (!cachedColors) {
|
|
98
|
+
const preferences = loadPreferences();
|
|
99
|
+
const selectedTheme = preferences.selectedTheme || defaultTheme;
|
|
100
|
+
cachedColors = getThemeColors(selectedTheme);
|
|
101
|
+
}
|
|
102
|
+
return cachedColors;
|
|
99
103
|
}
|
|
100
|
-
// Legacy export for backwards compatibility
|
|
101
|
-
export const colors =
|
|
104
|
+
// Legacy export for backwards compatibility - use a getter to avoid circular dependency
|
|
105
|
+
export const colors = new Proxy({}, {
|
|
106
|
+
get(_target, prop) {
|
|
107
|
+
return getColors()[prop];
|
|
108
|
+
},
|
|
109
|
+
});
|
|
102
110
|
// Get the package root directory (where this module is installed)
|
|
103
111
|
const __filename = fileURLToPath(import.meta.url);
|
|
104
112
|
const __dirname = dirname(__filename);
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,IAAI,CAAC;AACtE,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,MAAM,CAAC;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,KAAK,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAC,MAAM,IAAI,OAAO,EAAC,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,cAAc,EAAE,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE9C,6EAA6E;AAC7E,mEAAmE;AACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;AAC5C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IAClC,IAAI,CAAC;QACJ,OAAO,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;IAC1B,CAAC;YAAS,CAAC;QACV,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IACtC,CAAC;AACF,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,MAAM,UAAU,GAA2B,EAAE,CAAC;AAErD,oEAAoE;AACpE,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACpD,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QAErC,mDAAmD;QACnD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC/C,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;YAErD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,uEAAuE;QACvE,iBAAiB;QACjB,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;YACjD,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;YAEvD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,4CAA4C;QAE5C,uCAAuC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC9C,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,kBAAkB,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,sEAAsE;IACtE,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,QAAgB;IAChE,IAAI,CAAC;QACJ,0EAA0E;QAC1E,gEAAgE;QAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC3C,oCAAoC;YACpC,MAAM,YAAY,GAAG,EAAE,CAAC;YAExB,SAAS,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;YACvC,aAAa,CACZ,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACxB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EACrC,OAAO,CACP,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,mBAAmB,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC;AAED,0EAA0E;AAC1E,SAAS,aAAa;IACrB,MAAM,cAAc,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAElE,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;QAElE,0CAA0C;QAC1C,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEpD,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAO;gBACN,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE;gBAClD,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE;aACpD,CAAC;QACH,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,EAAE;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACX,CAAC;AAED,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,UAAU,eAAe;IAC9B,SAAS,GAAG,aAAa,EAAE,CAAC;AAC7B,CAAC;AAED,IAAI,YAAY,GAAkB,IAAI,CAAC;AAEvC,MAAM,UAAU,SAAS;IACxB,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,YAAY,CAAC;QAChE,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAY,EAAE;IAC7C,GAAG,CAAC,OAAO,EAAE,IAAI;QAChB,OAAO,SAAS,EAAE,CAAC,IAAoB,CAAC,CAAC;IAC1C,CAAC;CACD,CAAC,CAAC;AAEH,kEAAkE;AAClE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,oFAAoF;AACpF,mGAAmG;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAC7B,SAAS,EACT,yCAAyC,CACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../source/config/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../source/config/paths.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
|
package/dist/config/paths.js
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { homedir } from 'os';
|
|
2
|
+
import { join } from 'path';
|
|
2
3
|
export function getAppDataPath() {
|
|
3
|
-
return
|
|
4
|
+
return getConfigPath();
|
|
5
|
+
}
|
|
6
|
+
function getConfigPath() {
|
|
7
|
+
// Allow explicit override via environment variable
|
|
8
|
+
if (process.env.NANOCODER_CONFIG_DIR) {
|
|
9
|
+
return process.env.NANOCODER_CONFIG_DIR;
|
|
10
|
+
}
|
|
11
|
+
// Platform-specific defaults
|
|
12
|
+
let baseConfigPath;
|
|
13
|
+
switch (process.platform) {
|
|
14
|
+
case 'win32':
|
|
15
|
+
baseConfigPath = process.env.APPDATA ?? join(homedir(), '.config');
|
|
16
|
+
break;
|
|
17
|
+
case 'darwin':
|
|
18
|
+
baseConfigPath = join(homedir(), 'Library', 'Preferences');
|
|
19
|
+
break;
|
|
20
|
+
default:
|
|
21
|
+
baseConfigPath =
|
|
22
|
+
process.env.XDG_CONFIG_HOME ?? join(homedir(), '.config');
|
|
23
|
+
}
|
|
24
|
+
return join(baseConfigPath, 'nanocoder');
|
|
4
25
|
}
|
|
5
26
|
//# sourceMappingURL=paths.js.map
|
package/dist/config/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../source/config/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../source/config/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAE1B,MAAM,UAAU,cAAc;IAC7B,OAAO,aAAa,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,aAAa;IACrB,mDAAmD;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACzC,CAAC;IAED,6BAA6B;IAC7B,IAAI,cAAsB,CAAC;IAC3B,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1B,KAAK,OAAO;YACX,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;YACnE,MAAM;QACP,KAAK,QAAQ;YACZ,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAC3D,MAAM;QACP;YACC,cAAc;gBACb,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppState.d.ts","sourceRoot":"","sources":["../../source/hooks/useAppState.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IACnC,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAsEb,KAAK,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"useAppState.d.ts","sourceRoot":"","sources":["../../source/hooks/useAppState.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IACnC,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAsEb,KAAK,CAAC,SAAS;gCAwCjB,OAAO;kCAoB+B,OAAO,EAAE;;EA6F1D"}
|
|
@@ -46,7 +46,7 @@ export function useAppState() {
|
|
|
46
46
|
// Chat queue for components
|
|
47
47
|
const [chatComponents, setChatComponents] = useState([]);
|
|
48
48
|
const [componentKeyCounter, setComponentKeyCounter] = useState(0);
|
|
49
|
-
// Helper function to add components to the chat queue with stable keys
|
|
49
|
+
// Helper function to add components to the chat queue with stable keys
|
|
50
50
|
const addToChatQueue = useCallback((component) => {
|
|
51
51
|
const newCounter = componentKeyCounter + 1;
|
|
52
52
|
setComponentKeyCounter(newCounter);
|
|
@@ -56,13 +56,10 @@ export function useAppState() {
|
|
|
56
56
|
key: `chat-component-${newCounter}`,
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
-
setChatComponents(prevComponents =>
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
? newComponents.slice(-50)
|
|
64
|
-
: newComponents;
|
|
65
|
-
});
|
|
59
|
+
setChatComponents(prevComponents => [
|
|
60
|
+
...prevComponents,
|
|
61
|
+
componentWithKey,
|
|
62
|
+
]);
|
|
66
63
|
}, [componentKeyCounter]);
|
|
67
64
|
// Create tokenizer based on current provider and model
|
|
68
65
|
const tokenizer = useMemo(() => {
|
|
@@ -95,14 +92,10 @@ export function useAppState() {
|
|
|
95
92
|
});
|
|
96
93
|
return tokens;
|
|
97
94
|
}, [messageTokenCache, tokenizer, currentModel]);
|
|
98
|
-
//
|
|
95
|
+
// Message updater - no limits, display all messages
|
|
99
96
|
const updateMessages = useCallback((newMessages) => {
|
|
100
|
-
setMessages(newMessages);
|
|
101
|
-
|
|
102
|
-
const displayLimit = 30;
|
|
103
|
-
setDisplayMessages(newMessages.length > displayLimit
|
|
104
|
-
? newMessages.slice(-displayLimit)
|
|
105
|
-
: newMessages);
|
|
97
|
+
setMessages(newMessages);
|
|
98
|
+
setDisplayMessages(newMessages);
|
|
106
99
|
}, []);
|
|
107
100
|
// Reset tool confirmation state
|
|
108
101
|
const resetToolConfirmationState = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppState.js","sourceRoot":"","sources":["../../source/hooks/useAppState.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useAppState.js","sourceRoot":"","sources":["../../source/hooks/useAppState.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTerminalWidth.d.ts","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"AAEA,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"useTerminalWidth.d.ts","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"AAEA,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,eAAO,MAAM,gBAAgB,cAgC5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;qBAcT,MAAM,aAAa,MAAM,KAAG,MAAM;4BAM3B,MAAM,aAAa,MAAM,KAAG,MAAM;CAejE,CAAC"}
|
|
@@ -9,6 +9,12 @@ export const useTerminalWidth = () => {
|
|
|
9
9
|
// Only update if width actually changed
|
|
10
10
|
setBoxWidth(prevWidth => (prevWidth !== newWidth ? newWidth : prevWidth));
|
|
11
11
|
};
|
|
12
|
+
// Increase max listeners if needed (many components use this hook simultaneously)
|
|
13
|
+
const currentMax = process.stdout.getMaxListeners();
|
|
14
|
+
if (currentMax !== 0 && currentMax < 50) {
|
|
15
|
+
// 0 means unlimited, otherwise ensure we have enough headroom
|
|
16
|
+
process.stdout.setMaxListeners(50);
|
|
17
|
+
}
|
|
12
18
|
// Listen for terminal resize events
|
|
13
19
|
process.stdout.on('resize', handleResize);
|
|
14
20
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTerminalWidth.js","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAI1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACpC,oEAAoE;IACpE,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAE1C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC7C,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAC/C,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,YAAY,GAAG,GAAG,EAAE;YACzB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACjE,wCAAwC;YACxC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,oCAAoC;QACpC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE1C,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACzC,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAEjD,wCAAwC;IACxC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAgB,EAAE;QAC/C,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO,QAAQ,CAAC;QAChC,IAAI,KAAK,GAAG,GAAG;YAAE,OAAO,QAAQ,CAAC;QACjC,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAElC,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAU,EAAE;QAC5D,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAC7C,CAAC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,SAAiB,EAAU,EAAE;QACnE,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS;YAAE,OAAO,OAAO,CAAC;QAChD,OAAO,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO;QACN,QAAQ;QACR,WAAW;QACX,IAAI;QACJ,QAAQ,EAAE,IAAI,KAAK,QAAQ;QAC3B,QAAQ,EAAE,IAAI,KAAK,QAAQ;QAC3B,MAAM,EAAE,IAAI,KAAK,MAAM;QACvB,QAAQ;QACR,YAAY;KACZ,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"useTerminalWidth.js","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-entities.d.ts","sourceRoot":"","sources":["../../source/markdown-parser/html-entities.ts"],"names":[],"mappings":"AACA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2CvD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Decode HTML entities
|
|
2
|
+
export function decodeHtmlEntities(text) {
|
|
3
|
+
const entities = {
|
|
4
|
+
' ': ' ',
|
|
5
|
+
'&': '&',
|
|
6
|
+
'<': '<',
|
|
7
|
+
'>': '>',
|
|
8
|
+
'"': '"',
|
|
9
|
+
''': "'",
|
|
10
|
+
'©': '©',
|
|
11
|
+
'®': '®',
|
|
12
|
+
'™': '™',
|
|
13
|
+
'€': '€',
|
|
14
|
+
'£': '£',
|
|
15
|
+
'¥': '¥',
|
|
16
|
+
'¢': '¢',
|
|
17
|
+
'§': '§',
|
|
18
|
+
'°': '°',
|
|
19
|
+
'±': '±',
|
|
20
|
+
'×': '×',
|
|
21
|
+
'÷': '÷',
|
|
22
|
+
'–': '–',
|
|
23
|
+
'—': '—',
|
|
24
|
+
'‘': '\u2018',
|
|
25
|
+
'’': '\u2019',
|
|
26
|
+
'“': '\u201C',
|
|
27
|
+
'”': '\u201D',
|
|
28
|
+
'…': '…',
|
|
29
|
+
'•': '•',
|
|
30
|
+
};
|
|
31
|
+
let result = text;
|
|
32
|
+
// Replace named entities
|
|
33
|
+
for (const [entity, char] of Object.entries(entities)) {
|
|
34
|
+
result = result.replace(new RegExp(entity, 'g'), char);
|
|
35
|
+
}
|
|
36
|
+
// Replace numeric entities (e.g.,   or  )
|
|
37
|
+
result = result.replace(/&#(\d+);/g, (_match, code) => String.fromCharCode(parseInt(code, 10)));
|
|
38
|
+
result = result.replace(/&#x([0-9A-Fa-f]+);/g, (_match, code) => String.fromCharCode(parseInt(code, 16)));
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=html-entities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-entities.js","sourceRoot":"","sources":["../../source/markdown-parser/html-entities.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,MAAM,QAAQ,GAA2B;QACxC,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,GAAG;QACd,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;KACb,CAAC;IAEF,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,yBAAyB;IACzB,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,oDAAoD;IACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAC7D,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACvC,CAAC;IACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CACvE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACvC,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-entities.spec.d.ts","sourceRoot":"","sources":["../../source/markdown-parser/html-entities.spec.ts"],"names":[],"mappings":""}
|