fluxflow-cli 2.8.9 → 2.8.10
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/dist/fluxflow.js +11 -13
- package/package.json +1 -1
package/dist/fluxflow.js
CHANGED
|
@@ -4922,9 +4922,7 @@ ${tail}`;
|
|
|
4922
4922
|
|
|
4923
4923
|
- Stats: [${verifiedLineCount} lines, ${(verifiedSize / 1024).toFixed(1)} KB]
|
|
4924
4924
|
${ancestry}- Content Preview:
|
|
4925
|
-
${snippet}
|
|
4926
|
-
|
|
4927
|
-
[SYSTEM] Check the content preview for verification [/SYSTEM]`;
|
|
4925
|
+
${snippet}`;
|
|
4928
4926
|
} catch (err) {
|
|
4929
4927
|
const errorMsg = err instanceof Error ? err.message : String(err);
|
|
4930
4928
|
return `ERROR: Failed to write file [${targetPath}]: ${errorMsg}`;
|
|
@@ -8034,7 +8032,7 @@ ${ideCtx.warnings}
|
|
|
8034
8032
|
CWD: ${process.cwd()}${cwdMismatch ? ` (WARNING: CWD Mismatch! Previous Path: ${lastCwd})` : ""}
|
|
8035
8033
|
**DIRECTORY STRUCTURE**
|
|
8036
8034
|
${dirStructure}${memoryPrompt}${ideBlock}
|
|
8037
|
-
${activeSummaryBlock}${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" && aiProvider === "Google" ? `${modelName.toLowerCase().startsWith("gemma") ? "[SYSTEM] **STRICTLY FOLLOW THINKING POLICY AS CRITICAL PRIORITY. DO NOT START A RESPONSE WITHOUT <think> ... </think
|
|
8035
|
+
${activeSummaryBlock}${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" && aiProvider === "Google" ? `${modelName.toLowerCase().startsWith("gemma") ? "[SYSTEM] **STRICTLY FOLLOW THINKING POLICY AS CRITICAL PRIORITY. DO NOT START A RESPONSE WITHOUT <think> ... </think>** [/SYSTEM]\n" : ""}` : ""}[USER] ${cleanAgentText.trim()} [/USER]`.trim();
|
|
8038
8036
|
modifiedHistory.push({ role: "user", text: firstUserMsg });
|
|
8039
8037
|
if (activeSummaryBlock && history[history.length - 1]?.id) {
|
|
8040
8038
|
yield { type: "summary_injected", content: { id: history[history.length - 1].id, text: firstUserMsg } };
|
|
@@ -8057,7 +8055,7 @@ ${activeSummaryBlock}${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" &&
|
|
|
8057
8055
|
modifiedHistory = getTruncatedHistory(modifiedHistory, 6);
|
|
8058
8056
|
}
|
|
8059
8057
|
if (loop > 0) {
|
|
8060
|
-
yield { type: "status", content: "Working
|
|
8058
|
+
yield { type: "status", content: "Working..." };
|
|
8061
8059
|
}
|
|
8062
8060
|
if (TERMINATION_SIGNAL) {
|
|
8063
8061
|
yield { type: "status", content: "Request Cancelled" };
|
|
@@ -8072,7 +8070,7 @@ ${activeSummaryBlock}${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" &&
|
|
|
8072
8070
|
|
|
8073
8071
|
[STEERING HINT]: ${hint}`;
|
|
8074
8072
|
} else {
|
|
8075
|
-
modifiedHistory.push({ role: "user", text: `${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" && aiProvider === "Google" ? `${modelName.toLowerCase().startsWith("gemma") ? "[SYSTEM] **STRICTLY FOLLOW THINKING POLICY AS CRITICAL PRIORITY. DO NOT START A RESPONSE WITHOUT <think> ... </think
|
|
8073
|
+
modifiedHistory.push({ role: "user", text: `${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" && aiProvider === "Google" ? `${modelName.toLowerCase().startsWith("gemma") ? "[SYSTEM] **STRICTLY FOLLOW THINKING POLICY AS CRITICAL PRIORITY. DO NOT START A RESPONSE WITHOUT <think> ... </think>** [/SYSTEM]\n" : ""}` : ""}[STEERING HINT]: ${hint}` });
|
|
8076
8074
|
}
|
|
8077
8075
|
yield { type: "status", content: "Steering Hint Injected." };
|
|
8078
8076
|
}
|
|
@@ -8205,13 +8203,13 @@ ${activeSummaryBlock}${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" &&
|
|
|
8205
8203
|
const ideErr = ideCtxJIT ? ideCtxJIT.diagnostics : null;
|
|
8206
8204
|
if (ideErr && lastUserMsg && lastUserMsg.role === "user" && lastUserMsg.parts?.[0]?.text) {
|
|
8207
8205
|
lastUserMsg.parts[0].text += `
|
|
8208
|
-
|
|
8206
|
+
${ideErr} [/ERROR]`;
|
|
8209
8207
|
}
|
|
8210
8208
|
}
|
|
8211
8209
|
const isGemma = modelName && modelName.toLowerCase().startsWith("gemma") && aiProvider === "Google";
|
|
8212
8210
|
if (isGemma) {
|
|
8213
8211
|
const jitInstruction = `
|
|
8214
|
-
[SYSTEM] Tool result received. Analyze output and proceed with your turn${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" && aiProvider === "Google" ? `. **STRICTLY MAINTAIN THINKING POLICY. DO NOT START A RESPONSE WITHOUT <think> ... </think>**` : ""}[/SYSTEM]`;
|
|
8212
|
+
[SYSTEM] Tool result received. Analyze output and proceed with your turn${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" && aiProvider === "Google" ? `. **STRICTLY MAINTAIN THINKING POLICY. DO NOT START A RESPONSE WITHOUT <think> ... </think>**` : ""} [/SYSTEM]`;
|
|
8215
8213
|
if (lastUserMsg && lastUserMsg.role === "user" && lastUserMsg.parts?.[0]?.text?.startsWith("[TOOL RESULT]")) {
|
|
8216
8214
|
lastUserMsg.parts[0].text += jitInstruction;
|
|
8217
8215
|
}
|
|
@@ -8221,7 +8219,7 @@ ${activeSummaryBlock}${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" &&
|
|
|
8221
8219
|
const currentStep = loop + 1;
|
|
8222
8220
|
if (currentStep >= stepThreshold && lastUserMsg && lastUserMsg.parts?.[0]) {
|
|
8223
8221
|
lastUserMsg.parts[0].text += `
|
|
8224
|
-
[SYSTEM] WARNING, Turn Limit Impending: Step ${currentStep}/${MAX_LOOPS}. Wrap up quickly/prompt user to continue & use [[END]] quickly.[/SYSTEM]`;
|
|
8222
|
+
[SYSTEM] WARNING, Turn Limit Impending: Step ${currentStep}/${MAX_LOOPS}. Wrap up quickly/prompt user to continue & use [[END]] quickly. [/SYSTEM]`;
|
|
8225
8223
|
}
|
|
8226
8224
|
}
|
|
8227
8225
|
const abortPromise = new Promise((_, reject) => {
|
|
@@ -8432,7 +8430,7 @@ ${activeSummaryBlock}${thinkingLevel !== "Fast" && thinkingLevel !== "xHigh" &&
|
|
|
8432
8430
|
]);
|
|
8433
8431
|
if (done) break;
|
|
8434
8432
|
if (isFirstChunk) {
|
|
8435
|
-
yield { type: "status", content: "
|
|
8433
|
+
yield { type: "status", content: "Thinking..." };
|
|
8436
8434
|
isFirstChunk = false;
|
|
8437
8435
|
}
|
|
8438
8436
|
if (TERMINATION_SIGNAL) {
|
|
@@ -9455,7 +9453,7 @@ ${boxBottom}` };
|
|
|
9455
9453
|
const waitTime = Math.min(1e3 * Math.pow(2, inStreamRetryCount - 1), 24e3);
|
|
9456
9454
|
if (turnText.trim().length > 0) {
|
|
9457
9455
|
modifiedHistory.push({ role: "agent", text: turnText });
|
|
9458
|
-
const recoveryText = "[SYSTEM]\n- SEAMLESS CONTINUATION: Resume immediately. Pick up from last words with zero gap/disruption\n- NO REPETITION: Do not repeat any text already written\n- NO RE-THINK: Do not restart or open <think> if reasoning already started. Continue the thinking and close thinking block </think> if opened before outputting user response\n- MID-TOOL SAFETY: If cutoff was mid-tool call, restart that tool call from start\n- STEALTH: Do not mention/apologize for cutoff[/SYSTEM]";
|
|
9456
|
+
const recoveryText = "[SYSTEM]\n- SEAMLESS CONTINUATION: Resume immediately. Pick up from last words with zero gap/disruption\n- NO REPETITION: Do not repeat any text already written\n- NO RE-THINK: Do not restart or open <think> if reasoning already started. Continue the thinking and close thinking block </think> if opened before outputting user response\n- MID-TOOL SAFETY: If cutoff was mid-tool call, restart that tool call from start\n- STEALTH: Do not mention/apologize for cutoff [/SYSTEM]";
|
|
9459
9457
|
if (toolResults.length > 0) {
|
|
9460
9458
|
toolResults.forEach((tr, idx) => {
|
|
9461
9459
|
if (idx === toolResults.length - 1) {
|
|
@@ -9528,7 +9526,7 @@ Error Log can be found in ${path19.join(LOGS_DIR, "agent", "error.log")}`);
|
|
|
9528
9526
|
const hasFinish = /\[\s*(turn\s*:)?\s*finish\s*\]/i.test(signalSafeText.toLowerCase()) || /\[\[END\]\]/i.test(signalSafeText.toLowerCase()) || true;
|
|
9529
9527
|
const hasContinue = /\[\s*(turn\s*:)?\s*continue\s*\]/i.test(signalSafeText.toLowerCase());
|
|
9530
9528
|
const shouldContinue = toolCallPointer > 0;
|
|
9531
|
-
yield { type: "status", content: "
|
|
9529
|
+
yield { type: "status", content: "Thinking..." };
|
|
9532
9530
|
const cleanedTurnText = contextSafeReplace(turnText, /(\[\s*(turn\s*:)?\s*(continue|finish)\s*\]|\[\[END\]\])/gi, "").trim();
|
|
9533
9531
|
let isActuallyFinished = (hasFinish || toolResults.length === 0) && !isThinkingLoop && !isStutteringLoop && !isGeneralLoop;
|
|
9534
9532
|
isActuallyFinished = toolResults.length === 0 ? isActuallyFinished : false;
|
|
@@ -9561,7 +9559,7 @@ Error Log can be found in ${path19.join(LOGS_DIR, "agent", "error.log")}`);
|
|
|
9561
9559
|
}
|
|
9562
9560
|
} else {
|
|
9563
9561
|
if (wasToolCalledInLastLoop) {
|
|
9564
|
-
modifiedHistory.push({ role: "user", text: `[SYSTEM] Failed to verify tool execution, Verify tool syntax, proper escaping or ask user if tool worked when unsure[/SYSTEM]` });
|
|
9562
|
+
modifiedHistory.push({ role: "user", text: `[SYSTEM] Failed to verify tool execution, Verify tool syntax, proper escaping or ask user if tool worked when unsure [/SYSTEM]` });
|
|
9565
9563
|
} else {
|
|
9566
9564
|
modifiedHistory.push({ role: "user", text: `[SYSTEM] ${isStutteringLoop && !isThinkingLoop ? `STUTTERING DETECTED by Internal System. Re-calibrate your response & proceed.` : `${isThinkingLoop ? " OVER THINKING" : " LOOP"} DETECTED by Internal System${isThinkingLoop ? " for current EFFORT_LEVEL" : ""}. ${isThinkingLoop ? "If you have planned the task, prioritize execution/output" : "If you have finished your task use [[END]]"}`} [/SYSTEM]` });
|
|
9567
9565
|
}
|