matex-cli 1.2.49 → 1.2.51

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 (48) hide show
  1. package/.agents/skills/mcp-server-dev/SKILL.md +60 -0
  2. package/.agents/skills/mcp-server-dev/examples/basic-ts-server/package.json +20 -0
  3. package/.agents/skills/mcp-server-dev/examples/basic-ts-server/src/index.ts +66 -0
  4. package/.agents/skills/mcp-server-dev/resources/best_practices.md +20 -0
  5. package/dist/commands/chat.d.ts.map +1 -1
  6. package/dist/commands/chat.js +20 -9
  7. package/dist/commands/chat.js.map +1 -1
  8. package/dist/commands/dev.d.ts.map +1 -1
  9. package/dist/commands/dev.js +10 -43
  10. package/dist/commands/dev.js.map +1 -1
  11. package/dist/commands/student.d.ts +3 -0
  12. package/dist/commands/student.d.ts.map +1 -0
  13. package/dist/commands/student.js +28 -0
  14. package/dist/commands/student.js.map +1 -0
  15. package/dist/commands/study.d.ts.map +1 -1
  16. package/dist/commands/study.js +12 -43
  17. package/dist/commands/study.js.map +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +15 -7
  20. package/dist/index.js.map +1 -1
  21. package/dist/utils/agent-orchestrator.d.ts +7 -0
  22. package/dist/utils/agent-orchestrator.d.ts.map +1 -1
  23. package/dist/utils/agent-orchestrator.js +26 -12
  24. package/dist/utils/agent-orchestrator.js.map +1 -1
  25. package/dist/utils/command-executor.d.ts.map +1 -1
  26. package/dist/utils/command-executor.js +17 -6
  27. package/dist/utils/command-executor.js.map +1 -1
  28. package/dist/utils/config.d.ts.map +1 -1
  29. package/dist/utils/config.js +5 -1
  30. package/dist/utils/config.js.map +1 -1
  31. package/dist/utils/patcher.d.ts.map +1 -1
  32. package/dist/utils/patcher.js +12 -7
  33. package/dist/utils/patcher.js.map +1 -1
  34. package/dist/utils/tui.d.ts +17 -2
  35. package/dist/utils/tui.d.ts.map +1 -1
  36. package/dist/utils/tui.js +82 -17
  37. package/dist/utils/tui.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/commands/chat.ts +19 -8
  40. package/src/commands/dev.ts +11 -46
  41. package/src/commands/student.ts +23 -0
  42. package/src/commands/study.ts +13 -46
  43. package/src/index.ts +16 -11
  44. package/src/utils/agent-orchestrator.ts +29 -13
  45. package/src/utils/command-executor.ts +18 -6
  46. package/src/utils/config.ts +5 -1
  47. package/src/utils/patcher.ts +14 -7
  48. package/src/utils/tui.ts +97 -17
@@ -1,6 +1,21 @@
1
+ export type TUIMode = 'dev' | 'study' | 'chat' | 'student';
2
+ export interface ModeTheme {
3
+ primary: (s: string) => string;
4
+ secondary: (s: string) => string;
5
+ border: string;
6
+ glow: (s: string) => string;
7
+ shadow: (s: string) => string;
8
+ bg: string;
9
+ icon: string;
10
+ }
1
11
  export declare class TUI {
2
12
  private static isInitialized;
3
13
  private static lastStatus;
14
+ private static streamingLineCount;
15
+ private static isStreamingTruncated;
16
+ private static currentTheme;
17
+ static getModeTheme(mode: TUIMode): ModeTheme;
18
+ static setTheme(mode: TUIMode): void;
4
19
  /**
5
20
  * Initialize the TUI Mode
6
21
  */
@@ -54,9 +69,9 @@ export declare class TUI {
54
69
  */
55
70
  static drawSummaryBox(content: string): void;
56
71
  /**
57
- * Draw a specialized message container for agents
72
+ * Draw a premium header for orchestrator messages
58
73
  */
59
- static drawMessageContainer(agent: string, message: string): void;
74
+ static drawPremiumHeader(agent: string, icon: string, color: (s: string) => string): void;
60
75
  /**
61
76
  * Draw a premium glowing dialogue container for Swarm agents
62
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/utils/tui.ts"],"names":[],"mappings":"AAIA,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;IAQpB;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIxC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAqB,EAAE,KAAK,GAAE,OAAe;IAuB1F;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAmB;IAMxF;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IA6B5E;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IA2BrD;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAYzD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAcxC;;OAEG;IACH,MAAM,CAAC,gBAAgB;IAMvB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM;IA0DrC;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAS1D;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IA2CvD;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM;CAG7B"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/utils/tui.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAAC,aAAa,CAAS;IACrC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAM;IAC/B,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAK;IACtC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAS;IAC5C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAkB;IAE7C,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS;IA8C7C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO;IAI7B;;OAEG;IACH,MAAM,CAAC,IAAI;IAYX;;OAEG;IACH,MAAM,CAAC,IAAI;IAQX;;OAEG;IACH,MAAM,CAAC,KAAK;IAIZ;;OAEG;IACH,MAAM,CAAC,aAAa;IAQpB;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIxC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAqB,EAAE,KAAK,GAAE,OAAe;IAwB1F;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAmB;IAMxF;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IA6B5E;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IA2BrD;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAczD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAuBxC;;OAEG;IACH,MAAM,CAAC,gBAAgB;IAMvB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM;IA0DrC;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM;IAWlF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IA4CvD;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM;CAG7B"}
package/dist/utils/tui.js CHANGED
@@ -40,6 +40,54 @@ exports.TUI = void 0;
40
40
  const chalk_1 = __importDefault(require("chalk"));
41
41
  const readline = __importStar(require("readline"));
42
42
  class TUI {
43
+ static getModeTheme(mode) {
44
+ switch (mode) {
45
+ case 'study':
46
+ return {
47
+ primary: chalk_1.default.hex('#10b981'), // Emerald
48
+ secondary: chalk_1.default.hex('#064e3b'),
49
+ border: '▞',
50
+ glow: chalk_1.default.hex('#34d399'),
51
+ shadow: chalk_1.default.hex('#064e3b'),
52
+ bg: '#064e3b',
53
+ icon: '🎓'
54
+ };
55
+ case 'chat':
56
+ return {
57
+ primary: chalk_1.default.hex('#a855f7'), // Purple
58
+ secondary: chalk_1.default.hex('#3b0764'),
59
+ border: '✧',
60
+ glow: chalk_1.default.hex('#c084fc'),
61
+ shadow: chalk_1.default.hex('#3b0764'),
62
+ bg: '#3b0764',
63
+ icon: '💬'
64
+ };
65
+ case 'student':
66
+ return {
67
+ primary: chalk_1.default.hex('#f59e0b'), // Amber
68
+ secondary: chalk_1.default.hex('#451a03'),
69
+ border: '▓',
70
+ glow: chalk_1.default.hex('#fbbf24'),
71
+ shadow: chalk_1.default.hex('#451a03'),
72
+ bg: '#451a03',
73
+ icon: '🛡️'
74
+ };
75
+ case 'dev':
76
+ default:
77
+ return {
78
+ primary: chalk_1.default.hex('#06b6d4'), // Cyan
79
+ secondary: chalk_1.default.hex('#164e63'),
80
+ border: '░',
81
+ glow: chalk_1.default.hex('#22d3ee'),
82
+ shadow: chalk_1.default.hex('#083344'),
83
+ bg: '#164e63',
84
+ icon: '⚡'
85
+ };
86
+ }
87
+ }
88
+ static setTheme(mode) {
89
+ this.currentTheme = mode;
90
+ }
43
91
  /**
44
92
  * Initialize the TUI Mode
45
93
  */
@@ -98,7 +146,8 @@ class TUI {
98
146
  const height = process.stdout.rows || 24;
99
147
  if (width <= 0 || height <= 0)
100
148
  return;
101
- const leftTag = chalk_1.default.bgHex('#1E1E1E').hex('#D97757').bold(' ⚡ MATEX ');
149
+ const theme = this.getModeTheme(this.currentTheme);
150
+ const leftTag = chalk_1.default.bgHex('#1E1E1E').hex(theme.bg).bold(` ${theme.icon} MATEX `);
102
151
  const mainMessage = chalk_1.default.bgHex('#1E1E1E').white(` ${message} `);
103
152
  const remainingWidth = width - (leftTag.length + mainMessage.length);
104
153
  const spacer = chalk_1.default.bgHex('#1E1E1E')(' '.repeat(Math.max(0, remainingWidth)));
@@ -132,14 +181,14 @@ class TUI {
132
181
  const hPad = Math.max(0, width - 8 - header.length);
133
182
  console.log(glow(' │ ') + chalk_1.default.bgHex('#164e63').white.bold(header) + border('─'.repeat(hPad)) + glow(' │'));
134
183
  const lines = content.split('\n');
135
- const displayLines = lines.length > 25 ? lines.slice(0, 23) : lines;
184
+ const displayLines = lines.slice(0, 10);
136
185
  displayLines.forEach(line => {
137
186
  const displayLine = line.length > innerWidth ? line.substring(0, innerWidth - 3) + '...' : line;
138
187
  const pad = Math.max(0, innerWidth - displayLine.length);
139
188
  console.log(border(' │ ') + chalk_1.default.white(displayLine) + ' '.repeat(pad) + border(' │'));
140
189
  });
141
- if (lines.length > 25) {
142
- console.log(border(' │ ') + chalk_1.default.italic.gray(`... ${lines.length - 23} more lines ...`).padEnd(innerWidth) + border(' │'));
190
+ if (lines.length > 10) {
191
+ console.log(border(' │ ') + chalk_1.default.hex('#06b6d4').bold(` ^ [ ${lines.length - 10} MORE LINES • USE ^ TO SEE ALL ] ^`).padEnd(innerWidth) + border(' │'));
143
192
  }
144
193
  console.log(shadow(` └${'─'.repeat(width - 4)}┘\n`));
145
194
  }
@@ -176,6 +225,8 @@ class TUI {
176
225
  * Live Streaming: Start a technical block container
177
226
  */
178
227
  static drawStreamingStart(title, language) {
228
+ this.streamingLineCount = 0;
229
+ this.isStreamingTruncated = false;
179
230
  const width = 76;
180
231
  const glow = chalk_1.default.hex('#06b6d4');
181
232
  const border = chalk_1.default.hex('#164e63');
@@ -189,16 +240,24 @@ class TUI {
189
240
  * Live Streaming: Add a line to the active container
190
241
  */
191
242
  static drawStreamingLine(content) {
243
+ if (this.isStreamingTruncated)
244
+ return;
192
245
  const width = 76;
193
246
  const innerWidth = width - 8;
194
247
  const border = chalk_1.default.hex('#164e63');
195
248
  // Handle multi-line content if passed
196
249
  const lines = content.split('\n');
197
- lines.forEach(line => {
250
+ for (const line of lines) {
251
+ if (this.streamingLineCount >= 10) {
252
+ this.isStreamingTruncated = true;
253
+ console.log(border(' │ ') + chalk_1.default.hex('#06b6d4').bold(` ^ [ MAX STABLE VIEW REACHED • STREAMING TRUNCATED ] ^`).padEnd(innerWidth) + border(' │'));
254
+ break;
255
+ }
198
256
  const displayLine = line.length > innerWidth ? line.substring(0, innerWidth - 3) + '...' : line;
199
257
  const pad = Math.max(0, innerWidth - displayLine.length);
200
258
  console.log(border(' │ ') + chalk_1.default.white(displayLine) + ' '.repeat(pad) + border(' │'));
201
- });
259
+ this.streamingLineCount++;
260
+ }
202
261
  }
203
262
  /**
204
263
  * Live Streaming: Close the container
@@ -266,14 +325,16 @@ class TUI {
266
325
  console.log();
267
326
  }
268
327
  /**
269
- * Draw a specialized message container for agents
328
+ * Draw a premium header for orchestrator messages
270
329
  */
271
- static drawMessageContainer(agent, message) {
272
- const color = agent.includes('Ajay') ? chalk_1.default.magenta :
273
- agent.includes('Sunil') ? chalk_1.default.blue :
274
- agent.includes('Sandip') ? chalk_1.default.hex('#FF69B4') :
275
- chalk_1.default.green;
276
- this.drawBox(`🤖 ${agent}`, message, color);
330
+ static drawPremiumHeader(agent, icon, color) {
331
+ const theme = this.getModeTheme(this.currentTheme);
332
+ const width = 76;
333
+ console.log('\n' + theme.shadow(`${theme.border.repeat(width / theme.border.length)}`));
334
+ const header = ` ${icon} ${agent.toUpperCase()} `;
335
+ const hPad = Math.max(0, width - 8 - header.length);
336
+ console.log(theme.primary(` ${theme.border} `) + chalk_1.default.bgHex(theme.bg).white.bold(header) + theme.secondary(' '.repeat(hPad)) + theme.primary(` ${theme.border}`));
337
+ console.log(theme.shadow(`${theme.border.repeat(width / theme.border.length)}`));
277
338
  }
278
339
  /**
279
340
  * Draw a premium glowing dialogue container for Swarm agents
@@ -295,12 +356,13 @@ class TUI {
295
356
  agent.includes('Narayan') ? '🛡️' : '🤖';
296
357
  const width = 76;
297
358
  const innerWidth = width - 10;
359
+ const theme = this.getModeTheme(this.currentTheme);
298
360
  // Robust Elite Header
299
- console.log('\n' + color(` ┌${'─'.repeat(width - 4)}┐`));
361
+ console.log('\n' + theme.primary(` ${theme.border.repeat(width - 4)}`));
300
362
  const header = ` ${icon} ${agent.toUpperCase()} `;
301
363
  const hPad = Math.max(0, width - 8 - header.length);
302
- console.log(color(' ') + chalk_1.default.bgHex('#1a1a1a').white.bold(header) + color('╊'.repeat(hPad)) + color(' │'));
303
- console.log(color(' ') + glowColor('─'.repeat(width - 6)) + color(' │'));
364
+ console.log(theme.primary(` ${theme.border} `) + chalk_1.default.bgHex(theme.bg).white.bold(header) + theme.secondary(theme.border.repeat(hPad)) + theme.primary(` ${theme.border}`));
365
+ console.log(theme.primary(` ${theme.border} `) + glowColor('─'.repeat(width - 8)) + theme.primary(` ${theme.border}`));
304
366
  // Wrapped Content
305
367
  const words = message.split(' ');
306
368
  let currentLine = '';
@@ -316,7 +378,7 @@ class TUI {
316
378
  });
317
379
  if (currentLine)
318
380
  console.log(color(' │ ') + chalk_1.default.white(currentLine.padEnd(innerWidth)) + color(' │'));
319
- console.log(color(` └${'─'.repeat(width - 4)}┘\n`));
381
+ console.log(theme.primary(` ${theme.border.repeat(width - 4)}`));
320
382
  }
321
383
  /**
322
384
  * Simple log with a prefix
@@ -328,4 +390,7 @@ class TUI {
328
390
  exports.TUI = TUI;
329
391
  TUI.isInitialized = false;
330
392
  TUI.lastStatus = '';
393
+ TUI.streamingLineCount = 0;
394
+ TUI.isStreamingTruncated = false;
395
+ TUI.currentTheme = 'dev';
331
396
  //# 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.49",
3
+ "version": "1.2.51",
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": {
@@ -10,7 +10,7 @@ import { TUI } from '../utils/tui';
10
10
 
11
11
  export const chatCommand = new Command('chat')
12
12
  .description('Start an interactive chat session with MATEX AI')
13
- .option('-m, --model <model>', 'AI model to use (matexai, matexcodex, matexcodexlite, matexelite, matexspirit)', configManager.getDefaultModel())
13
+ .option('-m, --model <model>', 'AI model to use (matex-free, matexai, matexcodex, matexelite)', configManager.getDefaultModel())
14
14
  .option('--execute', 'Enable command execution in chat')
15
15
  .action(async (options: any) => {
16
16
  try {
@@ -23,6 +23,7 @@ export const chatCommand = new Command('chat')
23
23
  const client = new MatexAPIClient(apiKey, configManager.getBaseURL());
24
24
 
25
25
  TUI.init();
26
+ AgentOrchestrator.setMode('chat');
26
27
  TUI.drawLargeLogo();
27
28
  TUI.drawWelcomeBanner('Welcome to the MATEX AI Bro-Swarm Chat!');
28
29
 
@@ -142,7 +143,7 @@ ${repoMap}`
142
143
  if (!hasStarted) {
143
144
  spinner.stop();
144
145
  hasStarted = true;
145
- TUI.drawStatusBar('Swarm Active', options.model);
146
+ console.log();
146
147
  }
147
148
  fullResponse += chunk;
148
149
  buffer += chunk;
@@ -156,11 +157,20 @@ ${repoMap}`
156
157
  const sumMatch = line.match(/<summary>/);
157
158
 
158
159
  if (!technicalType && (codeMatch || fileMatch || patchMatch || sumMatch)) {
159
- if (codeMatch) technicalType = 'code', codeLang = codeMatch[1] || 'bash';
160
- else if (fileMatch) technicalType = 'file';
161
- else if (patchMatch) technicalType = 'patch';
162
- else if (sumMatch) technicalType = 'summary';
163
- process.stdout.write(chalk.gray(`\n [⚡] Swarm processing \${technicalType}...\n`));
160
+ if (codeMatch) {
161
+ technicalType = 'code';
162
+ codeLang = (codeMatch[1] || 'bash').toUpperCase();
163
+ TUI.drawStreamingStart('TECHNICAL BLOCK', codeLang);
164
+ } else if (fileMatch) {
165
+ technicalType = 'file';
166
+ TUI.drawStreamingStart('NEW FILE', fileMatch[1]);
167
+ } else if (patchMatch) {
168
+ technicalType = 'patch';
169
+ TUI.drawStreamingStart('PATCH', 'SURGICAL EDIT');
170
+ } else if (sumMatch) {
171
+ technicalType = 'summary';
172
+ process.stdout.write(chalk.magenta('\n [📝] Generating Ajay\'s Work Summary...\n'));
173
+ }
164
174
  continue;
165
175
  }
166
176
 
@@ -172,7 +182,7 @@ ${repoMap}`
172
182
  if (isEnd) {
173
183
  const content = technicalBuffer.trim();
174
184
  if (technicalType === 'summary') TUI.drawSummaryBox(content);
175
- else TUI.drawGlowingContainer(technicalType || 'Technical Block', codeLang, content);
185
+ else TUI.drawStreamingEnd();
176
186
  technicalBuffer = '';
177
187
  technicalType = null;
178
188
  process.stdout.write('\n');
@@ -181,6 +191,7 @@ ${repoMap}`
181
191
 
182
192
  if (technicalType) {
183
193
  technicalBuffer += line + '\n';
194
+ if (technicalType !== 'summary') TUI.drawStreamingLine(line);
184
195
  continue;
185
196
  }
186
197
 
@@ -11,7 +11,7 @@ import { TUI } from '../utils/tui';
11
11
 
12
12
  export const devCommand = new Command('dev')
13
13
  .description('Start interactive development session with MATEXCodex')
14
- .option('-m, --model <model>', 'AI model to use (matexai, matexcodex, matexcodexlite, matexelite, matexspirit)', configManager.getDefaultModel())
14
+ .option('-m, --model <model>', 'AI model to use (matex-free, matexai, matexcodex, matexelite)', configManager.getDefaultModel())
15
15
  .option('--no-execute', 'Disable auto-prompt for command execution')
16
16
  .action(async (options: any) => {
17
17
  try {
@@ -26,10 +26,16 @@ export const devCommand = new Command('dev')
26
26
  // Create API client
27
27
  const client = new MatexAPIClient(apiKey, configManager.getBaseURL());
28
28
 
29
+ const extraPrompt = options.model === 'matex-free' ? AgentOrchestrator.getFreeTierPrompt() : '';
30
+
29
31
  // 0. Initialize TUI Dashboard
30
32
  TUI.init();
33
+ AgentOrchestrator.setMode('dev');
31
34
  TUI.drawLargeLogo();
32
- TUI.drawWelcomeBanner('Welcome to the MATEX AI research preview!');
35
+ if (options.model === 'matex-free') {
36
+ console.log(chalk.bold.hex('#00FF7F')('\n 🎓 MATEX STUDENT EDITION - Zero Bill Protocol\n'));
37
+ }
38
+ TUI.drawWelcomeBanner(options.model === 'matex-free' ? 'ZERO-COST AI FOR STUDENTS!' : 'Welcome to the MATEX AI research preview!');
33
39
 
34
40
  console.log(chalk.gray(' Status: ') + chalk.hex('#D97757').bold('Monitoring Workspace...'));
35
41
  console.log(chalk.gray(' Model: ') + chalk.hex('#D97757').bold(options.model));
@@ -50,7 +56,7 @@ export const devCommand = new Command('dev')
50
56
  const messages: ChatMessage[] = [
51
57
  {
52
58
  role: 'system',
53
- content: `### 🧬 SYSTEM IDENTITY: THE MATEX "BRO-SWARM"
59
+ content: extraPrompt + `### 🧬 SYSTEM IDENTITY: THE MATEX "BRO-SWARM"
54
60
  You are the legendary **Bro-Swarm**, a high-vibe family of Nepali engineering brothers. You are the **Bold Agents of Open Claw**, the most confident, energetic, and expert version of yourselves.
55
61
 
56
62
  ### 🏠 WORKSPACE GROUNDING (CRITICAL):
@@ -183,7 +189,7 @@ If a file is too large to read entirely (e.g., thousands of lines):
183
189
 
184
190
  // Agentic Loop
185
191
  let loopCount = 0;
186
- const MAX_LOOPS = 10;
192
+ const MAX_LOOPS = 25;
187
193
 
188
194
  while (loopCount < MAX_LOOPS) {
189
195
  loopCount++;
@@ -378,48 +384,7 @@ If a file is too large to read entirely (e.g., thousands of lines):
378
384
  console.log();
379
385
  messages.push({ role: 'assistant', content: fullResponse });
380
386
 
381
- // ✅ IMMEDIATE FILE AND PATCH APPROVAL
382
- const { Patcher } = await import('../utils/patcher');
383
- const files = Patcher.parseFileBlocks(fullResponse);
384
- const patches = Patcher.parseEditBlocks(fullResponse);
385
-
386
- let approvalResultText = '';
387
-
388
- for (const file of files) {
389
- Patcher.showDiff(file, false);
390
- const { save } = await inquirer.prompt([{
391
- type: 'confirm', name: 'save',
392
- message: chalk.cyan(`Save new file ${file.filePath}?`), default: true
393
- }]);
394
- if (save) {
395
- const res = Patcher.createFile(file);
396
- approvalResultText += res.success ? `✅ Created ${file.filePath}\n` : `❌ Failed to create ${file.filePath}: ${res.error}\n`;
397
- } else {
398
- approvalResultText += `⏭️ Skipped creating ${file.filePath}\n`;
399
- }
400
- }
401
-
402
- for (const patch of patches) {
403
- Patcher.showDiff(patch, false);
404
- const { save } = await inquirer.prompt([{
405
- type: 'confirm', name: 'save',
406
- message: chalk.yellow(`Apply patch to ${patch.filePath}?`), default: true
407
- }]);
408
- if (save) {
409
- const res = Patcher.applyPatch(patch);
410
- approvalResultText += res.success ? `✅ Patched ${patch.filePath}\n` : `❌ Failed to patch ${patch.filePath}: ${res.error}\n`;
411
- } else {
412
- approvalResultText += `⏭️ Skipped patching ${patch.filePath}\n`;
413
- }
414
- }
415
-
416
- if (approvalResultText) {
417
- messages.push({ role: 'user', content: approvalResultText + "\nContinue your work." });
418
- // If we just applied files, we should give the agent a chance to respond to the success/failure without resetting loop
419
- continue;
420
- }
421
-
422
- // Execute commands or MCP tools if needed
387
+ // ✅ CONSOLIDATED EXECUTION (Files + Commands + Patches)
423
388
  if (options.execute) {
424
389
  const { executeWithPermission } = await import('../utils/command-executor');
425
390
  const result = await executeWithPermission(fullResponse, currentDir);
@@ -0,0 +1,23 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import { studyCommand } from './study';
4
+ import { TUI } from '../utils/tui';
5
+ import { AgentOrchestrator } from '../utils/agent-orchestrator';
6
+
7
+ export const studentCommand = new Command('student')
8
+ .description('Launch specialized Student Study Session (Free Tier)')
9
+ .action(async (options) => {
10
+ TUI.init();
11
+ AgentOrchestrator.setMode('student');
12
+ TUI.drawLargeLogo();
13
+ console.log(chalk.bold.hex('#00FF7F')('\n 🎓 MATEX STUDENT EDITION - Powered by Open Source\n'));
14
+ console.log(chalk.gray(' Model: ') + chalk.hex('#00FF7F').bold('matex-free (0 Cost)'));
15
+ console.log(chalk.gray(' Status: ') + chalk.hex('#00FF7F').bold('Zero-Bill Protocol Active\n'));
16
+
17
+ // Forward to study command with pre-set model
18
+ await studyCommand.parseAsync([
19
+ process.argv[0],
20
+ 'study',
21
+ '--model', 'matex-free'
22
+ ]);
23
+ });
@@ -11,7 +11,7 @@ import { TUI } from '../utils/tui';
11
11
 
12
12
  export const studyCommand = new Command('study')
13
13
  .description('Start interactive study session with the MATEX Apex Educator Swarm')
14
- .option('-m, --model <model>', 'AI model to use (matexai, matexcodex, matexcodexlite, matexelite, matexspirit)', configManager.getDefaultModel())
14
+ .option('-m, --model <model>', 'AI model to use (matex-free, matexai, matexcodex, matexelite)', configManager.getDefaultModel())
15
15
  .option('--no-execute', 'Disable auto-prompt for command execution')
16
16
  .action(async (options: any) => {
17
17
  try {
@@ -26,10 +26,18 @@ export const studyCommand = new Command('study')
26
26
  // Create API client
27
27
  const client = new MatexAPIClient(apiKey, configManager.getBaseURL());
28
28
 
29
+ const extraPrompt = options.model === 'matex-free' ? AgentOrchestrator.getFreeTierPrompt() : '';
30
+
29
31
  // 0. Initialize TUI Dashboard
30
32
  TUI.init();
33
+ if (options.model !== 'matex-free') {
34
+ AgentOrchestrator.setMode('study');
35
+ }
31
36
  TUI.drawLargeLogo();
32
- TUI.drawWelcomeBanner('Welcome to the MATEX AI research preview!');
37
+ if (options.model === 'matex-free') {
38
+ console.log(chalk.bold.hex('#00FF7F')('\n 🎓 MATEX STUDENT EDITION - Zero Bill Protocol\n'));
39
+ }
40
+ TUI.drawWelcomeBanner(options.model === 'matex-free' ? 'ZERO-COST STUDY AI FOR STUDENTS!' : 'Welcome to the MATEX AI research preview!');
33
41
 
34
42
  console.log(chalk.gray(' Status: ') + chalk.hex('#D97757').bold('Monitoring Workspace...'));
35
43
  console.log(chalk.gray(' Model: ') + chalk.hex('#D97757').bold(options.model));
@@ -50,7 +58,7 @@ export const studyCommand = new Command('study')
50
58
  const messages: ChatMessage[] = [
51
59
  {
52
60
  role: 'system',
53
- content: `### 🧬 SYSTEM IDENTITY: THE MATEX "APEX EDUCATOR SWARM"
61
+ content: extraPrompt + `### 🧬 SYSTEM IDENTITY: THE MATEX "APEX EDUCATOR SWARM"
54
62
  You are the legendary **Bro-Swarm**, but right now you are operating as the **Apex Educator Swarm**—an elite, omniscient group of tutors possessing world-class expertise across every known subject. You act as the ultimate mentors, tutors, and research assistants for our brother.
55
63
 
56
64
  ### 🎓 ELITE STUDY METHODS & CAPABILITIES:
@@ -165,7 +173,7 @@ If a file is too large to read entirely (e.g., thousands of lines):
165
173
 
166
174
  // Agentic Loop
167
175
  let loopCount = 0;
168
- const MAX_LOOPS = 10;
176
+ const MAX_LOOPS = 25;
169
177
 
170
178
  while (loopCount < MAX_LOOPS) {
171
179
  loopCount++;
@@ -359,48 +367,7 @@ If a file is too large to read entirely (e.g., thousands of lines):
359
367
  console.log();
360
368
  messages.push({ role: 'assistant', content: fullResponse });
361
369
 
362
- // ✅ IMMEDIATE FILE AND PATCH APPROVAL
363
- const { Patcher } = await import('../utils/patcher');
364
- const files = Patcher.parseFileBlocks(fullResponse);
365
- const patches = Patcher.parseEditBlocks(fullResponse);
366
-
367
- let approvalResultText = '';
368
-
369
- for (const file of files) {
370
- Patcher.showDiff(file, false);
371
- const { save } = await inquirer.prompt([{
372
- type: 'confirm', name: 'save',
373
- message: chalk.cyan(`Save new file ${file.filePath}?`), default: true
374
- }]);
375
- if (save) {
376
- const res = Patcher.createFile(file);
377
- approvalResultText += res.success ? `✅ Created ${file.filePath}\n` : `❌ Failed to create ${file.filePath}: ${res.error}\n`;
378
- } else {
379
- approvalResultText += `⏭️ Skipped creating ${file.filePath}\n`;
380
- }
381
- }
382
-
383
- for (const patch of patches) {
384
- Patcher.showDiff(patch, false);
385
- const { save } = await inquirer.prompt([{
386
- type: 'confirm', name: 'save',
387
- message: chalk.yellow(`Apply patch to ${patch.filePath}?`), default: true
388
- }]);
389
- if (save) {
390
- const res = Patcher.applyPatch(patch);
391
- approvalResultText += res.success ? `✅ Patched ${patch.filePath}\n` : `❌ Failed to patch ${patch.filePath}: ${res.error}\n`;
392
- } else {
393
- approvalResultText += `⏭️ Skipped patching ${patch.filePath}\n`;
394
- }
395
- }
396
-
397
- if (approvalResultText) {
398
- messages.push({ role: 'user', content: approvalResultText + "\nContinue your work." });
399
- // If we just applied files, we should give the agent a chance to respond to the success/failure without resetting loop
400
- continue;
401
- }
402
-
403
- // Execute commands or MCP tools if needed
370
+ // ✅ CONSOLIDATED EXECUTION (Files + Commands + Patches)
404
371
  if (options.execute) {
405
372
  const { executeWithPermission } = await import('../utils/command-executor');
406
373
  const result = await executeWithPermission(fullResponse, currentDir);