fluxflow-cli 3.23.0 → 4.0.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.
Files changed (102) hide show
  1. package/README.md +3 -1
  2. package/dist/chunks/ai-7LT7T34E.js +1 -1
  3. package/dist/chunks/ai-CQ6R662V.js +1 -1
  4. package/dist/chunks/ai-GUVZR6ZJ.js +1 -1
  5. package/dist/chunks/ai-IGHYVKEI.js +1 -0
  6. package/dist/chunks/ai-IOVX3WCN.js +1 -0
  7. package/dist/chunks/ai-LUAK6ZNI.js +1 -1
  8. package/dist/chunks/ai-NDNZ4XGW.js +1 -1
  9. package/dist/chunks/ai-O2AHKT2Q.js +1 -1
  10. package/dist/chunks/ai-OLHI3UWZ.js +1 -1
  11. package/dist/chunks/ai-OP2H56UR.js +1 -1
  12. package/dist/chunks/ai-OX4W3MY2.js +1 -1
  13. package/dist/chunks/ai-SUNZIUAF.js +1 -0
  14. package/dist/chunks/ai-T2SZGY7Y.js +1 -1
  15. package/dist/chunks/ai-VMV4EAEQ.js +1 -1
  16. package/dist/chunks/app-2BDYKT26.js +226 -226
  17. package/dist/chunks/app-2MCTW3BU.js +226 -0
  18. package/dist/chunks/app-4M34YBXM.js +223 -223
  19. package/dist/chunks/app-4VRQVBXL.js +226 -226
  20. package/dist/chunks/app-5YW3SESE.js +223 -223
  21. package/dist/chunks/app-62A6ZFYX.js +226 -0
  22. package/dist/chunks/app-A6HECULK.js +223 -223
  23. package/dist/chunks/app-A6JFAZBR.js +220 -220
  24. package/dist/chunks/app-AASWJUCP.js +226 -226
  25. package/dist/chunks/app-AHIXABRK.js +220 -220
  26. package/dist/chunks/app-CTJKY73V.js +223 -223
  27. package/dist/chunks/app-DJWNDFPK.js +223 -223
  28. package/dist/chunks/app-DLGENJXK.js +226 -226
  29. package/dist/chunks/app-DU2VBIDN.js +223 -223
  30. package/dist/chunks/app-EKHVG5CH.js +220 -220
  31. package/dist/chunks/app-FJJPTQG7.js +223 -223
  32. package/dist/chunks/app-GY2S4P3O.js +220 -220
  33. package/dist/chunks/app-HE22VKVY.js +223 -223
  34. package/dist/chunks/app-HW6KINDL.js +226 -0
  35. package/dist/chunks/app-MPYGQO5K.js +223 -223
  36. package/dist/chunks/app-MWWVPJVZ.js +223 -223
  37. package/dist/chunks/app-OIIPCXZF.js +226 -226
  38. package/dist/chunks/app-QCQTUW4S.js +223 -223
  39. package/dist/chunks/app-QPPCSI4B.js +223 -223
  40. package/dist/chunks/app-SWVHXTUU.js +223 -223
  41. package/dist/chunks/app-TSUKVNLY.js +223 -223
  42. package/dist/chunks/app-WWNOUK7Q.js +220 -220
  43. package/dist/chunks/app-XTDZID37.js +228 -0
  44. package/dist/chunks/app-YCFZG7ZN.js +223 -223
  45. package/dist/chunks/app-ZUY2BADH.js +226 -226
  46. package/dist/chunks/chunk-3JTGIHTN.js +31 -0
  47. package/dist/chunks/chunk-3VSDH7DF.js +3 -3
  48. package/dist/chunks/chunk-5ORPFMKW.js +3 -3
  49. package/dist/chunks/chunk-6DHFEWGX.js +1 -1
  50. package/dist/chunks/chunk-77P7CACS.js +3 -3
  51. package/dist/chunks/chunk-7WH5DREO.js +1 -1
  52. package/dist/chunks/chunk-APOUCRQO.js +803 -803
  53. package/dist/chunks/chunk-BVYPWENJ.js +803 -0
  54. package/dist/chunks/chunk-BW2MR2YB.js +3 -0
  55. package/dist/chunks/chunk-D67A52ZR.js +802 -802
  56. package/dist/chunks/chunk-DB4BJM2R.js +807 -807
  57. package/dist/chunks/chunk-GYYGT2GJ.js +1229 -0
  58. package/dist/chunks/chunk-HU74ZBCV.js +803 -803
  59. package/dist/chunks/chunk-I27MASHH.js +1 -0
  60. package/dist/chunks/chunk-IW2KLAXM.js +803 -803
  61. package/dist/chunks/chunk-M3G4NWZ2.js +3 -3
  62. package/dist/chunks/chunk-O4A5T73D.js +801 -801
  63. package/dist/chunks/chunk-PHKIAKHS.js +1 -0
  64. package/dist/chunks/chunk-PK33OTVD.js +802 -802
  65. package/dist/chunks/chunk-RTGBM2SA.js +27 -27
  66. package/dist/chunks/chunk-SGZ2OI72.js +1 -1
  67. package/dist/chunks/chunk-UKBUOJ3P.js +803 -803
  68. package/dist/chunks/chunk-VBKX2PU3.js +803 -803
  69. package/dist/chunks/chunk-WJ33GNVP.js +3 -0
  70. package/dist/chunks/chunk-Y2EZRWRZ.js +803 -803
  71. package/dist/chunks/chunk-Y6SLVHK3.js +1 -1
  72. package/dist/chunks/chunk-ZESOEAQT.js +1 -0
  73. package/dist/chunks/chunk-ZGHOKGSQ.js +1231 -0
  74. package/dist/chunks/chunk-ZQZIEF5I.js +803 -803
  75. package/dist/chunks/chunk-ZRS2O6Y6.js +1 -0
  76. package/dist/chunks/export-JZFBZGGZ.js +1 -1
  77. package/dist/chunks/export-MX2VT3I7.js +1 -0
  78. package/dist/chunks/export-OFKMKWAS.js +1 -1
  79. package/dist/chunks/export-ZB2GNV3S.js +1 -0
  80. package/dist/chunks/paths-HYQFU6D2.js +1 -1
  81. package/dist/chunks/paths-KMO5IYNK.js +1 -0
  82. package/dist/chunks/paths-NXN6XAEU.js +1 -1
  83. package/dist/chunks/paths-YDCMNN4Q.js +1 -0
  84. package/dist/chunks/secrets-2VU4KV7B.js +1 -0
  85. package/dist/chunks/secrets-GN7OAYL7.js +1 -1
  86. package/dist/chunks/secrets-NCPPS7DR.js +1 -1
  87. package/dist/chunks/secrets-RZD3DYTB.js +1 -0
  88. package/dist/chunks/settings-57QAZRCP.js +1 -1
  89. package/dist/chunks/settings-DCF6DTL6.js +1 -1
  90. package/dist/chunks/settings-DTH5C6BO.js +1 -1
  91. package/dist/chunks/settings-GPKUUYFM.js +1 -0
  92. package/dist/chunks/settings-HOSPANO7.js +1 -0
  93. package/dist/chunks/settings-IY24HSRP.js +1 -1
  94. package/dist/chunks/src-O2JUKI77.js +1 -0
  95. package/dist/chunks/subagent_state-3D5ZJCLX.js +1 -1
  96. package/dist/chunks/subagent_state-5IJKFMRU.js +1 -0
  97. package/dist/chunks/subagent_state-N77JX7MX.js +1 -1
  98. package/dist/cli.js +2 -2
  99. package/dist/model_config.json +28 -10
  100. package/dist/package.json +7 -3
  101. package/model_config.json +28 -10
  102. package/package.json +7 -3
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"./chunk-RTGBM2SA.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{b as exportCurrentChat,d as exportErrorLogs,e as handleExport,a as parseAgentText,c as parseLogEntries};
1
+ import{a,b,c,d,e}from"./chunk-RTGBM2SA.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{b as exportCurrentChat,d as exportErrorLogs,e as handleExport,a as parseAgentText,c as parseLogEntries};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e}from"./chunk-3JTGIHTN.js";import"./chunk-I27MASHH.js";import"./chunk-PHKIAKHS.js";export{b as exportCurrentChat,d as exportErrorLogs,e as handleExport,a as parseAgentText,c as parseLogEntries};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"./chunk-RTGBM2SA.js";import"./chunk-SGZ2OI72.js";import"./chunk-Y6SLVHK3.js";export{b as exportCurrentChat,d as exportErrorLogs,e as handleExport,a as parseAgentText,c as parseLogEntries};
1
+ import{a,b,c,d,e}from"./chunk-RTGBM2SA.js";import"./chunk-SGZ2OI72.js";import"./chunk-Y6SLVHK3.js";export{b as exportCurrentChat,d as exportErrorLogs,e as handleExport,a as parseAgentText,c as parseLogEntries};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e}from"./chunk-RTGBM2SA.js";import"./chunk-SGZ2OI72.js";import"./chunk-PHKIAKHS.js";export{b as exportCurrentChat,d as exportErrorLogs,e as handleExport,a as parseAgentText,c as parseLogEntries};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s}from"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{p as ACTIVE_TX_FILE,m as BACKUPS_DIR,r as CONTEXT_FILE,c as DATA_DIR,a as FLUXFLOW_DIR,g as HISTORY_DIR,f as HISTORY_FILE,o as LEDGER_ADVANCE_FILE,n as LEDGER_FILE,d as LOGS_DIR,j as MEMORIES_FILE,s as PARSER_DIR,q as PATHS_FILE,e as SECRET_DIR,b as SETTINGS_FILE,l as TEMP_MEM_CHAT_FILE,k as TEMP_MEM_FILE,i as USAGE_FILE,h as USAGE_FILE_OLD};
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s}from"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{p as ACTIVE_TX_FILE,m as BACKUPS_DIR,r as CONTEXT_FILE,c as DATA_DIR,a as FLUXFLOW_DIR,g as HISTORY_DIR,f as HISTORY_FILE,o as LEDGER_ADVANCE_FILE,n as LEDGER_FILE,d as LOGS_DIR,j as MEMORIES_FILE,s as PARSER_DIR,q as PATHS_FILE,e as SECRET_DIR,b as SETTINGS_FILE,l as TEMP_MEM_CHAT_FILE,k as TEMP_MEM_FILE,i as USAGE_FILE,h as USAGE_FILE_OLD};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t}from"./chunk-I27MASHH.js";import"./chunk-PHKIAKHS.js";export{p as ACTIVE_TX_FILE,m as BACKUPS_DIR,r as CONTEXT_FILE,t as CU_CACHE_DIR,c as DATA_DIR,a as FLUXFLOW_DIR,g as HISTORY_DIR,f as HISTORY_FILE,o as LEDGER_ADVANCE_FILE,n as LEDGER_FILE,d as LOGS_DIR,j as MEMORIES_FILE,s as PARSER_DIR,q as PATHS_FILE,e as SECRET_DIR,b as SETTINGS_FILE,l as TEMP_MEM_CHAT_FILE,k as TEMP_MEM_FILE,i as USAGE_FILE,h as USAGE_FILE_OLD};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s}from"./chunk-SGZ2OI72.js";import"./chunk-Y6SLVHK3.js";export{p as ACTIVE_TX_FILE,m as BACKUPS_DIR,r as CONTEXT_FILE,c as DATA_DIR,a as FLUXFLOW_DIR,g as HISTORY_DIR,f as HISTORY_FILE,o as LEDGER_ADVANCE_FILE,n as LEDGER_FILE,d as LOGS_DIR,j as MEMORIES_FILE,s as PARSER_DIR,q as PATHS_FILE,e as SECRET_DIR,b as SETTINGS_FILE,l as TEMP_MEM_CHAT_FILE,k as TEMP_MEM_FILE,i as USAGE_FILE,h as USAGE_FILE_OLD};
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s}from"./chunk-SGZ2OI72.js";import"./chunk-Y6SLVHK3.js";export{p as ACTIVE_TX_FILE,m as BACKUPS_DIR,r as CONTEXT_FILE,c as DATA_DIR,a as FLUXFLOW_DIR,g as HISTORY_DIR,f as HISTORY_FILE,o as LEDGER_ADVANCE_FILE,n as LEDGER_FILE,d as LOGS_DIR,j as MEMORIES_FILE,s as PARSER_DIR,q as PATHS_FILE,e as SECRET_DIR,b as SETTINGS_FILE,l as TEMP_MEM_CHAT_FILE,k as TEMP_MEM_FILE,i as USAGE_FILE,h as USAGE_FILE_OLD};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s}from"./chunk-SGZ2OI72.js";import"./chunk-PHKIAKHS.js";export{p as ACTIVE_TX_FILE,m as BACKUPS_DIR,r as CONTEXT_FILE,c as DATA_DIR,a as FLUXFLOW_DIR,g as HISTORY_DIR,f as HISTORY_FILE,o as LEDGER_ADVANCE_FILE,n as LEDGER_FILE,d as LOGS_DIR,j as MEMORIES_FILE,s as PARSER_DIR,q as PATHS_FILE,e as SECRET_DIR,b as SETTINGS_FILE,l as TEMP_MEM_CHAT_FILE,k as TEMP_MEM_FILE,i as USAGE_FILE,h as USAGE_FILE_OLD};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-7WH5DREO.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-PHKIAKHS.js";export{a as getAPIKey,b as getProviderAPIKey,f as getSearchSecrets,d as getSecret,k as removeAPIKey,j as removeSecret,g as saveAPIKey,c as saveProviderAPIKey,i as saveSearchId,h as saveSearchKey,e as saveSecret};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-7WH5DREO.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-Y6SLVHK3.js";export{a as getAPIKey,b as getProviderAPIKey,f as getSearchSecrets,d as getSecret,k as removeAPIKey,j as removeSecret,g as saveAPIKey,c as saveProviderAPIKey,i as saveSearchId,h as saveSearchKey,e as saveSecret};
1
+ import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-7WH5DREO.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-Y6SLVHK3.js";export{a as getAPIKey,b as getProviderAPIKey,f as getSearchSecrets,d as getSecret,k as removeAPIKey,j as removeSecret,g as saveAPIKey,c as saveProviderAPIKey,i as saveSearchId,h as saveSearchKey,e as saveSecret};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-7WH5DREO.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{a as getAPIKey,b as getProviderAPIKey,f as getSearchSecrets,d as getSecret,k as removeAPIKey,j as removeSecret,g as saveAPIKey,c as saveProviderAPIKey,i as saveSearchId,h as saveSearchKey,e as saveSecret};
1
+ import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-7WH5DREO.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{a as getAPIKey,b as getProviderAPIKey,f as getSearchSecrets,d as getSecret,k as removeAPIKey,j as removeSecret,g as saveAPIKey,c as saveProviderAPIKey,i as saveSearchId,h as saveSearchKey,e as saveSecret};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-ZESOEAQT.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";import"./chunk-PHKIAKHS.js";export{a as getAPIKey,b as getProviderAPIKey,f as getSearchSecrets,d as getSecret,k as removeAPIKey,j as removeSecret,g as saveAPIKey,c as saveProviderAPIKey,i as saveSearchId,h as saveSearchKey,e as saveSecret};
@@ -1 +1 @@
1
- import{g as a,h as b}from"./chunk-77P7CACS.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{a as loadSettings,b as saveSettings};
1
+ import{g as a,h as b}from"./chunk-77P7CACS.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{a as loadSettings,b as saveSettings};
@@ -1 +1 @@
1
- import{g as a,h as b}from"./chunk-5ORPFMKW.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-Y6SLVHK3.js";export{a as loadSettings,b as saveSettings};
1
+ import{g as a,h as b}from"./chunk-5ORPFMKW.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-Y6SLVHK3.js";export{a as loadSettings,b as saveSettings};
@@ -1 +1 @@
1
- import{h as a,i as b}from"./chunk-3VSDH7DF.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{a as loadSettings,b as saveSettings};
1
+ import{h as a,i as b}from"./chunk-3VSDH7DF.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{a as loadSettings,b as saveSettings};
@@ -0,0 +1 @@
1
+ import{h as a,i as b}from"./chunk-WJ33GNVP.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-PHKIAKHS.js";export{a as loadSettings,b as saveSettings};
@@ -0,0 +1 @@
1
+ import{h as a,i as b}from"./chunk-BW2MR2YB.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";import"./chunk-PHKIAKHS.js";export{a as loadSettings,b as saveSettings};
@@ -1 +1 @@
1
- import{g as a,h as b}from"./chunk-M3G4NWZ2.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{a as loadSettings,b as saveSettings};
1
+ import{g as a,h as b}from"./chunk-M3G4NWZ2.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-6DHFEWGX.js";export{a as loadSettings,b as saveSettings};
@@ -0,0 +1 @@
1
+ import{a as Ze}from"./chunk-ZRS2O6Y6.js";import{a as U,b as f}from"./chunk-PHKIAKHS.js";var ae=f((Ct,te)=>{var ee=(function(o){"use strict";var a=Object.prototype,c=a.hasOwnProperty,u=Object.defineProperty||function(t,e,r){t[e]=r.value},p,b=typeof Symbol=="function"?Symbol:{},O=b.iterator||"@@iterator",m=b.asyncIterator||"@@asyncIterator",A=b.toStringTag||"@@toStringTag";function w(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{w({},"")}catch{w=function(e,r,i){return e[r]=i}}function N(t,e,r,i){var n=e&&e.prototype instanceof E?e:E,s=Object.create(n.prototype),v=new B(i||[]);return u(s,"_invoke",{value:j(t,r,v)}),s}o.wrap=N;function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(i){return{type:"throw",arg:i}}}var g="suspendedStart",I="suspendedYield",P="executing",_="completed",d={};function E(){}function y(){}function T(){}var D={};w(D,O,function(){return this});var $=Object.getPrototypeOf,C=$&&$($(F([])));C&&C!==a&&c.call(C,O)&&(D=C);var R=T.prototype=E.prototype=Object.create(D);y.prototype=T,u(R,"constructor",{value:T,configurable:!0}),u(T,"constructor",{value:y,configurable:!0}),y.displayName=w(T,A,"GeneratorFunction");function K(t){["next","throw","return"].forEach(function(e){w(t,e,function(r){return this._invoke(e,r)})})}o.isGeneratorFunction=function(t){var e=typeof t=="function"&&t.constructor;return e?e===y||(e.displayName||e.name)==="GeneratorFunction":!1},o.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,T):(t.__proto__=T,w(t,A,"GeneratorFunction")),t.prototype=Object.create(R),t},o.awrap=function(t){return{__await:t}};function q(t,e){function r(s,v,h,L){var S=l(t[s],t,v);if(S.type==="throw")L(S.arg);else{var X=S.arg,Y=X.value;return Y&&typeof Y=="object"&&c.call(Y,"__await")?e.resolve(Y.__await).then(function(M){r("next",M,h,L)},function(M){r("throw",M,h,L)}):e.resolve(Y).then(function(M){X.value=M,h(X)},function(M){return r("throw",M,h,L)})}}var i;function n(s,v){function h(){return new e(function(L,S){r(s,v,L,S)})}return i=i?i.then(h,h):h()}u(this,"_invoke",{value:n})}K(q.prototype),w(q.prototype,m,function(){return this}),o.AsyncIterator=q,o.async=function(t,e,r,i,n){n===void 0&&(n=Promise);var s=new q(N(t,e,r,i),n);return o.isGeneratorFunction(e)?s:s.next().then(function(v){return v.done?v.value:s.next()})};function j(t,e,r){var i=g;return function(s,v){if(i===P)throw new Error("Generator is already running");if(i===_){if(s==="throw")throw v;return J()}for(r.method=s,r.arg=v;;){var h=r.delegate;if(h){var L=H(h,r);if(L){if(L===d)continue;return L}}if(r.method==="next")r.sent=r._sent=r.arg;else if(r.method==="throw"){if(i===g)throw i=_,r.arg;r.dispatchException(r.arg)}else r.method==="return"&&r.abrupt("return",r.arg);i=P;var S=l(t,e,r);if(S.type==="normal"){if(i=r.done?_:I,S.arg===d)continue;return{value:S.arg,done:r.done}}else S.type==="throw"&&(i=_,r.method="throw",r.arg=S.arg)}}}function H(t,e){var r=e.method,i=t.iterator[r];if(i===p)return e.delegate=null,r==="throw"&&t.iterator.return&&(e.method="return",e.arg=p,H(t,e),e.method==="throw")||r!=="return"&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var n=l(i,t.iterator,e.arg);if(n.type==="throw")return e.method="throw",e.arg=n.arg,e.delegate=null,d;var s=n.arg;if(!s)return e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d;if(s.done)e[t.resultName]=s.value,e.next=t.nextLoc,e.method!=="return"&&(e.method="next",e.arg=p);else return s;return e.delegate=null,d}K(R),w(R,A,"Generator"),w(R,O,function(){return this}),w(R,"toString",function(){return"[object Generator]"});function Q(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function W(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function B(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(Q,this),this.reset(!0)}o.keys=function(t){var e=Object(t),r=[];for(var i in e)r.push(i);return r.reverse(),function n(){for(;r.length;){var s=r.pop();if(s in e)return n.value=s,n.done=!1,n}return n.done=!0,n}};function F(t){if(t){var e=t[O];if(e)return e.call(t);if(typeof t.next=="function")return t;if(!isNaN(t.length)){var r=-1,i=function n(){for(;++r<t.length;)if(c.call(t,r))return n.value=t[r],n.done=!1,n;return n.value=p,n.done=!0,n};return i.next=i}}return{next:J}}o.values=F;function J(){return{value:p,done:!0}}return B.prototype={constructor:B,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=p,this.done=!1,this.delegate=null,this.method="next",this.arg=p,this.tryEntries.forEach(W),!t)for(var e in this)e.charAt(0)==="t"&&c.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=p)},stop:function(){this.done=!0;var t=this.tryEntries[0],e=t.completion;if(e.type==="throw")throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(L,S){return s.type="throw",s.arg=t,e.next=L,S&&(e.method="next",e.arg=p),!!S}for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i],s=n.completion;if(n.tryLoc==="root")return r("end");if(n.tryLoc<=this.prev){var v=c.call(n,"catchLoc"),h=c.call(n,"finallyLoc");if(v&&h){if(this.prev<n.catchLoc)return r(n.catchLoc,!0);if(this.prev<n.finallyLoc)return r(n.finallyLoc)}else if(v){if(this.prev<n.catchLoc)return r(n.catchLoc,!0)}else if(h){if(this.prev<n.finallyLoc)return r(n.finallyLoc)}else throw new Error("try statement without catch or finally")}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&c.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var n=i;break}}n&&(t==="break"||t==="continue")&&n.tryLoc<=e&&e<=n.finallyLoc&&(n=null);var s=n?n.completion:{};return s.type=t,s.arg=e,n?(this.method="next",this.next=n.finallyLoc,d):this.complete(s)},complete:function(t,e){if(t.type==="throw")throw t.arg;return t.type==="break"||t.type==="continue"?this.next=t.arg:t.type==="return"?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):t.type==="normal"&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),W(r),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var i=r.completion;if(i.type==="throw"){var n=i.arg;W(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:F(t),resultName:e,nextLoc:r},this.method==="next"&&(this.arg=p),d}},o})(typeof te=="object"?te.exports:{});try{regeneratorRuntime=ee}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=ee:Function("r","regeneratorRuntime = r")(ee)}});var Z=f((Ut,se)=>{"use strict";se.exports=(o,a)=>`${o}-${a}-${Math.random().toString(16).slice(3,8)}`});var re=f((Dt,ue)=>{"use strict";var xe=Z(),ce=0;ue.exports=({id:o,action:a,payload:c={}})=>{let u=o;return typeof u>"u"&&(u=xe("Job",ce),ce+=1),{id:u,action:a,payload:c}}});var x=f(z=>{"use strict";var oe=!1;z.logging=oe;z.setLogging=o=>{oe=o};z.log=(...o)=>oe?console.log.apply(z,o):null});var de=f((fe,he)=>{"use strict";var Ve=re(),{log:V}=x(),Qe=Z(),le=0;he.exports=()=>{let o=Qe("Scheduler",le),a={},c={},u=[];le+=1;let p=()=>u.length,b=()=>Object.keys(a).length,O=()=>{if(u.length!==0){let l=Object.keys(a);for(let g=0;g<l.length;g+=1)if(typeof c[l[g]]>"u"){u[0](a[l[g]]);break}}},m=(l,g)=>new Promise((I,P)=>{let _=Ve({action:l,payload:g});u.push(async d=>{u.shift(),c[d.id]=_;try{I(await d[l].apply(fe,[...g,_.id]))}catch(E){P(E)}finally{delete c[d.id],O()}}),V(`[${o}]: Add ${_.id} to JobQueue`),V(`[${o}]: JobQueue length=${u.length}`),O()});return{addWorker:l=>(a[l.id]=l,V(`[${o}]: Add ${l.id}`),V(`[${o}]: Number of workers=${b()}`),O(),l.id),addJob:async(l,...g)=>{if(b()===0)throw Error(`[${o}]: You need to have at least one worker before adding jobs`);return m(l,g)},terminate:async()=>{Object.keys(a).forEach(async l=>{await a[l].terminate()}),u=[]},getQueueLen:p,getNumWorkers:b}}});var ge=f((jt,pe)=>{"use strict";pe.exports=o=>{let a={};return typeof WorkerGlobalScope<"u"?a.type="webworker":typeof document=="object"?a.type="browser":typeof process=="object"&&typeof U=="function"&&(a.type="node"),typeof o>"u"?a:a[o]}});var ve=f((Bt,ye)=>{"use strict";var Xe=ge()("type")==="browser",et=Xe?o=>new URL(o,window.location.href).href:o=>o;ye.exports=o=>{let a={...o};return["corePath","workerPath","langPath"].forEach(c=>{o[c]&&(a[c]=et(a[c]))}),a}});var ne=f((Ft,me)=>{"use strict";me.exports={TESSERACT_ONLY:0,LSTM_ONLY:1,TESSERACT_LSTM_COMBINED:2,DEFAULT:3}});var Le=f((Yt,we)=>{"use strict";we.exports={workerBlobURL:!0,logger:()=>{}}});var Ee=f((zt,Se)=>{"use strict";var tt=U("path"),rt=Le();Se.exports={...rt,workerPath:tt.join(__dirname,"..","..","worker-script","node","index.js")}});var Ae=f((Kt,Oe)=>{"use strict";var{Worker:ot}=U("worker_threads");Oe.exports=({workerPath:o})=>new ot(o)});var ke=f((Ht,_e)=>{"use strict";_e.exports=o=>{o.terminate()}});var Te=f((Jt,be)=>{"use strict";be.exports=(o,a)=>{o.on("message",a)}});var Ne=f((Zt,Re)=>{"use strict";Re.exports=async(o,a)=>{o.postMessage(a)}});var Pe=f((xt,Ie)=>{Ie.exports=st;var nt=/^(?:\w+:)?\/\/(\S+)$/,it=/^localhost[\:?\d]*(?:[^\:?\d]\S*)?$/,at=/^[^\s\.]+\.\S{2,}$/;function st(o){if(typeof o!="string")return!1;var a=o.match(nt);if(!a)return!1;var c=a[1];return c?!!(it.test(c)||at.test(c)):!1}});var Me=f((Vt,qe)=>{"use strict";var ct=U("util"),ut=U("fs"),lt=global.fetch||Ze(),ft=Pe(),ht=ct.promisify(ut.readFile);qe.exports=async o=>{let a=o;return typeof o>"u"?o:(typeof o=="string"?ft(o)||o.startsWith("moz-extension://")||o.startsWith("chrome-extension://")||o.startsWith("file://")?a=await(await lt(o)).arrayBuffer():/data:image\/([a-zA-Z]*);base64,([^"]*)/.test(o)?a=Buffer.from(o.split(",")[1],"base64"):a=await ht(o):Buffer.isBuffer(o)&&(a=o),new Uint8Array(a))}});var Ce=f((Qt,Ge)=>{"use strict";var dt=Ee(),pt=Ae(),gt=ke(),yt=Te(),vt=Ne(),mt=Me();Ge.exports={defaultOptions:dt,spawnWorker:pt,terminateWorker:gt,onMessage:yt,send:vt,loadImage:mt}});var ie=f((Xt,je)=>{"use strict";var wt=ve(),k=re(),{log:Ue}=x(),Lt=Z(),G=ne(),{defaultOptions:St,spawnWorker:Et,terminateWorker:Ot,onMessage:At,loadImage:De,send:_t}=Ce(),$e=0;je.exports=async(o="eng",a=G.LSTM_ONLY,c={},u={})=>{let p=Lt("Worker",$e),{logger:b,errorHandler:O,...m}=wt({...St,...c}),A={},w=typeof o=="string"?o.split("+"):o,N=a,l=u,g=[G.DEFAULT,G.LSTM_ONLY].includes(a)&&!m.legacyCore,I,P,_=new Promise((t,e)=>{P=t,I=e}),d=t=>{I(t.message)},E=Et(m);E.onerror=d,$e+=1;let y=({id:t,action:e,payload:r})=>new Promise((i,n)=>{Ue(`[${p}]: Start ${t}, action=${e}`);let s=`${e}-${t}`;A[s]={resolve:i,reject:n},_t(E,{workerId:p,jobId:t,action:e,payload:r})}),T=()=>console.warn("`load` is depreciated and should be removed from code (workers now come pre-loaded)"),D=t=>y(k({id:t,action:"load",payload:{options:{lstmOnly:g,corePath:m.corePath,logging:m.logging}}})),$=(t,e,r)=>y(k({id:r,action:"FS",payload:{method:"writeFile",args:[t,e]}})),C=(t,e)=>y(k({id:e,action:"FS",payload:{method:"readFile",args:[t,{encoding:"utf8"}]}})),R=(t,e)=>y(k({id:e,action:"FS",payload:{method:"unlink",args:[t]}})),K=(t,e,r)=>y(k({id:r,action:"FS",payload:{method:t,args:e}})),q=(t,e)=>y(k({id:e,action:"loadLanguage",payload:{langs:t,options:{langPath:m.langPath,dataPath:m.dataPath,cachePath:m.cachePath,cacheMethod:m.cacheMethod,gzip:m.gzip,lstmOnly:[G.DEFAULT,G.LSTM_ONLY].includes(N)&&!m.legacyLang}}})),j=(t,e,r,i)=>y(k({id:i,action:"initialize",payload:{langs:t,oem:e,config:r}})),H=(t="eng",e,r,i)=>{if(g&&[G.TESSERACT_ONLY,G.TESSERACT_LSTM_COMBINED].includes(e))throw Error("Legacy model requested but code missing.");let n=e||N;N=n;let s=r||l;l=s;let h=(typeof t=="string"?t.split("+"):t).filter(L=>!w.includes(L));return w.push(...h),h.length>0?q(h,i).then(()=>j(t,n,s,i)):j(t,n,s,i)},Q=(t={},e)=>y(k({id:e,action:"setParameters",payload:{params:t}})),W=async(t,e={},r={text:!0},i)=>y(k({id:i,action:"recognize",payload:{image:await De(t),options:e,output:r}})),B=async(t,e)=>{if(g)throw Error("`worker.detect` requires Legacy model, which was not loaded.");return y(k({id:e,action:"detect",payload:{image:await De(t)}}))},F=async()=>(E!==null&&(Ot(E),E=null),Promise.resolve());At(E,({workerId:t,jobId:e,status:r,action:i,data:n})=>{let s=`${i}-${e}`;if(r==="resolve")Ue(`[${t}]: Complete ${e}`),A[s].resolve({jobId:e,data:n}),delete A[s];else if(r==="reject")if(A[s].reject(n),delete A[s],i==="load"&&I(n),O)O(n);else throw Error(n);else r==="progress"&&b({...n,userJobId:e})});let J={id:p,worker:E,load:T,writeText:$,readText:C,removeFile:R,FS:K,reinitialize:H,setParameters:Q,recognize:W,detect:B,terminate:F};return D().then(()=>q(o)).then(()=>j(o,a,u)).then(()=>P(J)).catch(()=>{}),_}});var Fe=f((er,Be)=>{"use strict";var We=ie(),kt=async(o,a,c)=>{let u=await We(a,1,c);return u.recognize(o).finally(async()=>{await u.terminate()})},bt=async(o,a)=>{let c=await We("osd",0,a);return c.detect(o).finally(async()=>{await c.terminate()})};Be.exports={recognize:kt,detect:bt}});var ze=f((tr,Ye)=>{"use strict";Ye.exports={AFR:"afr",AMH:"amh",ARA:"ara",ASM:"asm",AZE:"aze",AZE_CYRL:"aze_cyrl",BEL:"bel",BEN:"ben",BOD:"bod",BOS:"bos",BUL:"bul",CAT:"cat",CEB:"ceb",CES:"ces",CHI_SIM:"chi_sim",CHI_TRA:"chi_tra",CHR:"chr",CYM:"cym",DAN:"dan",DEU:"deu",DZO:"dzo",ELL:"ell",ENG:"eng",ENM:"enm",EPO:"epo",EST:"est",EUS:"eus",FAS:"fas",FIN:"fin",FRA:"fra",FRK:"frk",FRM:"frm",GLE:"gle",GLG:"glg",GRC:"grc",GUJ:"guj",HAT:"hat",HEB:"heb",HIN:"hin",HRV:"hrv",HUN:"hun",IKU:"iku",IND:"ind",ISL:"isl",ITA:"ita",ITA_OLD:"ita_old",JAV:"jav",JPN:"jpn",KAN:"kan",KAT:"kat",KAT_OLD:"kat_old",KAZ:"kaz",KHM:"khm",KIR:"kir",KOR:"kor",KUR:"kur",LAO:"lao",LAT:"lat",LAV:"lav",LIT:"lit",MAL:"mal",MAR:"mar",MKD:"mkd",MLT:"mlt",MSA:"msa",MYA:"mya",NEP:"nep",NLD:"nld",NOR:"nor",ORI:"ori",PAN:"pan",POL:"pol",POR:"por",PUS:"pus",RON:"ron",RUS:"rus",SAN:"san",SIN:"sin",SLK:"slk",SLV:"slv",SPA:"spa",SPA_OLD:"spa_old",SQI:"sqi",SRP:"srp",SRP_LATN:"srp_latn",SWA:"swa",SWE:"swe",SYR:"syr",TAM:"tam",TEL:"tel",TGK:"tgk",TGL:"tgl",THA:"tha",TIR:"tir",TUR:"tur",UIG:"uig",UKR:"ukr",URD:"urd",UZB:"uzb",UZB_CYRL:"uzb_cyrl",VIE:"vie",YID:"yid"}});var He=f((rr,Ke)=>{"use strict";Ke.exports={OSD_ONLY:"0",AUTO_OSD:"1",AUTO_ONLY:"2",AUTO:"3",SINGLE_COLUMN:"4",SINGLE_BLOCK_VERT_TEXT:"5",SINGLE_BLOCK:"6",SINGLE_LINE:"7",SINGLE_WORD:"8",CIRCLE_WORD:"9",SINGLE_CHAR:"10",SPARSE_TEXT:"11",SPARSE_TEXT_OSD:"12",RAW_LINE:"13"}});var Gt=f((or,Je)=>{ae();var Tt=de(),Rt=ie(),Nt=Fe(),It=ze(),Pt=ne(),qt=He(),{setLogging:Mt}=x();Je.exports={languages:It,OEM:Pt,PSM:qt,createScheduler:Tt,createWorker:Rt,setLogging:Mt,...Nt}});export default Gt();
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{c as addPendingNudge,e as clearPendingNudges,d as consumePendingNudges,b as pendingSubagentNudges,a as subagentProgress};
1
+ import{a,b,c,d,e}from"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{c as addPendingNudge,e as clearPendingNudges,d as consumePendingNudges,b as pendingSubagentNudges,a as subagentProgress};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e}from"./chunk-56EJGQU3.js";import"./chunk-PHKIAKHS.js";export{c as addPendingNudge,e as clearPendingNudges,d as consumePendingNudges,b as pendingSubagentNudges,a as subagentProgress};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"./chunk-56EJGQU3.js";import"./chunk-Y6SLVHK3.js";export{c as addPendingNudge,e as clearPendingNudges,d as consumePendingNudges,b as pendingSubagentNudges,a as subagentProgress};
1
+ import{a,b,c,d,e}from"./chunk-56EJGQU3.js";import"./chunk-Y6SLVHK3.js";export{c as addPendingNudge,e as clearPendingNudges,d as consumePendingNudges,b as pendingSubagentNudges,a as subagentProgress};
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import{spawn as ae}from"child_process";import{fileURLToPath as L}from"url";import re from"os";import ne from"dotenv";ne.config({quiet:!0});var ie=re.totalmem(),O=ie/(1024*1024),le=.5,ce=Math.floor(O*le),R=process.argv.slice(2),N=R.indexOf("--allocation"),a=N!==-1?parseInt(R[N+1],10):NaN;!isNaN(a)&&a<64&&(console.error(`
3
3
  [ERROR] Allocation value '${a} MB' is too low. Minimum: 64 MB, Recommended: 4096 MB.
4
4
  `),process.exit(1));var w=Math.floor(O*.75),me=!isNaN(a)&&a>0?Math.min(a,w):Math.max(1536,Math.min(32768,ce)),ue=L(import.meta.url).endsWith(".js");if(ue&&!process.execArgv.some(o=>o.includes("max-old-space-size")))Number.isNaN(a)||(console.log(`
5
- [MEMORY] Starting with: '${a>w?w:a} MB' Allocation${a>w?" (Max allowed: '"+w+" MB')":""}. Please Wait...`),await new Promise(l=>setTimeout(l,5e3))),ae(process.execPath,[`--max-old-space-size=${me}`,"--expose-gc","--max-semi-space-size=1",L(import.meta.url),...process.argv.slice(2)],{stdio:"inherit"}).on("exit",l=>process.exit(l||0));else{let o=process.argv.slice(2),l=o.includes("--help")&&o[o.indexOf("--help")+1]==="commands",M=o.includes("--help")&&!l,T=o.includes("--version")||o.includes("-v"),A=o[0]==="--update",P=o[0]==="--export";if(T||M||l||A||P){let t=await import("fs"),p=await import("path"),{fileURLToPath:g}=await import("url"),C=p.join(p.dirname(g(import.meta.url)),"../package.json"),c=JSON.parse(t.readFileSync(C,"utf8")).version;if(P){let f=(o[1]||"").toLowerCase();if(f==="error"||f==="logs")try{let{exportErrorLogs:r}=await import("./chunks/export-JZFBZGGZ.js"),n=await r();console.log(`[EXPORT LOGS] Exported ${n.entryCount} error log entries (FluxFlow: ${n.fluxflowCount}, Memory: ${n.memoryCount}) to "${n.exportFile}"`),process.exit(0)}catch(r){console.error(`[EXPORT ERROR] Failed to export error logs: ${r.message}`),process.exit(1)}else console.error(`[EXPORT ERROR] Invalid export target "${o[1]||""}". --export only supports 'error'.
5
+ [MEMORY] Starting with: '${a>w?w:a} MB' Allocation${a>w?" (Max allowed: '"+w+" MB')":""}. Please Wait...`),await new Promise(l=>setTimeout(l,5e3))),ae(process.execPath,[`--max-old-space-size=${me}`,"--expose-gc","--max-semi-space-size=1",L(import.meta.url),...process.argv.slice(2)],{stdio:"inherit"}).on("exit",l=>process.exit(l||0));else{let o=process.argv.slice(2),l=o.includes("--help")&&o[o.indexOf("--help")+1]==="commands",M=o.includes("--help")&&!l,T=o.includes("--version")||o.includes("-v"),A=o[0]==="--update",P=o[0]==="--export";if(T||M||l||A||P){let t=await import("fs"),p=await import("path"),{fileURLToPath:g}=await import("url"),C=p.join(p.dirname(g(import.meta.url)),"../package.json"),c=JSON.parse(t.readFileSync(C,"utf8")).version;if(P){let f=(o[1]||"").toLowerCase();if(f==="error"||f==="logs")try{let{exportErrorLogs:r}=await import("./chunks/export-MX2VT3I7.js"),n=await r();console.log(`[EXPORT LOGS] Exported ${n.entryCount} error log entries (FluxFlow: ${n.fluxflowCount}, Memory: ${n.memoryCount}) to "${n.exportFile}"`),process.exit(0)}catch(r){console.error(`[EXPORT ERROR] Failed to export error logs: ${r.message}`),process.exit(1)}else console.error(`[EXPORT ERROR] Invalid export target "${o[1]||""}". --export only supports 'error'.
6
6
  Usage: fluxflow --export error`),process.exit(1)}if(T&&(console.log(`v${c}`),process.exit(0)),M&&(console.log(`FluxFlow CLI Arguments:
7
7
  --mode <flux|flow> Set startup mode (flux: Agent / flow: Chat)
8
8
  --model <model_name> Set startup AI model
@@ -55,4 +55,4 @@ Usage: fluxflow --export error`),process.exit(1)}if(T&&(console.log(`v${c}`),pro
55
55
  /docs View documentation
56
56
  /fluxflow init Create FluxFlow.md template
57
57
  /update check Check for new version
58
- /update latest Install latest release`),process.exit(0)),A){let f=o[1]||"latest";if(f==="check"){let r=o[2]==="latest";try{let d=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;d||(console.error("Error: Could not retrieve latest version."),process.exit(1)),console.log(r?`Latest version: v${d}`:d!==c?`A new version of FluxFlow is available: v${d} (current: v${c}). Run "fluxflow --update latest" to upgrade.`:`FluxFlow is up to date (v${c}).`)}catch(n){console.error("Error checking for updates:",n.message),process.exit(1)}process.exit(0)}else if(f==="latest"){console.log("Checking latest version and settings...");try{let s=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;s||(console.error("Error: Could not retrieve latest version."),process.exit(1)),s===c&&(console.log(`FluxFlow is already up to date (v${c}).`),process.exit(0));let d=async()=>{let e=(await import("react")).default,{useState:$}=e,{render:z,Box:u,Text:x}=await import("ink"),G=(await import("ink-select-input")).default,J=(await import("ink-text-input")).default;return new Promise(q=>{let X=[{label:"NPM",value:"npm"},{label:"PNPM",value:"pnpm"},{label:"Yarn",value:"yarn"},{label:"Bun",value:"bun"},{label:"Custom Command",value:"custom"}],K=({label:h,isSelected:y})=>e.createElement(u,{width:"100%"},e.createElement(x,{bold:y},"\u2514\u2500 ",y?"\x1B[32m\u25CF\x1B[0m":"\u25CB"," ",h)),F,Q=()=>{let[h,y]=$("select"),[ee,oe]=$(""),te=b=>{b.value==="custom"?y("custom"):B({manager:b.value})},se=b=>{B({manager:"custom",customCommand:b})};return h==="custom"?e.createElement(u,{flexDirection:"column",marginY:1},e.createElement(u,{marginBottom:1},e.createElement(x,{color:"magenta",bold:!0},"\u{1F527} Enter custom update command:")),e.createElement(u,{flexDirection:"row"},e.createElement(x,{color:"cyan",bold:!0}," \u276F "),e.createElement(J,{value:ee,onChange:oe,onSubmit:se})),e.createElement(u,{marginTop:1},e.createElement(x,{color:"gray",dimColor:!0,italic:!0}," (Press Enter to confirm)"))):e.createElement(u,{flexDirection:"column",marginY:1},e.createElement(u,{marginBottom:1},e.createElement(x,{color:"magenta",bold:!0},"\u{1F4E6} Select a package manager for the update:")),e.createElement(G,{items:X,onSelect:te,itemComponent:K,indicatorComponent:()=>null}))},B=h=>{F&&F(),q(h)},{unmount:Z}=z(e.createElement(Q,null));F=Z})},i,I="",v;try{let{loadSettings:e}=await import("./chunks/settings-DTH5C6BO.js");v=await e(),i=v?.systemSettings?.updateManager||v?.updateManager}catch{}if(!i){let e=await d();i=e.manager,I=e.customCommand}let m="";i==="pnpm"?m=`pnpm add -g fluxflow-cli@${s}`:i==="bun"?m=`bun add -g fluxflow-cli@${s}`:i==="yarn"?m=`yarn global add fluxflow-cli@${s}`:i==="custom"?m=I||v?.customUpdateCommand||`npm install -g fluxflow-cli@${s}`:m=`npm install -g fluxflow-cli@${s}`,console.log(`Updating FluxFlow to v${s} using ${i}...`),console.log(`Running: ${m}`);let{execSync:Y}=await import("child_process");Y(m,{stdio:"inherit"}),console.log(`\x1B[32m\u2705 Update successful! FluxFlow updated to v${s}.\x1B[0m`)}catch(r){console.error("\x1B[31m\u274C Update failed:\x1B[0m",r.message),process.exit(1)}process.exit(0)}else console.error("Unknown update command. Available options: --update, --update check, --update check latest, --update latest"),process.exit(1)}}let{default:D}=await import("react"),{render:U}=await import("ink"),{default:_}=await import("./chunks/app-4VRQVBXL.js");process.env.NODE_NO_WARNINGS="1";let j=["cuimp","Found existing binary","Binary verified","curl.exe not found","Falling back to .bat file","DeprecationWarning"],H=console.log,W=console.warn,V=console.error,S=t=>{let p=t.map(String).join(" ");return j.some(g=>p.includes(g))};console.log=(...t)=>!S(t)&&H(...t),console.warn=(...t)=>!S(t)&&W(...t),console.error=(...t)=>!S(t)&&V(...t),process.stdout.write("\x1B[2J\x1B[3J\x1B[H"),process.stdout.isTTY&&(process.stdout.write("\x1B]0;FluxFlow\x07"),process.stdout.write("\x1B]633;P;TerminalTitle=FluxFlow\x07"),process.stdout.write("\x1B[?2004h"));let E=()=>{process.stdout.isTTY&&process.stdout.write("\x1B[?2004l")};if(process.on("exit",E),["SIGINT","SIGTERM","SIGHUP"].forEach(t=>{process.once(t,()=>{E(),process.exit(0)})}),o.includes("--playground")){let t=process.cwd();process.argv.push("--original-cwd",t);let{DATA_DIR:p}=await import("./chunks/paths-HYQFU6D2.js"),g=await import("path"),C=await import("fs-extra"),k=g.default.join(p,"playground");try{C.default.ensureDirSync(k),process.chdir(k)}catch{}}U(D.createElement(_,{args:process.argv.slice(2)}),{exitOnCtrlC:!1})}
58
+ /update latest Install latest release`),process.exit(0)),A){let f=o[1]||"latest";if(f==="check"){let r=o[2]==="latest";try{let d=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;d||(console.error("Error: Could not retrieve latest version."),process.exit(1)),console.log(r?`Latest version: v${d}`:d!==c?`A new version of FluxFlow is available: v${d} (current: v${c}). Run "fluxflow --update latest" to upgrade.`:`FluxFlow is up to date (v${c}).`)}catch(n){console.error("Error checking for updates:",n.message),process.exit(1)}process.exit(0)}else if(f==="latest"){console.log("Checking latest version and settings...");try{let s=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;s||(console.error("Error: Could not retrieve latest version."),process.exit(1)),s===c&&(console.log(`FluxFlow is already up to date (v${c}).`),process.exit(0));let d=async()=>{let e=(await import("react")).default,{useState:$}=e,{render:z,Box:u,Text:x}=await import("ink"),G=(await import("ink-select-input")).default,J=(await import("ink-text-input")).default;return new Promise(q=>{let X=[{label:"NPM",value:"npm"},{label:"PNPM",value:"pnpm"},{label:"Yarn",value:"yarn"},{label:"Bun",value:"bun"},{label:"Custom Command",value:"custom"}],K=({label:h,isSelected:y})=>e.createElement(u,{width:"100%"},e.createElement(x,{bold:y},"\u2514\u2500 ",y?"\x1B[32m\u25CF\x1B[0m":"\u25CB"," ",h)),F,Q=()=>{let[h,y]=$("select"),[ee,oe]=$(""),te=b=>{b.value==="custom"?y("custom"):B({manager:b.value})},se=b=>{B({manager:"custom",customCommand:b})};return h==="custom"?e.createElement(u,{flexDirection:"column",marginY:1},e.createElement(u,{marginBottom:1},e.createElement(x,{color:"magenta",bold:!0},"\u{1F527} Enter custom update command:")),e.createElement(u,{flexDirection:"row"},e.createElement(x,{color:"cyan",bold:!0}," \u276F "),e.createElement(J,{value:ee,onChange:oe,onSubmit:se})),e.createElement(u,{marginTop:1},e.createElement(x,{color:"gray",dimColor:!0,italic:!0}," (Press Enter to confirm)"))):e.createElement(u,{flexDirection:"column",marginY:1},e.createElement(u,{marginBottom:1},e.createElement(x,{color:"magenta",bold:!0},"\u{1F4E6} Select a package manager for the update:")),e.createElement(G,{items:X,onSelect:te,itemComponent:K,indicatorComponent:()=>null}))},B=h=>{F&&F(),q(h)},{unmount:Z}=z(e.createElement(Q,null));F=Z})},i,I="",v;try{let{loadSettings:e}=await import("./chunks/settings-HOSPANO7.js");v=await e(),i=v?.systemSettings?.updateManager||v?.updateManager}catch{}if(!i){let e=await d();i=e.manager,I=e.customCommand}let m="";i==="pnpm"?m=`pnpm add -g fluxflow-cli@${s}`:i==="bun"?m=`bun add -g fluxflow-cli@${s}`:i==="yarn"?m=`yarn global add fluxflow-cli@${s}`:i==="custom"?m=I||v?.customUpdateCommand||`npm install -g fluxflow-cli@${s}`:m=`npm install -g fluxflow-cli@${s}`,console.log(`Updating FluxFlow to v${s} using ${i}...`),console.log(`Running: ${m}`);let{execSync:Y}=await import("child_process");Y(m,{stdio:"inherit"}),console.log(`\x1B[32m\u2705 Update successful! FluxFlow updated to v${s}.\x1B[0m`)}catch(r){console.error("\x1B[31m\u274C Update failed:\x1B[0m",r.message),process.exit(1)}process.exit(0)}else console.error("Unknown update command. Available options: --update, --update check, --update check latest, --update latest"),process.exit(1)}}let{default:D}=await import("react"),{render:U}=await import("ink"),{default:_}=await import("./chunks/app-XTDZID37.js");process.env.NODE_NO_WARNINGS="1";let j=["cuimp","Found existing binary","Binary verified","curl.exe not found","Falling back to .bat file","DeprecationWarning"],H=console.log,W=console.warn,V=console.error,S=t=>{let p=t.map(String).join(" ");return j.some(g=>p.includes(g))};console.log=(...t)=>!S(t)&&H(...t),console.warn=(...t)=>!S(t)&&W(...t),console.error=(...t)=>!S(t)&&V(...t),process.stdout.write("\x1B[2J\x1B[3J\x1B[H"),process.stdout.isTTY&&(process.stdout.write("\x1B]0;FluxFlow\x07"),process.stdout.write("\x1B]633;P;TerminalTitle=FluxFlow\x07"),process.stdout.write("\x1B[?2004h"));let E=()=>{process.stdout.isTTY&&process.stdout.write("\x1B[?2004l")};if(process.on("exit",E),["SIGINT","SIGTERM","SIGHUP"].forEach(t=>{process.once(t,()=>{E(),process.exit(0)})}),o.includes("--playground")){let t=process.cwd();process.argv.push("--original-cwd",t);let{DATA_DIR:p}=await import("./chunks/paths-KMO5IYNK.js"),g=await import("path"),C=await import("fs-extra"),k=g.default.join(p,"playground");try{C.default.ensureDirSync(k),process.chdir(k)}catch{}}U(D.createElement(_,{args:process.argv.slice(2)}),{exitOnCtrlC:!1})}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 0,
3
- "release": 20260813,
3
+ "release": 20260814,
4
4
  "fallbacks": {
5
5
  "janitor_default": "gemini-3.1-flash-lite",
6
6
  "janitor_attempts_fallback": "gemma-4-26b-a4b-it",
@@ -101,12 +101,6 @@
101
101
  "hasReasoning": false,
102
102
  "desc": "Mistral Large (Multimodal)"
103
103
  },
104
- {
105
- "cmd": "glm-5-2",
106
- "multimodal": false,
107
- "hasReasoning": true,
108
- "desc": "GLM Third-Party model (Text Only)"
109
- },
110
104
  {
111
105
  "cmd": "labs-leanstral-1-5-1",
112
106
  "multimodal": false,
@@ -441,10 +435,24 @@
441
435
  "multimodal": false,
442
436
  "desc": "Text Only"
443
437
  },
438
+ {
439
+ "cmd": "\n--- Mistral Models ---",
440
+ "desc": ""
441
+ },
442
+ {
443
+ "cmd": "mistralai/mistral-nemotron",
444
+ "multimodal": false,
445
+ "desc": "Text Only"
446
+ },
444
447
  {
445
448
  "cmd": "\n--- Meta Models ---",
446
449
  "desc": ""
447
450
  },
451
+ {
452
+ "cmd": "meta/llama-3.1-70b-instruct",
453
+ "multimodal": false,
454
+ "desc": "Text Only"
455
+ },
448
456
  {
449
457
  "cmd": "meta/llama-3.3-70b-instruct",
450
458
  "multimodal": false,
@@ -494,12 +502,12 @@
494
502
  {
495
503
  "cmd": "gemma-4-26b-a4b-it",
496
504
  "multimodal": true,
497
- "desc": "Standard & Faster (Multimodal)"
505
+ "desc": "Gemma 4 26B (Multimodal)"
498
506
  },
499
507
  {
500
508
  "cmd": "gemma-4-31b-it",
501
509
  "multimodal": true,
502
- "desc": "Standard Default (Multimodal)"
510
+ "desc": "Gemma 4 31B (Multimodal)"
503
511
  },
504
512
  {
505
513
  "cmd": "\n--- Gemini 2.5 Models ---",
@@ -529,10 +537,20 @@
529
537
  "multimodal": true,
530
538
  "desc": "Fast & Lightweight (Multimodal) [Limited Free Quota]"
531
539
  },
540
+ {
541
+ "cmd": "gemini-3.5-flash",
542
+ "multimodal": true,
543
+ "desc": "Flash Latest (Multimodal) [Limited Free Quota]"
544
+ },
532
545
  {
533
546
  "cmd": "gemini-3.6-flash",
534
547
  "multimodal": true,
535
548
  "desc": "Flash Latest (Multimodal) [Limited Free Quota]"
549
+ },
550
+ {
551
+ "cmd": "gemini-3.7-flash",
552
+ "multimodal": true,
553
+ "desc": "Flash Latest (Multimodal) [Limited Free Quota]"
536
554
  }
537
555
  ],
538
556
  "Paid": [
@@ -575,7 +593,7 @@
575
593
  "desc": "Default, Fast & Lightweight (Multimodal)"
576
594
  },
577
595
  {
578
- "cmd": "gemini-3.6-flash",
596
+ "cmd": "gemini-3.7-flash",
579
597
  "multimodal": true,
580
598
  "desc": "Flash Latest (Multimodal) [Instability Issues]"
581
599
  },
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fluxflow-cli",
3
- "version": "3.23.0",
4
- "date": "2026-08-12",
3
+ "version": "4.0.0",
4
+ "date": "2026-08-14",
5
5
  "description": "A High-Fidelity Agentic CLI with Sub-Agents for the Flux Era.",
6
6
  "keywords": [
7
7
  "ai",
@@ -36,7 +36,7 @@
36
36
  ],
37
37
  "type": "module",
38
38
  "bin": {
39
- "fluxflow-cli": "dist/entry.js",
39
+ "fluxflow-cli": "dist/cli.js",
40
40
  "fluxflow": "dist/entry.js"
41
41
  },
42
42
  "scripts": {
@@ -45,6 +45,7 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@google/genai": "^1.52.0",
48
+ "@nut-tree-fork/nut-js": "^4.2.6",
48
49
  "chalk": "^5.6.2",
49
50
  "diff": "^9.0.0",
50
51
  "dotenv": "^17.4.2",
@@ -64,6 +65,9 @@
64
65
  "pdf-lib": "^1.17.1",
65
66
  "puppeteer": "24.43.1",
66
67
  "react": "^19.2.5",
68
+ "screenshot-desktop": "^1.15.4",
69
+ "sharp": "^0.35.3",
70
+ "tesseract.js": "^7.0.0",
67
71
  "turndown": "^7.2.4",
68
72
  "turndown-plugin-gfm": "^1.0.2",
69
73
  "web-tree-sitter": "^0.25.10",
package/model_config.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 0,
3
- "release": 20260813,
3
+ "release": 20260814,
4
4
  "fallbacks": {
5
5
  "janitor_default": "gemini-3.1-flash-lite",
6
6
  "janitor_attempts_fallback": "gemma-4-26b-a4b-it",
@@ -101,12 +101,6 @@
101
101
  "hasReasoning": false,
102
102
  "desc": "Mistral Large (Multimodal)"
103
103
  },
104
- {
105
- "cmd": "glm-5-2",
106
- "multimodal": false,
107
- "hasReasoning": true,
108
- "desc": "GLM Third-Party model (Text Only)"
109
- },
110
104
  {
111
105
  "cmd": "labs-leanstral-1-5-1",
112
106
  "multimodal": false,
@@ -441,10 +435,24 @@
441
435
  "multimodal": false,
442
436
  "desc": "Text Only"
443
437
  },
438
+ {
439
+ "cmd": "\n--- Mistral Models ---",
440
+ "desc": ""
441
+ },
442
+ {
443
+ "cmd": "mistralai/mistral-nemotron",
444
+ "multimodal": false,
445
+ "desc": "Text Only"
446
+ },
444
447
  {
445
448
  "cmd": "\n--- Meta Models ---",
446
449
  "desc": ""
447
450
  },
451
+ {
452
+ "cmd": "meta/llama-3.1-70b-instruct",
453
+ "multimodal": false,
454
+ "desc": "Text Only"
455
+ },
448
456
  {
449
457
  "cmd": "meta/llama-3.3-70b-instruct",
450
458
  "multimodal": false,
@@ -494,12 +502,12 @@
494
502
  {
495
503
  "cmd": "gemma-4-26b-a4b-it",
496
504
  "multimodal": true,
497
- "desc": "Standard & Faster (Multimodal)"
505
+ "desc": "Gemma 4 26B (Multimodal)"
498
506
  },
499
507
  {
500
508
  "cmd": "gemma-4-31b-it",
501
509
  "multimodal": true,
502
- "desc": "Standard Default (Multimodal)"
510
+ "desc": "Gemma 4 31B (Multimodal)"
503
511
  },
504
512
  {
505
513
  "cmd": "\n--- Gemini 2.5 Models ---",
@@ -529,10 +537,20 @@
529
537
  "multimodal": true,
530
538
  "desc": "Fast & Lightweight (Multimodal) [Limited Free Quota]"
531
539
  },
540
+ {
541
+ "cmd": "gemini-3.5-flash",
542
+ "multimodal": true,
543
+ "desc": "Flash Latest (Multimodal) [Limited Free Quota]"
544
+ },
532
545
  {
533
546
  "cmd": "gemini-3.6-flash",
534
547
  "multimodal": true,
535
548
  "desc": "Flash Latest (Multimodal) [Limited Free Quota]"
549
+ },
550
+ {
551
+ "cmd": "gemini-3.7-flash",
552
+ "multimodal": true,
553
+ "desc": "Flash Latest (Multimodal) [Limited Free Quota]"
536
554
  }
537
555
  ],
538
556
  "Paid": [
@@ -575,7 +593,7 @@
575
593
  "desc": "Default, Fast & Lightweight (Multimodal)"
576
594
  },
577
595
  {
578
- "cmd": "gemini-3.6-flash",
596
+ "cmd": "gemini-3.7-flash",
579
597
  "multimodal": true,
580
598
  "desc": "Flash Latest (Multimodal) [Instability Issues]"
581
599
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fluxflow-cli",
3
- "version": "3.23.0",
4
- "date": "2026-08-12",
3
+ "version": "4.0.0",
4
+ "date": "2026-08-14",
5
5
  "description": "A High-Fidelity Agentic CLI with Sub-Agents for the Flux Era.",
6
6
  "keywords": [
7
7
  "ai",
@@ -36,7 +36,7 @@
36
36
  ],
37
37
  "type": "module",
38
38
  "bin": {
39
- "fluxflow-cli": "dist/entry.js",
39
+ "fluxflow-cli": "dist/cli.js",
40
40
  "fluxflow": "dist/entry.js"
41
41
  },
42
42
  "scripts": {
@@ -45,6 +45,7 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@google/genai": "^1.52.0",
48
+ "@nut-tree-fork/nut-js": "^4.2.6",
48
49
  "chalk": "^5.6.2",
49
50
  "diff": "^9.0.0",
50
51
  "dotenv": "^17.4.2",
@@ -64,6 +65,9 @@
64
65
  "pdf-lib": "^1.17.1",
65
66
  "puppeteer": "24.43.1",
66
67
  "react": "^19.2.5",
68
+ "screenshot-desktop": "^1.15.4",
69
+ "sharp": "^0.35.3",
70
+ "tesseract.js": "^7.0.0",
67
71
  "turndown": "^7.2.4",
68
72
  "turndown-plugin-gfm": "^1.0.2",
69
73
  "web-tree-sitter": "^0.25.10",