leaf-coding-agent 1.0.2 → 1.0.4
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/agent-session.d.ts +16 -2
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +51 -12
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +3 -1
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +4 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +4 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/system-prompt.d.ts +14 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +43 -23
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/worker.d.ts +1 -0
- package/dist/core/tools/worker.d.ts.map +1 -1
- package/dist/core/tools/worker.js +26 -6
- package/dist/core/tools/worker.js.map +1 -1
- package/dist/core/worker-integration.d.ts +0 -4
- package/dist/core/worker-integration.d.ts.map +1 -1
- package/dist/core/worker-integration.js +42 -23
- package/dist/core/worker-integration.js.map +1 -1
- package/dist/modes/interactive/components/worker-selector.d.ts +19 -0
- package/dist/modes/interactive/components/worker-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/worker-selector.js +64 -0
- package/dist/modes/interactive/components/worker-selector.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +32 -21
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/package.json +1 -1
|
@@ -58,6 +58,7 @@ import { SettingsSelectorComponent } from "./components/settings-selector.js";
|
|
|
58
58
|
import { SkillInvocationMessageComponent } from "./components/skill-invocation-message.js";
|
|
59
59
|
import { ToolExecutionComponent } from "./components/tool-execution.js";
|
|
60
60
|
import { TreeSelectorComponent } from "./components/tree-selector.js";
|
|
61
|
+
import { WorkerSelectorComponent } from "./components/worker-selector.js";
|
|
61
62
|
import { UserMessageComponent } from "./components/user-message.js";
|
|
62
63
|
import { UserMessageSelectorComponent } from "./components/user-message-selector.js";
|
|
63
64
|
import { getAvailableThemes, getAvailableThemesWithPaths, getEditorTheme, getMarkdownTheme, getThemeByName, initTheme, onThemeChange, setRegisteredThemes, setTheme, setThemeInstance, stopThemeWatcher, Theme, theme, } from "./theme/theme.js";
|
|
@@ -4369,34 +4370,17 @@ export class InteractiveMode {
|
|
|
4369
4370
|
handleWorkerCommand(text) {
|
|
4370
4371
|
const args = text.slice(7).trim();
|
|
4371
4372
|
if (args === "" || args === "status") {
|
|
4372
|
-
// 显示 Worker
|
|
4373
|
-
|
|
4374
|
-
const progress = this.session.workerIntegration?.getWorkerProgress();
|
|
4375
|
-
let info = `${theme.bold("Worker 状态")}\n\n`;
|
|
4376
|
-
if (status && status.length > 0) {
|
|
4377
|
-
info += `活跃 Worker: ${status.length}\n`;
|
|
4378
|
-
for (const worker of status) {
|
|
4379
|
-
info += ` - ${worker.id}: ${worker.status} - ${worker.task}\n`;
|
|
4380
|
-
}
|
|
4381
|
-
}
|
|
4382
|
-
else {
|
|
4383
|
-
info += `没有活跃的 Worker\n`;
|
|
4384
|
-
}
|
|
4385
|
-
if (progress) {
|
|
4386
|
-
info += `\n进度: ${progress.completed}/${progress.total} (${progress.percentage.toFixed(1)}%)\n`;
|
|
4387
|
-
}
|
|
4388
|
-
this.chatContainer.addChild(new Spacer(1));
|
|
4389
|
-
this.chatContainer.addChild(new Text(info, 1, 0));
|
|
4390
|
-
this.ui.requestRender();
|
|
4373
|
+
// 显示 Worker 设置界面
|
|
4374
|
+
this.showWorkerSelector();
|
|
4391
4375
|
}
|
|
4392
4376
|
else if (args === "enable") {
|
|
4393
4377
|
// 启用 Worker 模式
|
|
4394
|
-
this.session.
|
|
4378
|
+
this.session.setWorkerEnabled(true);
|
|
4395
4379
|
this.showWarning("Worker 模式已启用");
|
|
4396
4380
|
}
|
|
4397
4381
|
else if (args === "disable") {
|
|
4398
4382
|
// 禁用 Worker 模式
|
|
4399
|
-
this.session.
|
|
4383
|
+
this.session.setWorkerEnabled(false);
|
|
4400
4384
|
this.showWarning("Worker 模式已禁用");
|
|
4401
4385
|
}
|
|
4402
4386
|
else if (args === "abort") {
|
|
@@ -4408,6 +4392,33 @@ export class InteractiveMode {
|
|
|
4408
4392
|
this.showWarning(`未知的 Worker 命令: ${args}\n用法: /worker [status|enable|disable|abort]`);
|
|
4409
4393
|
}
|
|
4410
4394
|
}
|
|
4395
|
+
showWorkerSelector() {
|
|
4396
|
+
this.showSelector((done) => {
|
|
4397
|
+
const config = {
|
|
4398
|
+
enabled: this.session.workerEnabled,
|
|
4399
|
+
maxWorkers: this.session.workerMaxWorkers,
|
|
4400
|
+
communicationMode: this.session.workerCommunicationMode,
|
|
4401
|
+
};
|
|
4402
|
+
const selector = new WorkerSelectorComponent(config, {
|
|
4403
|
+
onEnabledChange: (enabled) => {
|
|
4404
|
+
this.session.setWorkerEnabled(enabled);
|
|
4405
|
+
},
|
|
4406
|
+
onMaxWorkersChange: (maxWorkers) => {
|
|
4407
|
+
this.session.setWorkerMaxWorkers(maxWorkers);
|
|
4408
|
+
},
|
|
4409
|
+
onCommunicationModeChange: (mode) => {
|
|
4410
|
+
this.session.setWorkerCommunicationMode(mode);
|
|
4411
|
+
},
|
|
4412
|
+
onAbortAll: () => {
|
|
4413
|
+
this.session.workerIntegration?.abortAllWorkers();
|
|
4414
|
+
},
|
|
4415
|
+
onCancel: () => {
|
|
4416
|
+
done();
|
|
4417
|
+
},
|
|
4418
|
+
});
|
|
4419
|
+
return { component: selector, focus: selector.getSettingsList() };
|
|
4420
|
+
});
|
|
4421
|
+
}
|
|
4411
4422
|
handleChangelogCommand() {
|
|
4412
4423
|
const changelogPath = getChangelogPath();
|
|
4413
4424
|
const allEntries = parseChangelog(changelogPath);
|