@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.
Files changed (86) hide show
  1. package/dist/commands/update.d.ts.map +1 -1
  2. package/dist/commands/update.js +35 -3
  3. package/dist/commands/update.js.map +1 -1
  4. package/dist/components/assistant-message.d.ts +1 -4
  5. package/dist/components/assistant-message.d.ts.map +1 -1
  6. package/dist/components/assistant-message.js +1 -199
  7. package/dist/components/assistant-message.js.map +1 -1
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/index.js +13 -5
  10. package/dist/config/index.js.map +1 -1
  11. package/dist/config/paths.d.ts.map +1 -1
  12. package/dist/config/paths.js +23 -2
  13. package/dist/config/paths.js.map +1 -1
  14. package/dist/hooks/useAppState.d.ts.map +1 -1
  15. package/dist/hooks/useAppState.js +8 -15
  16. package/dist/hooks/useAppState.js.map +1 -1
  17. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  18. package/dist/hooks/useTerminalWidth.js +6 -0
  19. package/dist/hooks/useTerminalWidth.js.map +1 -1
  20. package/dist/markdown-parser/html-entities.d.ts +2 -0
  21. package/dist/markdown-parser/html-entities.d.ts.map +1 -0
  22. package/dist/markdown-parser/html-entities.js +41 -0
  23. package/dist/markdown-parser/html-entities.js.map +1 -0
  24. package/dist/markdown-parser/html-entities.spec.d.ts +2 -0
  25. package/dist/markdown-parser/html-entities.spec.d.ts.map +1 -0
  26. package/dist/markdown-parser/html-entities.spec.js +73 -0
  27. package/dist/markdown-parser/html-entities.spec.js.map +1 -0
  28. package/dist/markdown-parser/index.d.ts +6 -0
  29. package/dist/markdown-parser/index.d.ts.map +1 -0
  30. package/dist/markdown-parser/index.js +97 -0
  31. package/dist/markdown-parser/index.js.map +1 -0
  32. package/dist/markdown-parser/index.spec.d.ts +2 -0
  33. package/dist/markdown-parser/index.spec.d.ts.map +1 -0
  34. package/dist/markdown-parser/index.spec.js +245 -0
  35. package/dist/markdown-parser/index.spec.js.map +1 -0
  36. package/dist/markdown-parser/table-parser.d.ts +3 -0
  37. package/dist/markdown-parser/table-parser.d.ts.map +1 -0
  38. package/dist/markdown-parser/table-parser.js +92 -0
  39. package/dist/markdown-parser/table-parser.js.map +1 -0
  40. package/dist/markdown-parser/table-parser.spec.d.ts +2 -0
  41. package/dist/markdown-parser/table-parser.spec.d.ts.map +1 -0
  42. package/dist/markdown-parser/table-parser.spec.js +120 -0
  43. package/dist/markdown-parser/table-parser.spec.js.map +1 -0
  44. package/dist/markdown-parser/utils.d.ts +2 -0
  45. package/dist/markdown-parser/utils.d.ts.map +1 -0
  46. package/dist/markdown-parser/utils.js +14 -0
  47. package/dist/markdown-parser/utils.js.map +1 -0
  48. package/dist/markdown-parser/utils.spec.d.ts +2 -0
  49. package/dist/markdown-parser/utils.spec.d.ts.map +1 -0
  50. package/dist/markdown-parser/utils.spec.js +59 -0
  51. package/dist/markdown-parser/utils.spec.js.map +1 -0
  52. package/dist/tools/find-files.d.ts +3 -0
  53. package/dist/tools/find-files.d.ts.map +1 -0
  54. package/dist/tools/find-files.js +186 -0
  55. package/dist/tools/find-files.js.map +1 -0
  56. package/dist/tools/index.js +4 -4
  57. package/dist/tools/index.js.map +1 -1
  58. package/dist/tools/read-file.d.ts.map +1 -1
  59. package/dist/tools/read-file.js +143 -9
  60. package/dist/tools/read-file.js.map +1 -1
  61. package/dist/tools/search-file-contents.d.ts +3 -0
  62. package/dist/tools/search-file-contents.d.ts.map +1 -0
  63. package/dist/tools/search-file-contents.js +164 -0
  64. package/dist/tools/search-file-contents.js.map +1 -0
  65. package/dist/types/markdown-parser.d.ts +11 -0
  66. package/dist/types/markdown-parser.d.ts.map +1 -0
  67. package/dist/types/markdown-parser.js +2 -0
  68. package/dist/types/markdown-parser.js.map +1 -0
  69. package/dist/utils/update-checker.spec.d.ts +2 -0
  70. package/dist/utils/update-checker.spec.d.ts.map +1 -0
  71. package/dist/utils/update-checker.spec.js +230 -0
  72. package/dist/utils/update-checker.spec.js.map +1 -0
  73. package/package.json +1 -1
  74. package/source/app/prompts/main-prompt.md +67 -23
  75. package/dist/components/update-message.d.ts +0 -7
  76. package/dist/components/update-message.d.ts.map +0 -1
  77. package/dist/components/update-message.js +0 -93
  78. package/dist/components/update-message.js.map +0 -1
  79. package/dist/tools/read-many-files.d.ts +0 -3
  80. package/dist/tools/read-many-files.d.ts.map +0 -1
  81. package/dist/tools/read-many-files.js +0 -169
  82. package/dist/tools/read-many-files.js.map +0 -1
  83. package/dist/tools/search-files.d.ts +0 -3
  84. package/dist/tools/search-files.d.ts.map +0 -1
  85. package/dist/tools/search-files.js +0 -251
  86. 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;AAItC,eAAO,MAAM,aAAa,EAAE,OAM3B,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"}
@@ -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 UpdateMessage from '../components/update-message.js';
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
- return Promise.resolve(React.createElement(UpdateMessage));
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,aAAa,MAAM,6BAA6B,CAAC;AAExD,MAAM,CAAC,MAAM,aAAa,GAAY;IACrC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,wCAAwC;IACrD,OAAO,EAAE,CAAC,KAAe,EAAE,EAAE;QAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5D,CAAC;CACD,CAAC"}
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, Colors } from '../types/index.js';
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,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAMjE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2CvD;AAmBD,wBAAgB,kBAAkB,CACjC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACjB,MAAM,CAsFR;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAgFvE;;AAED,wBA0BG"}
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 chalk from 'chalk';
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
- '&nbsp;': ' ',
12
- '&amp;': '&',
13
- '&lt;': '<',
14
- '&gt;': '>',
15
- '&quot;': '"',
16
- '&apos;': "'",
17
- '&copy;': '©',
18
- '&reg;': '®',
19
- '&trade;': '™',
20
- '&euro;': '€',
21
- '&pound;': '£',
22
- '&yen;': '¥',
23
- '&cent;': '¢',
24
- '&sect;': '§',
25
- '&deg;': '°',
26
- '&plusmn;': '±',
27
- '&times;': '×',
28
- '&divide;': '÷',
29
- '&ndash;': '–',
30
- '&mdash;': '—',
31
- '&lsquo;': '\u2018',
32
- '&rsquo;': '\u2019',
33
- '&ldquo;': '\u201C',
34
- '&rdquo;': '\u201D',
35
- '&hellip;': '…',
36
- '&bull;': '•',
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., &#160; or &#xA0;)
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":"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"}
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;AAED,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAGD,eAAO,MAAM,MAAM,EAAE,MAAoB,CAAC;AAO1C,eAAO,MAAM,UAAU,QAGtB,CAAC"}
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"}
@@ -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
- const preferences = loadPreferences();
97
- const selectedTheme = preferences.selectedTheme || defaultTheme;
98
- return getThemeColors(selectedTheme);
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 = getColors();
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);
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../source/config/paths.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../source/config/paths.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
@@ -1,5 +1,26 @@
1
- import { xdgData } from 'xdg-basedir';
1
+ import { homedir } from 'os';
2
+ import { join } from 'path';
2
3
  export function getAppDataPath() {
3
- return `${xdgData}/nanocoder`;
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
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../source/config/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AAEpC,MAAM,UAAU,cAAc;IAC7B,OAAO,GAAG,OAAO,YAAY,CAAC;AAC/B,CAAC"}
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;gCA2CjB,OAAO;kCAoB+B,OAAO,EAAE;;EAoG1D"}
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 and memory optimization
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
- const newComponents = [...prevComponents, componentWithKey];
61
- // Keep reasonable limit in memory for performance
62
- return newComponents.length > 50
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
- // Optimized message updater that separates display from context
95
+ // Message updater - no limits, display all messages
99
96
  const updateMessages = useCallback((newMessages) => {
100
- setMessages(newMessages); // Full context always preserved for model
101
- // Limit display messages for UI performance only
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,cAyB5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;qBAcT,MAAM,aAAa,MAAM,KAAG,MAAM;4BAM3B,MAAM,aAAa,MAAM,KAAG,MAAM;CAejE,CAAC"}
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,2 @@
1
+ export declare function decodeHtmlEntities(text: string): string;
2
+ //# sourceMappingURL=html-entities.d.ts.map
@@ -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
+ '&nbsp;': ' ',
5
+ '&amp;': '&',
6
+ '&lt;': '<',
7
+ '&gt;': '>',
8
+ '&quot;': '"',
9
+ '&apos;': "'",
10
+ '&copy;': '©',
11
+ '&reg;': '®',
12
+ '&trade;': '™',
13
+ '&euro;': '€',
14
+ '&pound;': '£',
15
+ '&yen;': '¥',
16
+ '&cent;': '¢',
17
+ '&sect;': '§',
18
+ '&deg;': '°',
19
+ '&plusmn;': '±',
20
+ '&times;': '×',
21
+ '&divide;': '÷',
22
+ '&ndash;': '–',
23
+ '&mdash;': '—',
24
+ '&lsquo;': '\u2018',
25
+ '&rsquo;': '\u2019',
26
+ '&ldquo;': '\u201C',
27
+ '&rdquo;': '\u201D',
28
+ '&hellip;': '…',
29
+ '&bull;': '•',
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., &#160; or &#xA0;)
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=html-entities.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-entities.spec.d.ts","sourceRoot":"","sources":["../../source/markdown-parser/html-entities.spec.ts"],"names":[],"mappings":""}