agent-mp 0.5.42 → 0.5.44
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/core/engine.js +28 -2
- package/package.json +1 -1
package/dist/core/engine.js
CHANGED
|
@@ -254,7 +254,7 @@ async function walkForKeyFiles(root) {
|
|
|
254
254
|
// Directories that conventionally hold data/domain classes (language-agnostic)
|
|
255
255
|
const DOMAIN_DIR_REGEX = /[\/\\](domain|entity|entities|model|models|dto|dtos|schema|schemas)[\/\\]/i;
|
|
256
256
|
async function walk(dir, depth) {
|
|
257
|
-
if (depth >
|
|
257
|
+
if (depth > 12)
|
|
258
258
|
return;
|
|
259
259
|
let entries;
|
|
260
260
|
try {
|
|
@@ -351,6 +351,8 @@ export class AgentEngine {
|
|
|
351
351
|
const t0 = Date.now();
|
|
352
352
|
const fi = this.fi;
|
|
353
353
|
let streaming = false;
|
|
354
|
+
let statusLine = '';
|
|
355
|
+
let buf = '';
|
|
354
356
|
fi.startActivity(`${frames[0]} ${label} 0s`);
|
|
355
357
|
fi.setActivityLines([` ${dotFrames[0]} esperando respuesta...`]);
|
|
356
358
|
const iv = setInterval(() => {
|
|
@@ -360,10 +362,34 @@ export class AgentEngine {
|
|
|
360
362
|
if (!streaming) {
|
|
361
363
|
fi.setActivityLines([` ${dotFrames[ti % dotFrames.length]} esperando respuesta...`]);
|
|
362
364
|
}
|
|
365
|
+
else if (statusLine) {
|
|
366
|
+
fi.setActivityLines([statusLine]);
|
|
367
|
+
}
|
|
363
368
|
}, 300);
|
|
364
369
|
return {
|
|
365
370
|
stop() { clearInterval(iv); fi.stopActivity(); },
|
|
366
|
-
push(
|
|
371
|
+
push(chunk) {
|
|
372
|
+
streaming = true;
|
|
373
|
+
buf += chunk;
|
|
374
|
+
// Detect === file.md === markers — show which file is being written
|
|
375
|
+
const markers = [...buf.matchAll(/===\s*([\w./\-]+\.md)\s*===/g)];
|
|
376
|
+
if (markers.length > 0) {
|
|
377
|
+
statusLine = ` → ${markers[markers.length - 1][1]}`;
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
// Show last meaningful line of the streamed text
|
|
381
|
+
const lines = buf.split('\n');
|
|
382
|
+
for (let j = lines.length - 1; j >= 0; j--) {
|
|
383
|
+
const l = lines[j].trim();
|
|
384
|
+
if (l.length > 3 && !l.startsWith('```') && !l.startsWith('|---') && !l.startsWith('#')) {
|
|
385
|
+
statusLine = ` ${l.slice(0, 72)}`;
|
|
386
|
+
break;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
if (buf.length > 6000)
|
|
391
|
+
buf = buf.slice(-3000);
|
|
392
|
+
},
|
|
367
393
|
};
|
|
368
394
|
}
|
|
369
395
|
/** Extract readable text lines from a qwen/CLI streaming chunk. */
|