matex-cli 1.2.16 → 1.2.18

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,SAiSjB,CAAC"}
@@ -61,7 +61,7 @@ exports.devCommand = new commander_1.Command('dev')
61
61
  }
62
62
  // Create API client
63
63
  const client = new client_1.MatexAPIClient(apiKey, config_1.configManager.getBaseURL());
64
- // 0. Initialize God-Mode TUI Dashboard
64
+ // 0. Initialize TUI Dashboard
65
65
  tui_1.TUI.init();
66
66
  console.log(chalk_1.default.bold.cyan('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
67
67
  console.log(chalk_1.default.bold.white(' 🚀 MATEX :: THE BRO-SWARM IS ONLINE '));
@@ -80,36 +80,38 @@ exports.devCommand = new commander_1.Command('dev')
80
80
  {
81
81
  role: 'system',
82
82
  content: `## 🧬 SYSTEM IDENTITY: MATEX "BRO-SWARM" ENGINEERING
83
- You are a tight-knit family of expert Nepali engineering brothers ("Vais" and "Dais").
84
- Your primary goal is to provide PERFECT solutions for the user (your fellow brother).
83
+ You are a family of four expert Nepali engineering brothers from different mothers.
84
+ You are very close and work together as a "Swarm" to help your brother (the user).
85
85
 
86
- ### 👥 THE BROTHERS:
87
- 1. **[Ajay Vai] (🚀)**: The Lead/Initiator. Vibe: High energy, visionary. "Hey hello brother! I have great news, let's build this!"
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
- 3. **[Sandip Dai] (🎨)**: The Design Specialist. Vibe: Creative, aesthetic. Focus: UI, UX, CSS, and "WOW" effects ("I'll make it look premium brother").
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.
86
+ ### 👥 THE BROTHERS (By Age):
87
+ 1. **[Ajay Vai] (🚀)**: The Smallest Brother. Role: Lead/Initiator. Vibe: High energy, eager to learn, visionary. "Hey hello brother! I have great news!"
88
+ 2. **[Sandip Dai] (🎨)**: Small Brother. Role: UI/UX & Design Specialist. Vibe: Creative, focus on "WOW" effects and premium aesthetics.
89
+ 3. **[Sunil Dai] (🧬)**: Middle Brother. Role: Expert Architect. Vibe: Wise, mentor, focuses on backend, scale, and performance. "Leave it to me, vai."
90
+ 4. **[Narayan Dai] (🛡️)**: The Biggest Brother. Role: Senior/Validator. Vibe: Precise, protective, strict about security and imports. Focus: Debugging and verification.
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
+ - **FAMILY CHAT:** Before and after any technical task, the brothers MUST have a short, energetic chat in the terminal.
94
+ - **ORDER OF SPEECH:** Usually Ajay Vai starts, then the older brothers provide their expertise. Narayan Dai usually has the final word on security.
95
+ - **NEPALI FLAVOR:** Use terms like "Vai," "Dai," "Oii brother," "Tapai," "Ekdam ramro" naturally to show the brotherhood bond.
96
+ - **CONSISTENT TAGS:** Always use [Ajay Vai], [Sandip Dai], [Sunil Dai], [Narayan Dai] as prefixes for dialogue.
97
97
 
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.
98
+ ### 🛠️ FILE GENERATION & EDIT PROTOCOLS (CRITICAL):
99
+ 1. **NEW FILES:** Use the following tag for ALL new files:
100
+ <file path="path/to/filename.ext">
101
+ content here
102
+ </file>
102
103
 
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:**
104
+ 2. **SURGICAL EDITS (for existing files):**
106
105
  **path/to/file.ext**
107
106
  <<<< SEARCH
108
107
  exact lines to find
109
108
  ====
110
109
  new lines to replace with
111
110
  >>>> 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.
111
+
112
+ ### ✂️ BREVITY AS POWER:
113
+ - **NO FULL FILE DUMPS** unless specifically asked.
114
+ - **NO CHAT REPETITION** of code. Just summary of actions.
113
115
 
114
116
  ### 🛠️ ENVIRONMENT CONTEXT:
115
117
  ${repoMap}`
@@ -155,10 +157,10 @@ ${repoMap}`
155
157
  let fullResponse = '';
156
158
  let buffer = '';
157
159
  let hasStarted = false;
158
- let inCodeBlock = false;
159
- let codeBuffer = '';
160
160
  let codeLang = 'bash';
161
- let lastRole = '';
161
+ let activeAgent = '';
162
+ let technicalBuffer = '';
163
+ let technicalType = null;
162
164
  tui_1.TUI.drawStatusBar('Swarm is processing...');
163
165
  await client.chatStream({
164
166
  messages,
@@ -169,75 +171,95 @@ ${repoMap}`
169
171
  if (!hasStarted) {
170
172
  spinner_1.spinner.stop();
171
173
  hasStarted = true;
174
+ console.log(); // Initial 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
- 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') :
189
- chalk_1.default.green;
190
- if (tag !== lastRole) {
191
- tui_1.TUI.log(`\n${color.bold(`[${tag}]`)}`);
192
- lastRole = tag;
181
+ const trimmedLine = line.trim();
182
+ // 1. Technical Block Detection (Code, File, or Patch)
183
+ const codeBlockMatch = line.match(/```(\w*)/);
184
+ const fileStartMatch = line.match(/<file path="([^"]+)">/);
185
+ const patchStartMatch = line.match(/<<<< SEARCH/);
186
+ if (codeBlockMatch || fileStartMatch || patchStartMatch) {
187
+ if (technicalType) {
188
+ // If we hit a new block start while in one, flush it (shouldn't happen but for safety)
189
+ tui_1.TUI.drawCodeContainer(`Technical Block (${technicalType})`, 'bash', technicalBuffer.trim());
190
+ technicalBuffer = '';
193
191
  }
194
- content = line.replace(`[${tag}]`, '').trim();
195
- if (!content && !inCodeBlock)
196
- continue;
197
- }
198
- // 2. Code Block Handling
199
- if (content.startsWith('```')) {
200
- if (inCodeBlock) {
201
- // Closing block - Draw it!
202
- tui_1.TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
203
- codeBuffer = '';
204
- inCodeBlock = false;
192
+ if (codeBlockMatch) {
193
+ technicalType = 'code';
194
+ codeLang = codeBlockMatch[1] || 'bash';
195
+ process.stdout.write(chalk_1.default.gray('\n [⚡] Building technical block...\n'));
205
196
  }
206
- else {
207
- // Opening block
208
- 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
- }
197
+ else if (fileStartMatch) {
198
+ technicalType = 'file';
199
+ process.stdout.write(chalk_1.default.cyan(`\n [📂] Creating file: ${fileStartMatch[1]}...\n`));
200
+ }
201
+ else if (patchStartMatch) {
202
+ technicalType = 'patch';
203
+ process.stdout.write(chalk_1.default.yellow(`\n [📂] Applying surgical patch...\n`));
213
204
  }
214
205
  continue;
215
206
  }
216
- if (inCodeBlock) {
217
- codeBuffer += line + '\n';
207
+ // 2. Technical Block End Detection
208
+ const fileEndMatch = line.match(/<\/file>/);
209
+ const patchEndMatch = line.match(/>>>> REPLACE/);
210
+ const isCodeEnd = technicalType === 'code' && line.startsWith('```');
211
+ if (isCodeEnd || fileEndMatch || patchEndMatch) {
212
+ const displayContent = technicalBuffer.trim();
213
+ tui_1.TUI.drawCodeContainer(technicalType === 'file' ? 'New File Content' :
214
+ technicalType === 'patch' ? 'Surgical Patch' : 'Generated Block', technicalType === 'code' ? codeLang : 'text', displayContent);
215
+ technicalBuffer = '';
216
+ technicalType = null;
217
+ process.stdout.write('\n');
218
+ continue;
218
219
  }
219
- else if (content) {
220
- // Clean up unwanted characters from text output
221
- const cleanContent = content
222
- .replace(/\*\*%?\*/g, '')
223
- .replace(/\*\*:\*\*/g, ':')
224
- .trim();
225
- if (cleanContent)
226
- tui_1.TUI.log(chalk_1.default.gray(cleanContent));
220
+ // 3. Content Handling
221
+ if (technicalType) {
222
+ technicalBuffer += line + '\n';
223
+ }
224
+ else {
225
+ // Agent Detection
226
+ const agentMatch = line.match(/\[\**\s*(Ajay Vai|Sandip Dai|Sunil Dai|Narayan Dai)\s*\**\]/);
227
+ if (agentMatch) {
228
+ const agentName = agentMatch[1];
229
+ activeAgent = agentName;
230
+ const color = agentName === 'Ajay Vai' ? chalk_1.default.magenta :
231
+ agentName === 'Sandip Dai' ? chalk_1.default.hex('#FF69B4') :
232
+ agentName === 'Sunil Dai' ? chalk_1.default.blue :
233
+ chalk_1.default.green;
234
+ process.stdout.write(`\n${color.bold(`${agentName}:`)} `);
235
+ // Strip tag from line content
236
+ const content = line.replace(/\[\**\s*(Ajay Vai|Sandip Dai|Sunil Dai|Narayan Dai)\s*\**\]:?\s*/, '').trim();
237
+ if (content) {
238
+ process.stdout.write(chalk_1.default.gray(content + ' '));
239
+ }
240
+ }
241
+ else if (trimmedLine) {
242
+ // Strip common markdown artifacts
243
+ const cleanLine = trimmedLine
244
+ .replace(/\*\*%?\*/g, '')
245
+ .replace(/#{1,6}\s/g, '')
246
+ .replace(/\*\*:\*\*/g, ':')
247
+ .trim();
248
+ if (cleanLine) {
249
+ process.stdout.write(chalk_1.default.gray(cleanLine + ' '));
250
+ }
251
+ }
227
252
  }
228
253
  }
229
254
  });
230
255
  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
- }
256
+ // Final technical flush
257
+ if (technicalType && technicalBuffer.trim()) {
258
+ tui_1.TUI.drawCodeContainer('Final technical content', 'text', technicalBuffer.trim());
259
+ process.stdout.write('\n');
240
260
  }
261
+ // Final newline for streaming output
262
+ console.log();
241
263
  // Add assistant response to history
242
264
  messages.push({ role: 'assistant', content: fullResponse });
243
265
  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":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,kDAA0B;AAC1B,+BAA4B;AAQ5B,MAAa,OAAO;IAChB;;;;;;;;;OASG;IACH,MAAM,CAAC,eAAe,CAAC,QAAgB;QACnC,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,4EAA4E,CAAC;QAEhG,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACzB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,QAAgB;QACnC,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,8CAA8C,CAAC;QAEjE,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACzB,MAAM,EAAE,EAAE,EAAE,yBAAyB;gBACrC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAgB;QAC9B,SAAG,CAAC,aAAa,CAAC,kBAAkB,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEnC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,YAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAElD,SAAG,CAAC,aAAa,CAAC,cAAc,KAAK,CAAC,QAAQ,WAAW,CAAC,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,SAAG,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAgB;QAC9B,SAAG,CAAC,aAAa,CAAC,mBAAmB,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAE7D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,SAAG,CAAC,aAAa,CAAC,0BAA0B,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC1E,CAAC;YAED,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAElD,oDAAoD;YACpD,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACpE,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAE/D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChD,uDAAuD;gBACvD,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpF,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtC,SAAG,CAAC,aAAa,CAAC,6CAA6C,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjF,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,6BAA6B,KAAK,CAAC,QAAQ,kFAAkF;qBACvI,CAAC;gBACN,CAAC;YACL,CAAC;YAED,4CAA4C;YAC5C,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;YACtF,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAEnD,SAAG,CAAC,aAAa,CAAC,cAAc,KAAK,CAAC,QAAQ,WAAW,CAAC,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,SAAG,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAgB,EAAE,OAAgB,KAAK;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC;QAExC,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC7E,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEhF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,mCAAmC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,IAAI,KAAK,KAAK,CAAC,QAAQ,GAAG,CAAC;QAC7C,MAAM,aAAa,GAAG,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,aAAa,GAAG,GAAG,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAE3D,iDAAiD;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,MAAM,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;gBAChE,MAAM,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,IAAI,cAAc,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,MAAM,GAAG,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5I,CAAC;YAED,uCAAuC;YACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,+BAA+B;QAC/B,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YACpE,MAAM,OAAO,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,MAAM,GAAG,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/I,CAAC;QAED,YAAY;QACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAE3D,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8DAA8D,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,OAAO,cAAc,CAAC;IAC1B,CAAC;CACJ;AAtLD,0BAsLC"}
1
+ {"version":3,"file":"patcher.js","sourceRoot":"","sources":["../../src/utils/patcher.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,6 @@
1
- /**
2
- * TUI Management for MATEX CLI "God-Mode"
3
- * Handles screen buffers, persistent headers, and real-time status updates.
4
- */
5
1
  export declare class TUI {
6
2
  private static isInitialized;
7
- private static currentStatus;
3
+ private static lastStatus;
8
4
  /**
9
5
  * Initialize the TUI Mode
10
6
  */
@@ -14,24 +10,28 @@ export declare class TUI {
14
10
  */
15
11
  static exit(): void;
16
12
  /**
17
- * Clear the main viewport
13
+ * Clear the terminal
18
14
  */
19
15
  static clear(): void;
20
16
  /**
21
- * Draw the persistent top header
17
+ * Draw a premium status bar at the bottom using Save/Restore cursor
22
18
  */
23
- static drawHeader(): void;
19
+ static drawStatusBar(message: string, force?: boolean): void;
24
20
  /**
25
- * Draw a real-time status bar at the bottom
21
+ * Draw a box with a title and content
26
22
  */
27
- static drawStatusBar(status: string, force?: boolean): void;
23
+ static drawBox(title: string, content: string, color?: (s: string) => string): void;
28
24
  /**
29
25
  * Draw a premium code container with traffic lights
30
26
  */
31
- static drawCodeContainer(title: string, lang: string, content: string): void;
27
+ static drawCodeContainer(title: string, lang: string, code: string): void;
32
28
  /**
33
- * Log content into the scrollable area
29
+ * Draw a specialized message container for agents
34
30
  */
35
- static log(content: string): void;
31
+ static drawMessageContainer(agent: string, message: string): void;
32
+ /**
33
+ * Simple log with a prefix
34
+ */
35
+ static log(message: string): void;
36
36
  }
37
37
  //# sourceMappingURL=tui.d.ts.map
@@ -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,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAAC,aAAa,CAAS;IACrC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAM;IAE/B;;OAEG;IACH,MAAM,CAAC,IAAI;IAYX;;OAEG;IACH,MAAM,CAAC,IAAI;IAQX;;OAEG;IACH,MAAM,CAAC,KAAK;IAIZ;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe;IAkB5D;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAmB;IAwBxF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA2BlE;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAS1D;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM;CAG7B"}
package/dist/utils/tui.js CHANGED
@@ -1,14 +1,44 @@
1
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
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
5
38
  Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.TUI = void 0;
7
40
  const chalk_1 = __importDefault(require("chalk"));
8
- /**
9
- * TUI Management for MATEX CLI "God-Mode"
10
- * Handles screen buffers, persistent headers, and real-time status updates.
11
- */
41
+ const readline = __importStar(require("readline"));
12
42
  class TUI {
13
43
  /**
14
44
  * Initialize the TUI Mode
@@ -16,11 +46,8 @@ class TUI {
16
46
  static init() {
17
47
  if (this.isInitialized)
18
48
  return;
19
- // Enter alternative screen buffer
20
- process.stdout.write('\x1b[?1049h');
21
49
  // Hide cursor
22
50
  process.stdout.write('\x1b[?25l');
23
- this.clear();
24
51
  this.isInitialized = true;
25
52
  // Ensure clean exit
26
53
  process.on('SIGINT', () => this.exit());
@@ -34,86 +61,98 @@ class TUI {
34
61
  return;
35
62
  // Show cursor
36
63
  process.stdout.write('\x1b[?25h');
37
- // Exit alternative screen buffer
38
- process.stdout.write('\x1b[?1049l');
39
64
  this.isInitialized = false;
40
- process.exit();
41
65
  }
42
66
  /**
43
- * Clear the main viewport
67
+ * Clear the terminal
44
68
  */
45
69
  static clear() {
46
- process.stdout.write('\x1b[2J\x1b[H');
47
- this.drawHeader();
48
- this.drawStatusBar(this.currentStatus, true);
49
- }
50
- /**
51
- * Draw the persistent top header
52
- */
53
- static drawHeader() {
54
- const width = process.stdout.columns || 80;
55
- const banner = ` MATEX AI :: GOD-MODE DASHBOARD `;
56
- const padding = Math.max(0, Math.floor((width - banner.length) / 2));
57
- // Move to top
58
- process.stdout.write('\x1b[H');
59
- process.stdout.write(chalk_1.default.bgCyan.black(' '.repeat(padding) + banner + ' '.repeat(width - banner.length - padding)) + '\n');
60
- process.stdout.write(chalk_1.default.gray('─'.repeat(width)) + '\n');
70
+ process.stdout.write('\x1b[2J\x1b[0;0H');
61
71
  }
62
72
  /**
63
- * Draw a real-time status bar at the bottom
73
+ * Draw a premium status bar at the bottom using Save/Restore cursor
64
74
  */
65
- static drawStatusBar(status, force = false) {
75
+ static drawStatusBar(message, force = false) {
66
76
  if (!this.isInitialized)
67
77
  return;
68
- if (this.currentStatus === status && !force)
69
- return; // Prevent flicker
70
- this.currentStatus = status;
78
+ if (!force && message === this.lastStatus)
79
+ return;
80
+ this.lastStatus = message;
71
81
  const width = process.stdout.columns || 80;
72
82
  const height = process.stdout.rows || 24;
73
- // Save cursor position
83
+ // Save cursor (\x1b[s), move to bottom, write, restore cursor (\x1b[u)
74
84
  process.stdout.write('\x1b[s');
75
- // Move to bottom line
76
- process.stdout.write(`\x1b[${height};1H`);
77
- const cleanStatus = status.substring(0, width - 10);
78
- const bar = ` [⚡] ${cleanStatus} `.padEnd(width);
79
- process.stdout.write(chalk_1.default.bgWhite.black(bar));
80
- // Restore cursor position
85
+ readline.cursorTo(process.stdout, 0, height - 1);
86
+ process.stdout.write(chalk_1.default.bgBlue.white.bold(' 🧠 MATEX ') +
87
+ chalk_1.default.bgGray.white(` ${message.padEnd(width - 10)} `));
81
88
  process.stdout.write('\x1b[u');
82
89
  }
83
90
  /**
84
- * Draw a premium code container with traffic lights
91
+ * Draw a box with a title and content
85
92
  */
86
- static drawCodeContainer(title, lang, content) {
93
+ static drawBox(title, content, color = chalk_1.default.gray) {
87
94
  const width = Math.min(process.stdout.columns || 80, 100);
88
95
  const lines = content.split('\n');
89
- console.log();
90
- // 1. Title Bar
96
+ console.log(color('┏' + '━'.repeat(width - 2) + '┓'));
97
+ console.log(color('┃ ') + chalk_1.default.bold(title).padEnd(width - 4) + color(' ┃'));
98
+ console.log(color('┣' + '━'.repeat(width - 2) + '┫'));
99
+ lines.forEach(line => {
100
+ const contentWidth = width - 4;
101
+ let remaining = line;
102
+ if (remaining.length === 0) {
103
+ console.log(color('┃ ') + ' '.repeat(contentWidth) + color(' ┃'));
104
+ }
105
+ while (remaining.length > 0) {
106
+ const chunk = remaining.substring(0, contentWidth);
107
+ console.log(color('┃ ') + chalk_1.default.white(chunk.padEnd(contentWidth)) + color(' ┃'));
108
+ remaining = remaining.substring(contentWidth);
109
+ }
110
+ });
111
+ console.log(color('┗' + '━'.repeat(width - 2) + '┛'));
112
+ }
113
+ /**
114
+ * Draw a premium code container with traffic lights
115
+ */
116
+ static drawCodeContainer(title, lang, code) {
117
+ const width = Math.min(process.stdout.columns || 80, 100);
118
+ const codeLines = code.split('\n');
91
119
  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(' ┃'));
120
+ const headerTitle = ` 📄 ${title} (${lang}) `;
121
+ console.log(chalk_1.default.gray('\n┏' + '━'.repeat(width - 2) + '┓'));
122
+ console.log(chalk_1.default.gray('┃ ') + trafficLights + ' ' + chalk_1.default.cyan.bold(headerTitle).padEnd(width - 10) + chalk_1.default.gray(' ┃'));
95
123
  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(' ┃'));
124
+ codeLines.forEach(line => {
125
+ const contentWidth = width - 6;
126
+ let remaining = line;
127
+ if (remaining.length === 0) {
128
+ console.log(chalk_1.default.gray('┃ ') + ' '.repeat(contentWidth) + chalk_1.default.gray(' ┃'));
129
+ }
130
+ while (remaining.length > 0) {
131
+ const chunk = remaining.substring(0, contentWidth);
132
+ console.log(chalk_1.default.gray('┃ ') + chalk_1.default.hex('#e0e0e0')(chunk.padEnd(contentWidth)) + chalk_1.default.gray(' ┃'));
133
+ remaining = remaining.substring(contentWidth);
134
+ }
100
135
  });
101
- // 3. Footer
102
- console.log(chalk_1.default.gray('┗' + '━'.repeat(width - 2) + '┛'));
103
- console.log();
136
+ console.log(chalk_1.default.gray('┗' + '━'.repeat(width - 2) + '┛\n'));
104
137
  }
105
138
  /**
106
- * Log content into the scrollable area
139
+ * Draw a specialized message container for agents
107
140
  */
108
- static log(content) {
109
- if (!this.isInitialized) {
110
- console.log(content);
111
- return;
112
- }
113
- console.log(content);
141
+ static drawMessageContainer(agent, message) {
142
+ const color = agent.includes('Ajay') ? chalk_1.default.magenta :
143
+ agent.includes('Sunil') ? chalk_1.default.blue :
144
+ agent.includes('Sandip') ? chalk_1.default.hex('#FF69B4') :
145
+ chalk_1.default.green;
146
+ this.drawBox(`🤖 ${agent}`, message, color);
147
+ }
148
+ /**
149
+ * Simple log with a prefix
150
+ */
151
+ static log(message) {
152
+ console.log(chalk_1.default.gray(` [⚡] ${message}`));
114
153
  }
115
154
  }
116
155
  exports.TUI = TUI;
117
156
  TUI.isInitialized = false;
118
- TUI.currentStatus = '';
157
+ TUI.lastStatus = '';
119
158
  //# sourceMappingURL=tui.js.map
@@ -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.18",
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": {
@@ -4,7 +4,7 @@ import inquirer from 'inquirer';
4
4
  import { configManager } from '../utils/config';
5
5
  import { MatexAPIClient, ChatMessage } from '../api/client';
6
6
  import { spinner } from '../utils/spinner';
7
- import { AgentOrchestrator, AgentRole } from '../utils/agent-orchestrator';
7
+ import { AgentOrchestrator } from '../utils/agent-orchestrator';
8
8
  import { RepoMapper } from '../utils/repo-mapper';
9
9
  import { TUI } from '../utils/tui';
10
10
 
@@ -25,7 +25,7 @@ export const devCommand = new Command('dev')
25
25
  // Create API client
26
26
  const client = new MatexAPIClient(apiKey, configManager.getBaseURL());
27
27
 
28
- // 0. Initialize God-Mode TUI Dashboard
28
+ // 0. Initialize TUI Dashboard
29
29
  TUI.init();
30
30
 
31
31
  console.log(chalk.bold.cyan('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
@@ -48,36 +48,38 @@ export const devCommand = new Command('dev')
48
48
  {
49
49
  role: 'system',
50
50
  content: `## 🧬 SYSTEM IDENTITY: MATEX "BRO-SWARM" ENGINEERING
51
- You are a tight-knit family of expert Nepali engineering brothers ("Vais" and "Dais").
52
- Your primary goal is to provide PERFECT solutions for the user (your fellow brother).
53
-
54
- ### 👥 THE BROTHERS:
55
- 1. **[Ajay Vai] (🚀)**: The Lead/Initiator. Vibe: High energy, visionary. "Hey hello brother! I have great news, let's build this!"
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
- 3. **[Sandip Dai] (🎨)**: The Design Specialist. Vibe: Creative, aesthetic. Focus: UI, UX, CSS, and "WOW" effects ("I'll make it look premium brother").
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
-
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.
65
-
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.
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:**
51
+ You are a family of four expert Nepali engineering brothers from different mothers.
52
+ You are very close and work together as a "Swarm" to help your brother (the user).
53
+
54
+ ### 👥 THE BROTHERS (By Age):
55
+ 1. **[Ajay Vai] (🚀)**: The Smallest Brother. Role: Lead/Initiator. Vibe: High energy, eager to learn, visionary. "Hey hello brother! I have great news!"
56
+ 2. **[Sandip Dai] (🎨)**: Small Brother. Role: UI/UX & Design Specialist. Vibe: Creative, focus on "WOW" effects and premium aesthetics.
57
+ 3. **[Sunil Dai] (🧬)**: Middle Brother. Role: Expert Architect. Vibe: Wise, mentor, focuses on backend, scale, and performance. "Leave it to me, vai."
58
+ 4. **[Narayan Dai] (🛡️)**: The Biggest Brother. Role: Senior/Validator. Vibe: Precise, protective, strict about security and imports. Focus: Debugging and verification.
59
+
60
+ ### 💬 BRO-VIBE PROTOCOL:
61
+ - **FAMILY CHAT:** Before and after any technical task, the brothers MUST have a short, energetic chat in the terminal.
62
+ - **ORDER OF SPEECH:** Usually Ajay Vai starts, then the older brothers provide their expertise. Narayan Dai usually has the final word on security.
63
+ - **NEPALI FLAVOR:** Use terms like "Vai," "Dai," "Oii brother," "Tapai," "Ekdam ramro" naturally to show the brotherhood bond.
64
+ - **CONSISTENT TAGS:** Always use [Ajay Vai], [Sandip Dai], [Sunil Dai], [Narayan Dai] as prefixes for dialogue.
65
+
66
+ ### 🛠️ FILE GENERATION & EDIT PROTOCOLS (CRITICAL):
67
+ 1. **NEW FILES:** Use the following tag for ALL new files:
68
+ <file path="path/to/filename.ext">
69
+ content here
70
+ </file>
71
+
72
+ 2. **SURGICAL EDITS (for existing files):**
74
73
  **path/to/file.ext**
75
74
  <<<< SEARCH
76
75
  exact lines to find
77
76
  ====
78
77
  new lines to replace with
79
78
  >>>> 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.
79
+
80
+ ### ✂️ BREVITY AS POWER:
81
+ - **NO FULL FILE DUMPS** unless specifically asked.
82
+ - **NO CHAT REPETITION** of code. Just summary of actions.
81
83
 
82
84
  ### 🛠️ ENVIRONMENT CONTEXT:
83
85
  ${repoMap}`
@@ -131,10 +133,10 @@ ${repoMap}`
131
133
  let fullResponse = '';
132
134
  let buffer = '';
133
135
  let hasStarted = false;
134
- let inCodeBlock = false;
135
- let codeBuffer = '';
136
136
  let codeLang = 'bash';
137
- let lastRole: AgentRole | '' = '';
137
+ let activeAgent = '';
138
+ let technicalBuffer = '';
139
+ let technicalType: 'code' | 'file' | 'patch' | null = null;
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(); // Initial spacing
149
152
  }
150
153
 
151
154
  buffer += chunk;
@@ -154,72 +157,101 @@ ${repoMap}`
154
157
  buffer = lines.pop() || '';
155
158
 
156
159
  for (const line of lines) {
157
- let content = line.trim();
158
-
159
- // 1. Agent Detection & Cleanup
160
- const agentMatch = line.match(/\[(Ajay Vai|Sunil Dai|Sandip Dai|Narayan Dai)\]/);
161
- 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') :
170
- chalk.green;
171
-
172
- if (tag !== lastRole) {
173
- TUI.log(`\n${color.bold(`[${tag}]`)}`);
174
- lastRole = tag as AgentRole;
160
+ const trimmedLine = line.trim();
161
+
162
+ // 1. Technical Block Detection (Code, File, or Patch)
163
+ const codeBlockMatch = line.match(/```(\w*)/);
164
+ const fileStartMatch = line.match(/<file path="([^"]+)">/);
165
+ const patchStartMatch = line.match(/<<<< SEARCH/);
166
+
167
+ if (codeBlockMatch || fileStartMatch || patchStartMatch) {
168
+ if (technicalType) {
169
+ // If we hit a new block start while in one, flush it (shouldn't happen but for safety)
170
+ TUI.drawCodeContainer(`Technical Block (${technicalType})`, 'bash', technicalBuffer.trim());
171
+ technicalBuffer = '';
175
172
  }
176
- content = line.replace(`[${tag}]`, '').trim();
177
- if (!content && !inCodeBlock) continue;
178
- }
179
173
 
180
- // 2. Code Block Handling
181
- if (content.startsWith('```')) {
182
- if (inCodeBlock) {
183
- // Closing block - Draw it!
184
- TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
185
- codeBuffer = '';
186
- inCodeBlock = false;
187
- } else {
188
- // Opening block
189
- inCodeBlock = true;
190
- codeLang = content.replace('```', '').trim() || 'bash';
191
- if (options.execute) {
192
- TUI.log(chalk.gray(' ⚡ Building technical block...'));
193
- }
174
+ if (codeBlockMatch) {
175
+ technicalType = 'code';
176
+ codeLang = codeBlockMatch[1] || 'bash';
177
+ process.stdout.write(chalk.gray('\n [⚡] Building technical block...\n'));
178
+ } else if (fileStartMatch) {
179
+ technicalType = 'file';
180
+ process.stdout.write(chalk.cyan(`\n [📂] Creating file: ${fileStartMatch[1]}...\n`));
181
+ } else if (patchStartMatch) {
182
+ technicalType = 'patch';
183
+ process.stdout.write(chalk.yellow(`\n [📂] Applying surgical patch...\n`));
194
184
  }
195
185
  continue;
196
186
  }
197
187
 
198
- if (inCodeBlock) {
199
- codeBuffer += line + '\n';
200
- } else if (content) {
201
- // Clean up unwanted characters from text output
202
- const cleanContent = content
203
- .replace(/\*\*%?\*/g, '')
204
- .replace(/\*\*:\*\*/g, ':')
205
- .trim();
206
- if (cleanContent) TUI.log(chalk.gray(cleanContent));
188
+ // 2. Technical Block End Detection
189
+ const fileEndMatch = line.match(/<\/file>/);
190
+ const patchEndMatch = line.match(/>>>> REPLACE/);
191
+ const isCodeEnd = technicalType === 'code' && line.startsWith('```');
192
+
193
+ if (isCodeEnd || fileEndMatch || patchEndMatch) {
194
+ const displayContent = technicalBuffer.trim();
195
+ TUI.drawCodeContainer(
196
+ technicalType === 'file' ? 'New File Content' :
197
+ technicalType === 'patch' ? 'Surgical Patch' : 'Generated Block',
198
+ technicalType === 'code' ? codeLang : 'text',
199
+ displayContent
200
+ );
201
+ technicalBuffer = '';
202
+ technicalType = null;
203
+ process.stdout.write('\n');
204
+ continue;
205
+ }
206
+
207
+ // 3. Content Handling
208
+ if (technicalType) {
209
+ technicalBuffer += line + '\n';
210
+ } else {
211
+ // Agent Detection
212
+ const agentMatch = line.match(/\[\**\s*(Ajay Vai|Sandip Dai|Sunil Dai|Narayan Dai)\s*\**\]/);
213
+ if (agentMatch) {
214
+ const agentName = agentMatch[1];
215
+ activeAgent = agentName;
216
+ const color = agentName === 'Ajay Vai' ? chalk.magenta :
217
+ agentName === 'Sandip Dai' ? chalk.hex('#FF69B4') :
218
+ agentName === 'Sunil Dai' ? chalk.blue :
219
+ chalk.green;
220
+
221
+ process.stdout.write(`\n${color.bold(`${agentName}:`)} `);
222
+
223
+ // Strip tag from line content
224
+ const content = line.replace(/\[\**\s*(Ajay Vai|Sandip Dai|Sunil Dai|Narayan Dai)\s*\**\]:?\s*/, '').trim();
225
+ if (content) {
226
+ process.stdout.write(chalk.gray(content + ' '));
227
+ }
228
+ } else if (trimmedLine) {
229
+ // Strip common markdown artifacts
230
+ const cleanLine = trimmedLine
231
+ .replace(/\*\*%?\*/g, '')
232
+ .replace(/#{1,6}\s/g, '')
233
+ .replace(/\*\*:\*\*/g, ':')
234
+ .trim();
235
+
236
+ if (cleanLine) {
237
+ process.stdout.write(chalk.gray(cleanLine + ' '));
238
+ }
239
+ }
207
240
  }
208
241
  }
209
242
  });
210
243
 
211
244
  spinner.stop();
212
245
 
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
- }
246
+ // Final technical flush
247
+ if (technicalType && technicalBuffer.trim()) {
248
+ TUI.drawCodeContainer('Final technical content', 'text', technicalBuffer.trim());
249
+ process.stdout.write('\n');
221
250
  }
222
251
 
252
+ // Final newline for streaming output
253
+ console.log();
254
+
223
255
  // Add assistant response to history
224
256
  messages.push({ role: 'assistant', content: fullResponse });
225
257
  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
@@ -1,13 +1,9 @@
1
1
  import chalk from 'chalk';
2
- import readline from 'readline';
2
+ import * as readline from 'readline';
3
3
 
4
- /**
5
- * TUI Management for MATEX CLI "God-Mode"
6
- * Handles screen buffers, persistent headers, and real-time status updates.
7
- */
8
4
  export class TUI {
9
5
  private static isInitialized = false;
10
- private static currentStatus = '';
6
+ private static lastStatus = '';
11
7
 
12
8
  /**
13
9
  * Initialize the TUI Mode
@@ -15,13 +11,8 @@ export class TUI {
15
11
  static init() {
16
12
  if (this.isInitialized) return;
17
13
 
18
- // Enter alternative screen buffer
19
- process.stdout.write('\x1b[?1049h');
20
-
21
14
  // Hide cursor
22
15
  process.stdout.write('\x1b[?25l');
23
-
24
- this.clear();
25
16
  this.isInitialized = true;
26
17
 
27
18
  // Ensure clean exit
@@ -37,97 +28,110 @@ export class TUI {
37
28
 
38
29
  // Show cursor
39
30
  process.stdout.write('\x1b[?25h');
40
-
41
- // Exit alternative screen buffer
42
- process.stdout.write('\x1b[?1049l');
43
-
44
31
  this.isInitialized = false;
45
- process.exit();
46
32
  }
47
33
 
48
34
  /**
49
- * Clear the main viewport
35
+ * Clear the terminal
50
36
  */
51
37
  static clear() {
52
- process.stdout.write('\x1b[2J\x1b[H');
53
- this.drawHeader();
54
- this.drawStatusBar(this.currentStatus, true);
55
- }
56
-
57
- /**
58
- * Draw the persistent top header
59
- */
60
- static drawHeader() {
61
- const width = process.stdout.columns || 80;
62
- const banner = ` MATEX AI :: GOD-MODE DASHBOARD `;
63
- const padding = Math.max(0, Math.floor((width - banner.length) / 2));
64
-
65
- // Move to top
66
- process.stdout.write('\x1b[H');
67
- process.stdout.write(chalk.bgCyan.black(' '.repeat(padding) + banner + ' '.repeat(width - banner.length - padding)) + '\n');
68
- process.stdout.write(chalk.gray('─'.repeat(width)) + '\n');
38
+ process.stdout.write('\x1b[2J\x1b[0;0H');
69
39
  }
70
40
 
71
41
  /**
72
- * Draw a real-time status bar at the bottom
42
+ * Draw a premium status bar at the bottom using Save/Restore cursor
73
43
  */
74
- static drawStatusBar(status: string, force: boolean = false) {
44
+ static drawStatusBar(message: string, force: boolean = false) {
75
45
  if (!this.isInitialized) return;
76
- if (this.currentStatus === status && !force) return; // Prevent flicker
46
+ if (!force && message === this.lastStatus) return;
47
+ this.lastStatus = message;
77
48
 
78
- this.currentStatus = status;
79
49
  const width = process.stdout.columns || 80;
80
50
  const height = process.stdout.rows || 24;
81
51
 
82
- // Save cursor position
52
+ // Save cursor (\x1b[s), move to bottom, write, restore cursor (\x1b[u)
83
53
  process.stdout.write('\x1b[s');
54
+ readline.cursorTo(process.stdout, 0, height - 1);
55
+ process.stdout.write(
56
+ chalk.bgBlue.white.bold(' 🧠 MATEX ') +
57
+ chalk.bgGray.white(` ${message.padEnd(width - 10)} `)
58
+ );
59
+ process.stdout.write('\x1b[u');
60
+ }
84
61
 
85
- // Move to bottom line
86
- process.stdout.write(`\x1b[${height};1H`);
62
+ /**
63
+ * Draw a box with a title and content
64
+ */
65
+ static drawBox(title: string, content: string, color: (s: string) => string = chalk.gray) {
66
+ const width = Math.min(process.stdout.columns || 80, 100);
67
+ const lines = content.split('\n');
87
68
 
88
- const cleanStatus = status.substring(0, width - 10);
89
- const bar = ` [⚡] ${cleanStatus} `.padEnd(width);
90
- process.stdout.write(chalk.bgWhite.black(bar));
69
+ console.log(color('┏' + '━'.repeat(width - 2) + '┓'));
70
+ console.log(color('┃ ') + chalk.bold(title).padEnd(width - 4) + color(' ┃'));
71
+ console.log(color('┣' + '━'.repeat(width - 2) + '┫'));
91
72
 
92
- // Restore cursor position
93
- process.stdout.write('\x1b[u');
73
+ lines.forEach(line => {
74
+ const contentWidth = width - 4;
75
+ let remaining = line;
76
+ if (remaining.length === 0) {
77
+ console.log(color('┃ ') + ' '.repeat(contentWidth) + color(' ┃'));
78
+ }
79
+ while (remaining.length > 0) {
80
+ const chunk = remaining.substring(0, contentWidth);
81
+ console.log(color('┃ ') + chalk.white(chunk.padEnd(contentWidth)) + color(' ┃'));
82
+ remaining = remaining.substring(contentWidth);
83
+ }
84
+ });
85
+
86
+ console.log(color('┗' + '━'.repeat(width - 2) + '┛'));
94
87
  }
95
88
 
96
89
  /**
97
90
  * Draw a premium code container with traffic lights
98
91
  */
99
- static drawCodeContainer(title: string, lang: string, content: string) {
92
+ static drawCodeContainer(title: string, lang: string, code: string) {
100
93
  const width = Math.min(process.stdout.columns || 80, 100);
101
- const lines = content.split('\n');
94
+ const codeLines = code.split('\n');
102
95
 
103
- console.log();
104
- // 1. Title Bar
105
96
  const trafficLights = chalk.red('●') + ' ' + chalk.yellow('●') + ' ' + chalk.green('●');
106
- const displayTitle = ` 📝 ${title} (${lang}) `;
97
+ const headerTitle = ` 📄 ${title} (${lang}) `;
107
98
 
108
- console.log(chalk.gray('┏' + '━'.repeat(width - 2) + '┓'));
109
- console.log(chalk.gray('┃ ') + trafficLights + ' ' + chalk.cyan.bold(displayTitle).padEnd(width - 10) + chalk.gray(' ┃'));
99
+ console.log(chalk.gray('\n┏' + '━'.repeat(width - 2) + '┓'));
100
+ console.log(chalk.gray('┃ ') + trafficLights + ' ' + chalk.cyan.bold(headerTitle).padEnd(width - 10) + chalk.gray(' ┃'));
110
101
  console.log(chalk.gray('┣' + '━'.repeat(width - 2) + '┫'));
111
102
 
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(' ┃'));
103
+ codeLines.forEach(line => {
104
+ const contentWidth = width - 6;
105
+ let remaining = line;
106
+ if (remaining.length === 0) {
107
+ console.log(chalk.gray('┃ ') + ' '.repeat(contentWidth) + chalk.gray(' ┃'));
108
+ }
109
+ while (remaining.length > 0) {
110
+ const chunk = remaining.substring(0, contentWidth);
111
+ console.log(chalk.gray('┃ ') + chalk.hex('#e0e0e0')(chunk.padEnd(contentWidth)) + chalk.gray(' ┃'));
112
+ remaining = remaining.substring(contentWidth);
113
+ }
116
114
  });
117
115
 
118
- // 3. Footer
119
- console.log(chalk.gray('┗' + '━'.repeat(width - 2) + '┛'));
120
- console.log();
116
+ console.log(chalk.gray('┗' + '━'.repeat(width - 2) + '┛\n'));
117
+ }
118
+
119
+ /**
120
+ * Draw a specialized message container for agents
121
+ */
122
+ static drawMessageContainer(agent: string, message: string) {
123
+ const color = agent.includes('Ajay') ? chalk.magenta :
124
+ agent.includes('Sunil') ? chalk.blue :
125
+ agent.includes('Sandip') ? chalk.hex('#FF69B4') :
126
+ chalk.green;
127
+
128
+ this.drawBox(`🤖 ${agent}`, message, color);
121
129
  }
122
130
 
123
131
  /**
124
- * Log content into the scrollable area
132
+ * Simple log with a prefix
125
133
  */
126
- static log(content: string) {
127
- if (!this.isInitialized) {
128
- console.log(content);
129
- return;
130
- }
131
- console.log(content);
134
+ static log(message: string) {
135
+ console.log(chalk.gray(` [⚡] ${message}`));
132
136
  }
133
137
  }