mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-20 05:04:44 +00:00
feat: Call resolvePromptInput on the --system-prompt received on the CLI argument. This is needed to support file paths on the prompt (#287)
This commit is contained in:
parent
c57ed89110
commit
35ebe88870
2 changed files with 11 additions and 7 deletions
|
|
@ -22,7 +22,7 @@ const toolDescriptions: Record<ToolName, string> = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Resolve input as file path or literal string */
|
/** Resolve input as file path or literal string */
|
||||||
function resolvePromptInput(input: string | undefined, description: string): string | undefined {
|
export function resolvePromptInput(input: string | undefined, description: string): string | undefined {
|
||||||
if (!input) {
|
if (!input) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ import { resolveModelScope, type ScopedModel } from "./core/model-resolver.js";
|
||||||
import { type CreateAgentSessionOptions, configureOAuthStorage, createAgentSession } from "./core/sdk.js";
|
import { type CreateAgentSessionOptions, configureOAuthStorage, createAgentSession } from "./core/sdk.js";
|
||||||
import { SessionManager } from "./core/session-manager.js";
|
import { SessionManager } from "./core/session-manager.js";
|
||||||
import { SettingsManager } from "./core/settings-manager.js";
|
import { SettingsManager } from "./core/settings-manager.js";
|
||||||
|
import { resolvePromptInput } from "./core/system-prompt.js";
|
||||||
import { printTimings, time } from "./core/timings.js";
|
import { printTimings, time } from "./core/timings.js";
|
||||||
import { allTools } from "./core/tools/index.js";
|
import { allTools } from "./core/tools/index.js";
|
||||||
import { InteractiveMode, runPrintMode, runRpcMode } from "./modes/index.js";
|
import { InteractiveMode, runPrintMode, runRpcMode } from "./modes/index.js";
|
||||||
|
|
@ -177,6 +178,9 @@ function buildSessionOptions(
|
||||||
): CreateAgentSessionOptions {
|
): CreateAgentSessionOptions {
|
||||||
const options: CreateAgentSessionOptions = {};
|
const options: CreateAgentSessionOptions = {};
|
||||||
|
|
||||||
|
const resolvedSystemPrompt = resolvePromptInput(parsed.systemPrompt, "system prompt");
|
||||||
|
const resolvedAppendPrompt = resolvePromptInput(parsed.appendSystemPrompt, "append system prompt");
|
||||||
|
|
||||||
if (sessionManager) {
|
if (sessionManager) {
|
||||||
options.sessionManager = sessionManager;
|
options.sessionManager = sessionManager;
|
||||||
}
|
}
|
||||||
|
|
@ -215,12 +219,12 @@ function buildSessionOptions(
|
||||||
}
|
}
|
||||||
|
|
||||||
// System prompt
|
// System prompt
|
||||||
if (parsed.systemPrompt && parsed.appendSystemPrompt) {
|
if (resolvedSystemPrompt && resolvedAppendPrompt) {
|
||||||
options.systemPrompt = `${parsed.systemPrompt}\n\n${parsed.appendSystemPrompt}`;
|
options.systemPrompt = `${resolvedSystemPrompt}\n\n${resolvedAppendPrompt}`;
|
||||||
} else if (parsed.systemPrompt) {
|
} else if (resolvedSystemPrompt) {
|
||||||
options.systemPrompt = parsed.systemPrompt;
|
options.systemPrompt = resolvedSystemPrompt;
|
||||||
} else if (parsed.appendSystemPrompt) {
|
} else if (resolvedAppendPrompt) {
|
||||||
options.systemPrompt = (defaultPrompt) => `${defaultPrompt}\n\n${parsed.appendSystemPrompt}`;
|
options.systemPrompt = (defaultPrompt) => `${defaultPrompt}\n\n${resolvedAppendPrompt}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tools
|
// Tools
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue