release: v2.0.5 - Telegram Business Reporting & Core Resilience
This commit is contained in:
@@ -3054,6 +3054,35 @@ export class AgentExecutor {
|
||||
return candidates;
|
||||
}
|
||||
|
||||
/**
|
||||
* Public entry point for callers that need to apply ConnectAI's action
|
||||
* tags (`<create_file>`, `<run_command>`, `<edit_file>`, …) to arbitrary
|
||||
* text without going through the full `handlePrompt` pipeline.
|
||||
*
|
||||
* The 1인 기업 dispatcher uses this so specialist outputs that contain
|
||||
* action tags actually take effect on disk — without it, agents would
|
||||
* "claim" to create files but nothing would be written, which is the
|
||||
* exact symptom the user reported.
|
||||
*
|
||||
* Returns the action report (`["✅ Created: …", "📂 Listed: …", …]`) so
|
||||
* the caller can surface it back to the user. Errors inside individual
|
||||
* actions are converted into report entries rather than thrown, matching
|
||||
* the behaviour of the internal call site.
|
||||
*/
|
||||
public async executeActionTagsOnText(aiMessage: string): Promise<string[]> {
|
||||
const cfg = getConfig();
|
||||
const rootPath = vscode.workspace.workspaceFolders?.[0]?.uri.fsPath
|
||||
|| cfg.localBrainPath
|
||||
|| process.cwd();
|
||||
const activeBrain = getActiveBrainProfile();
|
||||
try {
|
||||
return await this.executeActions(aiMessage, rootPath, activeBrain);
|
||||
} catch (e: any) {
|
||||
logError('executeActionTagsOnText failed.', { error: e?.message ?? String(e) });
|
||||
return [`❌ Action 실행 중 오류: ${e?.message ?? e}`];
|
||||
}
|
||||
}
|
||||
|
||||
private async executeActions(aiMessage: string, rootPath: string, activeBrain: BrainProfile): Promise<string[]> {
|
||||
const report: string[] = [];
|
||||
let brainModified = false;
|
||||
|
||||
Reference in New Issue
Block a user