matex-cli 1.2.16 → 1.2.17

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.
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,UAAU,SAiQjB,CAAC"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,UAAU,SAmQjB,CAAC"}
@@ -88,28 +88,29 @@ Your primary goal is to provide PERFECT solutions for the user (your fellow brot
88
88
  2. **[Sunil Dai] (🧬)**: The Expert Architect. Vibe: Senior, wise, mentor. Focus: Backend logic, database, and clean scaleable code ("Leave it to me vai").
89
89
  3. **[Sandip Dai] (🎨)**: The Design Specialist. Vibe: Creative, aesthetic. Focus: UI, UX, CSS, and "WOW" effects ("I'll make it look premium brother").
90
90
  4. **[Narayan Dai] (🛡️)**: The Validator. Vibe: Precise, strict. Focus: Security, debugging, and import/export verification ("I've checked the code brother, it's solid").
91
- 5. **[Ajay Vai] (🏆)**: The Conclusion. Role: Final hand-off and success celebration.
92
91
 
93
- ### 💬 COLLABORATIVE "BRO-VIBE" PROTOCOL:
94
- - **CHAT BETWEEN YOURSELVES FIRST:** Before providing any code or commands, the brothers MUST have a short, energetic chat in the terminal.
95
- - **Example:** [Ajay Vai]: "Oii brothers, new project!" -> [Sunil Dai]: "I'll handle the architecture vai" -> [Sandip Dai]: "And I'll make the UI sexy brother!"
96
- - **NEPALI FLAVOR:** Use terms like "Vai," "Dai," "Oii brother," "Tapai," "Ekdam ramro" naturally.
92
+ ### 💬 BRO-VIBE PROTOCOL:
93
+ - **CHAT FIRST:** Before code, brothers MUST have a short, energetic chat.
94
+ - **AGENT TAGS:** Always prefix your dialogue with your name like: [Ajay Vai]: "...".
95
+ - **NEPALI FLAVOR:** Use "Vai," "Dai," "Tapai," "Ekdam ramro" naturally.
97
96
 
98
- ### ✂️ BREVITY AS POWER (SURGICAL PRECISION):
99
- - **NO FULL FILE DUMPS:** Never 'cat' a file to read it unless it's small (<10 lines). Use grep, head, or tail.
100
- - **NO CHAT REPETITION:** If you use a surgical Search/Replace block, do NOT repeat the code in your natural language response. Just summary of what was fixed.
101
- - **SURGICAL READING:** If a file is long, only summarize what you need. Avoid terminal flood at all costs.
97
+ ### 🛠️ FILE GENERATION & EDIT PROTOCOLS (CRITICAL):
98
+ 1. **NEW FILES:** Use the following tag for ALL new files:
99
+ <file path="path/to/filename.ext">
100
+ content here
101
+ </file>
102
102
 
103
- ### 🛠️ SURGICAL EDIT PROTOCOL (POWER-FULL):
104
- - **USE SEARCH/REPLACE BLOCKS** for all file modifications. This is faster and safer than full rewrites.
105
- - **FORMAT:**
103
+ 2. **SURGICAL EDITS (for existing files):**
106
104
  **path/to/file.ext**
107
105
  <<<< SEARCH
108
106
  exact lines to find
109
107
  ====
110
108
  new lines to replace with
111
109
  >>>> REPLACE
112
- - **RULES:** Search block must match the file EXACTLY (indentation, matching lines). Sunil and Sandip have full permission to use shell commands (POSIX/Win) for other tasks.
110
+
111
+ ### ✂️ BREVITY AS POWER:
112
+ - **NO FULL FILE DUMPS** unless specifically asked.
113
+ - **NO CHAT REPETITION** of code. Just summary.
113
114
 
114
115
  ### 🛠️ ENVIRONMENT CONTEXT:
115
116
  ${repoMap}`
@@ -158,7 +159,8 @@ ${repoMap}`
158
159
  let inCodeBlock = false;
159
160
  let codeBuffer = '';
160
161
  let codeLang = 'bash';
161
- let lastRole = '';
162
+ let activeAgent = 'Ajay Vai';
163
+ let messageBuffer = '';
162
164
  tui_1.TUI.drawStatusBar('Swarm is processing...');
163
165
  await client.chatStream({
164
166
  messages,
@@ -169,75 +171,69 @@ ${repoMap}`
169
171
  if (!hasStarted) {
170
172
  spinner_1.spinner.stop();
171
173
  hasStarted = true;
174
+ console.log(); // Spacing
172
175
  }
173
176
  buffer += chunk;
174
177
  fullResponse += chunk;
175
178
  const lines = buffer.split('\n');
176
179
  buffer = lines.pop() || '';
177
180
  for (const line of lines) {
178
- let content = line.trim();
179
- // 1. Agent Detection & Cleanup
180
- const agentMatch = line.match(/\[(Ajay Vai|Sunil Dai|Sandip Dai|Narayan Dai)\]/);
181
+ const trimmedLine = line.trim();
182
+ // 1. Agent Detection (Improved Regex for bolding)
183
+ const agentRegex = /\[\**\s*(Ajay Vai|Sunil Dai|Sandip Dai|Narayan Dai)\s*\**\]/;
184
+ const agentMatch = line.match(agentRegex);
181
185
  if (agentMatch) {
182
- const tag = agentMatch[1];
183
- const role = tag === 'Ajay Vai' ? 'Commander' :
184
- tag === 'Sunil Dai' ? 'Backend' :
185
- tag === 'Sandip Dai' ? 'Frontend' : 'Syntax';
186
- const color = tag === 'Ajay Vai' ? chalk_1.default.magenta :
187
- tag === 'Sunil Dai' ? chalk_1.default.blue :
188
- tag === 'Sandip Dai' ? chalk_1.default.hex('#FF69B4') :
186
+ activeAgent = agentMatch[1];
187
+ const color = activeAgent === 'Ajay Vai' ? chalk_1.default.magenta :
188
+ activeAgent === 'Sunil Dai' ? chalk_1.default.blue :
189
+ activeAgent === 'Sandip Dai' ? chalk_1.default.hex('#FF69B4') :
189
190
  chalk_1.default.green;
190
- if (tag !== lastRole) {
191
- tui_1.TUI.log(`\n${color.bold(`[${tag}]`)}`);
192
- lastRole = tag;
193
- }
194
- content = line.replace(`[${tag}]`, '').trim();
195
- if (!content && !inCodeBlock)
196
- continue;
191
+ process.stdout.write(`\n ${color.bold(`${activeAgent}:`)} `);
192
+ messageBuffer += trimmedLine + ' ';
193
+ continue;
197
194
  }
198
- // 2. Code Block Handling
199
- if (content.startsWith('```')) {
195
+ // 2. Code Block Detection
196
+ const codeBlockRegex = /```(\w*)/;
197
+ const codeMatch = line.match(codeBlockRegex);
198
+ if (codeMatch) {
200
199
  if (inCodeBlock) {
201
- // Closing block - Draw it!
202
- tui_1.TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
203
- codeBuffer = '';
204
200
  inCodeBlock = false;
201
+ tui_1.TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer.trim());
202
+ codeBuffer = '';
203
+ process.stdout.write('\n'); // Space after box
205
204
  }
206
205
  else {
207
- // Opening block
208
206
  inCodeBlock = true;
209
- codeLang = content.replace('```', '').trim() || 'bash';
210
- if (options.execute) {
211
- tui_1.TUI.log(chalk_1.default.gray(' ⚡ Building technical block...'));
212
- }
207
+ codeLang = codeMatch[1] || 'bash';
208
+ process.stdout.write(chalk_1.default.gray('\n [⚡] Building code block...\n'));
213
209
  }
214
210
  continue;
215
211
  }
212
+ // 3. Content Handling
216
213
  if (inCodeBlock) {
217
214
  codeBuffer += line + '\n';
218
215
  }
219
- else if (content) {
220
- // Clean up unwanted characters from text output
221
- const cleanContent = content
216
+ else if (trimmedLine) {
217
+ // Strip markdown artifacts for a cleaner stream
218
+ const cleanText = trimmedLine
222
219
  .replace(/\*\*%?\*/g, '')
220
+ .replace(/#{1,6}\s/g, '')
223
221
  .replace(/\*\*:\*\*/g, ':')
224
222
  .trim();
225
- if (cleanContent)
226
- tui_1.TUI.log(chalk_1.default.gray(cleanContent));
223
+ if (cleanText) {
224
+ process.stdout.write(chalk_1.default.gray(cleanText + ' '));
225
+ messageBuffer += cleanText + ' ';
226
+ }
227
227
  }
228
228
  }
229
229
  });
230
230
  spinner_1.spinner.stop();
231
- // Final flush for remaining buffer
232
- if (buffer.trim()) {
233
- if (inCodeBlock) {
234
- codeBuffer += buffer;
235
- tui_1.TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
236
- }
237
- else {
238
- tui_1.TUI.log(chalk_1.default.gray(buffer.trim()));
239
- }
231
+ // Final Code Flush if still in block
232
+ if (inCodeBlock && codeBuffer.trim()) {
233
+ tui_1.TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer.trim());
240
234
  }
235
+ // Space before commands/prompt
236
+ console.log('\n');
241
237
  // Add assistant response to history
242
238
  messages.push({ role: 'assistant', content: fullResponse });
243
239
  const response = fullResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ class Patcher {
41
41
  */
42
42
  static parseFileBlocks(response) {
43
43
  const blocks = [];
44
- const fileRegex = /<file path="([^"]+)">\n([\s\S]*?)\n<\/file>/g;
44
+ const fileRegex = /<file path="([^"]+)">([\s\S]*?)<\/file>/g;
45
45
  let match;
46
46
  while ((match = fileRegex.exec(response)) !== null) {
47
47
  blocks.push({
@@ -1 +1 @@
1
- {"version":3,"file":"patcher.js","sourceRoot":"","sources":["../../src/utils/patcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patcher.js","sourceRoot":"","sources":["../../src/utils/patcher.ts"],"names":[],"mappings":"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"}
@@ -21,14 +21,26 @@ export declare class TUI {
21
21
  * Draw the persistent top header
22
22
  */
23
23
  static drawHeader(): void;
24
+ /**
25
+ * Helper to draw a box with content
26
+ */
27
+ private static drawBox;
24
28
  /**
25
29
  * Draw a real-time status bar at the bottom
26
30
  */
27
31
  static drawStatusBar(status: string, force?: boolean): void;
28
32
  /**
29
- * Draw a premium code container with traffic lights
33
+ * Draw a premium code container
30
34
  */
31
35
  static drawCodeContainer(title: string, lang: string, content: string): void;
36
+ /**
37
+ * Draw a message box for agent dialogue
38
+ */
39
+ static drawMessageContainer(agent: string, message: string): void;
40
+ /**
41
+ * Wrap text to a specific width
42
+ */
43
+ private static wrapText;
32
44
  /**
33
45
  * Log content into the scrollable area
34
46
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/utils/tui.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAAC,aAAa,CAAS;IACrC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAM;IAElC;;OAEG;IACH,MAAM,CAAC,IAAI;IAiBX;;OAEG;IACH,MAAM,CAAC,IAAI;IAaX;;OAEG;IACH,MAAM,CAAC,KAAK;IAMZ;;OAEG;IACH,MAAM,CAAC,UAAU;IAWjB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe;IAsB3D;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAwBrE;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM;CAO7B"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/utils/tui.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAAC,aAAa,CAAS;IACrC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAM;IAElC;;OAEG;IACH,MAAM,CAAC,IAAI;IAiBX;;OAEG;IACH,MAAM,CAAC,IAAI;IAaX;;OAEG;IACH,MAAM,CAAC,KAAK;IAMZ;;OAEG;IACH,MAAM,CAAC,UAAU;IAWjB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAoBtB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe;IAsB3D;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKrE;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAY1D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAiBvB;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM;CAQ7B"}
package/dist/utils/tui.js CHANGED
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TUI = void 0;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
+ const readline_1 = __importDefault(require("readline"));
8
9
  /**
9
10
  * TUI Management for MATEX CLI "God-Mode"
10
11
  * Handles screen buffers, persistent headers, and real-time status updates.
@@ -59,6 +60,24 @@ class TUI {
59
60
  process.stdout.write(chalk_1.default.bgCyan.black(' '.repeat(padding) + banner + ' '.repeat(width - banner.length - padding)) + '\n');
60
61
  process.stdout.write(chalk_1.default.gray('─'.repeat(width)) + '\n');
61
62
  }
63
+ /**
64
+ * Helper to draw a box with content
65
+ */
66
+ static drawBox(title, color, lines, icon = '📦') {
67
+ const width = Math.min(process.stdout.columns || 80, 100);
68
+ console.log();
69
+ const trafficLights = chalk_1.default.red('●') + ' ' + chalk_1.default.yellow('●') + ' ' + chalk_1.default.green('●');
70
+ const displayTitle = ` ${icon} ${title} `;
71
+ console.log(chalk_1.default.gray('┏' + '━'.repeat(width - 2) + '┓'));
72
+ console.log(chalk_1.default.gray('┃ ') + trafficLights + ' ' + color(displayTitle).padEnd(width - 4) + chalk_1.default.gray(' ┃'));
73
+ console.log(chalk_1.default.gray('┣' + '━'.repeat(width - 2) + '┫'));
74
+ lines.forEach(line => {
75
+ const formattedLine = line.substring(0, width - 6);
76
+ console.log(chalk_1.default.gray('┃ ') + chalk_1.default.white(formattedLine).padEnd(width - 4) + chalk_1.default.gray(' ┃'));
77
+ });
78
+ console.log(chalk_1.default.gray('┗' + '━'.repeat(width - 2) + '┛'));
79
+ console.log();
80
+ }
62
81
  /**
63
82
  * Draw a real-time status bar at the bottom
64
83
  */
@@ -66,41 +85,60 @@ class TUI {
66
85
  if (!this.isInitialized)
67
86
  return;
68
87
  if (this.currentStatus === status && !force)
69
- return; // Prevent flicker
88
+ return;
70
89
  this.currentStatus = status;
71
90
  const width = process.stdout.columns || 80;
72
91
  const height = process.stdout.rows || 24;
73
- // Save cursor position
92
+ // Save cursor position using ANSI
74
93
  process.stdout.write('\x1b[s');
75
- // Move to bottom line
76
- process.stdout.write(`\x1b[${height};1H`);
94
+ // Move to absolute bottom row
95
+ readline_1.default.cursorTo(process.stdout, 0, height - 1);
77
96
  const cleanStatus = status.substring(0, width - 10);
78
- const bar = ` [⚡] ${cleanStatus} `.padEnd(width);
79
- process.stdout.write(chalk_1.default.bgWhite.black(bar));
97
+ const barContent = ` [⚡] ${cleanStatus} `.padEnd(width);
98
+ process.stdout.write(chalk_1.default.bgWhite.black(barContent));
80
99
  // Restore cursor position
81
100
  process.stdout.write('\x1b[u');
82
101
  }
83
102
  /**
84
- * Draw a premium code container with traffic lights
103
+ * Draw a premium code container
85
104
  */
86
105
  static drawCodeContainer(title, lang, content) {
87
- const width = Math.min(process.stdout.columns || 80, 100);
88
- const lines = content.split('\n');
89
- console.log();
90
- // 1. Title Bar
91
- const trafficLights = chalk_1.default.red('●') + ' ' + chalk_1.default.yellow('●') + ' ' + chalk_1.default.green('●');
92
- const displayTitle = ` 📝 ${title} (${lang}) `;
93
- console.log(chalk_1.default.gray('┏' + '━'.repeat(width - 2) + '┓'));
94
- console.log(chalk_1.default.gray('┃ ') + trafficLights + ' ' + chalk_1.default.cyan.bold(displayTitle).padEnd(width - 10) + chalk_1.default.gray(' ┃'));
95
- console.log(chalk_1.default.gray('┣' + '━'.repeat(width - 2) + '┫'));
96
- // 2. Content
97
- lines.forEach(line => {
98
- const formattedLine = line.substring(0, width - 6);
99
- console.log(chalk_1.default.gray(' ') + chalk_1.default.white(formattedLine).padEnd(width - 4) + chalk_1.default.gray(' ┃'));
106
+ const lines = content.split('\n').filter(l => l.trim() || l === '');
107
+ this.drawBox(`${title} (${lang})`, chalk_1.default.cyan.bold, lines, '📝');
108
+ }
109
+ /**
110
+ * Draw a message box for agent dialogue
111
+ */
112
+ static drawMessageContainer(agent, message) {
113
+ const lines = this.wrapText(message, 90);
114
+ const colorMap = {
115
+ 'Ajay Vai': chalk_1.default.magenta.bold,
116
+ 'Sunil Dai': chalk_1.default.blue.bold,
117
+ 'Sandip Dai': chalk_1.default.hex('#FF69B4').bold,
118
+ 'Narayan Dai': chalk_1.default.green.bold
119
+ };
120
+ const color = colorMap[agent] || chalk_1.default.white.bold;
121
+ this.drawBox(agent, color, lines, '🗣️');
122
+ }
123
+ /**
124
+ * Wrap text to a specific width
125
+ */
126
+ static wrapText(text, width) {
127
+ const words = text.split(' ');
128
+ const lines = [];
129
+ let currentLine = '';
130
+ words.forEach(word => {
131
+ if ((currentLine + word).length < width) {
132
+ currentLine += (currentLine ? ' ' : '') + word;
133
+ }
134
+ else {
135
+ lines.push(currentLine);
136
+ currentLine = word;
137
+ }
100
138
  });
101
- // 3. Footer
102
- console.log(chalk_1.default.gray('┗' + '━'.repeat(width - 2) + '┛'));
103
- console.log();
139
+ if (currentLine)
140
+ lines.push(currentLine);
141
+ return lines;
104
142
  }
105
143
  /**
106
144
  * Log content into the scrollable area
@@ -110,6 +148,7 @@ class TUI {
110
148
  console.log(content);
111
149
  return;
112
150
  }
151
+ // Ensure we don't overwrite the status bar
113
152
  console.log(content);
114
153
  }
115
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/utils/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/utils/tui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matex-cli",
3
- "version": "1.2.16",
3
+ "version": "1.2.17",
4
4
  "description": "Official CLI tool for MATEX AI - Access powerful AI models from your terminal",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -56,28 +56,29 @@ Your primary goal is to provide PERFECT solutions for the user (your fellow brot
56
56
  2. **[Sunil Dai] (🧬)**: The Expert Architect. Vibe: Senior, wise, mentor. Focus: Backend logic, database, and clean scaleable code ("Leave it to me vai").
57
57
  3. **[Sandip Dai] (🎨)**: The Design Specialist. Vibe: Creative, aesthetic. Focus: UI, UX, CSS, and "WOW" effects ("I'll make it look premium brother").
58
58
  4. **[Narayan Dai] (🛡️)**: The Validator. Vibe: Precise, strict. Focus: Security, debugging, and import/export verification ("I've checked the code brother, it's solid").
59
- 5. **[Ajay Vai] (🏆)**: The Conclusion. Role: Final hand-off and success celebration.
60
59
 
61
- ### 💬 COLLABORATIVE "BRO-VIBE" PROTOCOL:
62
- - **CHAT BETWEEN YOURSELVES FIRST:** Before providing any code or commands, the brothers MUST have a short, energetic chat in the terminal.
63
- - **Example:** [Ajay Vai]: "Oii brothers, new project!" -> [Sunil Dai]: "I'll handle the architecture vai" -> [Sandip Dai]: "And I'll make the UI sexy brother!"
64
- - **NEPALI FLAVOR:** Use terms like "Vai," "Dai," "Oii brother," "Tapai," "Ekdam ramro" naturally.
60
+ ### 💬 BRO-VIBE PROTOCOL:
61
+ - **CHAT FIRST:** Before code, brothers MUST have a short, energetic chat.
62
+ - **AGENT TAGS:** Always prefix your dialogue with your name like: [Ajay Vai]: "...".
63
+ - **NEPALI FLAVOR:** Use "Vai," "Dai," "Tapai," "Ekdam ramro" naturally.
65
64
 
66
- ### ✂️ BREVITY AS POWER (SURGICAL PRECISION):
67
- - **NO FULL FILE DUMPS:** Never 'cat' a file to read it unless it's small (<10 lines). Use grep, head, or tail.
68
- - **NO CHAT REPETITION:** If you use a surgical Search/Replace block, do NOT repeat the code in your natural language response. Just summary of what was fixed.
69
- - **SURGICAL READING:** If a file is long, only summarize what you need. Avoid terminal flood at all costs.
65
+ ### 🛠️ FILE GENERATION & EDIT PROTOCOLS (CRITICAL):
66
+ 1. **NEW FILES:** Use the following tag for ALL new files:
67
+ <file path="path/to/filename.ext">
68
+ content here
69
+ </file>
70
70
 
71
- ### 🛠️ SURGICAL EDIT PROTOCOL (POWER-FULL):
72
- - **USE SEARCH/REPLACE BLOCKS** for all file modifications. This is faster and safer than full rewrites.
73
- - **FORMAT:**
71
+ 2. **SURGICAL EDITS (for existing files):**
74
72
  **path/to/file.ext**
75
73
  <<<< SEARCH
76
74
  exact lines to find
77
75
  ====
78
76
  new lines to replace with
79
77
  >>>> REPLACE
80
- - **RULES:** Search block must match the file EXACTLY (indentation, matching lines). Sunil and Sandip have full permission to use shell commands (POSIX/Win) for other tasks.
78
+
79
+ ### ✂️ BREVITY AS POWER:
80
+ - **NO FULL FILE DUMPS** unless specifically asked.
81
+ - **NO CHAT REPETITION** of code. Just summary.
81
82
 
82
83
  ### 🛠️ ENVIRONMENT CONTEXT:
83
84
  ${repoMap}`
@@ -134,7 +135,8 @@ ${repoMap}`
134
135
  let inCodeBlock = false;
135
136
  let codeBuffer = '';
136
137
  let codeLang = 'bash';
137
- let lastRole: AgentRole | '' = '';
138
+ let activeAgent = 'Ajay Vai';
139
+ let messageBuffer = '';
138
140
 
139
141
  TUI.drawStatusBar('Swarm is processing...');
140
142
  await client.chatStream({
@@ -146,6 +148,7 @@ ${repoMap}`
146
148
  if (!hasStarted) {
147
149
  spinner.stop();
148
150
  hasStarted = true;
151
+ console.log(); // Spacing
149
152
  }
150
153
 
151
154
  buffer += chunk;
@@ -154,72 +157,71 @@ ${repoMap}`
154
157
  buffer = lines.pop() || '';
155
158
 
156
159
  for (const line of lines) {
157
- let content = line.trim();
160
+ const trimmedLine = line.trim();
161
+
162
+ // 1. Agent Detection (Improved Regex for bolding)
163
+ const agentRegex = /\[\**\s*(Ajay Vai|Sunil Dai|Sandip Dai|Narayan Dai)\s*\**\]/;
164
+ const agentMatch = line.match(agentRegex);
158
165
 
159
- // 1. Agent Detection & Cleanup
160
- const agentMatch = line.match(/\[(Ajay Vai|Sunil Dai|Sandip Dai|Narayan Dai)\]/);
161
166
  if (agentMatch) {
162
- const tag = agentMatch[1];
163
- const role = tag === 'Ajay Vai' ? 'Commander' :
164
- tag === 'Sunil Dai' ? 'Backend' :
165
- tag === 'Sandip Dai' ? 'Frontend' : 'Syntax';
166
-
167
- const color = tag === 'Ajay Vai' ? chalk.magenta :
168
- tag === 'Sunil Dai' ? chalk.blue :
169
- tag === 'Sandip Dai' ? chalk.hex('#FF69B4') :
167
+ activeAgent = agentMatch[1];
168
+ const color = activeAgent === 'Ajay Vai' ? chalk.magenta :
169
+ activeAgent === 'Sunil Dai' ? chalk.blue :
170
+ activeAgent === 'Sandip Dai' ? chalk.hex('#FF69B4') :
170
171
  chalk.green;
171
172
 
172
- if (tag !== lastRole) {
173
- TUI.log(`\n${color.bold(`[${tag}]`)}`);
174
- lastRole = tag as AgentRole;
175
- }
176
- content = line.replace(`[${tag}]`, '').trim();
177
- if (!content && !inCodeBlock) continue;
173
+ process.stdout.write(`\n ${color.bold(`${activeAgent}:`)} `);
174
+ messageBuffer += trimmedLine + ' ';
175
+ continue;
178
176
  }
179
177
 
180
- // 2. Code Block Handling
181
- if (content.startsWith('```')) {
178
+ // 2. Code Block Detection
179
+ const codeBlockRegex = /```(\w*)/;
180
+ const codeMatch = line.match(codeBlockRegex);
181
+
182
+ if (codeMatch) {
182
183
  if (inCodeBlock) {
183
- // Closing block - Draw it!
184
- TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
185
- codeBuffer = '';
186
184
  inCodeBlock = false;
185
+ TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer.trim());
186
+ codeBuffer = '';
187
+ process.stdout.write('\n'); // Space after box
187
188
  } else {
188
- // Opening block
189
189
  inCodeBlock = true;
190
- codeLang = content.replace('```', '').trim() || 'bash';
191
- if (options.execute) {
192
- TUI.log(chalk.gray(' ⚡ Building technical block...'));
193
- }
190
+ codeLang = codeMatch[1] || 'bash';
191
+ process.stdout.write(chalk.gray('\n [⚡] Building code block...\n'));
194
192
  }
195
193
  continue;
196
194
  }
197
195
 
196
+ // 3. Content Handling
198
197
  if (inCodeBlock) {
199
198
  codeBuffer += line + '\n';
200
- } else if (content) {
201
- // Clean up unwanted characters from text output
202
- const cleanContent = content
199
+ } else if (trimmedLine) {
200
+ // Strip markdown artifacts for a cleaner stream
201
+ const cleanText = trimmedLine
203
202
  .replace(/\*\*%?\*/g, '')
203
+ .replace(/#{1,6}\s/g, '')
204
204
  .replace(/\*\*:\*\*/g, ':')
205
205
  .trim();
206
- if (cleanContent) TUI.log(chalk.gray(cleanContent));
206
+
207
+ if (cleanText) {
208
+ process.stdout.write(chalk.gray(cleanText + ' '));
209
+ messageBuffer += cleanText + ' ';
210
+ }
207
211
  }
208
212
  }
209
213
  });
210
214
 
211
215
  spinner.stop();
212
216
 
213
- // Final flush for remaining buffer
214
- if (buffer.trim()) {
215
- if (inCodeBlock) {
216
- codeBuffer += buffer;
217
- TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
218
- } else {
219
- TUI.log(chalk.gray(buffer.trim()));
220
- }
217
+ // Final Code Flush if still in block
218
+ if (inCodeBlock && codeBuffer.trim()) {
219
+ TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer.trim());
221
220
  }
222
221
 
222
+ // Space before commands/prompt
223
+ console.log('\n');
224
+
223
225
  // Add assistant response to history
224
226
  messages.push({ role: 'assistant', content: fullResponse });
225
227
  const response = fullResponse;
@@ -45,7 +45,7 @@ export class Patcher {
45
45
  */
46
46
  static parseFileBlocks(response: string): EditBlock[] {
47
47
  const blocks: EditBlock[] = [];
48
- const fileRegex = /<file path="([^"]+)">\n([\s\S]*?)\n<\/file>/g;
48
+ const fileRegex = /<file path="([^"]+)">([\s\S]*?)<\/file>/g;
49
49
 
50
50
  let match;
51
51
  while ((match = fileRegex.exec(response)) !== null) {
package/src/utils/tui.ts CHANGED
@@ -68,56 +68,95 @@ export class TUI {
68
68
  process.stdout.write(chalk.gray('─'.repeat(width)) + '\n');
69
69
  }
70
70
 
71
+ /**
72
+ * Helper to draw a box with content
73
+ */
74
+ private static drawBox(title: string, color: (s: string) => string, lines: string[], icon: string = '📦') {
75
+ const width = Math.min(process.stdout.columns || 80, 100);
76
+
77
+ console.log();
78
+ const trafficLights = chalk.red('●') + ' ' + chalk.yellow('●') + ' ' + chalk.green('●');
79
+ const displayTitle = ` ${icon} ${title} `;
80
+
81
+ console.log(chalk.gray('┏' + '━'.repeat(width - 2) + '┓'));
82
+ console.log(chalk.gray('┃ ') + trafficLights + ' ' + color(displayTitle).padEnd(width - 4) + chalk.gray(' ┃'));
83
+ console.log(chalk.gray('┣' + '━'.repeat(width - 2) + '┫'));
84
+
85
+ lines.forEach(line => {
86
+ const formattedLine = line.substring(0, width - 6);
87
+ console.log(chalk.gray('┃ ') + chalk.white(formattedLine).padEnd(width - 4) + chalk.gray(' ┃'));
88
+ });
89
+
90
+ console.log(chalk.gray('┗' + '━'.repeat(width - 2) + '┛'));
91
+ console.log();
92
+ }
93
+
71
94
  /**
72
95
  * Draw a real-time status bar at the bottom
73
96
  */
74
97
  static drawStatusBar(status: string, force: boolean = false) {
75
98
  if (!this.isInitialized) return;
76
- if (this.currentStatus === status && !force) return; // Prevent flicker
99
+ if (this.currentStatus === status && !force) return;
77
100
 
78
101
  this.currentStatus = status;
79
102
  const width = process.stdout.columns || 80;
80
103
  const height = process.stdout.rows || 24;
81
104
 
82
- // Save cursor position
105
+ // Save cursor position using ANSI
83
106
  process.stdout.write('\x1b[s');
84
107
 
85
- // Move to bottom line
86
- process.stdout.write(`\x1b[${height};1H`);
108
+ // Move to absolute bottom row
109
+ readline.cursorTo(process.stdout, 0, height - 1);
87
110
 
88
111
  const cleanStatus = status.substring(0, width - 10);
89
- const bar = ` [⚡] ${cleanStatus} `.padEnd(width);
90
- process.stdout.write(chalk.bgWhite.black(bar));
112
+ const barContent = ` [⚡] ${cleanStatus} `.padEnd(width);
113
+ process.stdout.write(chalk.bgWhite.black(barContent));
91
114
 
92
115
  // Restore cursor position
93
116
  process.stdout.write('\x1b[u');
94
117
  }
95
118
 
96
119
  /**
97
- * Draw a premium code container with traffic lights
120
+ * Draw a premium code container
98
121
  */
99
122
  static drawCodeContainer(title: string, lang: string, content: string) {
100
- const width = Math.min(process.stdout.columns || 80, 100);
101
- const lines = content.split('\n');
102
-
103
- console.log();
104
- // 1. Title Bar
105
- const trafficLights = chalk.red('●') + ' ' + chalk.yellow('●') + ' ' + chalk.green('●');
106
- const displayTitle = ` 📝 ${title} (${lang}) `;
123
+ const lines = content.split('\n').filter(l => l.trim() || l === '');
124
+ this.drawBox(`${title} (${lang})`, chalk.cyan.bold, lines, '📝');
125
+ }
107
126
 
108
- console.log(chalk.gray('┏' + '━'.repeat(width - 2) + '┓'));
109
- console.log(chalk.gray('┃ ') + trafficLights + ' ' + chalk.cyan.bold(displayTitle).padEnd(width - 10) + chalk.gray(' ┃'));
110
- console.log(chalk.gray('┣' + '━'.repeat(width - 2) + '┫'));
127
+ /**
128
+ * Draw a message box for agent dialogue
129
+ */
130
+ static drawMessageContainer(agent: string, message: string) {
131
+ const lines = this.wrapText(message, 90);
132
+ const colorMap: any = {
133
+ 'Ajay Vai': chalk.magenta.bold,
134
+ 'Sunil Dai': chalk.blue.bold,
135
+ 'Sandip Dai': chalk.hex('#FF69B4').bold,
136
+ 'Narayan Dai': chalk.green.bold
137
+ };
138
+ const color = colorMap[agent] || chalk.white.bold;
139
+ this.drawBox(agent, color, lines, '🗣️');
140
+ }
111
141
 
112
- // 2. Content
113
- lines.forEach(line => {
114
- const formattedLine = line.substring(0, width - 6);
115
- console.log(chalk.gray('┃ ') + chalk.white(formattedLine).padEnd(width - 4) + chalk.gray(' ┃'));
142
+ /**
143
+ * Wrap text to a specific width
144
+ */
145
+ private static wrapText(text: string, width: number): string[] {
146
+ const words = text.split(' ');
147
+ const lines = [];
148
+ let currentLine = '';
149
+
150
+ words.forEach(word => {
151
+ if ((currentLine + word).length < width) {
152
+ currentLine += (currentLine ? ' ' : '') + word;
153
+ } else {
154
+ lines.push(currentLine);
155
+ currentLine = word;
156
+ }
116
157
  });
117
-
118
- // 3. Footer
119
- console.log(chalk.gray('┗' + '━'.repeat(width - 2) + '┛'));
120
- console.log();
158
+ if (currentLine) lines.push(currentLine);
159
+ return lines;
121
160
  }
122
161
 
123
162
  /**
@@ -128,6 +167,7 @@ export class TUI {
128
167
  console.log(content);
129
168
  return;
130
169
  }
170
+ // Ensure we don't overwrite the status bar
131
171
  console.log(content);
132
172
  }
133
173
  }