@kolisachint/hoocode-agent 0.4.2 → 0.4.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 (29) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/core/task-store.d.ts +3 -1
  3. package/dist/core/task-store.d.ts.map +1 -1
  4. package/dist/core/task-store.js +7 -1
  5. package/dist/core/task-store.js.map +1 -1
  6. package/dist/core/tools/subagent.d.ts +1 -1
  7. package/dist/core/tools/subagent.d.ts.map +1 -1
  8. package/dist/core/tools/subagent.js +6 -10
  9. package/dist/core/tools/subagent.js.map +1 -1
  10. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  11. package/dist/modes/interactive/components/footer.js +0 -41
  12. package/dist/modes/interactive/components/footer.js.map +1 -1
  13. package/dist/modes/interactive/components/index.d.ts +1 -0
  14. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  15. package/dist/modes/interactive/components/index.js +1 -0
  16. package/dist/modes/interactive/components/index.js.map +1 -1
  17. package/dist/modes/interactive/components/task-panel.d.ts +14 -0
  18. package/dist/modes/interactive/components/task-panel.d.ts.map +1 -0
  19. package/dist/modes/interactive/components/task-panel.js +61 -0
  20. package/dist/modes/interactive/components/task-panel.js.map +1 -0
  21. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  22. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  23. package/dist/modes/interactive/interactive-mode.js +7 -2
  24. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  25. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  26. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  27. package/examples/extensions/sandbox/package.json +1 -1
  28. package/examples/extensions/with-deps/package.json +1 -1
  29. package/package.json +4 -4
@@ -53,6 +53,7 @@ import { ScopedModelsSelectorComponent } from "./components/scoped-models-select
53
53
  import { SessionSelectorComponent } from "./components/session-selector.js";
54
54
  import { SettingsSelectorComponent } from "./components/settings-selector.js";
55
55
  import { SkillInvocationMessageComponent } from "./components/skill-invocation-message.js";
56
+ import { TaskPanelComponent } from "./components/task-panel.js";
56
57
  import { ToolExecutionComponent } from "./components/tool-execution.js";
57
58
  import { TreeSelectorComponent } from "./components/tree-selector.js";
58
59
  import { UserMessageComponent } from "./components/user-message.js";
@@ -151,7 +152,7 @@ export class InteractiveMode {
151
152
  skillCommands = new Map();
152
153
  // Agent subscription unsubscribe function
153
154
  unsubscribe;
154
- // Task store subscription unsubscribe function (footer task list)
155
+ // Task store subscription unsubscribe function (task panel)
155
156
  taskStoreUnsubscribe;
156
157
  signalCleanupHandlers = [];
157
158
  // Track if editor is in bash mode (text starts with !)
@@ -181,6 +182,8 @@ export class InteractiveMode {
181
182
  extensionWidgetsBelow = new Map();
182
183
  widgetContainerAbove;
183
184
  widgetContainerBelow;
185
+ // Task panel shown just above the editor (active subagent tasks)
186
+ taskPanel;
184
187
  // Custom footer from extension (undefined = use built-in footer)
185
188
  customFooter = undefined;
186
189
  // Header container that holds the built-in or custom header
@@ -234,6 +237,7 @@ export class InteractiveMode {
234
237
  this.footerDataProvider = new FooterDataProvider(this.sessionManager.getCwd());
235
238
  this.footer = new FooterComponent(this.session, this.footerDataProvider);
236
239
  this.footer.setAutoCompactEnabled(this.session.autoCompactionEnabled);
240
+ this.taskPanel = new TaskPanelComponent();
237
241
  // Load hide thinking block setting
238
242
  this.hideThinkingBlock = this.settingsManager.getHideThinkingBlock();
239
243
  // Register themes from resource loader and initialize
@@ -442,6 +446,7 @@ export class InteractiveMode {
442
446
  this.ui.addChild(this.statusContainer);
443
447
  this.renderWidgets(); // Initialize with default spacer
444
448
  this.ui.addChild(this.widgetContainerAbove);
449
+ this.ui.addChild(this.taskPanel);
445
450
  this.ui.addChild(this.editorContainer);
446
451
  this.ui.addChild(this.widgetContainerBelow);
447
452
  this.ui.addChild(this.footer);
@@ -465,7 +470,7 @@ export class InteractiveMode {
465
470
  this.footerDataProvider.onBranchChange(() => {
466
471
  this.ui.requestRender();
467
472
  });
468
- // Re-render the footer when the task list changes (e.g. subagent tasks).
473
+ // Re-render the UI when the task list changes (task panel shows active tasks).
469
474
  this.taskStoreUnsubscribe = taskStore.subscribe(() => {
470
475
  this.ui.requestRender();
471
476
  });