fluxflow-cli 2.16.6 → 2.16.8

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.
Files changed (2) hide show
  1. package/dist/fluxflow.js +16 -6
  2. package/package.json +1 -1
package/dist/fluxflow.js CHANGED
@@ -4144,7 +4144,7 @@ var init_ChatLayout = __esm({
4144
4144
  return /* @__PURE__ */ React4.createElement(Text4, { key: j, bold: true, color: "white" }, /* @__PURE__ */ React4.createElement(InlineMarkdown, { text: part.slice(2, -2), color: "white" }));
4145
4145
  }
4146
4146
  if (part.startsWith("*") && part.endsWith("*")) {
4147
- return /* @__PURE__ */ React4.createElement(Text4, { key: j, italic: true, color: "gray" }, /* @__PURE__ */ React4.createElement(InlineMarkdown, { text: part.slice(1, -1), color: "gray" }));
4147
+ return /* @__PURE__ */ React4.createElement(Text4, { key: j, italic: true, color: "white" }, /* @__PURE__ */ React4.createElement(InlineMarkdown, { text: part.slice(1, -1), color: "white", italic }));
4148
4148
  }
4149
4149
  if (part.startsWith("`") && part.endsWith("`")) {
4150
4150
  const content = part.slice(1, -1);
@@ -5082,8 +5082,8 @@ var init_main_tools = __esm({
5082
5082
  Internal tools. **MUST use the EXACT syntax** [tool:functions.ToolName(args)]. **NO OTHER SYNTAX/MARKERS/BOUNDARY ALLOWED**
5083
5083
 
5084
5084
  **TOOL USAGE POLICY:**
5085
- - **MAX 3 TOOL CALLS PER TURN${mode === "Flux" ? " (EXCEPTION FOR Todo TOOL: 3+ CALLS ALLOWED, Run: Limit 1 OR 2 CONSECUTIVE Run)" : ""}. Next Turn, verify tool results, plan next**
5086
- ${mode === "Flux" ? "- USE multiple search & replace on patch tool if editing same file/path with many changes \u2190 **HIGHLY RECOMMENDED**\n- Tool execution denied? MUST use 'Ask' tool immediately for user reason/changes. NEVER END RESPONSE OR PROCEED BLINDLY \u2190 **MANDATORY**\n- FileMap >> ReadFile to understand file efficiently\n- Want spefific STRING across project/file? SearchKeyword >> Guessing/ReadFile\n- HUGE FILES? SearchKeyword >> FileMap/Full File read\n- No tool spamming\n- **MUST MARK DONE/APPEND Todos BASED ON REALTIME TASK PROGRESS ON *EACH TURN***" : ""}
5085
+ - **MAX 3 TOOL CALLS PER TURN${mode === "Flux" ? " (EXCEPTION FOR Todo TOOL: 3+ CALLS ALLOWED, Run TOOL: Limit 1, OR 2 CONSECUTIVE Run TOOL)" : ""}. Next Turn, verify tool results, plan next**
5086
+ ${mode === "Flux" ? "- USE multiple search & replace on patch tool if editing same file/path with many changes \u2190 **HIGHLY RECOMMENDED**\n- Tool execution denied? MUST use 'Ask' tool immediately for user reason/changes. NEVER END RESPONSE OR PROCEED BLINDLY \u2190 **MANDATORY**\n- FileMap >>> ReadFile to understand file efficiently\n- Want spefific STRING across project/file? SearchKeyword >> Guessing/ReadFile\n- HUGE FILES? SearchKeyword >> FileMap/Full Read\n- No tool spamming\n- **MUST MARK DONE/APPEND Todos BASED ON REALTIME TASK PROGRESS ON *EVERY TURN***" : ""}
5087
5087
  ${mode === "Flux" ? "- **File Tools >> Code in chat**\n\n" : ""}- COMMUNICATION TOOLS -
5088
5088
  1. [tool:functions.Ask(question="...", optionA="option::description", ...MAX 4)]. Ambiguity Resolution. Mandatory Triggers: Path Divergence, Security, Risk Mitigation. ask >> finish. Suggest best options; don't ask for preferences
5089
5089
 
@@ -5098,8 +5098,8 @@ ${mode === "Flux" ? `- WORKSPACE TOOLS (path = relative to CWD & WILL BE FIRST A
5098
5098
  4. [tool:functions.PatchFile(path="...", replaceContent1="full line/block", newContent1="...", ...MAX 6)]. Surgical Patch. **Multiple patch on same file/path? Use replaceContent2, newContent2 etc >>> multiple spams**. Unsure? ReadFile >> guessing. **MUST VERIFY DIFF**
5099
5099
  5. [tool:functions.WriteFile(path="...", content="...")]. Creates/Overwrites. File Exist? PatchFile > WriteFile. Verify Imports
5100
5100
  6. [tool:functions.SearchKeyword(keyword="...", file="optional", subString="true/false optional")]. Global project search. If 'file' is provided, searches only that file. Finds definitions/logic without reading every file. Usage: Can search for relevent lines/logic area to read specifically for edit
5101
- 7. [tool:functions.Run(command="...")]. Runs ${osDetected === "Windows" ? isPsAvailable() ? `WINDOWS POWERSHELL ONLY` : `WINDOWS CMD ONLY` : `BASH`} command. Destructive/Irreversible ops -> Ask user
5102
- 8. [tool:functions.Todo(method="create/append/get", tasks=[ARRAY OF STRINGS], markDone=[ARRAY OF TASK STRINGS])]. Task List, Markdown IN ARRAY NOT ALLOWED. USAGE: ANALYZE USER REQUEST **IF** MULTIPLE TASK \u2192 BREAK DOWN TASK \u2192 CREATE TODO **BEFORE** DIVING IN. 'tasks' & 'markDone' OPTIONAL PARAMETERS WITH method 'get'. USE 'get' method WITH 'markDone' to mark task completed`.trim() : `- CREATIVE TOOLS (path = relative to CWD & WILL BE FIRST ARGUMENT, path separator: '/') -
5101
+ 7. [tool:functions.Run(command="...")]. Runs ${osDetected === "Windows" ? isPsAvailable() ? `WINDOWS POWERSHELL ONLY` : `WINDOWS CMD ONLY` : `BASH`} command. Destructive/Irreversible ops \u2192 Ask user
5102
+ 8. [tool:functions.Todo(method="create/append/get", tasks=[ARRAY OF STRINGS], markDone=[ARRAY OF TASK STRINGS])]. Task List, NO Markdown IN ARRAY. USAGE: ANALYZE USER REQUEST **IF** MULTIPLE TASK \u2192 BREAK DOWN TASK \u2192 CREATE TODO **BEFORE** DIVING IN. 'tasks' & 'markDone' OPTIONAL PARAMETERS WITH method 'get'. USE 'get' method WITH 'markDone' to mark task completed. **EVERY TURN UPDATE POLICY**`.trim() : `- CREATIVE TOOLS (path = relative to CWD & WILL BE FIRST ARGUMENT, path separator: '/') -
5103
5103
  1. [tool:functions.WritePDF(path="...", content="...", orientation="...")]. PROACTIVE A4 PAGE BREAKS MUST IN CSS. HTML/CSS for PREMIUM layout
5104
5104
  2. [tool:functions.WriteDoc(path="...", content="...")]. A4 Word document
5105
5105
  - WORKSPACE TOOLS ARE NOT AVAILABLE IN FLOW`.trim()}
@@ -11384,8 +11384,18 @@ ${currentSummary}
11384
11384
  ideBlock += `Focused File: ${relFocused}
11385
11385
  Cursor Line: ${ideCtx.cursor_line}
11386
11386
  `;
11387
- if (ideCtx.selected) ideBlock += `Current Selection: "${ideCtx.selected}"
11387
+ if (ideCtx.selected) {
11388
+ let sel = ideCtx.selected;
11389
+ const lines = sel.split("\n");
11390
+ if (lines.length > 256) {
11391
+ sel = lines.slice(0, 240).join("\n") + "\n... [truncated] ...\n" + lines.slice(-16).join("\n");
11392
+ }
11393
+ if (sel.length > 2048) {
11394
+ sel = sel.slice(0, 1920) + "\n... [truncated] ...\n" + sel.slice(-128);
11395
+ }
11396
+ ideBlock += `Current Selection: "${sel}"
11388
11397
  `;
11398
+ }
11389
11399
  if (ideCtx.manual_edits) {
11390
11400
  let edits = ideCtx.manual_edits;
11391
11401
  const lines = edits.split("\n");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluxflow-cli",
3
- "version": "2.16.6",
3
+ "version": "2.16.8",
4
4
  "date": "2026-07-02",
5
5
  "description": "A high-fidelity agentic terminal assistant for the Flux Era.",
6
6
  "keywords": [