@kolisachint/hoocode-agent 0.4.4 → 0.4.6

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 (52) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/dist/core/agent-session.d.ts +1 -0
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +73 -129
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/compaction/compaction.d.ts.map +1 -1
  7. package/dist/core/compaction/compaction.js +11 -1
  8. package/dist/core/compaction/compaction.js.map +1 -1
  9. package/dist/core/extensions/loader.d.ts.map +1 -1
  10. package/dist/core/extensions/loader.js +1 -0
  11. package/dist/core/extensions/loader.js.map +1 -1
  12. package/dist/core/extensions/types.d.ts +4 -0
  13. package/dist/core/extensions/types.d.ts.map +1 -1
  14. package/dist/core/extensions/types.js.map +1 -1
  15. package/dist/core/settings-defaults.d.ts +54 -0
  16. package/dist/core/settings-defaults.d.ts.map +1 -0
  17. package/dist/core/settings-defaults.js +54 -0
  18. package/dist/core/settings-defaults.js.map +1 -0
  19. package/dist/core/settings-manager.d.ts +3 -9
  20. package/dist/core/settings-manager.d.ts.map +1 -1
  21. package/dist/core/settings-manager.js +41 -45
  22. package/dist/core/settings-manager.js.map +1 -1
  23. package/dist/core/task-store.d.ts +8 -0
  24. package/dist/core/task-store.d.ts.map +1 -1
  25. package/dist/core/task-store.js +19 -0
  26. package/dist/core/task-store.js.map +1 -1
  27. package/dist/core/tools/ls.d.ts.map +1 -1
  28. package/dist/core/tools/ls.js +6 -1
  29. package/dist/core/tools/ls.js.map +1 -1
  30. package/dist/core/tools/read.d.ts.map +1 -1
  31. package/dist/core/tools/read.js.map +1 -1
  32. package/dist/core/tools/subagent.d.ts +1 -0
  33. package/dist/core/tools/subagent.d.ts.map +1 -1
  34. package/dist/core/tools/subagent.js +4 -1
  35. package/dist/core/tools/subagent.js.map +1 -1
  36. package/dist/core/tools/write.d.ts.map +1 -1
  37. package/dist/core/tools/write.js.map +1 -1
  38. package/dist/main.d.ts.map +1 -1
  39. package/dist/main.js +2 -2
  40. package/dist/main.js.map +1 -1
  41. package/dist/modes/interactive/components/task-panel.d.ts +4 -3
  42. package/dist/modes/interactive/components/task-panel.d.ts.map +1 -1
  43. package/dist/modes/interactive/components/task-panel.js +9 -12
  44. package/dist/modes/interactive/components/task-panel.js.map +1 -1
  45. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  46. package/dist/modes/interactive/interactive-mode.js +15 -8
  47. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  48. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  49. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  50. package/examples/extensions/sandbox/package.json +1 -1
  51. package/examples/extensions/with-deps/package.json +1 -1
  52. package/package.json +4 -4
@@ -964,7 +964,10 @@ export class InteractiveMode {
964
964
  const promptsResult = this.session.resourceLoader.getPrompts();
965
965
  const themesResult = this.session.resourceLoader.getThemes();
966
966
  const extensions = options?.extensions ??
967
- this.session.resourceLoader.getExtensions().extensions.map((extension) => ({
967
+ this.session.resourceLoader
968
+ .getExtensions()
969
+ .extensions.filter((extension) => !extension.internal)
970
+ .map((extension) => ({
968
971
  path: extension.path,
969
972
  sourceInfo: extension.sourceInfo,
970
973
  displayName: extension.displayName,
@@ -2068,7 +2071,10 @@ export class InteractiveMode {
2068
2071
  return;
2069
2072
  }
2070
2073
  if (text === "/compact" || text.startsWith("/compact ")) {
2071
- const customInstructions = text.startsWith("/compact ") ? text.slice(9).trim() : undefined;
2074
+ const prefix = "/compact ";
2075
+ const customInstructions = text.startsWith(prefix)
2076
+ ? text.slice(prefix.length).trim() || undefined
2077
+ : undefined;
2072
2078
  this.editor.setText("");
2073
2079
  await this.handleCompactCommand(customInstructions);
2074
2080
  return;
@@ -2207,6 +2213,9 @@ export class InteractiveMode {
2207
2213
  this.ui.requestRender();
2208
2214
  }
2209
2215
  else if (event.message.role === "assistant") {
2216
+ // Main agent is moving on to its next turn: retire any finished subagent
2217
+ // tasks that were kept visible after a parallel spawn.
2218
+ taskStore.retireFinished();
2210
2219
  this.streamingComponent = new AssistantMessageComponent(undefined, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel);
2211
2220
  this.streamingMessage = event.message;
2212
2221
  this.chatContainer.addChild(this.streamingComponent);
@@ -4565,12 +4574,10 @@ export class InteractiveMode {
4565
4574
  this.ui.requestRender();
4566
4575
  }
4567
4576
  async handleCompactCommand(customInstructions) {
4568
- const entries = this.sessionManager.getEntries();
4569
- const messageCount = entries.filter((e) => e.type === "message").length;
4570
- if (messageCount < 2) {
4571
- this.showWarning("Nothing to compact (no messages yet)");
4572
- return;
4573
- }
4577
+ // The session is the single source of truth for whether compaction is
4578
+ // possible (e.g. "Already compacted", "Nothing to compact (session too
4579
+ // small)"). Its specific error is surfaced via the compaction_end event,
4580
+ // so we don't pre-check here and risk a divergent message.
4574
4581
  if (this.loadingAnimation) {
4575
4582
  this.loadingAnimation.stop();
4576
4583
  this.loadingAnimation = undefined;