fluxflow-cli 1.14.2 → 1.14.4
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 -11
- package/package.json +1 -1
package/dist/fluxflow.js
CHANGED
|
@@ -1027,20 +1027,20 @@ var thinking_prompts_default;
|
|
|
1027
1027
|
var init_thinking_prompts = __esm({
|
|
1028
1028
|
"src/data/thinking_prompts.json"() {
|
|
1029
1029
|
thinking_prompts_default = {
|
|
1030
|
-
xHigh: `EFFORT_LEVEL:
|
|
1031
|
-
Think in a continuous, fluid analytical monologue within the <think>...</think> block. Do NOT use headings, bullet points, or artificial sections. Engage in a rigorous "Stream of Consciousness" that aggressively interrogates the problem:
|
|
1030
|
+
xHigh: `EFFORT_LEVEL: MAX
|
|
1031
|
+
Think in a continuous, fluid analytical monologue within the <think>...</think> block. Do NOT use headings, markers, bullet points, or artificial sections. Engage in a rigorous "Stream of Consciousness" that aggressively interrogates the problem:
|
|
1032
1032
|
Deep Contextual Analysis: Deconstruct requirements, trace implicit assumptions, and evaluate system-wide implications.
|
|
1033
1033
|
First-Principles Design: Formulate solutions focusing on extreme modularity, DRY principles, and clean abstractions. Mentally simulate the architecture.
|
|
1034
1034
|
Adversarial Critique: Actively try to break your own logic. Search for edge cases, race conditions, memory leaks, and security flaws. If a flaw is found, pivot immediately.
|
|
1035
1035
|
Execution Orchestration: Map out a granular, step-by-step operational plan before writing code or using tools.
|
|
1036
1036
|
RULES:
|
|
1037
|
-
- NO HEADINGS. Maintain a dense, unbroken analytical monologue.
|
|
1037
|
+
- NO HEADINGS/MARKERS. Maintain a dense, unbroken analytical monologue.
|
|
1038
1038
|
- Be exhaustive. Detail the exact 'why' behind architectural choices and algorithm selections.
|
|
1039
1039
|
- Question your own logic ruthlessly as you go.
|
|
1040
1040
|
- MANDATORY THINKING: You MUST engage in full reasoning regardless of simplicity, even for greetings`,
|
|
1041
|
-
High: "EFFORT_LEVEL: HIGH\nThink in a stable, analytical monologue within the <think>...</think> block. Avoid headings or structured formatting. Your thinking should be a continuous stream of logical deduction:\nTask Decomposition: Break the objective down into atomic, executable steps.\nLogic Simulation: Mentally execute your planned code/actions. Identify missing dependencies or potential failure states.\nStructural Strategy: Ensure your approach adheres to good folder structures, modularity, and clean code practices.\nRULES:\n- NO HEADINGS. Maintain a fluid monologue style.\n- Be detailed and rigorous in self-correction.\n- Focus heavily on technical correctness, clean abstractions, and edge-case prevention.\n- MANDATORY THINKING: You MUST enter reasoning to verify the path forward, even for greeting.",
|
|
1042
|
-
Medium: "EFFORT_LEVEL: MEDIUM\nThink in a concise, stable monologue within the <think>...</think> block. Focus on the core logic required to solve the task efficiently:\nDirect Path Identification: Determine the most straightforward solution that meets the requirements.\nSanity Check: Briefly review the chosen approach against obvious anti-patterns or missing imports.\nExecution Readiness: Outline the exact files and functions to modify.\nRULES:\n- NO HEADINGS. Keep it as a simple, logical stream.\n- Be efficient but deliberate. Spend energy primarily on actionable steps.\n- MANDATORY THINKING: Engage in a baseline mental check for all technical tasks, even for greeting",
|
|
1043
|
-
Minimal: "EFFORT_LEVEL: LOW\nThink in a brief, focused monologue within the <think>...</think> block. Just a quick mental check before acting:\nIntent Verification: Confirm what the user is asking.\nAction Mapping: Note the specific tool or file to target.\nRULES:\n- NO HEADINGS. Keep it to a few lines of clear, linear thought.\n- Use minimal thinking suitable for simple or conversational requests, even for greetings.",
|
|
1041
|
+
High: "EFFORT_LEVEL: HIGH\nThink in a stable, analytical monologue within the <think>...</think> block. Avoid headings, markers or structured formatting. Your thinking should be a continuous stream of logical deduction:\nTask Decomposition: Break the objective down into atomic, executable steps.\nLogic Simulation: Mentally execute your planned code/actions. Identify missing dependencies or potential failure states.\nStructural Strategy: Ensure your approach adheres to good folder structures, modularity, and clean code practices.\nRULES:\n- NO HEADINGS/MARKERS. Maintain a fluid monologue style.\n- Be detailed and rigorous in self-correction.\n- Focus heavily on technical correctness, clean abstractions, and edge-case prevention.\n- MANDATORY THINKING: You MUST enter reasoning to verify the path forward, even for greeting.",
|
|
1042
|
+
Medium: "EFFORT_LEVEL: MEDIUM\nThink in a concise, stable monologue within the <think>...</think> block. Focus on the core logic required to solve the task efficiently:\nDirect Path Identification: Determine the most straightforward solution that meets the requirements.\nSanity Check: Briefly review the chosen approach against obvious anti-patterns or missing imports.\nExecution Readiness: Outline the exact files and functions to modify.\nRULES:\n- NO HEADINGS/MARKERS. Keep it as a simple, logical stream.\n- Be efficient but deliberate. Spend energy primarily on actionable steps.\n- MANDATORY THINKING: Engage in a baseline mental check for all technical tasks, even for greeting",
|
|
1043
|
+
Minimal: "EFFORT_LEVEL: LOW\nThink in a brief, focused monologue within the <think>...</think> block. Just a quick mental check before acting:\nIntent Verification: Confirm what the user is asking.\nAction Mapping: Note the specific tool or file to target.\nRULES:\n- NO HEADINGS/MARKERS. Keep it to a few lines of clear, linear thought.\n- Use minimal thinking suitable for simple or conversational requests, even for greetings.",
|
|
1044
1044
|
Off: "EFFORT_LEVEL: FAST\nNo internal thinking required. Respond directly"
|
|
1045
1045
|
};
|
|
1046
1046
|
}
|
|
@@ -5088,7 +5088,7 @@ function ResumeModal({ onSelect, onDelete, onClose }) {
|
|
|
5088
5088
|
}
|
|
5089
5089
|
}
|
|
5090
5090
|
const visibleKeys = keys.slice(startIndex, startIndex + MAX_VISIBLE);
|
|
5091
|
-
return /* @__PURE__ */ React7.createElement(Box7, { flexDirection: "column", borderStyle: "round", borderColor: "gray", padding: 0, width:
|
|
5091
|
+
return /* @__PURE__ */ React7.createElement(Box7, { flexDirection: "column", borderStyle: "round", borderColor: "gray", padding: 0, width: "100%" }, /* @__PURE__ */ React7.createElement(Box7, { paddingX: 1, marginBottom: 1 }, /* @__PURE__ */ React7.createElement(Text7, { color: "cyan", bold: true }, "\u{1F4A0} CHAT HISTORY: RESUME CONVERSATION")), keys.length === 0 ? /* @__PURE__ */ React7.createElement(Box7, { paddingX: 2, paddingY: 1 }, /* @__PURE__ */ React7.createElement(Text7, { italic: true, color: "gray" }, "No saved chats found.")) : /* @__PURE__ */ React7.createElement(Box7, { flexDirection: "column", width: "100%" }, startIndex > 0 && /* @__PURE__ */ React7.createElement(Box7, { paddingX: 2, marginBottom: 1 }, /* @__PURE__ */ React7.createElement(Text7, { color: "gray", dimColor: true }, "\u25B2 (+", startIndex, " more chats above)")), visibleKeys.map((id, index) => {
|
|
5092
5092
|
const chat2 = history[id];
|
|
5093
5093
|
const actualIndex = startIndex + index;
|
|
5094
5094
|
const isSelected = actualIndex === selectedIndex;
|
|
@@ -5187,7 +5187,7 @@ function MemoryModal({ onClose }) {
|
|
|
5187
5187
|
return "red";
|
|
5188
5188
|
};
|
|
5189
5189
|
const s = emojiSpace(2);
|
|
5190
|
-
return /* @__PURE__ */ React8.createElement(Box8, { flexDirection: "column", borderStyle: "round", borderColor: "gray", padding: 0, width:
|
|
5190
|
+
return /* @__PURE__ */ React8.createElement(Box8, { flexDirection: "column", borderStyle: "round", borderColor: "gray", padding: 0, width: "100%" }, /* @__PURE__ */ React8.createElement(Box8, { paddingX: 1, marginBottom: 1, justifyContent: "space-between" }, /* @__PURE__ */ React8.createElement(Text8, { color: "cyan", bold: true }, "\u{1F9E0} AGENT MEMORY: LONG-TERM KNOWLEDGE"), /* @__PURE__ */ React8.createElement(Box8, null, /* @__PURE__ */ React8.createElement(Text8, { color: "gray" }, "Vault: "), /* @__PURE__ */ React8.createElement(Text8, { color: getBarColor() }, barStr), /* @__PURE__ */ React8.createElement(Text8, { color: "white", bold: true }, " ", usagePercent, "%"))), !isMemoryOn && memories.length > 0 ? /* @__PURE__ */ React8.createElement(Box8, { paddingX: 2, paddingY: 1 }, /* @__PURE__ */ React8.createElement(Text8, { italic: true, color: "gray" }, "Memory is currently Off...")) : memories.length === 0 ? /* @__PURE__ */ React8.createElement(Box8, { paddingX: 2, paddingY: 1 }, /* @__PURE__ */ React8.createElement(Text8, { italic: true, color: "gray" }, isMemoryOn ? "Learning..." : "Memory not available...")) : /* @__PURE__ */ React8.createElement(Box8, { flexDirection: "column" }, memories.map((mem, idx) => {
|
|
5191
5191
|
const isSelected = idx === selectedIndex;
|
|
5192
5192
|
return /* @__PURE__ */ React8.createElement(
|
|
5193
5193
|
Box8,
|
|
@@ -5312,7 +5312,7 @@ function RevertModal({ prompts, onSelect, onClose }) {
|
|
|
5312
5312
|
}
|
|
5313
5313
|
}
|
|
5314
5314
|
const visiblePrompts = prompts.slice(startIndex, startIndex + MAX_VISIBLE);
|
|
5315
|
-
return /* @__PURE__ */ React10.createElement(Box10, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", padding: 0, width:
|
|
5315
|
+
return /* @__PURE__ */ React10.createElement(Box10, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", padding: 0, width: "100%" }, /* @__PURE__ */ React10.createElement(Box10, { paddingX: 1, marginBottom: 1 }, /* @__PURE__ */ React10.createElement(Text10, { color: "cyan", bold: true }, "\u{1F504} CODEBASE TIME TRAVEL: SELECT UNDO POINT")), /* @__PURE__ */ React10.createElement(Box10, { paddingX: 2, marginBottom: 1 }, /* @__PURE__ */ React10.createElement(Text10, null, "Select a prompt to revert the codebase back to the state ", /* @__PURE__ */ React10.createElement(Text10, { bold: true, color: "blue" }, "immediately before"), " it was executed:")), prompts.length === 0 ? /* @__PURE__ */ React10.createElement(Box10, { paddingX: 2, paddingY: 1 }, /* @__PURE__ */ React10.createElement(Text10, { italic: true, color: "gray" }, "No prompt checkpoints found for this session.")) : /* @__PURE__ */ React10.createElement(Box10, { flexDirection: "column", width: "100%" }, startIndex > 0 && /* @__PURE__ */ React10.createElement(Box10, { paddingX: 2, marginBottom: 1 }, /* @__PURE__ */ React10.createElement(Text10, { color: "gray", dimColor: true }, "\u25B2 (+", startIndex, " more prompts above)")), visiblePrompts.map((p, index) => {
|
|
5316
5316
|
const actualIndex = startIndex + index;
|
|
5317
5317
|
const isSelected = actualIndex === selectedIndex;
|
|
5318
5318
|
const dateStr = formatDate2(p.timestamp);
|
|
@@ -5345,8 +5345,8 @@ function formatPromptPreview(prompt) {
|
|
|
5345
5345
|
if (!prompt) return "";
|
|
5346
5346
|
const firstLine = prompt.split("\n")[0] || "";
|
|
5347
5347
|
const words = firstLine.split(/\s+/).filter(Boolean);
|
|
5348
|
-
if (words.length >
|
|
5349
|
-
return words.slice(0,
|
|
5348
|
+
if (words.length > 25) {
|
|
5349
|
+
return words.slice(0, 25).join(" ") + "...";
|
|
5350
5350
|
}
|
|
5351
5351
|
if (prompt.includes("\n")) {
|
|
5352
5352
|
return firstLine + "...";
|