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.
Files changed (32) hide show
  1. package/dist/core/agent-session.d.ts +16 -2
  2. package/dist/core/agent-session.d.ts.map +1 -1
  3. package/dist/core/agent-session.js +51 -12
  4. package/dist/core/agent-session.js.map +1 -1
  5. package/dist/core/export-html/index.d.ts.map +1 -1
  6. package/dist/core/export-html/index.js +3 -1
  7. package/dist/core/export-html/index.js.map +1 -1
  8. package/dist/core/extensions/runner.d.ts +4 -1
  9. package/dist/core/extensions/runner.d.ts.map +1 -1
  10. package/dist/core/extensions/runner.js +4 -1
  11. package/dist/core/extensions/runner.js.map +1 -1
  12. package/dist/core/system-prompt.d.ts +14 -0
  13. package/dist/core/system-prompt.d.ts.map +1 -1
  14. package/dist/core/system-prompt.js +43 -23
  15. package/dist/core/system-prompt.js.map +1 -1
  16. package/dist/core/tools/worker.d.ts +1 -0
  17. package/dist/core/tools/worker.d.ts.map +1 -1
  18. package/dist/core/tools/worker.js +26 -6
  19. package/dist/core/tools/worker.js.map +1 -1
  20. package/dist/core/worker-integration.d.ts +0 -4
  21. package/dist/core/worker-integration.d.ts.map +1 -1
  22. package/dist/core/worker-integration.js +42 -23
  23. package/dist/core/worker-integration.js.map +1 -1
  24. package/dist/modes/interactive/components/worker-selector.d.ts +19 -0
  25. package/dist/modes/interactive/components/worker-selector.d.ts.map +1 -0
  26. package/dist/modes/interactive/components/worker-selector.js +64 -0
  27. package/dist/modes/interactive/components/worker-selector.js.map +1 -0
  28. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  29. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  30. package/dist/modes/interactive/interactive-mode.js +32 -21
  31. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  32. 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
- const status = this.session.workerIntegration?.getWorkerStatus();
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.workerEnabled = true;
4378
+ this.session.setWorkerEnabled(true);
4395
4379
  this.showWarning("Worker 模式已启用");
4396
4380
  }
4397
4381
  else if (args === "disable") {
4398
4382
  // 禁用 Worker 模式
4399
- this.session.workerEnabled = false;
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);