@kolisachint/hoocode-agent 0.4.24 → 0.4.26
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/CHANGELOG.md +19 -0
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +13 -4
- package/dist/cli/args.js.map +1 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +27 -3
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/extensions/types.d.ts +2 -0
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +23 -0
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +48 -11
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/resource-loader.d.ts +5 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +40 -5
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/settings-defaults.d.ts +1 -0
- package/dist/core/settings-defaults.d.ts.map +1 -1
- package/dist/core/settings-defaults.js +1 -0
- package/dist/core/settings-defaults.js.map +1 -1
- package/dist/core/settings-manager.d.ts +4 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +14 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +1 -1
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/subagent.d.ts +1 -1
- package/dist/core/tools/subagent.d.ts.map +1 -1
- package/dist/core/tools/subagent.js +1 -1
- package/dist/core/tools/subagent.js.map +1 -1
- package/dist/extensions/core/hoo-core.d.ts.map +1 -1
- package/dist/extensions/core/hoo-core.js +4 -1
- package/dist/extensions/core/hoo-core.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +4 -1
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/command-executor.d.ts +64 -0
- package/dist/modes/interactive/command-executor.d.ts.map +1 -0
- package/dist/modes/interactive/command-executor.js +547 -0
- package/dist/modes/interactive/command-executor.js.map +1 -0
- package/dist/modes/interactive/components/ask-options.d.ts.map +1 -1
- package/dist/modes/interactive/components/ask-options.js +2 -0
- package/dist/modes/interactive/components/ask-options.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +9 -20
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +86 -552
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/docs/prompt-templates.md +34 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/sdk/08-prompt-templates.ts +1 -0
- package/package.json +4 -4
|
@@ -27,7 +27,7 @@ import { exportSessionToHtml } from "./export-html/index.js";
|
|
|
27
27
|
import { createToolHtmlRenderer } from "./export-html/tool-renderer.js";
|
|
28
28
|
import { ExtensionRunner, wrapRegisteredTools, } from "./extensions/index.js";
|
|
29
29
|
import { emitSessionShutdownEvent } from "./extensions/runner.js";
|
|
30
|
-
import { expandPromptTemplate } from "./prompt-templates.js";
|
|
30
|
+
import { expandPromptTemplate, tryExpandPromptTemplate } from "./prompt-templates.js";
|
|
31
31
|
import { clearProviderExhaustion, isProviderQuotaError, markProviderExhausted } from "./provider-health.js";
|
|
32
32
|
import { CURRENT_SESSION_VERSION, getLatestCompactionEntry } from "./session-manager.js";
|
|
33
33
|
import { createSyntheticSourceInfo } from "./source-info.js";
|
|
@@ -739,9 +739,14 @@ export class AgentSession {
|
|
|
739
739
|
}
|
|
740
740
|
// Expand skill commands (/skill:name args) and prompt templates (/template args)
|
|
741
741
|
let expandedText = currentText;
|
|
742
|
+
let expansionTemplate;
|
|
743
|
+
let expansionArgsString = "";
|
|
742
744
|
if (expandPromptTemplates) {
|
|
743
745
|
expandedText = this._expandSkillCommand(expandedText);
|
|
744
|
-
|
|
746
|
+
const expansion = tryExpandPromptTemplate(expandedText, [...this.promptTemplates]);
|
|
747
|
+
expandedText = expansion.text;
|
|
748
|
+
expansionTemplate = expansion.template;
|
|
749
|
+
expansionArgsString = expansion.argsString;
|
|
745
750
|
}
|
|
746
751
|
// If streaming, queue via steer() or followUp() based on option
|
|
747
752
|
if (this.isStreaming) {
|
|
@@ -779,8 +784,22 @@ export class AgentSession {
|
|
|
779
784
|
}
|
|
780
785
|
// Build messages array (custom message if any, then user message)
|
|
781
786
|
messages = [];
|
|
787
|
+
// For system/context slash commands, user message is the raw args if present
|
|
788
|
+
const userMessageText = expansionTemplate && expansionTemplate.type !== "user" && expansionArgsString.trim()
|
|
789
|
+
? expansionArgsString
|
|
790
|
+
: expandedText;
|
|
791
|
+
// Inject context-type slash command as a custom message
|
|
792
|
+
if (expansionTemplate?.type === "context") {
|
|
793
|
+
messages.push({
|
|
794
|
+
role: "custom",
|
|
795
|
+
customType: "slash_command",
|
|
796
|
+
content: expandedText,
|
|
797
|
+
display: false,
|
|
798
|
+
timestamp: Date.now(),
|
|
799
|
+
});
|
|
800
|
+
}
|
|
782
801
|
// Add user message
|
|
783
|
-
const userContent = [{ type: "text", text:
|
|
802
|
+
const userContent = [{ type: "text", text: userMessageText }];
|
|
784
803
|
if (currentImages) {
|
|
785
804
|
userContent.push(...currentImages);
|
|
786
805
|
}
|
|
@@ -817,6 +836,11 @@ export class AgentSession {
|
|
|
817
836
|
// Ensure we're using the base prompt (in case previous turn had modifications)
|
|
818
837
|
this.agent.state.systemPrompt = this._baseSystemPrompt;
|
|
819
838
|
}
|
|
839
|
+
// Inject system-type slash command into system prompt
|
|
840
|
+
if (expansionTemplate?.type === "system") {
|
|
841
|
+
const prefix = this.agent.state.systemPrompt ? "\n\n" : "";
|
|
842
|
+
this.agent.state.systemPrompt += prefix + expandedText;
|
|
843
|
+
}
|
|
820
844
|
}
|
|
821
845
|
catch (error) {
|
|
822
846
|
preflightResult?.(false);
|