vigthoria-cli 1.6.33 → 1.6.34
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/chat.d.ts +6 -0
- package/dist/commands/chat.js +15 -0
- package/dist/commands/edit.js +3 -3
- package/package.json +1 -1
package/dist/commands/chat.d.ts
CHANGED
|
@@ -53,6 +53,12 @@ export declare class ChatCommand {
|
|
|
53
53
|
*/
|
|
54
54
|
private isAnalysisLookupPrompt;
|
|
55
55
|
private isBrowserTaskPrompt;
|
|
56
|
+
/**
|
|
57
|
+
* Returns true when a prompt can be answered directly without the full
|
|
58
|
+
* BMAD operator workflow. Matches analysis/lookup questions.
|
|
59
|
+
* Infrastructure action verbs are already filtered at the routing level.
|
|
60
|
+
*/
|
|
61
|
+
private isOperatorDirectAnswerable;
|
|
56
62
|
private inferAgentTaskType;
|
|
57
63
|
private buildTaskShapingInstructions;
|
|
58
64
|
private buildExecutionPrompt;
|
package/dist/commands/chat.js
CHANGED
|
@@ -206,6 +206,14 @@ class ChatCommand {
|
|
|
206
206
|
isBrowserTaskPrompt(prompt) {
|
|
207
207
|
return /(browser|chrome|devtools|console|dom|network tab|network request|frontend runtime|client-side|client side|rendering|page load|websocket|ui bug|inspect element)/i.test(prompt);
|
|
208
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Returns true when a prompt can be answered directly without the full
|
|
211
|
+
* BMAD operator workflow. Matches analysis/lookup questions.
|
|
212
|
+
* Infrastructure action verbs are already filtered at the routing level.
|
|
213
|
+
*/
|
|
214
|
+
isOperatorDirectAnswerable(prompt) {
|
|
215
|
+
return this.isAnalysisLookupPrompt(prompt.trim());
|
|
216
|
+
}
|
|
209
217
|
inferAgentTaskType(prompt) {
|
|
210
218
|
if (this.isDiagnosticPrompt(prompt))
|
|
211
219
|
return 'debugging';
|
|
@@ -665,6 +673,13 @@ class ChatCommand {
|
|
|
665
673
|
this.logger.error(this.operatorAccessMessage());
|
|
666
674
|
return;
|
|
667
675
|
}
|
|
676
|
+
// Smart routing: infrastructure action verbs always need the BMAD
|
|
677
|
+
// workflow. Everything else can be answered with a direct chat.
|
|
678
|
+
const isInfraAction = /(deploy|provision|scale|replicas|rollback|roll back|migrate|tear.?down|restart|stop\s+\w+|start\s+\w+|configure|set.?up|upgrade|pipeline)/i.test(prompt.trim());
|
|
679
|
+
if (!isInfraAction && (this.isSimpleDirectPrompt(prompt) || this.isOperatorDirectAnswerable(prompt))) {
|
|
680
|
+
await this.runSimplePrompt(prompt);
|
|
681
|
+
return;
|
|
682
|
+
}
|
|
668
683
|
await this.runOperatorTurn(prompt);
|
|
669
684
|
return;
|
|
670
685
|
}
|
package/dist/commands/edit.js
CHANGED
|
@@ -316,9 +316,9 @@ Return the complete modified file content:`,
|
|
|
316
316
|
// 3+ identical (trimmed) lines is almost certainly stutter — keep one
|
|
317
317
|
deduped.push(lines[i]);
|
|
318
318
|
}
|
|
319
|
-
else if (runLen === 2 && isAtEffectiveEnd && lines[i] === lines[i + 1]) {
|
|
320
|
-
// Exactly 2 identical lines (
|
|
321
|
-
deduped.push(lines[i]);
|
|
319
|
+
else if (runLen === 2 && isAtEffectiveEnd && lines[i].trimEnd() === lines[i + 1].trimEnd()) {
|
|
320
|
+
// Exactly 2 identical lines (same leading indent) at end
|
|
321
|
+
deduped.push(lines[i].trimEnd());
|
|
322
322
|
}
|
|
323
323
|
else {
|
|
324
324
|
// 1 line, or a pair in the middle — keep all
|