feat: enforce final tag parsing for embedded PI

This commit is contained in:
Peter Steinberger
2025-12-24 00:52:33 +00:00
parent bc916dbf35
commit 3fcdd6c9d7
3 changed files with 151 additions and 6 deletions

View File

@@ -270,6 +270,7 @@ export async function runEmbeddedPiAgent(params: {
enqueue?: typeof enqueueCommand;
extraSystemPrompt?: string;
ownerNumbers?: string[];
enforceFinalTag?: boolean;
}): Promise<EmbeddedPiRunResult> {
const enqueue = params.enqueue ?? enqueueCommand;
return enqueue(async () => {
@@ -333,8 +334,7 @@ export async function runEmbeddedPiAgent(params: {
node: process.version,
model: `${provider}/${modelId}`,
};
const reasoningTagHint =
provider === "lmstudio" || provider === "ollama";
const reasoningTagHint = provider === "lmstudio" || provider === "ollama";
const systemPrompt = buildSystemPrompt({
appendPrompt: buildAgentSystemPromptAppend({
workspaceDir: resolvedWorkspace,
@@ -403,6 +403,7 @@ export async function runEmbeddedPiAgent(params: {
onToolResult: params.onToolResult,
onPartialReply: params.onPartialReply,
onAgentEvent: params.onAgentEvent,
enforceFinalTag: params.enforceFinalTag,
});
const abortTimer = setTimeout(