matex-cli 1.2.82 → 1.2.87

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 (166) hide show
  1. package/dist/index.js +561 -288
  2. package/package.json +13 -6
  3. package/.agents/skills/mcp-server-dev/SKILL.md +0 -60
  4. package/.agents/skills/mcp-server-dev/examples/basic-ts-server/package.json +0 -20
  5. package/.agents/skills/mcp-server-dev/examples/basic-ts-server/src/index.ts +0 -66
  6. package/.agents/skills/mcp-server-dev/resources/best_practices.md +0 -20
  7. package/.agents/skills/pptx-presentation-builder/SKILL.md +0 -338
  8. package/.agents/workflows/deploy.md +0 -27
  9. package/dist/api/client.d.ts +0 -40
  10. package/dist/api/client.d.ts.map +0 -1
  11. package/dist/api/client.js +0 -173
  12. package/dist/api/client.js.map +0 -1
  13. package/dist/commands/ask.d.ts +0 -3
  14. package/dist/commands/ask.d.ts.map +0 -1
  15. package/dist/commands/ask.js +0 -63
  16. package/dist/commands/ask.js.map +0 -1
  17. package/dist/commands/augov.d.ts +0 -3
  18. package/dist/commands/augov.d.ts.map +0 -1
  19. package/dist/commands/augov.js +0 -273
  20. package/dist/commands/augov.js.map +0 -1
  21. package/dist/commands/bro.d.ts +0 -4
  22. package/dist/commands/bro.d.ts.map +0 -1
  23. package/dist/commands/bro.js +0 -304
  24. package/dist/commands/bro.js.map +0 -1
  25. package/dist/commands/chaos.d.ts +0 -3
  26. package/dist/commands/chaos.d.ts.map +0 -1
  27. package/dist/commands/chaos.js +0 -63
  28. package/dist/commands/chaos.js.map +0 -1
  29. package/dist/commands/chat.d.ts +0 -3
  30. package/dist/commands/chat.d.ts.map +0 -1
  31. package/dist/commands/chat.js +0 -59
  32. package/dist/commands/chat.js.map +0 -1
  33. package/dist/commands/code.d.ts +0 -3
  34. package/dist/commands/code.d.ts.map +0 -1
  35. package/dist/commands/code.js +0 -94
  36. package/dist/commands/code.js.map +0 -1
  37. package/dist/commands/config.d.ts +0 -3
  38. package/dist/commands/config.d.ts.map +0 -1
  39. package/dist/commands/config.js +0 -74
  40. package/dist/commands/config.js.map +0 -1
  41. package/dist/commands/dev.d.ts +0 -3
  42. package/dist/commands/dev.d.ts.map +0 -1
  43. package/dist/commands/dev.js +0 -66
  44. package/dist/commands/dev.js.map +0 -1
  45. package/dist/commands/help.d.ts +0 -3
  46. package/dist/commands/help.d.ts.map +0 -1
  47. package/dist/commands/help.js +0 -50
  48. package/dist/commands/help.js.map +0 -1
  49. package/dist/commands/login.d.ts +0 -3
  50. package/dist/commands/login.d.ts.map +0 -1
  51. package/dist/commands/login.js +0 -47
  52. package/dist/commands/login.js.map +0 -1
  53. package/dist/commands/models.d.ts +0 -3
  54. package/dist/commands/models.d.ts.map +0 -1
  55. package/dist/commands/models.js +0 -77
  56. package/dist/commands/models.js.map +0 -1
  57. package/dist/commands/student.d.ts +0 -3
  58. package/dist/commands/student.d.ts.map +0 -1
  59. package/dist/commands/student.js +0 -28
  60. package/dist/commands/student.js.map +0 -1
  61. package/dist/commands/study.d.ts +0 -3
  62. package/dist/commands/study.d.ts.map +0 -1
  63. package/dist/commands/study.js +0 -72
  64. package/dist/commands/study.js.map +0 -1
  65. package/dist/index.d.ts +0 -3
  66. package/dist/index.d.ts.map +0 -1
  67. package/dist/index.js.map +0 -1
  68. package/dist/prompts/banter-augov.d.ts +0 -2
  69. package/dist/prompts/banter-augov.d.ts.map +0 -1
  70. package/dist/prompts/banter-augov.js +0 -21
  71. package/dist/prompts/banter-augov.js.map +0 -1
  72. package/dist/prompts/banter.d.ts +0 -6
  73. package/dist/prompts/banter.d.ts.map +0 -1
  74. package/dist/prompts/banter.js +0 -101
  75. package/dist/prompts/banter.js.map +0 -1
  76. package/dist/prompts/chaos-prompts.d.ts +0 -3
  77. package/dist/prompts/chaos-prompts.d.ts.map +0 -1
  78. package/dist/prompts/chaos-prompts.js +0 -52
  79. package/dist/prompts/chaos-prompts.js.map +0 -1
  80. package/dist/prompts/system-prompts.d.ts +0 -4
  81. package/dist/prompts/system-prompts.d.ts.map +0 -1
  82. package/dist/prompts/system-prompts.js +0 -148
  83. package/dist/prompts/system-prompts.js.map +0 -1
  84. package/dist/session/agent-session.d.ts +0 -41
  85. package/dist/session/agent-session.d.ts.map +0 -1
  86. package/dist/session/agent-session.js +0 -421
  87. package/dist/session/agent-session.js.map +0 -1
  88. package/dist/utils/agent-orchestrator.d.ts +0 -44
  89. package/dist/utils/agent-orchestrator.d.ts.map +0 -1
  90. package/dist/utils/agent-orchestrator.js +0 -244
  91. package/dist/utils/agent-orchestrator.js.map +0 -1
  92. package/dist/utils/augov-logger.d.ts +0 -11
  93. package/dist/utils/augov-logger.d.ts.map +0 -1
  94. package/dist/utils/augov-logger.js +0 -35
  95. package/dist/utils/augov-logger.js.map +0 -1
  96. package/dist/utils/augov-scrubber.d.ts +0 -23
  97. package/dist/utils/augov-scrubber.d.ts.map +0 -1
  98. package/dist/utils/augov-scrubber.js +0 -68
  99. package/dist/utils/augov-scrubber.js.map +0 -1
  100. package/dist/utils/command-executor.d.ts +0 -56
  101. package/dist/utils/command-executor.d.ts.map +0 -1
  102. package/dist/utils/command-executor.js +0 -507
  103. package/dist/utils/command-executor.js.map +0 -1
  104. package/dist/utils/config.d.ts +0 -56
  105. package/dist/utils/config.d.ts.map +0 -1
  106. package/dist/utils/config.js +0 -139
  107. package/dist/utils/config.js.map +0 -1
  108. package/dist/utils/mcp-server.d.ts +0 -77
  109. package/dist/utils/mcp-server.d.ts.map +0 -1
  110. package/dist/utils/mcp-server.js +0 -390
  111. package/dist/utils/mcp-server.js.map +0 -1
  112. package/dist/utils/patcher.d.ts +0 -45
  113. package/dist/utils/patcher.d.ts.map +0 -1
  114. package/dist/utils/patcher.js +0 -202
  115. package/dist/utils/patcher.js.map +0 -1
  116. package/dist/utils/repo-mapper.d.ts +0 -32
  117. package/dist/utils/repo-mapper.d.ts.map +0 -1
  118. package/dist/utils/repo-mapper.js +0 -214
  119. package/dist/utils/repo-mapper.js.map +0 -1
  120. package/dist/utils/spinner.d.ts +0 -15
  121. package/dist/utils/spinner.d.ts.map +0 -1
  122. package/dist/utils/spinner.js +0 -67
  123. package/dist/utils/spinner.js.map +0 -1
  124. package/dist/utils/tui.d.ts +0 -134
  125. package/dist/utils/tui.d.ts.map +0 -1
  126. package/dist/utils/tui.js +0 -702
  127. package/dist/utils/tui.js.map +0 -1
  128. package/fix-npm-permissions.sh +0 -23
  129. package/publish-local.sh +0 -16
  130. package/skills-lock.json +0 -10
  131. package/src/api/client.ts +0 -197
  132. package/src/commands/ask.ts +0 -62
  133. package/src/commands/augov.ts +0 -301
  134. package/src/commands/bro.ts +0 -336
  135. package/src/commands/chaos.ts +0 -67
  136. package/src/commands/chat.ts +0 -61
  137. package/src/commands/code.ts +0 -99
  138. package/src/commands/config.ts +0 -78
  139. package/src/commands/dev.ts +0 -68
  140. package/src/commands/help.ts +0 -67
  141. package/src/commands/login.ts +0 -47
  142. package/src/commands/models.ts +0 -81
  143. package/src/commands/student.ts +0 -23
  144. package/src/commands/study.ts +0 -75
  145. package/src/index.ts +0 -284
  146. package/src/prompts/banter-augov.ts +0 -17
  147. package/src/prompts/banter.ts +0 -101
  148. package/src/prompts/chaos-prompts.ts +0 -48
  149. package/src/prompts/system-prompts.ts +0 -145
  150. package/src/session/agent-session.ts +0 -428
  151. package/src/utils/agent-orchestrator.ts +0 -264
  152. package/src/utils/augov-logger.ts +0 -34
  153. package/src/utils/augov-scrubber.ts +0 -67
  154. package/src/utils/command-executor.ts +0 -529
  155. package/src/utils/config.ts +0 -124
  156. package/src/utils/mcp-server.ts +0 -388
  157. package/src/utils/patcher.ts +0 -229
  158. package/src/utils/repo-mapper.ts +0 -198
  159. package/src/utils/spinner.ts +0 -66
  160. package/src/utils/tui.ts +0 -749
  161. package/test-chaos-container.js +0 -16
  162. package/test-chaos-fix.js +0 -18
  163. package/test-config.ts +0 -2
  164. package/test-ui-output.js +0 -16
  165. package/tsconfig.json +0 -27
  166. package/vertex_ai_agent.py +0 -52
@@ -1,45 +0,0 @@
1
- export interface EditBlock {
2
- filePath: string;
3
- search: string;
4
- replace: string;
5
- }
6
- export declare class Patcher {
7
- /**
8
- * Parse surgical edit blocks from AI response
9
- * Format:
10
- * **filename**
11
- * <<<< SEARCH
12
- * content
13
- * ====
14
- * replacement
15
- * >>>> REPLACE
16
- */
17
- static parseEditBlocks(response: string): EditBlock[];
18
- /**
19
- * Parse file creation blocks from AI response
20
- * Format:
21
- * <file path="path/to/file.ext">
22
- * content
23
- * </file>
24
- */
25
- static parseFileBlocks(response: string): EditBlock[];
26
- /**
27
- * Create a new file (and its directories)
28
- */
29
- static createFile(block: EditBlock): {
30
- success: boolean;
31
- error?: string;
32
- };
33
- /**
34
- * Apply a surgical patch to a file
35
- */
36
- static applyPatch(block: EditBlock): {
37
- success: boolean;
38
- error?: string;
39
- };
40
- /**
41
- * Visualize the diff in a premium "Bro" style with Window-like container
42
- */
43
- static showDiff(block: EditBlock, full?: boolean): boolean;
44
- }
45
- //# sourceMappingURL=patcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patcher.d.ts","sourceRoot":"","sources":["../../src/utils/patcher.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,OAAO;IAChB;;;;;;;;;OASG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAsBrD;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAqBrD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAoBzE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAgFzE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,GAAE,OAAe,GAAG,OAAO;CA+CpE"}
@@ -1,202 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Patcher = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const chalk_1 = __importDefault(require("chalk"));
10
- const tui_1 = require("./tui");
11
- class Patcher {
12
- /**
13
- * Parse surgical edit blocks from AI response
14
- * Format:
15
- * **filename**
16
- * <<<< SEARCH
17
- * content
18
- * ====
19
- * replacement
20
- * >>>> REPLACE
21
- */
22
- static parseEditBlocks(response) {
23
- // Emergency closure for unclosed REPLACE blocks
24
- if (response.includes('<<<< SEARCH') && !response.includes('>>>> REPLACE')) {
25
- response += '\n>>>> REPLACE';
26
- }
27
- const blocks = [];
28
- // Robust regex: Matches filename with or without stars, handle potential leading/trailing spaces
29
- const blockRegex = /(?:\*\*?\s*)?([^*<\n]+?)(?:\s*\*?\*)?\s*<<<< SEARCH\n([\s\S]*?)\n====\n([\s\S]*?)\n>>>> REPLACE/gi;
30
- let match;
31
- while ((match = blockRegex.exec(response)) !== null) {
32
- blocks.push({
33
- filePath: match[1].trim(),
34
- search: match[2],
35
- replace: match[3]
36
- });
37
- }
38
- return blocks;
39
- }
40
- /**
41
- * Parse file creation blocks from AI response
42
- * Format:
43
- * <file path="path/to/file.ext">
44
- * content
45
- * </file>
46
- */
47
- static parseFileBlocks(response) {
48
- // Emergency closure for unclosed file blocks
49
- if (response.toLowerCase().includes('<file path=') && !response.toLowerCase().includes('</file>')) {
50
- response += '\n</file>';
51
- }
52
- const blocks = [];
53
- const fileRegex = /<file path="([^"]+)">([\s\S]*?)<\/file>/gi;
54
- let match;
55
- while ((match = fileRegex.exec(response)) !== null) {
56
- blocks.push({
57
- filePath: match[1].trim(),
58
- search: '', // Not used for new files
59
- replace: match[2]
60
- });
61
- }
62
- return blocks;
63
- }
64
- /**
65
- * Create a new file (and its directories)
66
- */
67
- static createFile(block) {
68
- tui_1.TUI.drawStatusBar(`Creating File: ${block.filePath}...`);
69
- try {
70
- const fullPath = path_1.default.resolve(process.cwd(), block.filePath);
71
- const dir = path_1.default.dirname(fullPath);
72
- if (!fs_1.default.existsSync(dir)) {
73
- fs_1.default.mkdirSync(dir, { recursive: true });
74
- }
75
- fs_1.default.writeFileSync(fullPath, block.replace, 'utf8');
76
- tui_1.TUI.drawStatusBar(`✅ Success: ${block.filePath} created.`);
77
- return { success: true };
78
- }
79
- catch (err) {
80
- tui_1.TUI.drawStatusBar(`❌ Error: ${err.message}`);
81
- return { success: false, error: err.message };
82
- }
83
- }
84
- /**
85
- * Apply a surgical patch to a file
86
- */
87
- static applyPatch(block) {
88
- tui_1.TUI.drawStatusBar(`Applying Patch: ${block.filePath}...`);
89
- try {
90
- const fullPath = path_1.default.resolve(process.cwd(), block.filePath);
91
- if (!fs_1.default.existsSync(fullPath)) {
92
- tui_1.TUI.drawStatusBar(`Error: File not found: ${block.filePath}`);
93
- return { success: false, error: `File not found: ${block.filePath}` };
94
- }
95
- const startTime = Date.now();
96
- const content = fs_1.default.readFileSync(fullPath, 'utf8');
97
- const stats = fs_1.default.statSync(fullPath);
98
- const fileSizeMB = stats.size / (1024 * 1024);
99
- if (fileSizeMB > 1) {
100
- tui_1.TUI.log(chalk_1.default.gray(` [⏱️] Processing large file (${fileSizeMB.toFixed(2)} MB)...`));
101
- }
102
- // 1. Precise Normalization
103
- const normalize = (text) => text.replace(/\r\n/g, '\n').split('\n').map(l => l.trimEnd()).join('\n');
104
- const normalizedContent = normalize(content);
105
- const normalizedSearch = normalize(block.search);
106
- const normalizedReplace = normalize(block.replace);
107
- // 2. Exact Match Check (Post-Normalization)
108
- if (normalizedContent.includes(normalizedSearch)) {
109
- const updatedContent = normalizedContent.replace(normalizedSearch, normalizedReplace);
110
- fs_1.default.writeFileSync(fullPath, updatedContent, 'utf8');
111
- tui_1.TUI.drawStatusBar(`✅ Success: ${block.filePath} patched.`);
112
- return { success: true };
113
- }
114
- // 3. Ultra-Fuzzy Matching (Line-by-line trim and compare)
115
- const contentLines = normalizedContent.split('\n');
116
- const searchLines = normalizedSearch.split('\n');
117
- let matchIndex = -1;
118
- for (let i = 0; i <= contentLines.length - searchLines.length; i++) {
119
- let match = true;
120
- for (let j = 0; j < searchLines.length; j++) {
121
- if (contentLines[i + j].trim() !== searchLines[j].trim()) {
122
- match = false;
123
- break;
124
- }
125
- }
126
- if (match) {
127
- matchIndex = i;
128
- break;
129
- }
130
- }
131
- if (matchIndex !== -1) {
132
- // Apply replacement while preserving surrounding lines
133
- const updatedLines = [
134
- ...contentLines.slice(0, matchIndex),
135
- normalizedReplace,
136
- ...contentLines.slice(matchIndex + searchLines.length)
137
- ];
138
- fs_1.default.writeFileSync(fullPath, updatedLines.join('\n'), 'utf8');
139
- const elapsed = Date.now() - startTime;
140
- if (fileSizeMB > 1) {
141
- tui_1.TUI.drawStatusBar(`✅ Success (Fuzzy): ${block.filePath} patched in ${elapsed}ms.`);
142
- }
143
- else {
144
- tui_1.TUI.drawStatusBar(`✅ Success (Fuzzy): ${block.filePath} patched.`);
145
- }
146
- return { success: true };
147
- }
148
- tui_1.TUI.drawStatusBar(`❌ Patch Failed: Search block not found in ${block.filePath}`);
149
- return {
150
- success: false,
151
- error: `Search block not found in ${block.filePath}. Please ensure the code snippet matches exactly (ignoring whitespace).`
152
- };
153
- }
154
- catch (err) {
155
- tui_1.TUI.drawStatusBar(`❌ Error: ${err.message}`);
156
- return { success: false, error: err.message };
157
- }
158
- }
159
- /**
160
- * Visualize the diff in a premium "Bro" style with Window-like container
161
- */
162
- static showDiff(block, full = false) {
163
- const width = Math.min(process.stdout.columns || 80, 100);
164
- const searchLines = (block.search || '').split('\n');
165
- const replaceLines = block.replace.split('\n');
166
- const isNewFile = !block.search;
167
- const isLarge = replaceLines.length > 12;
168
- const shouldTruncate = isLarge && !full;
169
- const displaySearch = shouldTruncate ? searchLines.slice(0, 8) : searchLines;
170
- const displayReplace = shouldTruncate ? replaceLines.slice(0, 8) : replaceLines;
171
- const redGlow = chalk_1.default.hex('#ef4444');
172
- const greenGlow = chalk_1.default.hex('#22c55e');
173
- const border = chalk_1.default.hex('#334155');
174
- console.log('\n' + border(` ┌${'─'.repeat(width - 4)}┐`));
175
- const type = isNewFile ? '🆕 NEW FILE' : '🔧 PATCH';
176
- const title = ` ${type}: ${block.filePath} `;
177
- console.log(border(' │ ') + chalk_1.default.bgHex('#1e293b').cyan.bold(title).padEnd(width - 6) + border(' │'));
178
- console.log(border(' ├' + '╌'.repeat(width - 4) + '┤'));
179
- if (!isNewFile) {
180
- displaySearch.forEach((line) => {
181
- const displayLine = line.length > width - 12 ? line.substring(0, width - 15) + '...' : line;
182
- console.log(redGlow(' │ ') + chalk_1.default.bgRed.white(' - ') + ' ' + redGlow(displayLine.padEnd(width - 10)) + redGlow(' │'));
183
- });
184
- if (shouldTruncate && searchLines.length > 8) {
185
- console.log(redGlow(' │ ') + chalk_1.default.dim(` ... ${searchLines.length - 8} more lines removed ...`).padEnd(width - 6) + redGlow(' │'));
186
- }
187
- console.log(border(' ├' + '─'.repeat(width - 4) + '┤'));
188
- }
189
- displayReplace.forEach((line) => {
190
- const displayLine = line.length > width - 12 ? line.substring(0, width - 15) + '...' : line;
191
- console.log(greenGlow(' │ ') + chalk_1.default.bgGreen.black(' + ') + ' ' + greenGlow(displayLine.padEnd(width - 10)) + greenGlow(' │'));
192
- });
193
- if (replaceLines.length > 8) {
194
- console.log(greenGlow(' │ ') + chalk_1.default.hex('#06b6d4').bold(` ^ [ ${replaceLines.length - 8} MORE LINES • USE ^ TO SEE ALL ] ^`).padEnd(width - 6) + greenGlow(' │'));
195
- }
196
- console.log(border(` └${'─'.repeat(width - 4)}┘`));
197
- console.log();
198
- return shouldTruncate;
199
- }
200
- }
201
- exports.Patcher = Patcher;
202
- //# sourceMappingURL=patcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patcher.js","sourceRoot":"","sources":["../../src/utils/patcher.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- export interface RepoNode {
2
- path: string;
3
- type: 'file' | 'directory';
4
- children?: RepoNode[];
5
- summary?: string;
6
- }
7
- export declare class RepoMapper {
8
- private rootPath;
9
- private ignoreList;
10
- private fileCount;
11
- private readonly MAX_FILES;
12
- private fileContents;
13
- constructor(rootPath: string);
14
- /**
15
- * Generate a hierarchical map of the repository with deep entry-point analysis
16
- */
17
- generateMap(silent?: boolean): Promise<string>;
18
- /**
19
- * Recursive directory scan
20
- */
21
- private scanDirectory;
22
- /**
23
- * Extract key definitions (Classes, Functions) from file content
24
- * A lightweight "ctags" style summary
25
- */
26
- private extractSummary;
27
- /**
28
- * Format the tree into a compressed string for the LLM
29
- */
30
- private formatTree;
31
- }
32
- //# sourceMappingURL=repo-mapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-mapper.d.ts","sourceRoot":"","sources":["../../src/utils/repo-mapper.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAIhB;IACF,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IACjC,OAAO,CAAC,YAAY,CAAkC;gBAE1C,QAAQ,EAAE,MAAM;IAI5B;;OAEG;IACU,WAAW,CAAC,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAqDlE;;OAEG;IACH,OAAO,CAAC,aAAa;IAsDrB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiCtB;;OAEG;IACH,OAAO,CAAC,UAAU;CAiBrB"}
@@ -1,214 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.RepoMapper = void 0;
40
- const fs = __importStar(require("fs"));
41
- const path = __importStar(require("path"));
42
- const chalk_1 = __importDefault(require("chalk"));
43
- const agent_orchestrator_1 = require("./agent-orchestrator");
44
- class RepoMapper {
45
- constructor(rootPath) {
46
- this.ignoreList = [
47
- '.git', 'node_modules', 'dist', 'build', '.next', '.DS_Store',
48
- 'coverage', '.vercel', '.firebase', 'out', 'public',
49
- 'bin', 'obj', '.vs', 'vendor', '__pycache__', 'env', '.env', 'venv'
50
- ];
51
- this.fileCount = 0;
52
- this.MAX_FILES = 500;
53
- this.fileContents = new Map();
54
- this.rootPath = rootPath;
55
- }
56
- /**
57
- * Generate a hierarchical map of the repository with deep entry-point analysis
58
- */
59
- async generateMap(silent = false) {
60
- if (!silent)
61
- agent_orchestrator_1.AgentOrchestrator.speak('System', `God-Mode Research: Indexing ${this.rootPath}...`);
62
- this.fileContents.clear();
63
- // 1. Identify Entry Points
64
- const entryPoints = ['README.md', 'package.json', 'index.ts', 'App.tsx', 'main.go', 'requirements.txt', 'index.html', 'style.css'];
65
- let delayMs = 15; // Animation delay
66
- if (!silent) {
67
- agent_orchestrator_1.AgentOrchestrator.speak('System', `God-Mode Research: Injecting scanners into ${this.rootPath}...`);
68
- console.log();
69
- }
70
- for (const file of entryPoints) {
71
- const fullPath = path.join(this.rootPath, file);
72
- if (fs.existsSync(fullPath)) {
73
- try {
74
- const content = fs.readFileSync(fullPath, 'utf-8').slice(0, 5000); // 5KB limit
75
- this.fileContents.set(file, content);
76
- if (!silent)
77
- console.log(chalk_1.default.hex('#4ade80')(` ⚡ [Core Injection] `) + chalk_1.default.gray(`Mapped entry node: `) + chalk_1.default.white.bold(file));
78
- }
79
- catch (e) { }
80
- }
81
- }
82
- if (!silent)
83
- console.log(chalk_1.default.cyan(` 🔍 [Deep Scan] `) + chalk_1.default.gray(`Mapping topology...`));
84
- const tree = this.scanDirectory(this.rootPath, 0);
85
- if (!silent) {
86
- console.log(chalk_1.default.hex('#FF6B00')(` 🔥 [Knowledge Graph] `) + chalk_1.default.gray(`Extracted ${this.fileContents.size} semantic nodes from source.`));
87
- console.log();
88
- }
89
- // Build the final map
90
- let finalMap = `--- ABSOLUTE WORKING DIRECTORY ---\n${this.rootPath}\n\n`;
91
- if (!tree.children || tree.children.length === 0) {
92
- finalMap += `⚠️ [CRITICAL WARNING]: THIS DIRECTORY IS COMPLETELY EMPTY.\nTHERE ARE NO FILES OR FOLDERS HERE.\nDO NOT HALLUCINATE ANY CONTENT!\n\n`;
93
- }
94
- else {
95
- finalMap += `--- DIRECTORY STRUCTURE ---\n` + this.formatTree(tree);
96
- }
97
- if (this.fileContents.size > 0) {
98
- finalMap += '\n\n--- CRAWLED FILE CONTENTS ---\n';
99
- for (const [filePath, content] of this.fileContents) {
100
- finalMap += `\nFILE: ${filePath}\n\`\`\`\n${content}\n\`\`\`\n----------------\n`;
101
- }
102
- }
103
- return finalMap;
104
- }
105
- /**
106
- * Recursive directory scan
107
- */
108
- scanDirectory(currentPath, depth) {
109
- const stats = fs.statSync(currentPath);
110
- const name = path.basename(currentPath);
111
- if (stats.isFile()) {
112
- const summary = this.extractSummary(currentPath);
113
- // Also auto-crawl any .ts, .js, .css, .html files if they are small
114
- const ext = path.extname(currentPath);
115
- const relPath = path.relative(this.rootPath, currentPath);
116
- if (stats.size < 5120 && ['.ts', '.js', '.css', '.html', '.json', '.py'].includes(ext)) {
117
- if (!this.fileContents.has(relPath)) {
118
- try {
119
- const content = fs.readFileSync(currentPath, 'utf-8');
120
- this.fileContents.set(relPath, content);
121
- }
122
- catch (e) { }
123
- }
124
- }
125
- return {
126
- path: currentPath,
127
- type: 'file',
128
- summary: summary
129
- };
130
- }
131
- // It's a directory
132
- if (depth > 5)
133
- return { path: currentPath, type: 'directory', children: [] }; // Max depth safety
134
- const children = [];
135
- try {
136
- const items = fs.readdirSync(currentPath);
137
- for (const item of items) {
138
- if (this.fileCount > this.MAX_FILES)
139
- break;
140
- if (this.ignoreList.includes(item))
141
- continue;
142
- const fullPath = path.join(currentPath, item);
143
- // Simple ignore check for hidden files
144
- if (item.startsWith('.') && item !== '.gitignore')
145
- continue;
146
- children.push(this.scanDirectory(fullPath, depth + 1));
147
- }
148
- }
149
- catch (error) {
150
- // Permission denied or other error
151
- }
152
- return {
153
- path: currentPath,
154
- type: 'directory',
155
- children: children
156
- };
157
- }
158
- /**
159
- * Extract key definitions (Classes, Functions) from file content
160
- * A lightweight "ctags" style summary
161
- */
162
- extractSummary(filePath) {
163
- const ext = path.extname(filePath);
164
- if (!['.ts', '.tsx', '.js', '.jsx', '.py', '.go', '.rs'].includes(ext))
165
- return '';
166
- try {
167
- const content = fs.readFileSync(filePath, 'utf-8');
168
- const lines = content.split('\n');
169
- const definitions = [];
170
- // Very header-heavy regex matching for speed
171
- for (const line of lines) {
172
- const trimmed = line.trim();
173
- if (trimmed.startsWith('export class ')) {
174
- definitions.push(`Class: ${trimmed.split(' ')[2]}`);
175
- }
176
- else if (trimmed.startsWith('function ') || trimmed.startsWith('export function ')) {
177
- const funcName = trimmed.split('(')[0].split(' ').pop();
178
- definitions.push(`Func: ${funcName}`);
179
- }
180
- else if (trimmed.includes('const ') && trimmed.includes(' = (') && trimmed.includes('=>')) {
181
- // Arrow functions
182
- const parts = trimmed.split(' = ');
183
- const name = parts[0].split(' ').pop();
184
- if (name && /^[A-Z]/.test(name)) {
185
- definitions.push(`Component: ${name}`); // React component guess
186
- }
187
- }
188
- }
189
- return definitions.slice(0, 5).join(', '); // Limit to top 5
190
- }
191
- catch (e) {
192
- return '';
193
- }
194
- }
195
- /**
196
- * Format the tree into a compressed string for the LLM
197
- */
198
- formatTree(node, indent = '') {
199
- const name = path.basename(node.path);
200
- let output = `${indent}${name}`;
201
- if (node.type === 'file' && node.summary) {
202
- output += ` [${node.summary}]`;
203
- }
204
- output += '\n';
205
- if (node.children) {
206
- for (const child of node.children) {
207
- output += this.formatTree(child, indent + ' ');
208
- }
209
- }
210
- return output;
211
- }
212
- }
213
- exports.RepoMapper = RepoMapper;
214
- //# sourceMappingURL=repo-mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-mapper.js","sourceRoot":"","sources":["../../src/utils/repo-mapper.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- export declare class Spinner {
2
- private spinner;
3
- /**
4
- * Start the premium MATEX loading spinner
5
- */
6
- start(text: string): void;
7
- succeed(text?: string): void;
8
- fail(text?: string): void;
9
- warn(text?: string): void;
10
- info(text?: string): void;
11
- stop(): void;
12
- updateText(text: string): void;
13
- }
14
- export declare const spinner: Spinner;
15
- //# sourceMappingURL=spinner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":"AAGA,qBAAa,OAAO;IAChB,OAAO,CAAC,OAAO,CAAoB;IAEnC;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAczB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOzB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOzB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOzB,IAAI,IAAI,IAAI;IAOZ,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAKjC;AAED,eAAO,MAAM,OAAO,SAAgB,CAAC"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.spinner = exports.Spinner = void 0;
7
- const ora_1 = __importDefault(require("ora"));
8
- const chalk_1 = __importDefault(require("chalk"));
9
- class Spinner {
10
- constructor() {
11
- this.spinner = null;
12
- }
13
- /**
14
- * Start the premium MATEX loading spinner
15
- */
16
- start(text) {
17
- this.spinner = (0, ora_1.default)({
18
- text: chalk_1.default.hex('#00fb08ff').bold(text),
19
- color: 'cyan',
20
- spinner: {
21
- interval: 80,
22
- frames: [
23
- '⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'
24
- ].map(f => chalk_1.default.cyan(f)) // Inject cyan into each frame
25
- },
26
- prefixText: chalk_1.default.bgHex('#1E1E1E').green(' ⚡ MATEX_SWARM_ACTIVE ') + ' ',
27
- }).start();
28
- }
29
- succeed(text) {
30
- if (this.spinner) {
31
- this.spinner.succeed(chalk_1.default.green('✓ ') + chalk_1.default.white.bold(text || 'Done'));
32
- this.spinner = null;
33
- }
34
- }
35
- fail(text) {
36
- if (this.spinner) {
37
- this.spinner.fail(chalk_1.default.red('✗ ') + chalk_1.default.white.bold(text || 'Failed'));
38
- this.spinner = null;
39
- }
40
- }
41
- warn(text) {
42
- if (this.spinner) {
43
- this.spinner.warn(chalk_1.default.yellow('⚠ ') + chalk_1.default.white(text || 'Warning'));
44
- this.spinner = null;
45
- }
46
- }
47
- info(text) {
48
- if (this.spinner) {
49
- this.spinner.info(chalk_1.default.blue('ℹ ') + chalk_1.default.white(text || 'Info'));
50
- this.spinner = null;
51
- }
52
- }
53
- stop() {
54
- if (this.spinner) {
55
- this.spinner.stop();
56
- this.spinner = null;
57
- }
58
- }
59
- updateText(text) {
60
- if (this.spinner) {
61
- this.spinner.text = chalk_1.default.hex('#00fb08ff').bold(text);
62
- }
63
- }
64
- }
65
- exports.Spinner = Spinner;
66
- exports.spinner = new Spinner();
67
- //# sourceMappingURL=spinner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA+B;AAC/B,kDAA0B;AAE1B,MAAa,OAAO;IAApB;QACY,YAAO,GAAe,IAAI,CAAC;IA2DvC,CAAC;IAzDG;;OAEG;IACH,KAAK,CAAC,IAAY;QACd,IAAI,CAAC,OAAO,GAAG,IAAA,aAAG,EAAC;YACf,IAAI,EAAE,eAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACvC,KAAK,EAAE,MAAM;YACb,OAAO,EAAE;gBACL,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE;oBACJ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;iBACnD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B;aAC3D;YACD,UAAU,EAAE,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,GAAG;SAC3E,CAAC,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,OAAO,CAAC,IAAa;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAa;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAa;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAa;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;CACJ;AA5DD,0BA4DC;AAEY,QAAA,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC"}