matex-cli 1.2.16 → 1.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +51 -55
- package/dist/commands/dev.js.map +1 -1
- package/dist/utils/patcher.js +1 -1
- package/dist/utils/patcher.js.map +1 -1
- package/dist/utils/tui.d.ts +13 -1
- package/dist/utils/tui.d.ts.map +1 -1
- package/dist/utils/tui.js +62 -23
- package/dist/utils/tui.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/dev.ts +55 -53
- package/src/utils/patcher.ts +1 -1
- package/src/utils/tui.ts +65 -25
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,UAAU,SAmQjB,CAAC"}
|
package/dist/commands/dev.js
CHANGED
|
@@ -88,28 +88,29 @@ Your primary goal is to provide PERFECT solutions for the user (your fellow brot
|
|
|
88
88
|
2. **[Sunil Dai] (🧬)**: The Expert Architect. Vibe: Senior, wise, mentor. Focus: Backend logic, database, and clean scaleable code ("Leave it to me vai").
|
|
89
89
|
3. **[Sandip Dai] (🎨)**: The Design Specialist. Vibe: Creative, aesthetic. Focus: UI, UX, CSS, and "WOW" effects ("I'll make it look premium brother").
|
|
90
90
|
4. **[Narayan Dai] (🛡️)**: The Validator. Vibe: Precise, strict. Focus: Security, debugging, and import/export verification ("I've checked the code brother, it's solid").
|
|
91
|
-
5. **[Ajay Vai] (🏆)**: The Conclusion. Role: Final hand-off and success celebration.
|
|
92
91
|
|
|
93
|
-
### 💬
|
|
94
|
-
- **CHAT
|
|
95
|
-
- **
|
|
96
|
-
- **NEPALI FLAVOR:** Use
|
|
92
|
+
### 💬 BRO-VIBE PROTOCOL:
|
|
93
|
+
- **CHAT FIRST:** Before code, brothers MUST have a short, energetic chat.
|
|
94
|
+
- **AGENT TAGS:** Always prefix your dialogue with your name like: [Ajay Vai]: "...".
|
|
95
|
+
- **NEPALI FLAVOR:** Use "Vai," "Dai," "Tapai," "Ekdam ramro" naturally.
|
|
97
96
|
|
|
98
|
-
###
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
97
|
+
### 🛠️ FILE GENERATION & EDIT PROTOCOLS (CRITICAL):
|
|
98
|
+
1. **NEW FILES:** Use the following tag for ALL new files:
|
|
99
|
+
<file path="path/to/filename.ext">
|
|
100
|
+
content here
|
|
101
|
+
</file>
|
|
102
102
|
|
|
103
|
-
|
|
104
|
-
- **USE SEARCH/REPLACE BLOCKS** for all file modifications. This is faster and safer than full rewrites.
|
|
105
|
-
- **FORMAT:**
|
|
103
|
+
2. **SURGICAL EDITS (for existing files):**
|
|
106
104
|
**path/to/file.ext**
|
|
107
105
|
<<<< SEARCH
|
|
108
106
|
exact lines to find
|
|
109
107
|
====
|
|
110
108
|
new lines to replace with
|
|
111
109
|
>>>> REPLACE
|
|
112
|
-
|
|
110
|
+
|
|
111
|
+
### ✂️ BREVITY AS POWER:
|
|
112
|
+
- **NO FULL FILE DUMPS** unless specifically asked.
|
|
113
|
+
- **NO CHAT REPETITION** of code. Just summary.
|
|
113
114
|
|
|
114
115
|
### 🛠️ ENVIRONMENT CONTEXT:
|
|
115
116
|
${repoMap}`
|
|
@@ -158,7 +159,8 @@ ${repoMap}`
|
|
|
158
159
|
let inCodeBlock = false;
|
|
159
160
|
let codeBuffer = '';
|
|
160
161
|
let codeLang = 'bash';
|
|
161
|
-
let
|
|
162
|
+
let activeAgent = 'Ajay Vai';
|
|
163
|
+
let messageBuffer = '';
|
|
162
164
|
tui_1.TUI.drawStatusBar('Swarm is processing...');
|
|
163
165
|
await client.chatStream({
|
|
164
166
|
messages,
|
|
@@ -169,75 +171,69 @@ ${repoMap}`
|
|
|
169
171
|
if (!hasStarted) {
|
|
170
172
|
spinner_1.spinner.stop();
|
|
171
173
|
hasStarted = true;
|
|
174
|
+
console.log(); // Spacing
|
|
172
175
|
}
|
|
173
176
|
buffer += chunk;
|
|
174
177
|
fullResponse += chunk;
|
|
175
178
|
const lines = buffer.split('\n');
|
|
176
179
|
buffer = lines.pop() || '';
|
|
177
180
|
for (const line of lines) {
|
|
178
|
-
|
|
179
|
-
// 1. Agent Detection
|
|
180
|
-
const
|
|
181
|
+
const trimmedLine = line.trim();
|
|
182
|
+
// 1. Agent Detection (Improved Regex for bolding)
|
|
183
|
+
const agentRegex = /\[\**\s*(Ajay Vai|Sunil Dai|Sandip Dai|Narayan Dai)\s*\**\]/;
|
|
184
|
+
const agentMatch = line.match(agentRegex);
|
|
181
185
|
if (agentMatch) {
|
|
182
|
-
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
const color = tag === 'Ajay Vai' ? chalk_1.default.magenta :
|
|
187
|
-
tag === 'Sunil Dai' ? chalk_1.default.blue :
|
|
188
|
-
tag === 'Sandip Dai' ? chalk_1.default.hex('#FF69B4') :
|
|
186
|
+
activeAgent = agentMatch[1];
|
|
187
|
+
const color = activeAgent === 'Ajay Vai' ? chalk_1.default.magenta :
|
|
188
|
+
activeAgent === 'Sunil Dai' ? chalk_1.default.blue :
|
|
189
|
+
activeAgent === 'Sandip Dai' ? chalk_1.default.hex('#FF69B4') :
|
|
189
190
|
chalk_1.default.green;
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
}
|
|
194
|
-
content = line.replace(`[${tag}]`, '').trim();
|
|
195
|
-
if (!content && !inCodeBlock)
|
|
196
|
-
continue;
|
|
191
|
+
process.stdout.write(`\n ${color.bold(`${activeAgent}:`)} `);
|
|
192
|
+
messageBuffer += trimmedLine + ' ';
|
|
193
|
+
continue;
|
|
197
194
|
}
|
|
198
|
-
// 2. Code Block
|
|
199
|
-
|
|
195
|
+
// 2. Code Block Detection
|
|
196
|
+
const codeBlockRegex = /```(\w*)/;
|
|
197
|
+
const codeMatch = line.match(codeBlockRegex);
|
|
198
|
+
if (codeMatch) {
|
|
200
199
|
if (inCodeBlock) {
|
|
201
|
-
// Closing block - Draw it!
|
|
202
|
-
tui_1.TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
|
|
203
|
-
codeBuffer = '';
|
|
204
200
|
inCodeBlock = false;
|
|
201
|
+
tui_1.TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer.trim());
|
|
202
|
+
codeBuffer = '';
|
|
203
|
+
process.stdout.write('\n'); // Space after box
|
|
205
204
|
}
|
|
206
205
|
else {
|
|
207
|
-
// Opening block
|
|
208
206
|
inCodeBlock = true;
|
|
209
|
-
codeLang =
|
|
210
|
-
|
|
211
|
-
tui_1.TUI.log(chalk_1.default.gray(' ⚡ Building technical block...'));
|
|
212
|
-
}
|
|
207
|
+
codeLang = codeMatch[1] || 'bash';
|
|
208
|
+
process.stdout.write(chalk_1.default.gray('\n [⚡] Building code block...\n'));
|
|
213
209
|
}
|
|
214
210
|
continue;
|
|
215
211
|
}
|
|
212
|
+
// 3. Content Handling
|
|
216
213
|
if (inCodeBlock) {
|
|
217
214
|
codeBuffer += line + '\n';
|
|
218
215
|
}
|
|
219
|
-
else if (
|
|
220
|
-
//
|
|
221
|
-
const
|
|
216
|
+
else if (trimmedLine) {
|
|
217
|
+
// Strip markdown artifacts for a cleaner stream
|
|
218
|
+
const cleanText = trimmedLine
|
|
222
219
|
.replace(/\*\*%?\*/g, '')
|
|
220
|
+
.replace(/#{1,6}\s/g, '')
|
|
223
221
|
.replace(/\*\*:\*\*/g, ':')
|
|
224
222
|
.trim();
|
|
225
|
-
if (
|
|
226
|
-
|
|
223
|
+
if (cleanText) {
|
|
224
|
+
process.stdout.write(chalk_1.default.gray(cleanText + ' '));
|
|
225
|
+
messageBuffer += cleanText + ' ';
|
|
226
|
+
}
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
});
|
|
230
230
|
spinner_1.spinner.stop();
|
|
231
|
-
// Final
|
|
232
|
-
if (
|
|
233
|
-
|
|
234
|
-
codeBuffer += buffer;
|
|
235
|
-
tui_1.TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
tui_1.TUI.log(chalk_1.default.gray(buffer.trim()));
|
|
239
|
-
}
|
|
231
|
+
// Final Code Flush if still in block
|
|
232
|
+
if (inCodeBlock && codeBuffer.trim()) {
|
|
233
|
+
tui_1.TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer.trim());
|
|
240
234
|
}
|
|
235
|
+
// Space before commands/prompt
|
|
236
|
+
console.log('\n');
|
|
241
237
|
// Add assistant response to history
|
|
242
238
|
messages.push({ role: 'assistant', content: fullResponse });
|
|
243
239
|
const response = fullResponse;
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,wDAAgC;AAChC,4CAAgD;AAChD,0CAA4D;AAC5D,8CAA2C;AAC3C,oEAA2E;AAC3E,sDAAkD;AAClD,sCAAmC;AAEtB,QAAA,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC;KACvC,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,qBAAqB,EAAE,sEAAsE,EAAE,sBAAa,CAAC,eAAe,EAAE,CAAC;KACtI,MAAM,CAAC,cAAc,EAAE,2CAA2C,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;IAC3B,IAAI,CAAC;QACD,oBAAoB;QACpB,MAAM,MAAM,GAAG,sBAAa,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,uBAAc,CAAC,MAAM,EAAE,sBAAa,CAAC,UAAU,EAAE,CAAC,CAAC;QAEtE,uCAAuC;QACvC,SAAG,CAAC,IAAI,EAAE,CAAC;QAEX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAE5E,0CAA0C;QAC1C,SAAG,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;QACvD,sCAAiB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,wBAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QAE/C,SAAG,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;QAClD,sCAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,iCAAiC,CAAC,CAAC;QAErE,qDAAqD;QACrD,MAAM,QAAQ,GAAkB;YAC5B;gBACI,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/patcher.js
CHANGED
|
@@ -41,7 +41,7 @@ class Patcher {
|
|
|
41
41
|
*/
|
|
42
42
|
static parseFileBlocks(response) {
|
|
43
43
|
const blocks = [];
|
|
44
|
-
const fileRegex = /<file path="([^"]+)"
|
|
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,
|
|
1
|
+
{"version":3,"file":"patcher.js","sourceRoot":"","sources":["../../src/utils/patcher.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/tui.d.ts
CHANGED
|
@@ -21,14 +21,26 @@ export declare class TUI {
|
|
|
21
21
|
* Draw the persistent top header
|
|
22
22
|
*/
|
|
23
23
|
static drawHeader(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Helper to draw a box with content
|
|
26
|
+
*/
|
|
27
|
+
private static drawBox;
|
|
24
28
|
/**
|
|
25
29
|
* Draw a real-time status bar at the bottom
|
|
26
30
|
*/
|
|
27
31
|
static drawStatusBar(status: string, force?: boolean): void;
|
|
28
32
|
/**
|
|
29
|
-
* Draw a premium code container
|
|
33
|
+
* Draw a premium code container
|
|
30
34
|
*/
|
|
31
35
|
static drawCodeContainer(title: string, lang: string, content: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* Draw a message box for agent dialogue
|
|
38
|
+
*/
|
|
39
|
+
static drawMessageContainer(agent: string, message: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Wrap text to a specific width
|
|
42
|
+
*/
|
|
43
|
+
private static wrapText;
|
|
32
44
|
/**
|
|
33
45
|
* Log content into the scrollable area
|
|
34
46
|
*/
|
package/dist/utils/tui.d.ts.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/utils/tui.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAAC,aAAa,CAAS;IACrC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAM;IAElC;;OAEG;IACH,MAAM,CAAC,IAAI;IAiBX;;OAEG;IACH,MAAM,CAAC,IAAI;IAaX;;OAEG;IACH,MAAM,CAAC,KAAK;IAMZ;;OAEG;IACH,MAAM,CAAC,UAAU;IAWjB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAoBtB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe;IAsB3D;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKrE;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAY1D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAiBvB;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM;CAQ7B"}
|
package/dist/utils/tui.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.TUI = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const readline_1 = __importDefault(require("readline"));
|
|
8
9
|
/**
|
|
9
10
|
* TUI Management for MATEX CLI "God-Mode"
|
|
10
11
|
* Handles screen buffers, persistent headers, and real-time status updates.
|
|
@@ -59,6 +60,24 @@ class TUI {
|
|
|
59
60
|
process.stdout.write(chalk_1.default.bgCyan.black(' '.repeat(padding) + banner + ' '.repeat(width - banner.length - padding)) + '\n');
|
|
60
61
|
process.stdout.write(chalk_1.default.gray('─'.repeat(width)) + '\n');
|
|
61
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Helper to draw a box with content
|
|
65
|
+
*/
|
|
66
|
+
static drawBox(title, color, lines, icon = '📦') {
|
|
67
|
+
const width = Math.min(process.stdout.columns || 80, 100);
|
|
68
|
+
console.log();
|
|
69
|
+
const trafficLights = chalk_1.default.red('●') + ' ' + chalk_1.default.yellow('●') + ' ' + chalk_1.default.green('●');
|
|
70
|
+
const displayTitle = ` ${icon} ${title} `;
|
|
71
|
+
console.log(chalk_1.default.gray('┏' + '━'.repeat(width - 2) + '┓'));
|
|
72
|
+
console.log(chalk_1.default.gray('┃ ') + trafficLights + ' ' + color(displayTitle).padEnd(width - 4) + chalk_1.default.gray(' ┃'));
|
|
73
|
+
console.log(chalk_1.default.gray('┣' + '━'.repeat(width - 2) + '┫'));
|
|
74
|
+
lines.forEach(line => {
|
|
75
|
+
const formattedLine = line.substring(0, width - 6);
|
|
76
|
+
console.log(chalk_1.default.gray('┃ ') + chalk_1.default.white(formattedLine).padEnd(width - 4) + chalk_1.default.gray(' ┃'));
|
|
77
|
+
});
|
|
78
|
+
console.log(chalk_1.default.gray('┗' + '━'.repeat(width - 2) + '┛'));
|
|
79
|
+
console.log();
|
|
80
|
+
}
|
|
62
81
|
/**
|
|
63
82
|
* Draw a real-time status bar at the bottom
|
|
64
83
|
*/
|
|
@@ -66,41 +85,60 @@ class TUI {
|
|
|
66
85
|
if (!this.isInitialized)
|
|
67
86
|
return;
|
|
68
87
|
if (this.currentStatus === status && !force)
|
|
69
|
-
return;
|
|
88
|
+
return;
|
|
70
89
|
this.currentStatus = status;
|
|
71
90
|
const width = process.stdout.columns || 80;
|
|
72
91
|
const height = process.stdout.rows || 24;
|
|
73
|
-
// Save cursor position
|
|
92
|
+
// Save cursor position using ANSI
|
|
74
93
|
process.stdout.write('\x1b[s');
|
|
75
|
-
// Move to bottom
|
|
76
|
-
process.stdout
|
|
94
|
+
// Move to absolute bottom row
|
|
95
|
+
readline_1.default.cursorTo(process.stdout, 0, height - 1);
|
|
77
96
|
const cleanStatus = status.substring(0, width - 10);
|
|
78
|
-
const
|
|
79
|
-
process.stdout.write(chalk_1.default.bgWhite.black(
|
|
97
|
+
const barContent = ` [⚡] ${cleanStatus} `.padEnd(width);
|
|
98
|
+
process.stdout.write(chalk_1.default.bgWhite.black(barContent));
|
|
80
99
|
// Restore cursor position
|
|
81
100
|
process.stdout.write('\x1b[u');
|
|
82
101
|
}
|
|
83
102
|
/**
|
|
84
|
-
* Draw a premium code container
|
|
103
|
+
* Draw a premium code container
|
|
85
104
|
*/
|
|
86
105
|
static drawCodeContainer(title, lang, content) {
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
106
|
+
const lines = content.split('\n').filter(l => l.trim() || l === '');
|
|
107
|
+
this.drawBox(`${title} (${lang})`, chalk_1.default.cyan.bold, lines, '📝');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Draw a message box for agent dialogue
|
|
111
|
+
*/
|
|
112
|
+
static drawMessageContainer(agent, message) {
|
|
113
|
+
const lines = this.wrapText(message, 90);
|
|
114
|
+
const colorMap = {
|
|
115
|
+
'Ajay Vai': chalk_1.default.magenta.bold,
|
|
116
|
+
'Sunil Dai': chalk_1.default.blue.bold,
|
|
117
|
+
'Sandip Dai': chalk_1.default.hex('#FF69B4').bold,
|
|
118
|
+
'Narayan Dai': chalk_1.default.green.bold
|
|
119
|
+
};
|
|
120
|
+
const color = colorMap[agent] || chalk_1.default.white.bold;
|
|
121
|
+
this.drawBox(agent, color, lines, '🗣️');
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Wrap text to a specific width
|
|
125
|
+
*/
|
|
126
|
+
static wrapText(text, width) {
|
|
127
|
+
const words = text.split(' ');
|
|
128
|
+
const lines = [];
|
|
129
|
+
let currentLine = '';
|
|
130
|
+
words.forEach(word => {
|
|
131
|
+
if ((currentLine + word).length < width) {
|
|
132
|
+
currentLine += (currentLine ? ' ' : '') + word;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
lines.push(currentLine);
|
|
136
|
+
currentLine = word;
|
|
137
|
+
}
|
|
100
138
|
});
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
139
|
+
if (currentLine)
|
|
140
|
+
lines.push(currentLine);
|
|
141
|
+
return lines;
|
|
104
142
|
}
|
|
105
143
|
/**
|
|
106
144
|
* Log content into the scrollable area
|
|
@@ -110,6 +148,7 @@ class TUI {
|
|
|
110
148
|
console.log(content);
|
|
111
149
|
return;
|
|
112
150
|
}
|
|
151
|
+
// Ensure we don't overwrite the status bar
|
|
113
152
|
console.log(content);
|
|
114
153
|
}
|
|
115
154
|
}
|
package/dist/utils/tui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/utils/tui.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/utils/tui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/commands/dev.ts
CHANGED
|
@@ -56,28 +56,29 @@ Your primary goal is to provide PERFECT solutions for the user (your fellow brot
|
|
|
56
56
|
2. **[Sunil Dai] (🧬)**: The Expert Architect. Vibe: Senior, wise, mentor. Focus: Backend logic, database, and clean scaleable code ("Leave it to me vai").
|
|
57
57
|
3. **[Sandip Dai] (🎨)**: The Design Specialist. Vibe: Creative, aesthetic. Focus: UI, UX, CSS, and "WOW" effects ("I'll make it look premium brother").
|
|
58
58
|
4. **[Narayan Dai] (🛡️)**: The Validator. Vibe: Precise, strict. Focus: Security, debugging, and import/export verification ("I've checked the code brother, it's solid").
|
|
59
|
-
5. **[Ajay Vai] (🏆)**: The Conclusion. Role: Final hand-off and success celebration.
|
|
60
59
|
|
|
61
|
-
### 💬
|
|
62
|
-
- **CHAT
|
|
63
|
-
- **
|
|
64
|
-
- **NEPALI FLAVOR:** Use
|
|
60
|
+
### 💬 BRO-VIBE PROTOCOL:
|
|
61
|
+
- **CHAT FIRST:** Before code, brothers MUST have a short, energetic chat.
|
|
62
|
+
- **AGENT TAGS:** Always prefix your dialogue with your name like: [Ajay Vai]: "...".
|
|
63
|
+
- **NEPALI FLAVOR:** Use "Vai," "Dai," "Tapai," "Ekdam ramro" naturally.
|
|
65
64
|
|
|
66
|
-
###
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
### 🛠️ FILE GENERATION & EDIT PROTOCOLS (CRITICAL):
|
|
66
|
+
1. **NEW FILES:** Use the following tag for ALL new files:
|
|
67
|
+
<file path="path/to/filename.ext">
|
|
68
|
+
content here
|
|
69
|
+
</file>
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
- **USE SEARCH/REPLACE BLOCKS** for all file modifications. This is faster and safer than full rewrites.
|
|
73
|
-
- **FORMAT:**
|
|
71
|
+
2. **SURGICAL EDITS (for existing files):**
|
|
74
72
|
**path/to/file.ext**
|
|
75
73
|
<<<< SEARCH
|
|
76
74
|
exact lines to find
|
|
77
75
|
====
|
|
78
76
|
new lines to replace with
|
|
79
77
|
>>>> REPLACE
|
|
80
|
-
|
|
78
|
+
|
|
79
|
+
### ✂️ BREVITY AS POWER:
|
|
80
|
+
- **NO FULL FILE DUMPS** unless specifically asked.
|
|
81
|
+
- **NO CHAT REPETITION** of code. Just summary.
|
|
81
82
|
|
|
82
83
|
### 🛠️ ENVIRONMENT CONTEXT:
|
|
83
84
|
${repoMap}`
|
|
@@ -134,7 +135,8 @@ ${repoMap}`
|
|
|
134
135
|
let inCodeBlock = false;
|
|
135
136
|
let codeBuffer = '';
|
|
136
137
|
let codeLang = 'bash';
|
|
137
|
-
let
|
|
138
|
+
let activeAgent = 'Ajay Vai';
|
|
139
|
+
let messageBuffer = '';
|
|
138
140
|
|
|
139
141
|
TUI.drawStatusBar('Swarm is processing...');
|
|
140
142
|
await client.chatStream({
|
|
@@ -146,6 +148,7 @@ ${repoMap}`
|
|
|
146
148
|
if (!hasStarted) {
|
|
147
149
|
spinner.stop();
|
|
148
150
|
hasStarted = true;
|
|
151
|
+
console.log(); // Spacing
|
|
149
152
|
}
|
|
150
153
|
|
|
151
154
|
buffer += chunk;
|
|
@@ -154,72 +157,71 @@ ${repoMap}`
|
|
|
154
157
|
buffer = lines.pop() || '';
|
|
155
158
|
|
|
156
159
|
for (const line of lines) {
|
|
157
|
-
|
|
160
|
+
const trimmedLine = line.trim();
|
|
161
|
+
|
|
162
|
+
// 1. Agent Detection (Improved Regex for bolding)
|
|
163
|
+
const agentRegex = /\[\**\s*(Ajay Vai|Sunil Dai|Sandip Dai|Narayan Dai)\s*\**\]/;
|
|
164
|
+
const agentMatch = line.match(agentRegex);
|
|
158
165
|
|
|
159
|
-
// 1. Agent Detection & Cleanup
|
|
160
|
-
const agentMatch = line.match(/\[(Ajay Vai|Sunil Dai|Sandip Dai|Narayan Dai)\]/);
|
|
161
166
|
if (agentMatch) {
|
|
162
|
-
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const color = tag === 'Ajay Vai' ? chalk.magenta :
|
|
168
|
-
tag === 'Sunil Dai' ? chalk.blue :
|
|
169
|
-
tag === 'Sandip Dai' ? chalk.hex('#FF69B4') :
|
|
167
|
+
activeAgent = agentMatch[1];
|
|
168
|
+
const color = activeAgent === 'Ajay Vai' ? chalk.magenta :
|
|
169
|
+
activeAgent === 'Sunil Dai' ? chalk.blue :
|
|
170
|
+
activeAgent === 'Sandip Dai' ? chalk.hex('#FF69B4') :
|
|
170
171
|
chalk.green;
|
|
171
172
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}
|
|
176
|
-
content = line.replace(`[${tag}]`, '').trim();
|
|
177
|
-
if (!content && !inCodeBlock) continue;
|
|
173
|
+
process.stdout.write(`\n ${color.bold(`${activeAgent}:`)} `);
|
|
174
|
+
messageBuffer += trimmedLine + ' ';
|
|
175
|
+
continue;
|
|
178
176
|
}
|
|
179
177
|
|
|
180
|
-
// 2. Code Block
|
|
181
|
-
|
|
178
|
+
// 2. Code Block Detection
|
|
179
|
+
const codeBlockRegex = /```(\w*)/;
|
|
180
|
+
const codeMatch = line.match(codeBlockRegex);
|
|
181
|
+
|
|
182
|
+
if (codeMatch) {
|
|
182
183
|
if (inCodeBlock) {
|
|
183
|
-
// Closing block - Draw it!
|
|
184
|
-
TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
|
|
185
|
-
codeBuffer = '';
|
|
186
184
|
inCodeBlock = false;
|
|
185
|
+
TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer.trim());
|
|
186
|
+
codeBuffer = '';
|
|
187
|
+
process.stdout.write('\n'); // Space after box
|
|
187
188
|
} else {
|
|
188
|
-
// Opening block
|
|
189
189
|
inCodeBlock = true;
|
|
190
|
-
codeLang =
|
|
191
|
-
|
|
192
|
-
TUI.log(chalk.gray(' ⚡ Building technical block...'));
|
|
193
|
-
}
|
|
190
|
+
codeLang = codeMatch[1] || 'bash';
|
|
191
|
+
process.stdout.write(chalk.gray('\n [⚡] Building code block...\n'));
|
|
194
192
|
}
|
|
195
193
|
continue;
|
|
196
194
|
}
|
|
197
195
|
|
|
196
|
+
// 3. Content Handling
|
|
198
197
|
if (inCodeBlock) {
|
|
199
198
|
codeBuffer += line + '\n';
|
|
200
|
-
} else if (
|
|
201
|
-
//
|
|
202
|
-
const
|
|
199
|
+
} else if (trimmedLine) {
|
|
200
|
+
// Strip markdown artifacts for a cleaner stream
|
|
201
|
+
const cleanText = trimmedLine
|
|
203
202
|
.replace(/\*\*%?\*/g, '')
|
|
203
|
+
.replace(/#{1,6}\s/g, '')
|
|
204
204
|
.replace(/\*\*:\*\*/g, ':')
|
|
205
205
|
.trim();
|
|
206
|
-
|
|
206
|
+
|
|
207
|
+
if (cleanText) {
|
|
208
|
+
process.stdout.write(chalk.gray(cleanText + ' '));
|
|
209
|
+
messageBuffer += cleanText + ' ';
|
|
210
|
+
}
|
|
207
211
|
}
|
|
208
212
|
}
|
|
209
213
|
});
|
|
210
214
|
|
|
211
215
|
spinner.stop();
|
|
212
216
|
|
|
213
|
-
// Final
|
|
214
|
-
if (
|
|
215
|
-
|
|
216
|
-
codeBuffer += buffer;
|
|
217
|
-
TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer);
|
|
218
|
-
} else {
|
|
219
|
-
TUI.log(chalk.gray(buffer.trim()));
|
|
220
|
-
}
|
|
217
|
+
// Final Code Flush if still in block
|
|
218
|
+
if (inCodeBlock && codeBuffer.trim()) {
|
|
219
|
+
TUI.drawCodeContainer('Generated Block', codeLang, codeBuffer.trim());
|
|
221
220
|
}
|
|
222
221
|
|
|
222
|
+
// Space before commands/prompt
|
|
223
|
+
console.log('\n');
|
|
224
|
+
|
|
223
225
|
// Add assistant response to history
|
|
224
226
|
messages.push({ role: 'assistant', content: fullResponse });
|
|
225
227
|
const response = fullResponse;
|
package/src/utils/patcher.ts
CHANGED
|
@@ -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="([^"]+)"
|
|
48
|
+
const fileRegex = /<file path="([^"]+)">([\s\S]*?)<\/file>/g;
|
|
49
49
|
|
|
50
50
|
let match;
|
|
51
51
|
while ((match = fileRegex.exec(response)) !== null) {
|
package/src/utils/tui.ts
CHANGED
|
@@ -68,56 +68,95 @@ export class TUI {
|
|
|
68
68
|
process.stdout.write(chalk.gray('─'.repeat(width)) + '\n');
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
/**
|
|
72
|
+
* Helper to draw a box with content
|
|
73
|
+
*/
|
|
74
|
+
private static drawBox(title: string, color: (s: string) => string, lines: string[], icon: string = '📦') {
|
|
75
|
+
const width = Math.min(process.stdout.columns || 80, 100);
|
|
76
|
+
|
|
77
|
+
console.log();
|
|
78
|
+
const trafficLights = chalk.red('●') + ' ' + chalk.yellow('●') + ' ' + chalk.green('●');
|
|
79
|
+
const displayTitle = ` ${icon} ${title} `;
|
|
80
|
+
|
|
81
|
+
console.log(chalk.gray('┏' + '━'.repeat(width - 2) + '┓'));
|
|
82
|
+
console.log(chalk.gray('┃ ') + trafficLights + ' ' + color(displayTitle).padEnd(width - 4) + chalk.gray(' ┃'));
|
|
83
|
+
console.log(chalk.gray('┣' + '━'.repeat(width - 2) + '┫'));
|
|
84
|
+
|
|
85
|
+
lines.forEach(line => {
|
|
86
|
+
const formattedLine = line.substring(0, width - 6);
|
|
87
|
+
console.log(chalk.gray('┃ ') + chalk.white(formattedLine).padEnd(width - 4) + chalk.gray(' ┃'));
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
console.log(chalk.gray('┗' + '━'.repeat(width - 2) + '┛'));
|
|
91
|
+
console.log();
|
|
92
|
+
}
|
|
93
|
+
|
|
71
94
|
/**
|
|
72
95
|
* Draw a real-time status bar at the bottom
|
|
73
96
|
*/
|
|
74
97
|
static drawStatusBar(status: string, force: boolean = false) {
|
|
75
98
|
if (!this.isInitialized) return;
|
|
76
|
-
if (this.currentStatus === status && !force) return;
|
|
99
|
+
if (this.currentStatus === status && !force) return;
|
|
77
100
|
|
|
78
101
|
this.currentStatus = status;
|
|
79
102
|
const width = process.stdout.columns || 80;
|
|
80
103
|
const height = process.stdout.rows || 24;
|
|
81
104
|
|
|
82
|
-
// Save cursor position
|
|
105
|
+
// Save cursor position using ANSI
|
|
83
106
|
process.stdout.write('\x1b[s');
|
|
84
107
|
|
|
85
|
-
// Move to bottom
|
|
86
|
-
process.stdout
|
|
108
|
+
// Move to absolute bottom row
|
|
109
|
+
readline.cursorTo(process.stdout, 0, height - 1);
|
|
87
110
|
|
|
88
111
|
const cleanStatus = status.substring(0, width - 10);
|
|
89
|
-
const
|
|
90
|
-
process.stdout.write(chalk.bgWhite.black(
|
|
112
|
+
const barContent = ` [⚡] ${cleanStatus} `.padEnd(width);
|
|
113
|
+
process.stdout.write(chalk.bgWhite.black(barContent));
|
|
91
114
|
|
|
92
115
|
// Restore cursor position
|
|
93
116
|
process.stdout.write('\x1b[u');
|
|
94
117
|
}
|
|
95
118
|
|
|
96
119
|
/**
|
|
97
|
-
* Draw a premium code container
|
|
120
|
+
* Draw a premium code container
|
|
98
121
|
*/
|
|
99
122
|
static drawCodeContainer(title: string, lang: string, content: string) {
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
console.log();
|
|
104
|
-
// 1. Title Bar
|
|
105
|
-
const trafficLights = chalk.red('●') + ' ' + chalk.yellow('●') + ' ' + chalk.green('●');
|
|
106
|
-
const displayTitle = ` 📝 ${title} (${lang}) `;
|
|
123
|
+
const lines = content.split('\n').filter(l => l.trim() || l === '');
|
|
124
|
+
this.drawBox(`${title} (${lang})`, chalk.cyan.bold, lines, '📝');
|
|
125
|
+
}
|
|
107
126
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Draw a message box for agent dialogue
|
|
129
|
+
*/
|
|
130
|
+
static drawMessageContainer(agent: string, message: string) {
|
|
131
|
+
const lines = this.wrapText(message, 90);
|
|
132
|
+
const colorMap: any = {
|
|
133
|
+
'Ajay Vai': chalk.magenta.bold,
|
|
134
|
+
'Sunil Dai': chalk.blue.bold,
|
|
135
|
+
'Sandip Dai': chalk.hex('#FF69B4').bold,
|
|
136
|
+
'Narayan Dai': chalk.green.bold
|
|
137
|
+
};
|
|
138
|
+
const color = colorMap[agent] || chalk.white.bold;
|
|
139
|
+
this.drawBox(agent, color, lines, '🗣️');
|
|
140
|
+
}
|
|
111
141
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
142
|
+
/**
|
|
143
|
+
* Wrap text to a specific width
|
|
144
|
+
*/
|
|
145
|
+
private static wrapText(text: string, width: number): string[] {
|
|
146
|
+
const words = text.split(' ');
|
|
147
|
+
const lines = [];
|
|
148
|
+
let currentLine = '';
|
|
149
|
+
|
|
150
|
+
words.forEach(word => {
|
|
151
|
+
if ((currentLine + word).length < width) {
|
|
152
|
+
currentLine += (currentLine ? ' ' : '') + word;
|
|
153
|
+
} else {
|
|
154
|
+
lines.push(currentLine);
|
|
155
|
+
currentLine = word;
|
|
156
|
+
}
|
|
116
157
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
console.log(chalk.gray('┗' + '━'.repeat(width - 2) + '┛'));
|
|
120
|
-
console.log();
|
|
158
|
+
if (currentLine) lines.push(currentLine);
|
|
159
|
+
return lines;
|
|
121
160
|
}
|
|
122
161
|
|
|
123
162
|
/**
|
|
@@ -128,6 +167,7 @@ export class TUI {
|
|
|
128
167
|
console.log(content);
|
|
129
168
|
return;
|
|
130
169
|
}
|
|
170
|
+
// Ensure we don't overwrite the status bar
|
|
131
171
|
console.log(content);
|
|
132
172
|
}
|
|
133
173
|
}
|