fluxflow-cli 4.27.1 → 4.28.0
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/README.md +2 -2
- package/dist/chunks/9router-4EJCHCIO.js +2 -0
- package/dist/chunks/{ai-MITVDGLH.js → ai-BV7IYGM6.js} +1 -1
- package/dist/chunks/app-KYSPTO7P.js +299 -0
- package/dist/chunks/chunk-53AFLLUU.js +41 -0
- package/dist/chunks/chunk-63V6P5DU.js +1 -0
- package/dist/chunks/{chunk-OVAMHM6C.js → chunk-7RRLGIGO.js} +1 -1
- package/dist/chunks/{chunk-Z2DWLMRC.js → chunk-B4A6DCXB.js} +1 -1
- package/dist/chunks/{chunk-QNUIT5G4.js → chunk-BEJW3JGZ.js} +1 -1
- package/dist/chunks/chunk-KHCAQOSP.js +1 -0
- package/dist/chunks/chunk-MO5TNAWI.js +893 -0
- package/dist/chunks/{chunk-37QHXCGM.js → chunk-RSLAMTAV.js} +1 -1
- package/dist/chunks/chunk-RVCMZTHS.js +1 -0
- package/dist/chunks/{click-BIP2KIKK.js → click-AHOXSDH6.js} +2 -2
- package/dist/chunks/{computer_action-W532LBFE.js → computer_action-NNJOTL7H.js} +1 -1
- package/dist/chunks/custom_openai-VP2CSZUQ.js +3 -0
- package/dist/chunks/{drag-XXDYAMBU.js → drag-SOCUV5Z7.js} +1 -1
- package/dist/chunks/{generate_image-G4RCNVPH.js → generate_image-BU3BYQYC.js} +1 -1
- package/dist/chunks/{invoke-EEIA3QTL.js → invoke-MCR4IA3I.js} +2 -2
- package/dist/chunks/{invokeSync-Z277KUKJ.js → invokeSync-VL3W6LA2.js} +2 -2
- package/dist/chunks/{key_press-EJFHIVWP.js → key_press-A5PRGC7E.js} +1 -1
- package/dist/chunks/{keyboard_typing-4M63JGZ4.js → keyboard_typing-OGUSR6BH.js} +1 -1
- package/dist/chunks/{mistral-7PATNJTO.js → mistral-N6352JPY.js} +1 -1
- package/dist/chunks/{model_config-YD5AWI33.js → model_config-EN3OYDPU.js} +1 -1
- package/dist/chunks/nvidia-L6QMFBL3.js +2 -0
- package/dist/chunks/{screen_grid-BK5KF7MP.js → screen_grid-VV7JGWQB.js} +1 -1
- package/dist/chunks/{scroll-5V7P3DXY.js → scroll-JDGCDDUB.js} +1 -1
- package/dist/chunks/{secrets-4GLUJF7A.js → secrets-UNXNDOLK.js} +1 -1
- package/dist/chunks/{settings-RB45GKVI.js → settings-EMTQHDIH.js} +1 -1
- package/dist/chunks/{update_file-FUWOJ4JN.js → update_file-WBHNB4AY.js} +1 -1
- package/dist/chunks/{usage-VL7YBDD6.js → usage-6B7WSR44.js} +1 -1
- package/dist/chunks/usageServer-5ID7XHPC.js +1 -0
- package/dist/chunks/{write_file-HH7WRRDJ.js → write_file-LSRYHZN6.js} +1 -1
- package/dist/cli.js +11 -11
- package/dist/model_config.json +2 -1
- package/dist/package.json +1 -1
- package/model_config.json +2 -1
- package/package.json +1 -1
- package/dist/chunks/9router-J5GHSSMY.js +0 -2
- package/dist/chunks/app-N3ZTW7OD.js +0 -287
- package/dist/chunks/chunk-6NWU3ML6.js +0 -48
- package/dist/chunks/chunk-HM3CMNOJ.js +0 -1
- package/dist/chunks/chunk-QWTKV7Q4.js +0 -1
- package/dist/chunks/chunk-ZASTARPE.js +0 -881
- package/dist/chunks/chunk-ZLWYMCCW.js +0 -1
- package/dist/chunks/nvidia-FORTI2DZ.js +0 -2
- package/dist/chunks/usageServer-H652FHPA.js +0 -1
package/README.md
CHANGED
|
@@ -43,8 +43,8 @@ fluxflow-cli
|
|
|
43
43
|
- **Token Harbor**
|
|
44
44
|
- **APInex**
|
|
45
45
|
- **Infron**
|
|
46
|
+
- **9Router**
|
|
46
47
|
- **Experimental Labs** (*Experimental*)
|
|
47
|
-
- **9Router** (*Experimental*)
|
|
48
48
|
- **AIHubMix** (*Experimental*)
|
|
49
49
|
- **OpenRouter** (*Experimental*)
|
|
50
50
|
|
|
@@ -175,7 +175,7 @@ Set these in your shell/session to override defaults:
|
|
|
175
175
|
- `I_HAVE_TOO_MUCH_MONEY` - true|false, default: false, F's up the cache-hit ratio
|
|
176
176
|
- `GOOGLE_GEMMA_NONSENSE` - true|false, default: false, for the 16k TPM limit in gemma models on gemini API. False defaults to 256k
|
|
177
177
|
- `ENABLE_9ROUTER` - true|false, default: false
|
|
178
|
-
- `NINEROUTER_URL` - 9Router base URL
|
|
178
|
+
- `NINEROUTER_URL` - 9Router base URL
|
|
179
179
|
- `NINEROUTER_KEY` - 9Router API key
|
|
180
180
|
|
|
181
181
|
---
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as M}from"./chunk-NL4MAQSB.js";import{a as R}from"./chunk-JS5ZIGFR.js";import"./chunk-DSVLWYIT.js";var P=async function*(m,_,N,D,d,j,b,O,$=1){let y=[];D&&y.push({role:"system",content:D});for(let r of N){let x=r.role==="user"?"user":"assistant",e=[];if(Array.isArray(r.parts)){for(let o of r.parts)if(o.text)e.push({type:"text",text:o.text});else if(o.inlineData&&b){let i=o.inlineData.mimeType,c=o.inlineData.data;i.startsWith("image/")&&e.push({type:"image_url",image_url:{url:`data:${i};base64,${c}`}})}}else{let o=r.text||"";o&&e.push({type:"text",text:o})}y.push({role:x,content:e.length===1&&e[0].type==="text"?e[0].text:e})}let k=R("9router",_,d)||R("9Router",_,d),w=k!==null?k:{Fast:"none",Low:"low",Medium:"medium",Standard:"medium",High:"high",xHigh:"high"}[d],U={model:_,messages:y,stream:!0,stream_options:{include_usage:!0},temperature:$,tools:[],tool_choice:"none"};w&&w!=="none"&&(k!==null||d!=="Fast")&&(U.reasoning_effort=w);let v=(process.env["9ROUTER_URL"]||process.env.NINEROUTER_URL||"http://127.0.0.1:20128/v1").trim(),l=v.replace(/\/+$/,"");if(!l.endsWith("/v1")&&!l.endsWith("/v1/chat/completions"))throw new Error(`Invalid 9Router URL: "${v}". Endpoint URL MUST end with /v1 (e.g. http://127.0.0.1:20128/v1 or https://.../v1).`);let A=l.endsWith("/chat/completions")?l:`${l}/chat/completions`,C={"Content-Type":"application/json"},L=m&&m!=="LOCAL"?m:process.env.NINEROUTER_KEY||"dummy-key";C.Authorization=`Bearer ${L}`;let u=await M(A,{method:"POST",headers:C,body:JSON.stringify(U),signal:O});if(!u.ok){let r=await u.json().catch(()=>({}));throw new Error(`9router Error (${u.status}): ${r.error?.message||u.statusText}`)}let S=u.body.getReader(),W=new TextDecoder,T="",t=[],p=null,h=Date.now(),a=!1;for(;;){let{done:r,value:x}=await S.read();if(r){a&&(t.length>0||p)&&(yield{candidates:t.length>0?[{content:{parts:t}}]:[],usageMetadata:p});break}T+=W.decode(x,{stream:!0});let e=T.split(`
|
|
2
|
+
`);T=e.pop();for(let o of e){let i=o.trim();if(!i||!i.startsWith("data: "))continue;let c=!1;if(i==="data: [DONE]")c=!0;else try{let f=JSON.parse(i.substring(6)),n=f.choices?.[0]?.delta,s=f.usage;if(f.choices?.[0]?.finish_reason&&(c=!0),s&&(p={totalTokenCount:s.total_tokens||(s.prompt_tokens||0)+(s.completion_tokens||0),promptTokenCount:s.prompt_tokens||0,candidatesTokenCount:s.completion_tokens||0,cachedContentTokenCount:s.prompt_tokens_details?.cached_tokens||0,thoughtsTokenCount:s.completion_tokens_details?.reasoning_tokens||s.reasoning_tokens||0},a=!0),n){let g=n.reasoning_content||n.reasoning||n.thinking||null;!g&&Array.isArray(n.reasoning_details)&&n.reasoning_details.length>0&&(g=n.reasoning_details.map(E=>typeof E=="string"?E:E?.text||"").filter(Boolean).join("")),g&&(t.push({text:g,thought:!0}),a=!0),n.content&&(t.push({text:n.content}),a=!0)}}catch{}if((c||Date.now()-h>=150)&&a&&(yield{candidates:t.length>0?[{content:{parts:[...t]}}]:[],usageMetadata:p},t=[],h=Date.now(),a=!1),c)break}Date.now()-h>=150&&a&&(yield{candidates:t.length>0?[{content:{parts:[...t]}}]:[],usageMetadata:p},t=[],h=Date.now(),a=!1)}};export{P as getNineRouterStream};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as s,B as t,j as b,k as c,l as d,m as e,n as f,o as g,p as h,q as i,r as j,s as k,t as l,u as m,v as n,w as o,x as p,y as q,z as r}from"./chunk-
|
|
1
|
+
import{A as s,B as t,j as b,k as c,l as d,m as e,n as f,o as g,p as h,q as i,r as j,s as k,t as l,u as m,v as n,w as o,x as p,y as q,z as r}from"./chunk-MO5TNAWI.js";import"./chunk-JS5ZIGFR.js";import"./chunk-56EJGQU3.js";import"./chunk-7SFAWGE2.js";import"./chunk-U2NRX2PX.js";import"./chunk-VYTQ6J56.js";import"./chunk-RZTZPIC5.js";import"./chunk-53AFLLUU.js";import"./chunk-FQBBOFNP.js";import"./chunk-Y5JU726N.js";import"./chunk-KHCAQOSP.js";import"./chunk-B4A6DCXB.js";import"./chunk-RVCMZTHS.js";import{k as a}from"./chunk-63V6P5DU.js";import"./chunk-L3W2X74K.js";import"./chunk-DSVLWYIT.js";export{c as RE_LEADING_THINK,q as compressHistory,b as convertChannelThinkTags,r as deleteChatSummary,e as findGenuineThinkClose,p as generateSimpleContent,s as getAIStream,j as getCleanGroupedLength,m as getGoogleClient,f as getLeadingThinkBlock,o as initAI,d as isInsideBacktick,a as isModelMultimodal,l as isTerminationSignaled,n as runJanitorTask,t as runSubagent,k as signalTermination,g as stripLeadingThinking,h as stripNakedXmlTags,i as stripTrailingFluffAfterTools};
|