matex-cli 1.2.4 → 1.2.5
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/api/client.d.ts +5 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +56 -1
- package/dist/api/client.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +56 -44
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +54 -44
- package/dist/commands/dev.js.map +1 -1
- package/package.json +1 -1
- package/src/api/client.ts +60 -1
- package/src/commands/chat.ts +61 -43
- package/src/commands/dev.ts +59 -43
package/dist/api/client.d.ts
CHANGED
|
@@ -15,7 +15,11 @@ export declare class MatexAPIClient {
|
|
|
15
15
|
private baseURL;
|
|
16
16
|
constructor(apiKey: string, baseURL?: string);
|
|
17
17
|
/**
|
|
18
|
-
* Send a chat request to the API
|
|
18
|
+
* Send a streaming chat request to the API
|
|
19
|
+
*/
|
|
20
|
+
chatStream(request: ChatRequest, onChunk: (chunk: string) => void): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Send a chat request to the API (non-streaming fallback)
|
|
19
23
|
*/
|
|
20
24
|
chat(request: ChatRequest): Promise<string>;
|
|
21
25
|
/**
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAmE;IAcxG;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBjD;;OAEG;YACW,uBAAuB;IA+BrC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAKjC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAY3C"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAmE;IAcxG;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDzF;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBjD;;OAEG;YACW,uBAAuB;IA+BrC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAKjC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAY3C"}
|
package/dist/api/client.js
CHANGED
|
@@ -19,7 +19,62 @@ class MatexAPIClient {
|
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
* Send a chat request to the API
|
|
22
|
+
* Send a streaming chat request to the API
|
|
23
|
+
*/
|
|
24
|
+
async chatStream(request, onChunk) {
|
|
25
|
+
try {
|
|
26
|
+
const response = await this.client.post('/api/v1/chat', {
|
|
27
|
+
...request,
|
|
28
|
+
uid: 'cli-user',
|
|
29
|
+
}, {
|
|
30
|
+
responseType: 'stream'
|
|
31
|
+
});
|
|
32
|
+
return new Promise((resolve, reject) => {
|
|
33
|
+
let fullResponse = '';
|
|
34
|
+
let buffer = '';
|
|
35
|
+
response.data.on('data', (chunk) => {
|
|
36
|
+
buffer += chunk.toString();
|
|
37
|
+
const lines = buffer.split('\n');
|
|
38
|
+
buffer = lines.pop() || ''; // Keep the last incomplete line
|
|
39
|
+
for (const line of lines) {
|
|
40
|
+
const trimmed = line.trim();
|
|
41
|
+
if (trimmed.startsWith('data: ')) {
|
|
42
|
+
const jsonStr = trimmed.substring(6).trim();
|
|
43
|
+
if (jsonStr === '[DONE]')
|
|
44
|
+
continue;
|
|
45
|
+
try {
|
|
46
|
+
const parsed = JSON.parse(jsonStr);
|
|
47
|
+
if (parsed.content) {
|
|
48
|
+
fullResponse += parsed.content;
|
|
49
|
+
onChunk(parsed.content);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
// Ignore malformed JSON chunks
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
response.data.on('end', () => {
|
|
59
|
+
resolve(fullResponse);
|
|
60
|
+
});
|
|
61
|
+
response.data.on('error', (err) => {
|
|
62
|
+
reject(err);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (error.response) {
|
|
68
|
+
// For stream responses, error data might needs to be read from the stream
|
|
69
|
+
throw new Error(`API Error: ${error.response.statusText}`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
throw new Error(`Request failed: ${error.message}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Send a chat request to the API (non-streaming fallback)
|
|
23
78
|
*/
|
|
24
79
|
async chat(request) {
|
|
25
80
|
try {
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,WAAW,SA8OlB,CAAC"}
|
package/dist/commands/chat.js
CHANGED
|
@@ -148,58 +148,70 @@ ${repoMap}`
|
|
|
148
148
|
spinner_1.spinner.start('Thinking...');
|
|
149
149
|
}
|
|
150
150
|
try {
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
let fullResponse = '';
|
|
152
|
+
let buffer = '';
|
|
153
|
+
let hasStarted = false;
|
|
154
|
+
let inCodeBlock = false;
|
|
155
|
+
let codeLanguage = '';
|
|
156
|
+
await client.chatStream({
|
|
157
|
+
messages,
|
|
153
158
|
model: options.model,
|
|
154
159
|
temperature: 0.7,
|
|
155
160
|
max_tokens: 4000,
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
if (options.execute && (content.includes('```bash') || content.includes('```sh') || content.includes('```zsh') || content.includes('```shell'))) {
|
|
183
|
-
const cleanContent = content.replace(/```(bash|sh|zsh|shell)[\s\S]*?```/g, chalk_1.default.gray('[Shell Command Executing in Terminal Block...]')).trim();
|
|
184
|
-
if (cleanContent)
|
|
185
|
-
agent_orchestrator_1.AgentOrchestrator.speak(role, cleanContent);
|
|
161
|
+
}, (chunk) => {
|
|
162
|
+
if (!hasStarted) {
|
|
163
|
+
spinner_1.spinner.stop();
|
|
164
|
+
hasStarted = true;
|
|
165
|
+
}
|
|
166
|
+
buffer += chunk;
|
|
167
|
+
fullResponse += chunk;
|
|
168
|
+
const lines = buffer.split('\n');
|
|
169
|
+
if (lines.length > 1) {
|
|
170
|
+
buffer = lines.pop() || '';
|
|
171
|
+
for (const line of lines) {
|
|
172
|
+
const trimmed = line.trim();
|
|
173
|
+
// Code block detection
|
|
174
|
+
if (trimmed.startsWith('```')) {
|
|
175
|
+
if (!inCodeBlock) {
|
|
176
|
+
inCodeBlock = true;
|
|
177
|
+
codeLanguage = trimmed.substring(3).toLowerCase();
|
|
178
|
+
// In chat mode, we hide shell commands if execute is on
|
|
179
|
+
if (options.execute && ['bash', 'sh', 'zsh', 'powershell', 'cmd'].includes(codeLanguage)) {
|
|
180
|
+
console.log(chalk_1.default.gray('\n[Running Shell Command in Terminal Block...]'));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
inCodeBlock = false;
|
|
185
|
+
}
|
|
186
|
+
continue;
|
|
186
187
|
}
|
|
187
|
-
|
|
188
|
-
|
|
188
|
+
// Agent Tag detection
|
|
189
|
+
const agentMatch = trimmed.match(/^\[(MatexCodeArchitect|SyntaxGuard|VisualAgent|CoreAgent|CrawlerAgent|DetailedResearch|MatexResearchCommander)\]$/);
|
|
190
|
+
if (agentMatch) {
|
|
191
|
+
console.log(`\n${chalk_1.default.bold.cyan(trimmed)}`);
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
// Normal text output
|
|
195
|
+
if (!inCodeBlock) {
|
|
196
|
+
if (trimmed)
|
|
197
|
+
console.log(chalk_1.default.gray(trimmed));
|
|
198
|
+
}
|
|
199
|
+
else if (!options.execute) {
|
|
200
|
+
// If not executing, show the code anyway
|
|
201
|
+
if (line.length > 0) {
|
|
202
|
+
console.log(chalk_1.default.blue(line));
|
|
203
|
+
}
|
|
189
204
|
}
|
|
190
|
-
}
|
|
191
|
-
hasAgents = true;
|
|
192
|
-
}
|
|
193
|
-
else if (!hasAgents || i === segments.length - 1) {
|
|
194
|
-
// Final summary or fallback
|
|
195
|
-
if (!segment.includes('`')) {
|
|
196
|
-
console.log('\n' + chalk_1.default.gray(segment));
|
|
197
|
-
}
|
|
198
|
-
else if (!options.execute || (!segment.includes('```bash') && !segment.includes('```sh'))) {
|
|
199
|
-
console.log('\n' + chalk_1.default.white(segment));
|
|
200
205
|
}
|
|
201
206
|
}
|
|
207
|
+
});
|
|
208
|
+
spinner_1.spinner.stop();
|
|
209
|
+
if (buffer.trim() && !inCodeBlock) {
|
|
210
|
+
console.log(chalk_1.default.gray(buffer.trim()));
|
|
202
211
|
}
|
|
212
|
+
// Add assistant response to history
|
|
213
|
+
messages.push({ role: 'assistant', content: fullResponse });
|
|
214
|
+
const response = fullResponse;
|
|
203
215
|
console.log();
|
|
204
216
|
// Execute commands if requested
|
|
205
217
|
if (options.execute) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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,SAwNjB,CAAC"}
|
package/dist/commands/dev.js
CHANGED
|
@@ -137,59 +137,69 @@ ${repoMap}`
|
|
|
137
137
|
spinner_1.spinner.start('Thinking...');
|
|
138
138
|
}
|
|
139
139
|
try {
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
let fullResponse = '';
|
|
141
|
+
let buffer = '';
|
|
142
|
+
let hasStarted = false;
|
|
143
|
+
let inCodeBlock = false;
|
|
144
|
+
let codeLanguage = '';
|
|
145
|
+
await client.chatStream({
|
|
142
146
|
messages,
|
|
143
147
|
model: options.model,
|
|
144
148
|
temperature: 0.3,
|
|
145
149
|
max_tokens: 8000,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
if (options.execute && (content.includes('```bash') || content.includes('```sh') || content.includes('```zsh') || content.includes('```shell'))) {
|
|
173
|
-
const cleanContent = content.replace(/```(bash|sh|zsh|shell)[\s\S]*?```/g, chalk_1.default.gray('[Shell Command Executing in Terminal Block...]')).trim();
|
|
174
|
-
if (cleanContent)
|
|
175
|
-
agent_orchestrator_1.AgentOrchestrator.speak(role, cleanContent);
|
|
150
|
+
}, (chunk) => {
|
|
151
|
+
if (!hasStarted) {
|
|
152
|
+
spinner_1.spinner.stop();
|
|
153
|
+
hasStarted = true;
|
|
154
|
+
}
|
|
155
|
+
buffer += chunk;
|
|
156
|
+
fullResponse += chunk;
|
|
157
|
+
// Process buffer line by line or segment by segment
|
|
158
|
+
const lines = buffer.split('\n');
|
|
159
|
+
if (lines.length > 1) {
|
|
160
|
+
buffer = lines.pop() || ''; // Keep the last incomplete line
|
|
161
|
+
for (const line of lines) {
|
|
162
|
+
const trimmed = line.trim();
|
|
163
|
+
// Code block detection
|
|
164
|
+
if (trimmed.startsWith('```')) {
|
|
165
|
+
if (!inCodeBlock) {
|
|
166
|
+
inCodeBlock = true;
|
|
167
|
+
codeLanguage = trimmed.substring(3).toLowerCase();
|
|
168
|
+
if (options.execute && ['bash', 'sh', 'zsh', 'powershell', 'cmd'].includes(codeLanguage)) {
|
|
169
|
+
console.log(chalk_1.default.gray('\n[Running Shell Command in Terminal Block...]'));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
inCodeBlock = false;
|
|
174
|
+
}
|
|
175
|
+
continue;
|
|
176
176
|
}
|
|
177
|
-
|
|
178
|
-
|
|
177
|
+
// Agent Tag detection
|
|
178
|
+
const agentMatch = trimmed.match(/^\[(MatexCodeArchitect|SyntaxGuard|VisualAgent|CoreAgent|CrawlerAgent|DetailedResearch|MatexResearchCommander)\]$/);
|
|
179
|
+
if (agentMatch) {
|
|
180
|
+
console.log(`\n${chalk_1.default.bold.cyan(trimmed)}`);
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
// Normal text output (if not in a hidden code block)
|
|
184
|
+
if (!inCodeBlock) {
|
|
185
|
+
if (trimmed)
|
|
186
|
+
console.log(chalk_1.default.gray(trimmed));
|
|
187
|
+
}
|
|
188
|
+
else if (!options.execute) {
|
|
189
|
+
// If not executing, show the code anyway
|
|
190
|
+
console.log(chalk_1.default.blue(line));
|
|
179
191
|
}
|
|
180
|
-
}
|
|
181
|
-
hasAgents = true;
|
|
182
|
-
}
|
|
183
|
-
else if (!hasAgents || i === segments.length - 1) {
|
|
184
|
-
// Final summary or fallback
|
|
185
|
-
if (!segment.includes('`')) {
|
|
186
|
-
console.log('\n' + chalk_1.default.gray(segment));
|
|
187
|
-
}
|
|
188
|
-
else if (!options.execute || (!segment.includes('```bash') && !segment.includes('```sh'))) {
|
|
189
|
-
console.log('\n' + chalk_1.default.white(segment));
|
|
190
192
|
}
|
|
191
193
|
}
|
|
194
|
+
});
|
|
195
|
+
spinner_1.spinner.stop();
|
|
196
|
+
// Final flush
|
|
197
|
+
if (buffer.trim() && !inCodeBlock) {
|
|
198
|
+
console.log(chalk_1.default.gray(buffer.trim()));
|
|
192
199
|
}
|
|
200
|
+
// Add assistant response to history
|
|
201
|
+
messages.push({ role: 'assistant', content: fullResponse });
|
|
202
|
+
const response = fullResponse;
|
|
193
203
|
console.log();
|
|
194
204
|
// Execute commands
|
|
195
205
|
if (options.execute) {
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -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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"}
|
package/package.json
CHANGED
package/src/api/client.ts
CHANGED
|
@@ -33,7 +33,66 @@ export class MatexAPIClient {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
|
-
* Send a chat request to the API
|
|
36
|
+
* Send a streaming chat request to the API
|
|
37
|
+
*/
|
|
38
|
+
async chatStream(request: ChatRequest, onChunk: (chunk: string) => void): Promise<string> {
|
|
39
|
+
try {
|
|
40
|
+
const response = await this.client.post('/api/v1/chat', {
|
|
41
|
+
...request,
|
|
42
|
+
uid: 'cli-user',
|
|
43
|
+
}, {
|
|
44
|
+
responseType: 'stream'
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
return new Promise((resolve, reject) => {
|
|
48
|
+
let fullResponse = '';
|
|
49
|
+
let buffer = '';
|
|
50
|
+
|
|
51
|
+
response.data.on('data', (chunk: Buffer) => {
|
|
52
|
+
buffer += chunk.toString();
|
|
53
|
+
|
|
54
|
+
const lines = buffer.split('\n');
|
|
55
|
+
buffer = lines.pop() || ''; // Keep the last incomplete line
|
|
56
|
+
|
|
57
|
+
for (const line of lines) {
|
|
58
|
+
const trimmed = line.trim();
|
|
59
|
+
if (trimmed.startsWith('data: ')) {
|
|
60
|
+
const jsonStr = trimmed.substring(6).trim();
|
|
61
|
+
if (jsonStr === '[DONE]') continue;
|
|
62
|
+
|
|
63
|
+
try {
|
|
64
|
+
const parsed = JSON.parse(jsonStr);
|
|
65
|
+
if (parsed.content) {
|
|
66
|
+
fullResponse += parsed.content;
|
|
67
|
+
onChunk(parsed.content);
|
|
68
|
+
}
|
|
69
|
+
} catch (e) {
|
|
70
|
+
// Ignore malformed JSON chunks
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
response.data.on('end', () => {
|
|
77
|
+
resolve(fullResponse);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
response.data.on('error', (err: Error) => {
|
|
81
|
+
reject(err);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
} catch (error: any) {
|
|
85
|
+
if (error.response) {
|
|
86
|
+
// For stream responses, error data might needs to be read from the stream
|
|
87
|
+
throw new Error(`API Error: ${error.response.statusText}`);
|
|
88
|
+
} else {
|
|
89
|
+
throw new Error(`Request failed: ${error.message}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Send a chat request to the API (non-streaming fallback)
|
|
37
96
|
*/
|
|
38
97
|
async chat(request: ChatRequest): Promise<string> {
|
|
39
98
|
try {
|
package/src/commands/chat.ts
CHANGED
|
@@ -123,59 +123,77 @@ ${repoMap}`
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
try {
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
let fullResponse = '';
|
|
127
|
+
let buffer = '';
|
|
128
|
+
let hasStarted = false;
|
|
129
|
+
let inCodeBlock = false;
|
|
130
|
+
let codeLanguage = '';
|
|
131
|
+
|
|
132
|
+
await client.chatStream({
|
|
133
|
+
messages,
|
|
128
134
|
model: options.model,
|
|
129
135
|
temperature: 0.7,
|
|
130
136
|
max_tokens: 4000,
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
// Add assistant response to history
|
|
137
|
-
messages.push({ role: 'assistant', content: response });
|
|
138
|
-
|
|
139
|
-
// Enhanced Multi-Agent Display (Thinking Channel & Leak Prevention)
|
|
140
|
-
const segments = response.split(/(\[MatexCodeArchitect\]|\[SyntaxGuard\]|\[VisualAgent\]|\[CoreAgent\]|\[CrawlerAgent\]|\[DetailedResearch\]|\[MatexResearchCommander\])/);
|
|
141
|
-
let hasAgents = false;
|
|
142
|
-
|
|
143
|
-
for (let i = 0; i < segments.length; i++) {
|
|
144
|
-
let segment = segments[i].trim();
|
|
145
|
-
if (!segment) continue;
|
|
137
|
+
}, (chunk) => {
|
|
138
|
+
if (!hasStarted) {
|
|
139
|
+
spinner.stop();
|
|
140
|
+
hasStarted = true;
|
|
141
|
+
}
|
|
146
142
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
143
|
+
buffer += chunk;
|
|
144
|
+
fullResponse += chunk;
|
|
145
|
+
|
|
146
|
+
const lines = buffer.split('\n');
|
|
147
|
+
if (lines.length > 1) {
|
|
148
|
+
buffer = lines.pop() || '';
|
|
149
|
+
|
|
150
|
+
for (const line of lines) {
|
|
151
|
+
const trimmed = line.trim();
|
|
152
|
+
|
|
153
|
+
// Code block detection
|
|
154
|
+
if (trimmed.startsWith('```')) {
|
|
155
|
+
if (!inCodeBlock) {
|
|
156
|
+
inCodeBlock = true;
|
|
157
|
+
codeLanguage = trimmed.substring(3).toLowerCase();
|
|
158
|
+
// In chat mode, we hide shell commands if execute is on
|
|
159
|
+
if (options.execute && ['bash', 'sh', 'zsh', 'powershell', 'cmd'].includes(codeLanguage)) {
|
|
160
|
+
console.log(chalk.gray('\n[Running Shell Command in Terminal Block...]'));
|
|
161
|
+
}
|
|
162
|
+
} else {
|
|
163
|
+
inCodeBlock = false;
|
|
164
|
+
}
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
154
167
|
|
|
155
|
-
|
|
168
|
+
// Agent Tag detection
|
|
169
|
+
const agentMatch = trimmed.match(/^\[(MatexCodeArchitect|SyntaxGuard|VisualAgent|CoreAgent|CrawlerAgent|DetailedResearch|MatexResearchCommander)\]$/);
|
|
170
|
+
if (agentMatch) {
|
|
171
|
+
console.log(`\n${chalk.bold.cyan(trimmed)}`);
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
156
174
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
} else {
|
|
166
|
-
AgentOrchestrator.speak(role as any, content);
|
|
175
|
+
// Normal text output
|
|
176
|
+
if (!inCodeBlock) {
|
|
177
|
+
if (trimmed) console.log(chalk.gray(trimmed));
|
|
178
|
+
} else if (!options.execute) {
|
|
179
|
+
// If not executing, show the code anyway
|
|
180
|
+
if (line.length > 0) {
|
|
181
|
+
console.log(chalk.blue(line));
|
|
182
|
+
}
|
|
167
183
|
}
|
|
168
184
|
}
|
|
169
|
-
hasAgents = true;
|
|
170
|
-
} else if (!hasAgents || i === segments.length - 1) {
|
|
171
|
-
// Final summary or fallback
|
|
172
|
-
if (!segment.includes('`')) {
|
|
173
|
-
console.log('\n' + chalk.gray(segment));
|
|
174
|
-
} else if (!options.execute || (!segment.includes('```bash') && !segment.includes('```sh'))) {
|
|
175
|
-
console.log('\n' + chalk.white(segment));
|
|
176
|
-
}
|
|
177
185
|
}
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
spinner.stop();
|
|
189
|
+
|
|
190
|
+
if (buffer.trim() && !inCodeBlock) {
|
|
191
|
+
console.log(chalk.gray(buffer.trim()));
|
|
178
192
|
}
|
|
193
|
+
|
|
194
|
+
// Add assistant response to history
|
|
195
|
+
messages.push({ role: 'assistant', content: fullResponse });
|
|
196
|
+
const response = fullResponse;
|
|
179
197
|
console.log();
|
|
180
198
|
|
|
181
199
|
// Execute commands if requested
|
package/src/commands/dev.ts
CHANGED
|
@@ -112,60 +112,76 @@ ${repoMap}`
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
try {
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
let fullResponse = '';
|
|
116
|
+
let buffer = '';
|
|
117
|
+
let hasStarted = false;
|
|
118
|
+
let inCodeBlock = false;
|
|
119
|
+
let codeLanguage = '';
|
|
120
|
+
|
|
121
|
+
await client.chatStream({
|
|
117
122
|
messages,
|
|
118
123
|
model: options.model,
|
|
119
124
|
temperature: 0.3,
|
|
120
125
|
max_tokens: 8000,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
// Add assistant response to history
|
|
127
|
-
messages.push({ role: 'assistant', content: response });
|
|
128
|
-
|
|
129
|
-
// Enhanced Multi-Agent Display (Thinking Channel & Leak Prevention)
|
|
130
|
-
const segments = response.split(/(\[MatexCodeArchitect\]|\[SyntaxGuard\]|\[VisualAgent\]|\[CoreAgent\]|\[CrawlerAgent\]|\[DetailedResearch\]|\[MatexResearchCommander\])/);
|
|
131
|
-
let hasAgents = false;
|
|
132
|
-
|
|
133
|
-
for (let i = 0; i < segments.length; i++) {
|
|
134
|
-
let segment = segments[i].trim();
|
|
135
|
-
if (!segment) continue;
|
|
126
|
+
}, (chunk) => {
|
|
127
|
+
if (!hasStarted) {
|
|
128
|
+
spinner.stop();
|
|
129
|
+
hasStarted = true;
|
|
130
|
+
}
|
|
136
131
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
132
|
+
buffer += chunk;
|
|
133
|
+
fullResponse += chunk;
|
|
134
|
+
|
|
135
|
+
// Process buffer line by line or segment by segment
|
|
136
|
+
const lines = buffer.split('\n');
|
|
137
|
+
if (lines.length > 1) {
|
|
138
|
+
buffer = lines.pop() || ''; // Keep the last incomplete line
|
|
139
|
+
|
|
140
|
+
for (const line of lines) {
|
|
141
|
+
const trimmed = line.trim();
|
|
142
|
+
|
|
143
|
+
// Code block detection
|
|
144
|
+
if (trimmed.startsWith('```')) {
|
|
145
|
+
if (!inCodeBlock) {
|
|
146
|
+
inCodeBlock = true;
|
|
147
|
+
codeLanguage = trimmed.substring(3).toLowerCase();
|
|
148
|
+
if (options.execute && ['bash', 'sh', 'zsh', 'powershell', 'cmd'].includes(codeLanguage)) {
|
|
149
|
+
console.log(chalk.gray('\n[Running Shell Command in Terminal Block...]'));
|
|
150
|
+
}
|
|
151
|
+
} else {
|
|
152
|
+
inCodeBlock = false;
|
|
153
|
+
}
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
144
156
|
|
|
145
|
-
|
|
157
|
+
// Agent Tag detection
|
|
158
|
+
const agentMatch = trimmed.match(/^\[(MatexCodeArchitect|SyntaxGuard|VisualAgent|CoreAgent|CrawlerAgent|DetailedResearch|MatexResearchCommander)\]$/);
|
|
159
|
+
if (agentMatch) {
|
|
160
|
+
console.log(`\n${chalk.bold.cyan(trimmed)}`);
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
146
163
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
const cleanContent = content.replace(/```(bash|sh|zsh|shell)[\s\S]*?```/g, chalk.gray('[Shell Command Executing in Terminal Block...]')).trim();
|
|
154
|
-
if (cleanContent) AgentOrchestrator.speak(role as any, cleanContent);
|
|
155
|
-
} else {
|
|
156
|
-
AgentOrchestrator.speak(role as any, content);
|
|
164
|
+
// Normal text output (if not in a hidden code block)
|
|
165
|
+
if (!inCodeBlock) {
|
|
166
|
+
if (trimmed) console.log(chalk.gray(trimmed));
|
|
167
|
+
} else if (!options.execute) {
|
|
168
|
+
// If not executing, show the code anyway
|
|
169
|
+
console.log(chalk.blue(line));
|
|
157
170
|
}
|
|
158
171
|
}
|
|
159
|
-
hasAgents = true;
|
|
160
|
-
} else if (!hasAgents || i === segments.length - 1) {
|
|
161
|
-
// Final summary or fallback
|
|
162
|
-
if (!segment.includes('`')) {
|
|
163
|
-
console.log('\n' + chalk.gray(segment));
|
|
164
|
-
} else if (!options.execute || (!segment.includes('```bash') && !segment.includes('```sh'))) {
|
|
165
|
-
console.log('\n' + chalk.white(segment));
|
|
166
|
-
}
|
|
167
172
|
}
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
spinner.stop();
|
|
176
|
+
|
|
177
|
+
// Final flush
|
|
178
|
+
if (buffer.trim() && !inCodeBlock) {
|
|
179
|
+
console.log(chalk.gray(buffer.trim()));
|
|
168
180
|
}
|
|
181
|
+
|
|
182
|
+
// Add assistant response to history
|
|
183
|
+
messages.push({ role: 'assistant', content: fullResponse });
|
|
184
|
+
const response = fullResponse;
|
|
169
185
|
console.log();
|
|
170
186
|
|
|
171
187
|
// Execute commands
|