matex-cli 1.2.10 → 1.2.12

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;AASpC,eAAO,MAAM,UAAU,SAyOjB,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,SA+OjB,CAAC"}
@@ -45,6 +45,7 @@ const client_1 = require("../api/client");
45
45
  const spinner_1 = require("../utils/spinner");
46
46
  const agent_orchestrator_1 = require("../utils/agent-orchestrator");
47
47
  const repo_mapper_1 = require("../utils/repo-mapper");
48
+ const tui_1 = require("../utils/tui");
48
49
  exports.devCommand = new commander_1.Command('dev')
49
50
  .description('Start interactive development session with MATEXCodex')
50
51
  .option('-m, --model <model>', 'AI model to use (matexcore, matexcodex, matexai, elite, matexspirit)', config_1.configManager.getDefaultModel())
@@ -60,16 +61,20 @@ exports.devCommand = new commander_1.Command('dev')
60
61
  }
61
62
  // Create API client
62
63
  const client = new client_1.MatexAPIClient(apiKey, config_1.configManager.getBaseURL());
63
- // Welcome message
64
- agent_orchestrator_1.AgentOrchestrator.announce('MATEX Multi-Agent Dev Session');
65
- console.log(chalk_1.default.gray(''.repeat(50)));
66
- console.log(chalk_1.default.white(`Model: ${chalk_1.default.cyan(options.model)}`));
67
- console.log(chalk_1.default.gray('Type your requests, or "exit" to quit\n'));
64
+ // 0. Initialize God-Mode TUI Dashboard
65
+ tui_1.TUI.init();
66
+ console.log(chalk_1.default.bold.cyan('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
67
+ console.log(chalk_1.default.bold.white(' 🚀 MATEX :: THE BRO-SWARM IS ONLINE '));
68
+ console.log(chalk_1.default.bold.cyan('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
69
+ console.log(chalk_1.default.gray(' Status: Monitoring Workspace...'));
70
+ console.log(chalk_1.default.gray(' Type your request brother, or "exit" to quit\n'));
68
71
  // 1. Observation Phase: Generate Repo Map
69
- agent_orchestrator_1.AgentOrchestrator.announce('Initializing MATEX "Bro-Swarm"...');
72
+ tui_1.TUI.drawStatusBar('Initializing MATEX "Bro-Swarm"...');
73
+ agent_orchestrator_1.AgentOrchestrator.announce('Analyzing Repository Structure...');
70
74
  const repoMapper = new repo_mapper_1.RepoMapper(process.cwd());
71
75
  const repoMap = await repoMapper.generateMap();
72
- agent_orchestrator_1.AgentOrchestrator.speak('System', 'Brothers are ready to build.');
76
+ tui_1.TUI.drawStatusBar('Brothers are ready to build.');
77
+ agent_orchestrator_1.AgentOrchestrator.speak('System', 'Awaiting your command, brother.');
73
78
  // Conversation history with "Bro-Swarm" Architecture
74
79
  const messages = [
75
80
  {
@@ -152,10 +157,11 @@ ${repoMap}`
152
157
  let hasStarted = false;
153
158
  let inCodeBlock = false;
154
159
  let lastRole = 'Commander';
160
+ tui_1.TUI.drawStatusBar('Swarm is processing...');
155
161
  await client.chatStream({
156
162
  messages,
157
- model: options.model,
158
- temperature: 0.3,
163
+ model: options.model, // Kept original model from options
164
+ temperature: 0.3, // Kept original temperature
159
165
  max_tokens: 8000,
160
166
  }, (chunk) => {
161
167
  if (!hasStarted) {
@@ -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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"}
@@ -5,6 +5,10 @@ export interface AgentConfig {
5
5
  color: (text: string) => string;
6
6
  }
7
7
  export declare class AgentOrchestrator {
8
+ /**
9
+ * Clean text of unwanted AI artifacts like $$**, \(, \), etc.
10
+ */
11
+ static cleanText(text: string): string;
8
12
  /**
9
13
  * Display an agent's "thought" or action
10
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent-orchestrator.d.ts","sourceRoot":"","sources":["../../src/utils/agent-orchestrator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,aAAa,CAAC;AAE1K,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC;AA4DD,qBAAa,iBAAiB;IAC1B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAK7C;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAM7C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS;IAMhD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAuChE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;CAGlC"}
1
+ {"version":3,"file":"agent-orchestrator.d.ts","sourceRoot":"","sources":["../../src/utils/agent-orchestrator.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,aAAa,CAAC;AAE1K,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC;AA4DD,qBAAa,iBAAiB;IAC1B;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAStC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAS7C;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAU7C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS;IAOhD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAuChE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;CAGlC"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AgentOrchestrator = void 0;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
+ const tui_1 = require("./tui");
8
9
  const AGENT_CONFIGS = {
9
10
  Architect: {
10
11
  name: 'MatexCodeArchitect',
@@ -63,20 +64,39 @@ const AGENT_CONFIGS = {
63
64
  }
64
65
  };
65
66
  class AgentOrchestrator {
67
+ /**
68
+ * Clean text of unwanted AI artifacts like $$**, \(, \), etc.
69
+ */
70
+ static cleanText(text) {
71
+ return text
72
+ .replace(/\$\$\*\*.*?\*\*\$\$/g, '') // Strip inline math/thinking blocks
73
+ .replace(/\$\$[\s\S]*?\$\$/g, '') // Strip multiline blocks
74
+ .replace(/\\\[|\\\]|\\\(|\\\)/g, '') // Strip LaTeX style delimiters
75
+ .replace(/\*\*Thought:\*\*/gi, '') // Strip common thinking labels
76
+ .trim();
77
+ }
66
78
  /**
67
79
  * Display an agent's "thought" or action
68
80
  */
69
81
  static speak(role, message) {
70
82
  const config = AGENT_CONFIGS[role] || AGENT_CONFIGS.System;
71
- console.log(`\n${config.icon} ${config.color(`${config.name}:`)} ${chalk_1.default.white(message)}`);
83
+ const cleaned = this.cleanText(message);
84
+ if (!cleaned)
85
+ return; // Skip if empty after cleaning
86
+ tui_1.TUI.drawStatusBar(`${config.name} is speaking...`);
87
+ console.log(`\n${config.icon} ${config.color(`${config.name}:`)} ${chalk_1.default.white(cleaned)}`);
72
88
  }
73
89
  /**
74
90
  * Display an agent's internal deliberation (Thinking Channel)
75
91
  */
76
92
  static think(role, thought) {
77
93
  const config = AGENT_CONFIGS[role] || AGENT_CONFIGS.System;
94
+ const cleaned = this.cleanText(thought);
95
+ if (!cleaned)
96
+ return;
97
+ tui_1.TUI.drawStatusBar(`${config.name} is thinking...`);
78
98
  const indent = ' ';
79
- console.log(`${indent}${config.color('🧠')} ${chalk_1.default.gray(`${config.name} thinking:`)} ${chalk_1.default.italic.gray(`"${thought}"`)}`);
99
+ console.log(`${indent}${config.color('🧠')} ${chalk_1.default.gray(`${config.name} thinking:`)} ${chalk_1.default.italic.gray(`"${cleaned}"`)}`);
80
100
  }
81
101
  /**
82
102
  * Display a collaboration transition
@@ -84,6 +104,7 @@ class AgentOrchestrator {
84
104
  static transition(from, to) {
85
105
  const fromCfg = AGENT_CONFIGS[from] || AGENT_CONFIGS.System;
86
106
  const toCfg = AGENT_CONFIGS[to] || AGENT_CONFIGS.System;
107
+ tui_1.TUI.drawStatusBar(`Handover: ${fromCfg.name} ➔ ${toCfg.name}`);
87
108
  console.log(chalk_1.default.gray(` └─ ${fromCfg.icon} ➔ ${toCfg.icon} Handover to ${toCfg.name}...`));
88
109
  }
89
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-orchestrator.js","sourceRoot":"","sources":["../../src/utils/agent-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-orchestrator.js","sourceRoot":"","sources":["../../src/utils/agent-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"patcher.d.ts","sourceRoot":"","sources":["../../src/utils/patcher.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,OAAO;IAChB;;;;;;;;;OASG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAiBrD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IA8BzE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS;CAcnC"}
1
+ {"version":3,"file":"patcher.d.ts","sourceRoot":"","sources":["../../src/utils/patcher.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,OAAO;IAChB;;;;;;;;;OASG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAiBrD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IA6CzE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS;CAkBnC"}
@@ -7,6 +7,7 @@ exports.Patcher = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const chalk_1 = __importDefault(require("chalk"));
10
+ const tui_1 = require("./tui");
10
11
  class Patcher {
11
12
  /**
12
13
  * Parse surgical edit blocks from AI response
@@ -36,26 +37,39 @@ class Patcher {
36
37
  * Apply a surgical patch to a file
37
38
  */
38
39
  static applyPatch(block) {
40
+ tui_1.TUI.drawStatusBar(`Applying Patch: ${block.filePath}...`);
39
41
  try {
40
42
  const fullPath = path_1.default.resolve(process.cwd(), block.filePath);
41
43
  if (!fs_1.default.existsSync(fullPath)) {
44
+ tui_1.TUI.drawStatusBar(`Error: File not found: ${block.filePath}`);
42
45
  return { success: false, error: `File not found: ${block.filePath}` };
43
46
  }
44
47
  const content = fs_1.default.readFileSync(fullPath, 'utf8');
45
- // Normalize line endings for comparison
48
+ // Normalize and trim for better matching robustness
46
49
  const normalizedContent = content.replace(/\r\n/g, '\n');
47
- const normalizedSearch = block.search.replace(/\r\n/g, '\n');
50
+ const normalizedSearch = block.search.replace(/\r\n/g, '\n').trim();
51
+ const normalizedReplace = block.replace.replace(/\r\n/g, '\n').trim();
48
52
  if (!normalizedContent.includes(normalizedSearch)) {
49
- return {
50
- success: false,
51
- error: `Search block not found in ${block.filePath}. Please ensure the search block matches exactly (including indentation).`
52
- };
53
+ // Try a fuzzy match by trimming internal lines as well
54
+ const fuzzyContent = normalizedContent.split('\n').map(l => l.trimEnd()).join('\n');
55
+ const fuzzySearch = normalizedSearch.split('\n').map(l => l.trimEnd()).join('\n');
56
+ if (!fuzzyContent.includes(fuzzySearch)) {
57
+ tui_1.TUI.drawStatusBar(`❌ Patch Failed: Search block not found in ${block.filePath}`);
58
+ return {
59
+ success: false,
60
+ error: `Search block not found in ${block.filePath}. Please ensure the code snippet matches exactly (ignoring trailing whitespace).`
61
+ };
62
+ }
63
+ // If fuzzy match worked, we can still try to replace but it's riskier.
64
+ // For now, let's stick to strict-ish matching but with trimmed ends.
53
65
  }
54
- const updatedContent = normalizedContent.replace(normalizedSearch, block.replace.replace(/\r\n/g, '\n'));
66
+ const updatedContent = normalizedContent.replace(normalizedSearch, normalizedReplace);
55
67
  fs_1.default.writeFileSync(fullPath, updatedContent, 'utf8');
68
+ tui_1.TUI.drawStatusBar(`✅ Success: ${block.filePath} patched.`);
56
69
  return { success: true };
57
70
  }
58
71
  catch (err) {
72
+ tui_1.TUI.drawStatusBar(`❌ Error: ${err.message}`);
59
73
  return { success: false, error: err.message };
60
74
  }
61
75
  }
@@ -63,16 +77,19 @@ class Patcher {
63
77
  * Visualize the diff in a premium "Bro" style
64
78
  */
65
79
  static showDiff(block) {
66
- console.log(chalk_1.default.bold.cyan(`\n💎 Surgical Edit: ${chalk_1.default.white(block.filePath)}`));
80
+ process.stdout.write('\n');
81
+ console.log(chalk_1.default.bgCyan.black(` 💎 PROPOSED SURGICAL EDIT: ${block.filePath} `));
82
+ console.log(chalk_1.default.cyan('╒' + '═'.repeat(70) + '╕'));
67
83
  const searchLines = block.search.split('\n');
68
84
  const replaceLines = block.replace.split('\n');
69
85
  searchLines.forEach(line => {
70
- console.log(chalk_1.default.red(` - ${line}`));
86
+ console.log(chalk_1.default.red('│ - ') + chalk_1.default.red(line));
71
87
  });
72
- console.log(chalk_1.default.gray(' ----------'));
88
+ console.log(chalk_1.default.gray('' + '┄'.repeat(70) + '╡'));
73
89
  replaceLines.forEach(line => {
74
- console.log(chalk_1.default.green(` + ${line}`));
90
+ console.log(chalk_1.default.green('│ + ') + chalk_1.default.green(line));
75
91
  });
92
+ console.log(chalk_1.default.cyan('╘' + '═'.repeat(70) + '╛'));
76
93
  console.log();
77
94
  }
78
95
  }
@@ -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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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * TUI Management for MATEX CLI "God-Mode"
3
+ * Handles screen buffers, persistent headers, and real-time status updates.
4
+ */
5
+ export declare class TUI {
6
+ private static isInitialized;
7
+ private static currentStatus;
8
+ /**
9
+ * Initialize the TUI Mode
10
+ */
11
+ static init(): void;
12
+ /**
13
+ * Restore Terminal to normal state
14
+ */
15
+ static exit(): void;
16
+ /**
17
+ * Clear the main viewport
18
+ */
19
+ static clear(): void;
20
+ /**
21
+ * Draw the persistent top header
22
+ */
23
+ static drawHeader(): void;
24
+ /**
25
+ * Draw a real-time status bar at the bottom
26
+ */
27
+ static drawStatusBar(status: string): void;
28
+ /**
29
+ * Log content into the scrollable area
30
+ */
31
+ static log(content: string): void;
32
+ }
33
+ //# sourceMappingURL=tui.d.ts.map
@@ -0,0 +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;IAqBnC;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM;CAU7B"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TUI = void 0;
7
+ 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
+ */
12
+ class TUI {
13
+ /**
14
+ * Initialize the TUI Mode
15
+ */
16
+ static init() {
17
+ if (this.isInitialized)
18
+ return;
19
+ // Enter alternative screen buffer
20
+ process.stdout.write('\x1b[?1049h');
21
+ // Hide cursor
22
+ process.stdout.write('\x1b[?25l');
23
+ this.clear();
24
+ this.isInitialized = true;
25
+ // Ensure clean exit
26
+ process.on('SIGINT', () => this.exit());
27
+ process.on('exit', () => this.exit());
28
+ }
29
+ /**
30
+ * Restore Terminal to normal state
31
+ */
32
+ static exit() {
33
+ if (!this.isInitialized)
34
+ return;
35
+ // Show cursor
36
+ process.stdout.write('\x1b[?25h');
37
+ // Exit alternative screen buffer
38
+ process.stdout.write('\x1b[?1049l');
39
+ this.isInitialized = false;
40
+ process.exit();
41
+ }
42
+ /**
43
+ * Clear the main viewport
44
+ */
45
+ static clear() {
46
+ process.stdout.write('\x1b[2J\x1b[H');
47
+ this.drawHeader();
48
+ this.drawStatusBar(this.currentStatus);
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
+ console.log(chalk_1.default.bgCyan.black(' '.repeat(padding) + banner + ' '.repeat(width - banner.length - padding)));
60
+ console.log(chalk_1.default.gray('─'.repeat(width)));
61
+ }
62
+ /**
63
+ * Draw a real-time status bar at the bottom
64
+ */
65
+ static drawStatusBar(status) {
66
+ this.currentStatus = status;
67
+ if (!this.isInitialized)
68
+ return;
69
+ const width = process.stdout.columns || 80;
70
+ const height = process.stdout.rows || 24;
71
+ // Save cursor position
72
+ process.stdout.write('\x1b[s');
73
+ // Move to bottom line
74
+ process.stdout.write(`\x1b[${height};1H`);
75
+ const cleanStatus = status.substring(0, width - 10);
76
+ const bar = ` [⚡] ${cleanStatus} `.padEnd(width);
77
+ process.stdout.write(chalk_1.default.bgWhite.black(bar));
78
+ // Restore cursor position
79
+ process.stdout.write('\x1b[u');
80
+ }
81
+ /**
82
+ * Log content into the scrollable area
83
+ */
84
+ static log(content) {
85
+ if (!this.isInitialized) {
86
+ console.log(content);
87
+ return;
88
+ }
89
+ // Since we are in an alternative buffer, standard console.log works
90
+ // within the viewport between header and footer.
91
+ console.log(content);
92
+ }
93
+ }
94
+ exports.TUI = TUI;
95
+ TUI.isInitialized = false;
96
+ TUI.currentStatus = '';
97
+ //# sourceMappingURL=tui.js.map
@@ -0,0 +1 @@
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.10",
3
+ "version": "1.2.12",
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": {
@@ -6,6 +6,7 @@ import { MatexAPIClient, ChatMessage } from '../api/client';
6
6
  import { spinner } from '../utils/spinner';
7
7
  import { AgentOrchestrator, AgentRole } from '../utils/agent-orchestrator';
8
8
  import { RepoMapper } from '../utils/repo-mapper';
9
+ import { TUI } from '../utils/tui';
9
10
 
10
11
  export const devCommand = new Command('dev')
11
12
  .description('Start interactive development session with MATEXCodex')
@@ -24,18 +25,23 @@ export const devCommand = new Command('dev')
24
25
  // Create API client
25
26
  const client = new MatexAPIClient(apiKey, configManager.getBaseURL());
26
27
 
27
- // Welcome message
28
- AgentOrchestrator.announce('MATEX Multi-Agent Dev Session');
29
- console.log(chalk.gray('━'.repeat(50)));
30
- console.log(chalk.white(`Model: ${chalk.cyan(options.model)}`));
31
- console.log(chalk.gray('Type your requests, or "exit" to quit\n'));
28
+ // 0. Initialize God-Mode TUI Dashboard
29
+ TUI.init();
30
+
31
+ console.log(chalk.bold.cyan('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
32
+ console.log(chalk.bold.white(' 🚀 MATEX :: THE BRO-SWARM IS ONLINE '));
33
+ console.log(chalk.bold.cyan('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
34
+ console.log(chalk.gray(' Status: Monitoring Workspace...'));
35
+ console.log(chalk.gray(' Type your request brother, or "exit" to quit\n'));
32
36
 
33
37
  // 1. Observation Phase: Generate Repo Map
34
- AgentOrchestrator.announce('Initializing MATEX "Bro-Swarm"...');
38
+ TUI.drawStatusBar('Initializing MATEX "Bro-Swarm"...');
39
+ AgentOrchestrator.announce('Analyzing Repository Structure...');
35
40
  const repoMapper = new RepoMapper(process.cwd());
36
41
  const repoMap = await repoMapper.generateMap();
37
42
 
38
- AgentOrchestrator.speak('System', 'Brothers are ready to build.');
43
+ TUI.drawStatusBar('Brothers are ready to build.');
44
+ AgentOrchestrator.speak('System', 'Awaiting your command, brother.');
39
45
 
40
46
  // Conversation history with "Bro-Swarm" Architecture
41
47
  const messages: ChatMessage[] = [
@@ -128,10 +134,11 @@ ${repoMap}`
128
134
  let inCodeBlock = false;
129
135
  let lastRole: AgentRole = 'Commander';
130
136
 
137
+ TUI.drawStatusBar('Swarm is processing...');
131
138
  await client.chatStream({
132
139
  messages,
133
- model: options.model,
134
- temperature: 0.3,
140
+ model: options.model, // Kept original model from options
141
+ temperature: 0.3, // Kept original temperature
135
142
  max_tokens: 8000,
136
143
  }, (chunk) => {
137
144
  if (!hasStarted) {
@@ -1,4 +1,5 @@
1
1
  import chalk from 'chalk';
2
+ import { TUI } from './tui';
2
3
 
3
4
  export type AgentRole = 'Architect' | 'Syntax' | 'Frontend' | 'Backend' | 'System' | 'Commander' | 'Researcher' | 'Ajay Vai' | 'Sunil Dai' | 'Sandip Dai' | 'Narayan Dai';
4
5
 
@@ -67,12 +68,28 @@ const AGENT_CONFIGS: Record<AgentRole, AgentConfig> = {
67
68
  };
68
69
 
69
70
  export class AgentOrchestrator {
71
+ /**
72
+ * Clean text of unwanted AI artifacts like $$**, \(, \), etc.
73
+ */
74
+ static cleanText(text: string): string {
75
+ return text
76
+ .replace(/\$\$\*\*.*?\*\*\$\$/g, '') // Strip inline math/thinking blocks
77
+ .replace(/\$\$[\s\S]*?\$\$/g, '') // Strip multiline blocks
78
+ .replace(/\\\[|\\\]|\\\(|\\\)/g, '') // Strip LaTeX style delimiters
79
+ .replace(/\*\*Thought:\*\*/gi, '') // Strip common thinking labels
80
+ .trim();
81
+ }
82
+
70
83
  /**
71
84
  * Display an agent's "thought" or action
72
85
  */
73
86
  static speak(role: AgentRole, message: string) {
74
87
  const config = AGENT_CONFIGS[role] || AGENT_CONFIGS.System;
75
- console.log(`\n${config.icon} ${config.color(`${config.name}:`)} ${chalk.white(message)}`);
88
+ const cleaned = this.cleanText(message);
89
+ if (!cleaned) return; // Skip if empty after cleaning
90
+
91
+ TUI.drawStatusBar(`${config.name} is speaking...`);
92
+ console.log(`\n${config.icon} ${config.color(`${config.name}:`)} ${chalk.white(cleaned)}`);
76
93
  }
77
94
 
78
95
  /**
@@ -80,8 +97,12 @@ export class AgentOrchestrator {
80
97
  */
81
98
  static think(role: AgentRole, thought: string) {
82
99
  const config = AGENT_CONFIGS[role] || AGENT_CONFIGS.System;
100
+ const cleaned = this.cleanText(thought);
101
+ if (!cleaned) return;
102
+
103
+ TUI.drawStatusBar(`${config.name} is thinking...`);
83
104
  const indent = ' ';
84
- console.log(`${indent}${config.color('🧠')} ${chalk.gray(`${config.name} thinking:`)} ${chalk.italic.gray(`"${thought}"`)}`);
105
+ console.log(`${indent}${config.color('🧠')} ${chalk.gray(`${config.name} thinking:`)} ${chalk.italic.gray(`"${cleaned}"`)}`);
85
106
  }
86
107
 
87
108
  /**
@@ -90,6 +111,7 @@ export class AgentOrchestrator {
90
111
  static transition(from: AgentRole, to: AgentRole) {
91
112
  const fromCfg = AGENT_CONFIGS[from] || AGENT_CONFIGS.System;
92
113
  const toCfg = AGENT_CONFIGS[to] || AGENT_CONFIGS.System;
114
+ TUI.drawStatusBar(`Handover: ${fromCfg.name} ➔ ${toCfg.name}`);
93
115
  console.log(chalk.gray(` └─ ${fromCfg.icon} ➔ ${toCfg.icon} Handover to ${toCfg.name}...`));
94
116
  }
95
117
 
@@ -1,6 +1,7 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import chalk from 'chalk';
4
+ import { TUI } from './tui';
4
5
 
5
6
  export interface EditBlock {
6
7
  filePath: string;
@@ -40,31 +41,46 @@ export class Patcher {
40
41
  * Apply a surgical patch to a file
41
42
  */
42
43
  static applyPatch(block: EditBlock): { success: boolean; error?: string } {
44
+ TUI.drawStatusBar(`Applying Patch: ${block.filePath}...`);
43
45
  try {
44
46
  const fullPath = path.resolve(process.cwd(), block.filePath);
45
47
 
46
48
  if (!fs.existsSync(fullPath)) {
49
+ TUI.drawStatusBar(`Error: File not found: ${block.filePath}`);
47
50
  return { success: false, error: `File not found: ${block.filePath}` };
48
51
  }
49
52
 
50
53
  const content = fs.readFileSync(fullPath, 'utf8');
51
54
 
52
- // Normalize line endings for comparison
55
+ // Normalize and trim for better matching robustness
53
56
  const normalizedContent = content.replace(/\r\n/g, '\n');
54
- const normalizedSearch = block.search.replace(/\r\n/g, '\n');
57
+ const normalizedSearch = block.search.replace(/\r\n/g, '\n').trim();
58
+ const normalizedReplace = block.replace.replace(/\r\n/g, '\n').trim();
55
59
 
56
60
  if (!normalizedContent.includes(normalizedSearch)) {
57
- return {
58
- success: false,
59
- error: `Search block not found in ${block.filePath}. Please ensure the search block matches exactly (including indentation).`
60
- };
61
+ // Try a fuzzy match by trimming internal lines as well
62
+ const fuzzyContent = normalizedContent.split('\n').map(l => l.trimEnd()).join('\n');
63
+ const fuzzySearch = normalizedSearch.split('\n').map(l => l.trimEnd()).join('\n');
64
+
65
+ if (!fuzzyContent.includes(fuzzySearch)) {
66
+ TUI.drawStatusBar(`❌ Patch Failed: Search block not found in ${block.filePath}`);
67
+ return {
68
+ success: false,
69
+ error: `Search block not found in ${block.filePath}. Please ensure the code snippet matches exactly (ignoring trailing whitespace).`
70
+ };
71
+ }
72
+
73
+ // If fuzzy match worked, we can still try to replace but it's riskier.
74
+ // For now, let's stick to strict-ish matching but with trimmed ends.
61
75
  }
62
76
 
63
- const updatedContent = normalizedContent.replace(normalizedSearch, block.replace.replace(/\r\n/g, '\n'));
77
+ const updatedContent = normalizedContent.replace(normalizedSearch, normalizedReplace);
64
78
  fs.writeFileSync(fullPath, updatedContent, 'utf8');
65
79
 
80
+ TUI.drawStatusBar(`✅ Success: ${block.filePath} patched.`);
66
81
  return { success: true };
67
82
  } catch (err: any) {
83
+ TUI.drawStatusBar(`❌ Error: ${err.message}`);
68
84
  return { success: false, error: err.message };
69
85
  }
70
86
  }
@@ -73,17 +89,21 @@ export class Patcher {
73
89
  * Visualize the diff in a premium "Bro" style
74
90
  */
75
91
  static showDiff(block: EditBlock) {
76
- console.log(chalk.bold.cyan(`\n💎 Surgical Edit: ${chalk.white(block.filePath)}`));
92
+ process.stdout.write('\n');
93
+ console.log(chalk.bgCyan.black(` 💎 PROPOSED SURGICAL EDIT: ${block.filePath} `));
94
+ console.log(chalk.cyan('╒' + '═'.repeat(70) + '╕'));
95
+
77
96
  const searchLines = block.search.split('\n');
78
97
  const replaceLines = block.replace.split('\n');
79
98
 
80
99
  searchLines.forEach(line => {
81
- console.log(chalk.red(` - ${line}`));
100
+ console.log(chalk.red('│ - ') + chalk.red(line));
82
101
  });
83
- console.log(chalk.gray(' ----------'));
102
+ console.log(chalk.gray('' + '┄'.repeat(70) + '╡'));
84
103
  replaceLines.forEach(line => {
85
- console.log(chalk.green(` + ${line}`));
104
+ console.log(chalk.green('│ + ') + chalk.green(line));
86
105
  });
106
+ console.log(chalk.cyan('╘' + '═'.repeat(70) + '╛'));
87
107
  console.log();
88
108
  }
89
109
  }
@@ -0,0 +1,108 @@
1
+ import chalk from 'chalk';
2
+ import readline from 'readline';
3
+
4
+ /**
5
+ * TUI Management for MATEX CLI "God-Mode"
6
+ * Handles screen buffers, persistent headers, and real-time status updates.
7
+ */
8
+ export class TUI {
9
+ private static isInitialized = false;
10
+ private static currentStatus = '';
11
+
12
+ /**
13
+ * Initialize the TUI Mode
14
+ */
15
+ static init() {
16
+ if (this.isInitialized) return;
17
+
18
+ // Enter alternative screen buffer
19
+ process.stdout.write('\x1b[?1049h');
20
+
21
+ // Hide cursor
22
+ process.stdout.write('\x1b[?25l');
23
+
24
+ this.clear();
25
+ this.isInitialized = true;
26
+
27
+ // Ensure clean exit
28
+ process.on('SIGINT', () => this.exit());
29
+ process.on('exit', () => this.exit());
30
+ }
31
+
32
+ /**
33
+ * Restore Terminal to normal state
34
+ */
35
+ static exit() {
36
+ if (!this.isInitialized) return;
37
+
38
+ // Show cursor
39
+ process.stdout.write('\x1b[?25h');
40
+
41
+ // Exit alternative screen buffer
42
+ process.stdout.write('\x1b[?1049l');
43
+
44
+ this.isInitialized = false;
45
+ process.exit();
46
+ }
47
+
48
+ /**
49
+ * Clear the main viewport
50
+ */
51
+ static clear() {
52
+ process.stdout.write('\x1b[2J\x1b[H');
53
+ this.drawHeader();
54
+ this.drawStatusBar(this.currentStatus);
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
+ console.log(chalk.bgCyan.black(' '.repeat(padding) + banner + ' '.repeat(width - banner.length - padding)));
68
+ console.log(chalk.gray('─'.repeat(width)));
69
+ }
70
+
71
+ /**
72
+ * Draw a real-time status bar at the bottom
73
+ */
74
+ static drawStatusBar(status: string) {
75
+ this.currentStatus = status;
76
+ if (!this.isInitialized) return;
77
+
78
+ const width = process.stdout.columns || 80;
79
+ const height = process.stdout.rows || 24;
80
+
81
+ // Save cursor position
82
+ process.stdout.write('\x1b[s');
83
+
84
+ // Move to bottom line
85
+ process.stdout.write(`\x1b[${height};1H`);
86
+
87
+ const cleanStatus = status.substring(0, width - 10);
88
+ const bar = ` [⚡] ${cleanStatus} `.padEnd(width);
89
+ process.stdout.write(chalk.bgWhite.black(bar));
90
+
91
+ // Restore cursor position
92
+ process.stdout.write('\x1b[u');
93
+ }
94
+
95
+ /**
96
+ * Log content into the scrollable area
97
+ */
98
+ static log(content: string) {
99
+ if (!this.isInitialized) {
100
+ console.log(content);
101
+ return;
102
+ }
103
+
104
+ // Since we are in an alternative buffer, standard console.log works
105
+ // within the viewport between header and footer.
106
+ console.log(content);
107
+ }
108
+ }