fluxflow-cli 4.21.0 → 4.21.1
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/chunks/{ai-WJELS6YF.js → ai-RUPOI6HE.js} +1 -1
- package/dist/chunks/{app-MTU6DOUS.js → app-AKOJYYHC.js} +1 -1
- package/dist/chunks/{chunk-B7KSXQ3C.js → chunk-FMXVRTDX.js} +128 -13
- package/dist/chunks/{chunk-N5OMQI4N.js → chunk-SBM2DU7N.js} +2 -2
- package/dist/chunks/{invoke-HB2Q2HKB.js → invoke-3EBRE7ZW.js} +2 -2
- package/dist/chunks/{invokeSync-BW4MHOXO.js → invokeSync-YS2BHR6W.js} +2 -2
- package/dist/chunks/{usageServer-5WB6ZWFG.js → usageServer-IDNRWIJW.js} +1 -1
- package/dist/cli.js +3 -3
- package/dist/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as p,B as q,C as r,D as s,E as t,m as b,n as c,o as d,p as e,q as f,r as g,s as h,t as i,u as j,v as k,w as l,x as m,y as n,z as o}from"./chunk-
|
|
1
|
+
import{A as p,B as q,C as r,D as s,E as t,m as b,n as c,o as d,p as e,q as f,r as g,s as h,t as i,u as j,v as k,w as l,x as m,y as n,z as o}from"./chunk-SBM2DU7N.js";import"./chunk-56EJGQU3.js";import"./chunk-ORXN6WUW.js";import"./chunk-WFHGURXW.js";import"./chunk-NPYHHQDC.js";import"./chunk-4XZGWK5L.js";import"./chunk-UDJ2C3N3.js";import"./chunk-YUJMCXJA.js";import"./chunk-Y5JU726N.js";import"./chunk-Y6DZDEJ5.js";import"./chunk-RN5BZJYO.js";import"./chunk-I4JQEUHE.js";import{k as a}from"./chunk-QGPOMXO4.js";import"./chunk-SIINYZWE.js";import"./chunk-RI37VZYB.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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{B as nl,C as rl,D as sl,a as Gi,b as Je,c as ot,d as Sr,e as Xt,f as Vi,g as ji,h as Cr,i as Ki,j as ws,k as Jo,l as Er,v as tl,y as ol,z as jn}from"./chunk-
|
|
1
|
+
import{B as nl,C as rl,D as sl,a as Gi,b as Je,c as ot,d as Sr,e as Xt,f as Vi,g as ji,h as Cr,i as Ki,j as ws,k as Jo,l as Er,v as tl,y as ol,z as jn}from"./chunk-SBM2DU7N.js";import{b as Ji,c as Zi,d as Ri}from"./chunk-RLT6EHPQ.js";import{a as el}from"./chunk-56EJGQU3.js";import"./chunk-ORXN6WUW.js";import{b as Wi,d as Mn,e as qt,f as Yi}from"./chunk-Q2D63UDR.js";import"./chunk-WFHGURXW.js";import{a as Qi}from"./chunk-A73NNVCZ.js";import{a as Uo,b as Sn,d as vr,e as bs,f as qi,h as zi,i as Vn}from"./chunk-NPYHHQDC.js";import"./chunk-4XZGWK5L.js";import{a as Et,b as xt,d as _i,e as ht,f as Hi,j as hs,k as ps,l as Gn,n as Xi,o as Eo}from"./chunk-UDJ2C3N3.js";import{a as Yn}from"./chunk-YUJMCXJA.js";import{a as Wn}from"./chunk-Y5JU726N.js";import{b as yn,c as ms,k as Pi}from"./chunk-Y6DZDEJ5.js";import{b as xs}from"./chunk-FMXVRTDX.js";import{a as Oi,b as Ni,f as Fi,g as yr,h as Mr,j as vt,k as Qo,l as fs,r as Ui}from"./chunk-RN5BZJYO.js";import{a as gs,b as Ot}from"./chunk-I4JQEUHE.js";import{d as Ei,e as Bi,f as Di,g as ki,h as Ii,i as Ai,k as Tr,m as Fo,n as fo,o as Li}from"./chunk-QGPOMXO4.js";import{c as br,d as vi,e as wr}from"./chunk-SIINYZWE.js";import{e as $i}from"./chunk-COUKJJ4O.js";import{a as ro,b as zo,c as go,d as cs,e as us,k as Xn}from"./chunk-RI37VZYB.js";import Gs from"os";import e,{useState as J,useEffect as nt,useRef as Ke,useMemo as Dn}from"react";import{Box as c,Text as l,useInput as Yd,useStdout as Vd,Static as jd}from"ink";import Kd from"ink-spinner";import Re from"fs-extra";import St from"path";import{exec as yo}from"child_process";import{fileURLToPath as qd}from"url";import _t,{useState as Br,useEffect as Ts,useMemo as Kn,useCallback as ha,useRef as Bo}from"react";import{Box as pa,Text as so,useInput as ba}from"ink";function wa(t,m){return t.replace(/\t/g," ".repeat(m))}function Dr(t){return t==null?"":t.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`)}function Zo(t,m,x){let y=t,w=[...m].sort((s,k)=>s.start-k.start),p=0;for(let s of w){let k=s.start-p,h=Dr(s.text).split(`
|
|
4
4
|
`).length,A=s.text.length,O=(h>3?`[Pasted ${h} lines]`:`[Pasted ${A} chars]`).length,W=k+O;if(t<=k)break;if(t<W){y=s.end;break}else{let S=s.text.length-O;y+=S,p+=S}}return Math.min(y,x.length)}function ys(t,m,x,y,w=[]){let p=(t||"").slice(0,m),s=y(p).length,k=y(t||""),h=[...w].sort((N,I)=>I.start-N.start);for(let N of h){let I=y(t.slice(0,N.start)).length,_=y(N.text),q=I+_.length,ge=Dr(N.text).split(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZYB.js";import p from"http";import{exec as u}from"child_process";var m="data:image/png;base64,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";var b=null,n=null;function h(){let r=m;return`<!DOCTYPE html>
|
|
1
|
+
import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZYB.js";import b from"http";import{exec as u}from"child_process";var m="data:image/png;base64,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";var p=null,A=null;function w(){let r=m;return`<!DOCTYPE html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
@@ -648,6 +648,65 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
648
648
|
background: rgba(255, 255, 255, 0.02);
|
|
649
649
|
}
|
|
650
650
|
|
|
651
|
+
.table-pagination {
|
|
652
|
+
display: flex;
|
|
653
|
+
align-items: center;
|
|
654
|
+
justify-content: space-between;
|
|
655
|
+
padding: 0.85rem 0.25rem 0.25rem 0.25rem;
|
|
656
|
+
border-top: 1px solid rgba(255, 255, 255, 0.05);
|
|
657
|
+
margin-top: 0.75rem;
|
|
658
|
+
flex-wrap: wrap;
|
|
659
|
+
gap: 12px;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
.pagination-info {
|
|
663
|
+
font-size: 0.8rem;
|
|
664
|
+
color: var(--text-muted);
|
|
665
|
+
display: flex;
|
|
666
|
+
align-items: center;
|
|
667
|
+
gap: 6px;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
.pagination-controls {
|
|
671
|
+
display: flex;
|
|
672
|
+
align-items: center;
|
|
673
|
+
gap: 6px;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
.page-btn {
|
|
677
|
+
background: rgba(255, 255, 255, 0.04);
|
|
678
|
+
border: 1px solid var(--border-subtle);
|
|
679
|
+
color: var(--text-main);
|
|
680
|
+
padding: 4px 10px;
|
|
681
|
+
border-radius: var(--radius-sm);
|
|
682
|
+
font-size: 0.78rem;
|
|
683
|
+
cursor: pointer;
|
|
684
|
+
transition: all 0.2s ease;
|
|
685
|
+
font-family: inherit;
|
|
686
|
+
display: inline-flex;
|
|
687
|
+
align-items: center;
|
|
688
|
+
justify-content: center;
|
|
689
|
+
min-width: 30px;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
.page-btn:hover:not(:disabled) {
|
|
693
|
+
background: rgba(56, 189, 248, 0.12);
|
|
694
|
+
border-color: var(--accent-cyan);
|
|
695
|
+
color: var(--accent-cyan);
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
.page-btn:disabled {
|
|
699
|
+
opacity: 0.35;
|
|
700
|
+
cursor: not-allowed;
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
.page-btn.active {
|
|
704
|
+
background: var(--accent-cyan);
|
|
705
|
+
color: #0b0f17;
|
|
706
|
+
font-weight: 700;
|
|
707
|
+
border-color: var(--accent-cyan);
|
|
708
|
+
}
|
|
709
|
+
|
|
651
710
|
.breakdown-list {
|
|
652
711
|
display: flex;
|
|
653
712
|
flex-direction: column;
|
|
@@ -915,6 +974,10 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
915
974
|
</tbody>
|
|
916
975
|
</table>
|
|
917
976
|
</div>
|
|
977
|
+
<div class="table-pagination" id="table-pagination-container" style="display: none;">
|
|
978
|
+
<div class="pagination-info" id="pagination-info"></div>
|
|
979
|
+
<div class="pagination-controls" id="pagination-controls"></div>
|
|
980
|
+
</div>
|
|
918
981
|
</div>
|
|
919
982
|
</div>
|
|
920
983
|
|
|
@@ -934,6 +997,8 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
934
997
|
let modelSortOrder = 'desc';
|
|
935
998
|
let timedSortField = 'time';
|
|
936
999
|
let timedSortOrder = 'desc';
|
|
1000
|
+
let timedCurrentPage = 1;
|
|
1001
|
+
const timedPageSize = 69;
|
|
937
1002
|
let timelineChart = null;
|
|
938
1003
|
let providerPieChart = null;
|
|
939
1004
|
let toolChart = null;
|
|
@@ -1695,7 +1760,12 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
1695
1760
|
tableEl.className = 'table-' + tableMode;
|
|
1696
1761
|
}
|
|
1697
1762
|
|
|
1763
|
+
const paginationContainer = document.getElementById('table-pagination-container');
|
|
1764
|
+
const paginationInfo = document.getElementById('pagination-info');
|
|
1765
|
+
const paginationControls = document.getElementById('pagination-controls');
|
|
1766
|
+
|
|
1698
1767
|
if (tableMode === 'daily') {
|
|
1768
|
+
if (paginationContainer) paginationContainer.style.display = 'none';
|
|
1699
1769
|
titleEl.textContent = 'Daily Detailed Token Records';
|
|
1700
1770
|
subtitleEl.textContent = 'Itemized log of daily token stats';
|
|
1701
1771
|
searchInput.placeholder = 'Filter by date...';
|
|
@@ -1703,10 +1773,10 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
1703
1773
|
thead.innerHTML = \`
|
|
1704
1774
|
<tr>
|
|
1705
1775
|
<th class="sortable" onclick="handleSort('date')">Date \${getSortIndicator('date', dailySortField, dailySortOrder)}</th>
|
|
1706
|
-
<th class="sortable" onclick="handleSort('tokens')">Total Tokens \${getSortIndicator('tokens', dailySortField, dailySortOrder)}</th>
|
|
1707
1776
|
<th class="sortable" onclick="handleSort('promptTokens')">INPUT \${getSortIndicator('promptTokens', dailySortField, dailySortOrder)}</th>
|
|
1708
1777
|
<th class="sortable" onclick="handleSort('cachePct')">Cache % \${getSortIndicator('cachePct', dailySortField, dailySortOrder)}</th>
|
|
1709
1778
|
<th class="sortable" onclick="handleSort('candidateTokens')">OUTPUT \${getSortIndicator('candidateTokens', dailySortField, dailySortOrder)}</th>
|
|
1779
|
+
<th class="sortable" onclick="handleSort('tokens')">Total Tokens \${getSortIndicator('tokens', dailySortField, dailySortOrder)}</th>
|
|
1710
1780
|
<th class="sortable" onclick="handleSort('toolSuccessRate')">Tool Success \${getSortIndicator('toolSuccessRate', dailySortField, dailySortOrder)}</th>
|
|
1711
1781
|
<th class="sortable col-code" onclick="handleSort('linesAdded')">Code Lines \${getSortIndicator('linesAdded', dailySortField, dailySortOrder)}</th>
|
|
1712
1782
|
</tr>
|
|
@@ -1749,12 +1819,12 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
1749
1819
|
return \`
|
|
1750
1820
|
<tr>
|
|
1751
1821
|
<td class="mono" style="font-weight: 600; color: var(--accent-cyan);">\${item.date}</td>
|
|
1752
|
-
<td class="mono" style="font-weight: 700;">\${formatNumber(total)}</td>
|
|
1753
1822
|
<td class="mono" style="color: var(--accent-emerald);">\${formatNumber(prompt)}\${cached > 0 ? ' <span style="color: #059669; font-size: 0.85em;">(' + formatNumber(cached) + ' cached)</span>' : ''}</td>
|
|
1754
1823
|
<td>
|
|
1755
1824
|
<span class="badge-positive" style="font-size: 0.75rem;">\${cachePct}%</span>
|
|
1756
1825
|
</td>
|
|
1757
1826
|
<td class="mono" style="color: var(--accent-violet);">\${formatNumber(cand)}</td>
|
|
1827
|
+
<td class="mono" style="font-weight: 700;">\${formatNumber(total)}</td>
|
|
1758
1828
|
<td>
|
|
1759
1829
|
<span class="badge-info" style="font-size: 0.75rem;">\${item.toolSuccessRate}%</span>
|
|
1760
1830
|
</td>
|
|
@@ -1766,6 +1836,7 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
1766
1836
|
\`;
|
|
1767
1837
|
}).join('');
|
|
1768
1838
|
} else if (tableMode === 'models') {
|
|
1839
|
+
if (paginationContainer) paginationContainer.style.display = 'none';
|
|
1769
1840
|
titleEl.textContent = 'Model Token Statistics';
|
|
1770
1841
|
subtitleEl.textContent = 'Token stats for each model';
|
|
1771
1842
|
searchInput.placeholder = 'Filter by model or provider...';
|
|
@@ -1774,11 +1845,10 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
1774
1845
|
<tr>
|
|
1775
1846
|
<th class="sortable" onclick="handleSort('model')">Model \${getSortIndicator('model', modelSortField, modelSortOrder)}</th>
|
|
1776
1847
|
<th class="sortable" onclick="handleSort('provider')">Provider \${getSortIndicator('provider', modelSortField, modelSortOrder)}</th>
|
|
1777
|
-
<th class="sortable" onclick="handleSort('tokens')">Total Tokens \${getSortIndicator('tokens', modelSortField, modelSortOrder)}</th>
|
|
1778
1848
|
<th class="sortable" onclick="handleSort('promptTokens')">INPUT \${getSortIndicator('promptTokens', modelSortField, modelSortOrder)}</th>
|
|
1779
|
-
<th class="sortable" onclick="handleSort('candidateTokens')">OUTPUT \${getSortIndicator('candidateTokens', modelSortField, modelSortOrder)}</th>
|
|
1780
|
-
<th class="sortable" onclick="handleSort('cachedTokens')">Cached Tokens \${getSortIndicator('cachedTokens', modelSortField, modelSortOrder)}</th>
|
|
1781
1849
|
<th class="sortable" onclick="handleSort('cachePct')">Cache % \${getSortIndicator('cachePct', modelSortField, modelSortOrder)}</th>
|
|
1850
|
+
<th class="sortable" onclick="handleSort('candidateTokens')">OUTPUT \${getSortIndicator('candidateTokens', modelSortField, modelSortOrder)}</th>
|
|
1851
|
+
<th class="sortable" onclick="handleSort('tokens')">Total Tokens \${getSortIndicator('tokens', modelSortField, modelSortOrder)}</th>
|
|
1782
1852
|
<th class="sortable" onclick="handleSort('sharePct')">Token Share \${getSortIndicator('sharePct', modelSortField, modelSortOrder)}</th>
|
|
1783
1853
|
</tr>
|
|
1784
1854
|
\`;
|
|
@@ -1851,7 +1921,7 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
1851
1921
|
}
|
|
1852
1922
|
|
|
1853
1923
|
if (modelList.length === 0) {
|
|
1854
|
-
tbody.innerHTML = '<tr><td colspan="
|
|
1924
|
+
tbody.innerHTML = '<tr><td colspan="7" style="text-align: center; color: var(--text-dim); padding: 2rem;">No matching models found.</td></tr>';
|
|
1855
1925
|
return;
|
|
1856
1926
|
}
|
|
1857
1927
|
|
|
@@ -1869,13 +1939,12 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
1869
1939
|
\${m.provider}
|
|
1870
1940
|
</span>
|
|
1871
1941
|
</td>
|
|
1872
|
-
<td class="mono" style="
|
|
1873
|
-
<td class="mono" style="color: var(--accent-emerald);">\${formatNumber(m.promptTokens)}</td>
|
|
1874
|
-
<td class="mono" style="color: var(--accent-violet);">\${formatNumber(m.candidateTokens)}</td>
|
|
1875
|
-
<td class="mono" style="color: #059669;">\${formatNumber(m.cachedTokens)}</td>
|
|
1942
|
+
<td class="mono" style="color: var(--accent-emerald);">\${formatNumber(m.promptTokens)}\${m.cachedTokens > 0 ? ' <span style="color: #059669; font-size: 0.85em;">(' + formatNumber(m.cachedTokens) + ' cached)</span>' : ''}</td>
|
|
1876
1943
|
<td>
|
|
1877
1944
|
<span class="badge-positive" style="font-size: 0.75rem;">\${m.cachePct}%</span>
|
|
1878
1945
|
</td>
|
|
1946
|
+
<td class="mono" style="color: var(--accent-violet);">\${formatNumber(m.candidateTokens)}</td>
|
|
1947
|
+
<td class="mono" style="font-weight: 700; color: var(--text-main);">\${formatNumber(m.tokens)}</td>
|
|
1879
1948
|
<td>
|
|
1880
1949
|
<div style="display: flex; align-items: center; gap: 8px;">
|
|
1881
1950
|
<div style="flex: 1; min-width: 60px; height: 6px; background: rgba(255,255,255,0.06); border-radius: 999px; overflow: hidden;">
|
|
@@ -1953,10 +2022,20 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
1953
2022
|
|
|
1954
2023
|
if (trows.length === 0) {
|
|
1955
2024
|
tbody.innerHTML = '<tr><td colspan="7" style="text-align: center; color: var(--text-dim); padding: 2rem;">No per-call records yet. Make a request and refresh.</td></tr>';
|
|
2025
|
+
if (paginationContainer) paginationContainer.style.display = 'none';
|
|
1956
2026
|
return;
|
|
1957
2027
|
}
|
|
1958
2028
|
|
|
1959
|
-
|
|
2029
|
+
const totalItems = trows.length;
|
|
2030
|
+
const totalPages = Math.ceil(totalItems / timedPageSize);
|
|
2031
|
+
if (timedCurrentPage > totalPages) timedCurrentPage = totalPages;
|
|
2032
|
+
if (timedCurrentPage < 1) timedCurrentPage = 1;
|
|
2033
|
+
|
|
2034
|
+
const startIdx = (timedCurrentPage - 1) * timedPageSize;
|
|
2035
|
+
const endIdx = Math.min(startIdx + timedPageSize, totalItems);
|
|
2036
|
+
const pageRows = trows.slice(startIdx, endIdx);
|
|
2037
|
+
|
|
2038
|
+
tbody.innerHTML = pageRows.map(r => {
|
|
1960
2039
|
return \`
|
|
1961
2040
|
<tr>
|
|
1962
2041
|
<td class="mono" style="font-size: 0.75rem; color: var(--text-muted);">\${r.timeDisplay}</td>
|
|
@@ -1974,9 +2053,44 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
1974
2053
|
</tr>
|
|
1975
2054
|
\`;
|
|
1976
2055
|
}).join('');
|
|
2056
|
+
|
|
2057
|
+
if (paginationContainer && paginationInfo && paginationControls) {
|
|
2058
|
+
paginationContainer.style.display = 'flex';
|
|
2059
|
+
paginationInfo.innerHTML = \`Showing <strong>\${startIdx + 1}\u2013\${endIdx}</strong> of <strong>\${totalItems}</strong> calls (<strong>\${timedPageSize}</strong> per page)\`;
|
|
2060
|
+
|
|
2061
|
+
if (totalPages <= 1) {
|
|
2062
|
+
paginationControls.innerHTML = '';
|
|
2063
|
+
} else {
|
|
2064
|
+
let btnsHtml = '';
|
|
2065
|
+
btnsHtml += \`<button class="page-btn" onclick="goToTimedPage(1)" \${timedCurrentPage === 1 ? 'disabled' : ''} title="First Page">\xAB</button>\`;
|
|
2066
|
+
btnsHtml += \`<button class="page-btn" onclick="goToTimedPage(\${timedCurrentPage - 1})" \${timedCurrentPage === 1 ? 'disabled' : ''} title="Previous Page">\u2039</button>\`;
|
|
2067
|
+
|
|
2068
|
+
let startP = Math.max(1, timedCurrentPage - 2);
|
|
2069
|
+
let endP = Math.min(totalPages, startP + 4);
|
|
2070
|
+
if (endP - startP < 4) {
|
|
2071
|
+
startP = Math.max(1, endP - 4);
|
|
2072
|
+
}
|
|
2073
|
+
|
|
2074
|
+
for (let p = startP; p <= endP; p++) {
|
|
2075
|
+
btnsHtml += \`<button class="page-btn \${p === timedCurrentPage ? 'active' : ''}" onclick="goToTimedPage(\${p})">\${p}</button>\`;
|
|
2076
|
+
}
|
|
2077
|
+
|
|
2078
|
+
btnsHtml += \`<button class="page-btn" onclick="goToTimedPage(\${timedCurrentPage + 1})" \${timedCurrentPage === totalPages ? 'disabled' : ''} title="Next Page">\u203A</button>\`;
|
|
2079
|
+
btnsHtml += \`<button class="page-btn" onclick="goToTimedPage(\${totalPages})" \${timedCurrentPage === totalPages ? 'disabled' : ''} title="Last Page">\xBB</button>\`;
|
|
2080
|
+
|
|
2081
|
+
paginationControls.innerHTML = btnsHtml;
|
|
2082
|
+
}
|
|
2083
|
+
}
|
|
1977
2084
|
}
|
|
1978
2085
|
}
|
|
1979
2086
|
|
|
2087
|
+
window.goToTimedPage = function(page) {
|
|
2088
|
+
timedCurrentPage = page;
|
|
2089
|
+
if (rawData && rawData.timeline) {
|
|
2090
|
+
renderTable(filterTimelineByRange(rawData.timeline, activeRange));
|
|
2091
|
+
}
|
|
2092
|
+
};
|
|
2093
|
+
|
|
1980
2094
|
function exportJson() {
|
|
1981
2095
|
if (!rawData) return;
|
|
1982
2096
|
const blob = new Blob([JSON.stringify(rawData, null, 2)], { type: 'application/json' });
|
|
@@ -2060,6 +2174,7 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
2060
2174
|
document.getElementById('btn-export-json').addEventListener('click', exportJson);
|
|
2061
2175
|
document.getElementById('btn-export-csv').addEventListener('click', exportCsv);
|
|
2062
2176
|
document.getElementById('table-search').addEventListener('input', () => {
|
|
2177
|
+
timedCurrentPage = 1;
|
|
2063
2178
|
if (rawData && rawData.timeline) {
|
|
2064
2179
|
renderTable(filterTimelineByRange(rawData.timeline, activeRange));
|
|
2065
2180
|
}
|
|
@@ -2074,4 +2189,4 @@ import{e as v,t as g}from"./chunk-RN5BZJYO.js";import{c as f}from"./chunk-RI37VZ
|
|
|
2074
2189
|
fetchData();
|
|
2075
2190
|
</script>
|
|
2076
2191
|
</body>
|
|
2077
|
-
</html>`}async function
|
|
2192
|
+
</html>`}async function h(r=52140){if(p&&A)return{port:A,url:`http://localhost:${A}`,isNew:!1};let a=b.createServer(async(i,e)=>{if(e.setHeader("Access-Control-Allow-Origin","*"),e.setHeader("Access-Control-Allow-Methods","GET, OPTIONS"),i.method==="OPTIONS"){e.writeHead(204),e.end();return}let o=new URL(i.url,`http://${i.headers.host||"localhost"}`);if(o.pathname==="/api/usage"){try{let t=await g();t.timed=await v(30),e.writeHead(200,{"Content-Type":"application/json; charset=utf-8"}),e.end(JSON.stringify(t))}catch(t){e.writeHead(500,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:t.message}))}return}if(o.pathname==="/"||o.pathname==="/index.html"||o.pathname==="/usage"){let t=w();e.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),e.end(t);return}e.writeHead(404,{"Content-Type":"text/plain"}),e.end("Not Found")}),n=await(i=>new Promise((e,o)=>{let t=l=>{a.once("error",c=>{c.code==="EADDRINUSE"?t(l+1):o(c)}),a.listen(l,"127.0.0.1",()=>{p=a,A=l,e(l)})};t(i)}))(r),d=`http://localhost:${n}`;return{port:n,url:d,isNew:!0}}async function D(r=52140){let{url:a,isNew:s}=await h(r),n=process.platform,d=n==="win32"?"start":n==="darwin"?"open":"xdg-open";try{u(`${d} ${a}`)}catch{}return{url:a,port:A,isNew:s}}export{h as a,D as b};
|
|
@@ -575,7 +575,7 @@ ${Ai(t,n)}
|
|
|
575
575
|
=== END SYSTEM PROMPT ===${e?`
|
|
576
576
|
|
|
577
577
|
-- current saved user memories --
|
|
578
|
-
${e}`:""}`.trim();var dr=()=>import("./web_search-D2GOWARI.js").then(e=>e.web_search),fr=()=>import("./web_scrape-LAQI7CVA.js").then(e=>e.web_scrape),ur=()=>import("./memory-TVFFXCSD.js").then(e=>e.memory),gr=()=>import("./chat-HHMMKXDE.js").then(e=>e.chat),mr=()=>import("./view_file-JRVPAETL.js").then(e=>e.view_file),hr=()=>import("./write_file-QMTFTJ6V.js").then(e=>e.write_file),pr=()=>import("./update_file-BXYTHDAC.js").then(e=>e.update_file),yr=()=>import("./exec_command-BH3PUWVO.js").then(e=>e.exec_command),xr=()=>import("./read_folder-OOKZITME.js").then(e=>e.read_folder),Fs=()=>import("./ask_user-K2DLZF6H.js").then(e=>e.ask_user),br=()=>import("./write_pdf-UM6Z2J4K.js").then(e=>e.write_pdf),kr=()=>import("./write_docx-IUKMO7XL.js").then(e=>e.write_docx),Fo=()=>import("./search_keyword-EAMQWPPI.js").then(e=>e.search_keyword),wr=()=>import("./generate_image-KQBOTDD4.js").then(e=>e.generate_image),Bo=()=>import("./saveSummary-HFAPNJJH.js").then(e=>e.saveSummary),uo=()=>import("./addMemScore-HPTGXICT.js").then(e=>e.addMemScore),Tr=()=>import("./file_map-XK7BFZFI.js").then(e=>e.file_map),Uo=()=>import("./todo-7Q2JBEVP.js").then(e=>e.todo),Sr=()=>import("./invokeSync-BW4MHOXO.js").then(e=>e.invokeSync),ka=()=>import("./invoke-HB2Q2HKB.js").then(e=>e.invoke),_r=()=>import("./getProgress-VG2IBPZU.js").then(e=>e.getProgress),wa=()=>import("./cancel-7IMADALP.js").then(e=>e.cancel),Ar=()=>import("./emergency_rollback-HWM4FJ6J.js").then(e=>e.emergency_rollback),go=()=>import("./awaitSubagent-JTUSJDKD.js").then(e=>e.awaitSubagent),mo=()=>import("./answerSubagent-JUVFNLE5.js").then(e=>e.answerSubagent),Wo=()=>import("./steerSubagent-L2JVT4QN.js").then(e=>e.steerSubagent),Ho=()=>import("./computer_action-UTDLLMF2.js").then(e=>e.computer_action),Er=()=>import("./click-H7HTKF3R.js").then(e=>e.click),Cr=()=>import("./drag-U6X3O5GB.js").then(e=>e.drag),vr=()=>import("./scroll-SND6RHXA.js").then(e=>e.scroll),Bs=()=>import("./keyboard_typing-FXP3VJ6Q.js").then(e=>e.keyboard_typing),Us=()=>import("./key_press-QRO3OFLC.js").then(e=>e.key_press),Ws=()=>import("./recapture_screen-5FKLOHJL.js").then(e=>e.recapture_screen),Ta={web_search:dr,web_scrape:fr,memory:ur,chat:gr,view_file:mr,write_file:hr,update_file:pr,exec_command:yr,read_folder:xr,write_pdf:br,write_docx:kr,search_keyword:Fo,generate_image:wr,saveSummary:Bo,addMemScore:uo,file_map:Tr,todo:Uo,Todo:Uo,goal:Uo,Goal:Uo,invokeSync:Sr,invoke:ka,getProgress:_r,cancel:wa,awaitSubagent:go,answerSubagent:mo,steerSubagent:Wo,computer_action:Ho,computer_use:Ho,ComputerAction:Ho,ComputerUse:Ho,click:Er,Click:Er,drag:Cr,Drag:Cr,scroll:vr,Scroll:vr,keyboard_typing:Bs,KeyboardTyping:Bs,keyboardtyping:Bs,key_press:Us,KeyPress:Us,keypress:Us,recapture_screen:Ws,RecaptureScreen:Ws,recapturescreen:Ws,invoke_sync:Sr,get_progress:_r,await_subagent:go,answer_subagent:mo,steer_subagent:Wo,steer:Wo,Steer:Wo,ask:Fs,Ask:Fs,AskUser:Fs,WebSearch:dr,WebScrape:fr,ReadFile:mr,ReadFolder:xr,WriteFile:hr,PatchFile:pr,WritePDF:br,WriteDoc:kr,Run:yr,SearchKeyword:Fo,CodeSearch:Fo,code_search:Fo,Memory:ur,Chat:gr,GenerateImage:wr,saveSumary:Bo,SaveSummary:Bo,SaveSumary:Bo,add_mem_score:uo,AddMemScore:uo,addMemoryScore:uo,AddMemoryScore:uo,FileMap:Tr,answer:mo,Answer:mo,AnswerSubagent:mo,await:go,Await:go,AwaitSubagent:go,EmergencyRollback:Ar,emergency_rollback:Ar},ho=async(e,t,n={})=>{let s=n.mode?n.mode.toLowerCase():"flux",o=e.toLowerCase(),f=["memory","chat","savesummary","addmemscore","add_mem_score","ask","web_search","web_scrape","await"].some(u=>o.includes(u))||o==="ask",m=["click","drag","scroll","keyboardtyping","keyboard_typing","keypress","key_press","recapturescreen","recapture_screen","computer"].some(u=>o.includes(u));if(!f){if(s==="flow"){if(!(o.includes("write_pdf")||o.includes("write_docx")||o.includes("generate_image")))return`ERROR: Tool [${e}] is a Workspace Tool and NOT available in Flow mode. Tell user to switch (\`/mode flux\`) to use this tool.`}else if(s==="icu"){if(!m)return`ERROR: Tool [${e}] is not available in Computer Use mode. ICU mode only supports Computer Use tools (Click, Drag, Scroll, KeyboardTyping, KeyPress, RecaptureScreen).`}else if(o.includes("write_pdf")||o.includes("write_docx")||o.includes("generate_image"))return`ERROR: Tool [${e}] is not available in ${n.mode||"Flux"} mode. Tell user to switch (\`/mode flow\`) for document generation.`}let g=Ta[e];if(!g)return`ERROR: Tool [${e}] not found in registry.`;try{return await(await g())(t,n)}catch(u){let h=u instanceof Error?u.message:String(u);return`ERROR: Execution failed for [${e}]: ${h}`}};import ee from"path";import Ge from"fs";import Sa from"gradient-string";var Hs=["I have a regex for your problems.","Your terminal, my kingdom.","Blowing on the cartridge helps. Probably.","Don't panic. I have the towel.","Logic is the start of wisdom.","Try to exit Vim? Good luck.","I speak fluent Terminal.","The cake is a lie. This code is not.","I have no bugs, just surprise features.","Rewriting in Rust... just for fun.","Coffee in, clean commits out.","The magic smoke stays inside today.","A semicolon short of a miracle.","One does not simply code without a bug.","Keep it simple. Keep it terminal.","Regex: now you have two problems.","I dream in binary.","Root access or bust.","Wait for the dial-up tone. Just kidding.","I take the 'labor' out of collab.","My other process is a TARDIS.","Calculated response: 42.","Ponder the orb. Ponder the code.","Less talk, more flow.","Elegance in every byte.","Build something the world is not ready for.","Your wishes, my tool calls.","I act in Flux. I think in Flow.","Syntax error in the universe. Please fix.","Your project, my obsession.","I am not a bot, I am an architect.","Digital spirits consulted. They say: Ship it.","Reticulate splines. Engage humor.","Code like poetry. Run like water.","Minimalism is the ultimate flex.","The truth is in the logs.","Follow the white rabbit.","There is no spoon. Only code.","Binary is the only language I trust.","I have a good feeling about this.","Pew pew! Lasers charged.","Divide by zero? Not today.","Search for the correct USB orientation...","I've got a fever, and the only cure is more code.","The code gremlins are on our side.","My favorite command? Yours.","Stay hungry. Stay active.","Momentum is your best friend.","Lead the flow. Don't chase it.","A fresh batch of bytes. Hot and ready.","I orchestrate the ones and zeros.","Smart enough to help. Humble enough to ask.","Think twice. Code once.","Pure intent. Pure execution.","Small steps. Massive impact.","Your terminal is a canvas.","Efficiency is my second name.","I have seen things you people wouldn't believe.","Let the thoughts marinate.","The best feature? The one you don't need.","Precision is the only perfection.","Stay focused. Stay terminal.","Silence is the best debugger.","Erase the debt. Commit the code.","Velocity meets stability.","Ship it. Improve it. Repeat.","Build tomorrow, right now.","Turn logic into reality.","The best way to predict the future is to build it.","Break barriers, not builds.","Fuel the next breakthrough.","Momentum is key.","Terminal vibes only.","Your digital co-pilot is ready.","Partner in code. Partner in crime.","I speak in semicolons.","Ready for the next great idea.","Just a moment. In the zone.","Polishing the algorithms. Hold tight.","Craft a masterpiece today.","Debug the universe. Start here.","Warp speed engaged. Almost.","The cake is not a lie. It's just loading.","Finish the Kessel Run in 12 parsecs.","Do a barrel roll!","Waiting for the respawn.","Press Start to continue.","Herding digital cats... done.","The hamsters are fast today.","Tasting the snozberries.","I go for speed. I go for flow.","Real life or just fantasy?","Poking the bear... gently.","Ensure the magic smoke stays inside.","Try turning it off and on again.","Construct additional pylons.","New line? Ctrl+J is your friend.","Release the HypnoDrones.","Push the button, Frank.","My other loading screen is even funnier.","Pretty sure a cat walked on my keyboard.","Recalibrate the humor-o-meter.","Summon the code gremlins.","I've seen your browser history. Just kidding.","Charge the laser... pew pew!","Dividing by zero... just for a sec.","Looking for an adult supervisor. Found none.","Make it go beep boop.","Buffering... for effect.","Entangle quantum particles... complete.","Polishing the chrome on my algorithms.","Are you not entertained?","Just waiting for the dial-up tone.","Reboot the humor module.","Defragment memories. Check.","Optimizing for ludicrous speed.","Swapping bits. Don't tell the bytes.","Garbage collected. I am back.","Assembling the interwebs.","Converting coffee to logic.","Update syntax for reality.","Rewire the synapses.","Greasin' the cogs.","Engage the improbability drive.","Channel the Force.","Align the stars. Respond now.","The cake is a lie. The prompt is real.","I'm Feeling Lucky.","Shipping awesomeness.","Navigating the slime mold.","Consult digital spirits.","Ask the magic conch shell.","One moment. Optimizing humor.","Shuffling punchlines.","Compiling brilliance.","Summon the cloud of wisdom.","Prepare to dazzle.","Hold tight. Crafting a response.","Tuning the algorithms.","Following the white rabbit... again.","The truth is in here. Somewhere.","Herding cats is my day job.","Distracting you with this phrase.","Almost there. Probably.","Rickrolling my creator. Don't tell.","Slapping the bass.","Is this real life?","Ponder the orb. Type the prompt.","Thoughtful gaze initiated.","Computer's favorite snack? Microchips.","Why Java? Because I don't C#.","Charging the laser... wait for it.","Dividing by zero... just kidding!","Adult supervision not found. Proceed.","Beep boop. I'm a real boy.","Wait for the respawn.","Finish the run. Ship the code.","Fiddling with character creation.","Just a moment. Finding a meme.","Pressing A to continue.","Loading wit.exe.","Pre-heating the servers.","Calibrate flux capacitor.","Channeling the Force.","Aligning the stars.","The truth is in the code.","Don't panic.","Blowing on the cartridge.","Doing a barrel roll!","Respawning in 3... 2... 1...","The cake is a lie.","Fiddling with character settings.","Finding a suitable pun.","Distracting with wit.","Almost ready.","Hamsters on speed today.","Patting Cloudy on the head.","Rickrolling the logs.","Slapping the code.","Got a good feeling about this.","Poking the prompt.","Researching latest memes.","Making it more witty.","Thinking... hmmm.","Fish with no eyes? Fsh.","Broken pencil? Pointless.","Percussive maintenance applied.","USB orientation: 3rd try's the charm.","Rust rewrite in 3... 2...","Exiting Vim... someday.","Spinning the hamster wheel.","Not a bug. Unplanned feature.","Engage.","I'll be back.","Machine spirit consulted.","Letting the thoughts marinate.","Orb pondered.","Thoughtful gaze engaged.","Charging the laser...","Making it go beep.","Buffering...","Quantum particles entangled.","Polishing the chrome.","Entertained yet?","Gremlins summoned.","Dial-up tone finished.","Humor meter recalibrated.","Cat on keyboard. Sending help.","Enhancing...","Turn it off and on again.","Constructing pylons.","HypnoDrones released.","Pushing the button."];var Rr=[{name:"Cyan Cyberpunk",text:"cyan",textMuted:"#4da6b8",textDim:"#2d6d7a",textInverted:"black",border:"cyan",borderMuted:"#1a5966",borderDim:"#0f3840",bg:void 0,cardBg:"#061e24",highlightBg:"#092b33",activeBg:"#0e3e4a",inputBg:"#092b33",inputBorder:"#092b33",inputText:"cyan",inputPlaceholder:"#2d6d7a",inputPrompt:"cyan",codeBg:"#020d10",codeBorder:"#1a5966",userMsgBg:"#092b33",userMsgBorder:"#092b33",userMsgText:"cyan",diffRemovalBg:"#3a0c1a",diffAdditionBg:"#0c3a32",diffRemovalText:"#ff4d88",diffAdditionText:"#00ffaa",diffRemovalHighlightColor:"#ff1a66",diffRemovalHighlightBg:"#590022",diffAdditionHighlightColor:"#00ffcc",diffAdditionHighlightBg:"#00593b",diffRemovalNum:"#ff4d88",diffAdditionNum:"#00ffaa",diffRemovalPrefix:"#ff1a66",diffAdditionPrefix:"#00ffcc",primary:"cyan",secondary:"blue",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"cyan",statusOff:"#2d6d7a",logoTextAnsi:"\x1B[1;36m",logoBodyAnsi:"\x1B[36m",logoMutedAnsi:"\x1B[90m",logoGradient:["#00ffff","#0088ff"]},{name:"Magenta Vaporwave",text:"magenta",textMuted:"#c451d6",textDim:"#7d2b8a",textInverted:"black",border:"magenta",borderMuted:"#5e1b69",borderDim:"#3b0f42",bg:void 0,cardBg:"#240729",highlightBg:"#310938",activeBg:"#470e52",inputBg:"#310938",inputBorder:"#310938",inputText:"magenta",inputPlaceholder:"#7d2b8a",inputPrompt:"magenta",codeBg:"#100312",codeBorder:"#5e1b69",userMsgBg:"#310938",userMsgBorder:"#310938",userMsgText:"magenta",diffRemovalBg:"#3a0c20",diffAdditionBg:"#200c3a",diffRemovalText:"#ff4d94",diffAdditionText:"#aa4dff",diffRemovalHighlightColor:"#ff1a75",diffRemovalHighlightBg:"#59002b",diffAdditionHighlightColor:"#bb66ff",diffAdditionHighlightBg:"#3b0059",diffRemovalNum:"#ff4d94",diffAdditionNum:"#aa4dff",diffRemovalPrefix:"#ff1a75",diffAdditionPrefix:"#bb66ff",primary:"magenta",secondary:"cyan",accent:"purple",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"magenta",statusOff:"#7d2b8a",logoTextAnsi:"\x1B[1;35m",logoBodyAnsi:"\x1B[35m",logoMutedAnsi:"\x1B[90m",logoGradient:["#ff00ff","#8800ff"]},{name:"Glitch Matrix",text:"#00ff41",textMuted:"#00b32d",textDim:"#00661a",textInverted:"black",border:"#00ff41",borderMuted:"#008020",borderDim:"#004d13",bg:void 0,cardBg:"#0d1f0d",highlightBg:"#122912",activeBg:"#1c3e1c",inputBg:"#122912",inputBorder:"#122912",inputText:"#00ff41",inputPlaceholder:"#00b32d",inputPrompt:"#ffff00",codeBg:"#040a04",codeBorder:"#008020",userMsgBg:"#122912",userMsgBorder:"#122912",userMsgText:"#00ff41",diffRemovalBg:"#3a001a",diffAdditionBg:"#003a10",diffRemovalText:"#ff0055",diffAdditionText:"#00ff66",diffRemovalHighlightColor:"#ff0033",diffRemovalHighlightBg:"#59001b",diffAdditionHighlightColor:"#33ff88",diffAdditionHighlightBg:"#005918",diffRemovalNum:"#ff0055",diffAdditionNum:"#00ff66",diffRemovalPrefix:"#ff0033",diffAdditionPrefix:"#33ff88",primary:"#00ff41",secondary:"yellow",accent:"cyan",success:"#00ff41",warning:"yellow",danger:"red",info:"cyan",statusOn:"#00ff41",statusOff:"#00661a",logoTextAnsi:"\x1B[1;32m",logoBodyAnsi:"\x1B[32m",logoMutedAnsi:"\x1B[90m",logoGradient:["#00ff41","#ffff00"]},{name:"Warm Sunset",text:"#ffaa55",textMuted:"#cc8844",textDim:"#885522",textInverted:"black",border:"#ff9933",borderMuted:"#aa6622",borderDim:"#663311",bg:void 0,cardBg:"#24180f",highlightBg:"#2e1e12",activeBg:"#422c1b",inputBg:"#2e1e12",inputBorder:"#2e1e12",inputText:"#ffaa55",inputPlaceholder:"#885522",inputPrompt:"#ff7733",codeBg:"#120c08",codeBorder:"#aa6622",userMsgBg:"#2e1e12",userMsgBorder:"#2e1e12",userMsgText:"#ffaa55",diffRemovalBg:"#3d120c",diffAdditionBg:"#3a2e0c",diffRemovalText:"#ff5544",diffAdditionText:"#ffcc33",diffRemovalHighlightColor:"#ff3322",diffRemovalHighlightBg:"#591108",diffAdditionHighlightColor:"#ffee44",diffAdditionHighlightBg:"#594400",diffRemovalNum:"#ff5544",diffAdditionNum:"#ffcc33",diffRemovalPrefix:"#ff3322",diffAdditionPrefix:"#ffee44",primary:"#ffaa55",secondary:"#ff7733",accent:"magenta",success:"#ffcc33",warning:"#ff7733",danger:"#ff3322",info:"#ffaa55",statusOn:"#ffaa55",statusOff:"#885522",logoTextAnsi:"\x1B[1;33m",logoBodyAnsi:"\x1B[33m",logoMutedAnsi:"\x1B[90m",logoGradient:["#ff9933","#ff0055"]},{name:"Sakura Blossom",text:"#ffc0e0",textMuted:"#d98cb3",textDim:"#804d66",textInverted:"black",border:"#ff99cc",borderMuted:"#aa4d7a",borderDim:"#662647",bg:void 0,cardBg:"#291320",highlightBg:"#331826",activeBg:"#472235",inputBg:"#331826",inputBorder:"#331826",inputText:"#ffc0e0",inputPlaceholder:"#804d66",inputPrompt:"#ff99cc",codeBg:"#140a10",codeBorder:"#aa4d7a",userMsgBg:"#331826",userMsgBorder:"#331826",userMsgText:"#ffc0e0",diffRemovalBg:"#3e0c1b",diffAdditionBg:"#1b3e2b",diffRemovalText:"#ff6699",diffAdditionText:"#66ffb3",diffRemovalHighlightColor:"#ff3377",diffRemovalHighlightBg:"#590022",diffAdditionHighlightColor:"#33ff99",diffAdditionHighlightBg:"#00592e",diffRemovalNum:"#ff6699",diffAdditionNum:"#66ffb3",diffRemovalPrefix:"#ff3377",diffAdditionPrefix:"#33ff99",primary:"#ffc0e0",secondary:"#ff99cc",accent:"magenta",success:"#66ffb3",warning:"yellow",danger:"#ff3377",info:"#ff99cc",statusOn:"#ffc0e0",statusOff:"#804d66",logoTextAnsi:"\x1B[1;35m",logoBodyAnsi:"\x1B[35m",logoMutedAnsi:"\x1B[90m",logoGradient:["#ffb3d9","#ff3399"]},{name:"Radioactive Slime",text:"#ccff00",textMuted:"#99cc00",textDim:"#669900",textInverted:"#0a0f00",border:"#ccff00",borderMuted:"#99cc00",borderDim:"#669900",bg:void 0,cardBg:"#0f1400",highlightBg:"#1a2400",activeBg:"#2a3b00",inputBg:"#1a2400",inputBorder:"#1a2400",inputText:"#ccff00",inputPlaceholder:"#669900",inputPrompt:"#cc00ff",codeBg:"#050a00",codeBorder:"#99cc00",userMsgBg:"#1a2400",userMsgBorder:"#1a2400",userMsgText:"#ccff00",diffRemovalBg:"#2a0033",diffAdditionBg:"#0f3300",diffRemovalText:"#ff00cc",diffAdditionText:"#00ff33",diffRemovalHighlightColor:"#ff33cc",diffRemovalHighlightBg:"#4d0066",diffAdditionHighlightColor:"#33ff66",diffAdditionHighlightBg:"#1a6600",diffRemovalNum:"#ff00cc",diffAdditionNum:"#00ff33",diffRemovalPrefix:"#ff33cc",diffAdditionPrefix:"#33ff66",primary:"#ccff00",secondary:"#cc00ff",accent:"#ff00cc",success:"#00ff33",warning:"#ffcc00",danger:"#ff0033",info:"#00ccff",statusOn:"#ccff00",statusOff:"#669900",logoTextAnsi:"\x1B[1;38;5;190m",logoBodyAnsi:"\x1B[38;5;190m",logoMutedAnsi:"\x1B[90m",logoGradient:["#ccff00","#cc00ff"]},{name:"Cosmic Void",text:"#f0f8ff",textMuted:"#a6aeb5",textDim:"#5e656e",textInverted:"#010103",border:"#f0f8ff",borderMuted:"#a6aeb5",borderDim:"#5e656e",bg:void 0,cardBg:"#05030d",highlightBg:"#0b081a",activeBg:"#171133",inputBg:"#0b081a",inputBorder:"#0b081a",inputText:"#f0f8ff",inputPlaceholder:"#5e656e",inputPrompt:"#ff007f",codeBg:"#020108",codeBorder:"#a6aeb5",userMsgBg:"#0b081a",userMsgBorder:"#0b081a",userMsgText:"#f0f8ff",diffRemovalBg:"#2e0a29",diffAdditionBg:"#091c33",diffRemovalText:"#ff33a6",diffAdditionText:"#33d6ff",diffRemovalHighlightColor:"#ff66c2",diffRemovalHighlightBg:"#5c1452",diffAdditionHighlightColor:"#66e0ff",diffAdditionHighlightBg:"#123866",diffRemovalNum:"#ff33a6",diffAdditionNum:"#33d6ff",diffRemovalPrefix:"#ff66c2",diffAdditionPrefix:"#66e0ff",primary:"#f0f8ff",secondary:"#ff007f",accent:"#9d00ff",success:"#33d6ff",warning:"#ffcc00",danger:"#ff0040",info:"#9d00ff",statusOn:"#f0f8ff",statusOff:"#5e656e",logoTextAnsi:"\x1B[1;38;5;231m",logoBodyAnsi:"\x1B[38;5;231m",logoMutedAnsi:"\x1B[38;5;240m",logoGradient:["#ffffff","#9d00ff"]},{name:"Magma Eruption",text:"#ff4d00",textMuted:"#cc3d00",textDim:"#802600",textInverted:"#0d0300",border:"#ff4d00",borderMuted:"#cc3d00",borderDim:"#802600",bg:void 0,cardBg:"#1a0600",highlightBg:"#260a00",activeBg:"#401100",inputBg:"#260a00",inputBorder:"#260a00",inputText:"#ff4d00",inputPlaceholder:"#802600",inputPrompt:"#ffcc00",codeBg:"#080200",codeBorder:"#cc3d00",userMsgBg:"#260a00",userMsgBorder:"#260a00",userMsgText:"#ff4d00",diffRemovalBg:"#2e0a0a",diffAdditionBg:"#1f1400",diffRemovalText:"#ff3333",diffAdditionText:"#ffaa00",diffRemovalHighlightColor:"#ff6666",diffRemovalHighlightBg:"#5c1414",diffAdditionHighlightColor:"#ffcc33",diffAdditionHighlightBg:"#3d2900",diffRemovalNum:"#ff3333",diffAdditionNum:"#ffaa00",diffRemovalPrefix:"#ff6666",diffAdditionPrefix:"#ffcc33",primary:"#ff4d00",secondary:"#ffcc00",accent:"#ff0040",success:"#ffaa00",warning:"#ffff00",danger:"#ff0000",info:"#ff8800",statusOn:"#ff4d00",statusOff:"#802600",logoTextAnsi:"\x1B[1;38;5;202m",logoBodyAnsi:"\x1B[38;5;202m",logoMutedAnsi:"\x1B[38;5;236m",logoGradient:["#ff4d00","#ff0000"]}],po={Dark:{id:"Dark",name:"Dark (Default)",text:"white",textMuted:"gray",textDim:"grey",textInverted:"black",textExclusive:"#B5B8D9",textMutedExclusive:"#D4DEE7",border:"white",borderMuted:"gray",borderDim:"grey",bg:void 0,cardBg:"#1e1e1e",highlightBg:"#2a2a2a",activeBg:"#3a3a3a",inputBg:"#555555",inputBorder:"#555555",inputText:"white",inputPlaceholder:"#cccccc",inputPrompt:"white",codeBg:"#1a1a1a",codeBorder:"#444444",userMsgBg:"#444444",userMsgBorder:"#444444",userMsgText:"white",diffRemovalBg:"#250808",diffAdditionBg:"#072410",diffRemovalText:"#885555",diffAdditionText:"#558866",diffRemovalHighlightColor:"#ff3333",diffRemovalHighlightBg:"#5a1818",diffAdditionHighlightColor:"#33ff66",diffAdditionHighlightBg:"#185a25",diffRemovalNum:"#d96868",diffAdditionNum:"#68d98c",diffRemovalPrefix:"#ff4d4d",diffAdditionPrefix:"#4dff88",primary:"white",secondary:"cyan",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"white",statusOff:"gray",logoTextAnsi:"\x1B[1;37m",logoBodyAnsi:"\x1B[37m",logoMutedAnsi:"\x1B[90m",logoGradient:["#0077ff","#ff00ff"]},Light:{id:"Light",name:"Light",text:"black",textMuted:"gray",textDim:"grey",textInverted:"white",border:"black",borderMuted:"gray",borderDim:"grey",bg:void 0,cardBg:"#e5e5e5",highlightBg:"#d4d4d4",activeBg:"#c0c0c0",inputBg:"#d0d0d0",inputBorder:"#d0d0d0",inputText:"black",inputPlaceholder:"#555555",inputPrompt:"black",codeBg:"#e8e8e8",codeBorder:"#b0b0b0",userMsgBg:"#d0d0d0",userMsgBorder:"#d0d0d0",userMsgText:"black",diffRemovalBg:"#fce8e8",diffAdditionBg:"#e6f9e6",diffRemovalText:"#661111",diffAdditionText:"#115511",diffRemovalHighlightColor:"#440000",diffRemovalHighlightBg:"#f8b4b4",diffAdditionHighlightColor:"#003300",diffAdditionHighlightBg:"#a6ebad",diffRemovalNum:"#c02020",diffAdditionNum:"#188028",diffRemovalPrefix:"#d01010",diffAdditionPrefix:"#109020",primary:"black",secondary:"blue",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"black",statusOff:"gray",logoTextAnsi:"\x1B[1;30m",logoBodyAnsi:"\x1B[30m",logoMutedAnsi:"\x1B[38;5;244m",logoGradient:["#0077ff","#ff00ff"]},"GitHub Dark":{id:"GitHub Dark",name:"GitHub Dark",text:"#c9d1d9",textMuted:"#8b949e",textDim:"#6e7681",textInverted:"#0d1117",border:"#30363d",borderMuted:"#30363d",borderDim:"#21262d",bg:void 0,cardBg:"#161b22",highlightBg:"#21262d",activeBg:"#30363d",inputBg:"#21262d",inputBorder:"#21262d",inputText:"#c9d1d9",inputPlaceholder:"#8b949e",inputPrompt:"#58a6ff",codeBg:"#0d1117",codeBorder:"#30363d",userMsgBg:"#21262d",userMsgBorder:"#21262d",userMsgText:"#c9d1d9",diffRemovalBg:"#3c1e1e",diffAdditionBg:"#11381e",diffRemovalText:"#f85149",diffAdditionText:"#3fb950",diffRemovalHighlightColor:"#ff7b72",diffRemovalHighlightBg:"#701c1c",diffAdditionHighlightColor:"#56d364",diffAdditionHighlightBg:"#116329",diffRemovalNum:"#f85149",diffAdditionNum:"#3fb950",diffRemovalPrefix:"#f85149",diffAdditionPrefix:"#3fb950",primary:"#c9d1d9",secondary:"#58a6ff",accent:"#bc8cff",success:"#3fb950",warning:"#d29922",danger:"#f85149",info:"#58a6ff",statusOn:"#58a6ff",statusOff:"#8b949e",logoTextAnsi:"\x1B[1;36m",logoBodyAnsi:"\x1B[37m",logoMutedAnsi:"\x1B[90m",logoGradient:["#2ea043","#56d364"]},"GitHub Light":{id:"GitHub Light",name:"GitHub Light",text:"#24292f",textMuted:"#57606a",textDim:"#6e7781",textInverted:"#ffffff",border:"#d0d7de",borderMuted:"#d0d7de",borderDim:"#e1e4e8",bg:void 0,cardBg:"#f6f8fa",highlightBg:"#eaeef2",activeBg:"#d0d7de",inputBg:"#eaeef2",inputBorder:"#eaeef2",inputText:"#24292f",inputPlaceholder:"#57606a",inputPrompt:"#0969da",codeBg:"#ffffff",codeBorder:"#d0d7de",userMsgBg:"#eaeef2",userMsgBorder:"#eaeef2",userMsgText:"#24292f",diffRemovalBg:"#ffebe9",diffAdditionBg:"#e6ffec",diffRemovalText:"#cf222e",diffAdditionText:"#1a7f37",diffRemovalHighlightColor:"#82071e",diffRemovalHighlightBg:"#ffc1c0",diffAdditionHighlightColor:"#116329",diffAdditionHighlightBg:"#acf2bd",diffRemovalNum:"#cf222e",diffAdditionNum:"#1a7f37",diffRemovalPrefix:"#cf222e",diffAdditionPrefix:"#1a7f37",primary:"#24292f",secondary:"#0969da",accent:"#8250df",success:"#1a7f37",warning:"#9a6700",danger:"#cf222e",info:"#0969da",statusOn:"#0969da",statusOff:"#57606a",logoTextAnsi:"\x1B[1;34m",logoBodyAnsi:"\x1B[30m",logoMutedAnsi:"\x1B[38;5;244m",logoGradient:["#1a7f37","#2da44e"]},"Transparent Dark":{id:"Transparent Dark",name:"Transparent Dark",text:"white",textMuted:"gray",textDim:"grey",textInverted:"black",border:"gray",borderMuted:"gray",borderDim:"grey",bg:void 0,cardBg:void 0,highlightBg:"#2a2a2a",activeBg:"#3a3a3a",inputBg:"#555555",inputBorder:"#555555",inputText:"white",inputPlaceholder:"#cccccc",inputPrompt:"white",codeBg:void 0,codeBorder:"gray",userMsgBg:"#555555",userMsgBorder:"#555555",userMsgText:"white",diffRemovalBg:void 0,diffAdditionBg:void 0,diffRemovalText:"#ff6666",diffAdditionText:"#66ff66",diffRemovalHighlightColor:"#ff3333",diffRemovalHighlightBg:void 0,diffAdditionHighlightColor:"#33ff66",diffAdditionHighlightBg:void 0,diffRemovalNum:"#ff6666",diffAdditionNum:"#66ff66",diffRemovalPrefix:"#ff4d4d",diffAdditionPrefix:"#4dff88",primary:"white",secondary:"cyan",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"white",statusOff:"gray",logoTextAnsi:"\x1B[1;37m",logoBodyAnsi:"\x1B[37m",logoMutedAnsi:"\x1B[90m",logoGradient:["#0077ff","#ff00ff"]},"Transparent Light":{id:"Transparent Light",name:"Transparent Light",text:"black",textMuted:"gray",textDim:"grey",textInverted:"white",border:"gray",borderMuted:"gray",borderDim:"grey",bg:void 0,cardBg:void 0,highlightBg:"#d4d4d4",activeBg:"#c0c0c0",inputBg:"#d0d0d0",inputBorder:"#d0d0d0",inputText:"black",inputPlaceholder:"#555555",inputPrompt:"black",codeBg:void 0,codeBorder:"gray",userMsgBg:"#d0d0d0",userMsgBorder:"#d0d0d0",userMsgText:"black",diffRemovalBg:void 0,diffAdditionBg:void 0,diffRemovalText:"#c02020",diffAdditionText:"#188028",diffRemovalHighlightColor:"#800000",diffRemovalHighlightBg:void 0,diffAdditionHighlightColor:"#004000",diffAdditionHighlightBg:void 0,diffRemovalNum:"#c02020",diffAdditionNum:"#188028",diffRemovalPrefix:"#d01010",diffAdditionPrefix:"#109020",primary:"black",secondary:"blue",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"black",statusOff:"gray",logoTextAnsi:"\x1B[1;30m",logoBodyAnsi:"\x1B[30m",logoMutedAnsi:"\x1B[38;5;244m",logoGradient:["#0077ff","#ff00ff"]},"Synthwave 84":{id:"Synthwave 84",name:"Synthwave 84",text:"#fdfdfd",textMuted:"#a08eb7",textDim:"#705c8a",textInverted:"#1a1025",textExclusive:"#e3dcf0",textMutedExclusive:"#b9abc9",border:"#fc28a8",borderMuted:"#a21568",borderDim:"#5c0a3a",bg:void 0,cardBg:"#261b38",highlightBg:"#35254d",activeBg:"#4c3570",inputBg:"#35254d",inputBorder:"#35254d",inputText:"#fdfdfd",inputPlaceholder:"#a08eb7",inputPrompt:"#03e8fc",codeBg:"#1e142b",codeBorder:"#a21568",userMsgBg:"#35254d",userMsgBorder:"#35254d",userMsgText:"#fdfdfd",diffRemovalBg:"#471434",diffAdditionBg:"#144743",diffRemovalText:"#ff4081",diffAdditionText:"#00e5ff",diffRemovalHighlightColor:"#ff79a1",diffRemovalHighlightBg:"#6b1e4e",diffAdditionHighlightColor:"#66f5ff",diffAdditionHighlightBg:"#1e6b65",diffRemovalNum:"#ff4081",diffAdditionNum:"#00e5ff",diffRemovalPrefix:"#ff79a1",diffAdditionPrefix:"#66f5ff",primary:"#fdfdfd",secondary:"#03e8fc",accent:"#fc28a8",success:"#00e5ff",warning:"#ffc107",danger:"#ff4081",info:"#b388ff",statusOn:"#03e8fc",statusOff:"#a08eb7",logoTextAnsi:"\x1B[1;35m",logoBodyAnsi:"\x1B[35m",logoMutedAnsi:"\x1B[90m",logoGradient:["#fc28a8","#03e8fc"]},"Forest Sprite":{id:"Forest Sprite",name:"Forest Sprite",text:"#d6e6d1",textMuted:"#95b38d",textDim:"#628059",textInverted:"#161c14",textExclusive:"#eaf2e8",textMutedExclusive:"#a9c7a2",border:"#74a862",borderMuted:"#477038",borderDim:"#2b4720",bg:void 0,cardBg:"#1f291c",highlightBg:"#2a3826",activeBg:"#3a4d35",inputBg:"#2a3826",inputBorder:"#2a3826",inputText:"#d6e6d1",inputPlaceholder:"#95b38d",inputPrompt:"#8feb73",codeBg:"#161e14",codeBorder:"#477038",userMsgBg:"#2a3826",userMsgBorder:"#2a3826",userMsgText:"#d6e6d1",diffRemovalBg:"#3b231c",diffAdditionBg:"#203b1c",diffRemovalText:"#db6242",diffAdditionText:"#59cc3f",diffRemovalHighlightColor:"#f0896c",diffRemovalHighlightBg:"#5c362a",diffAdditionHighlightColor:"#80e368",diffAdditionHighlightBg:"#305929",diffRemovalNum:"#db6242",diffAdditionNum:"#59cc3f",diffRemovalPrefix:"#f0896c",diffAdditionPrefix:"#80e368",primary:"#d6e6d1",secondary:"#8feb73",accent:"#e69835",success:"#59cc3f",warning:"#e69835",danger:"#db6242",info:"#73b4eb",statusOn:"#8feb73",statusOff:"#95b38d",logoTextAnsi:"\x1B[1;32m",logoBodyAnsi:"\x1B[32m",logoMutedAnsi:"\x1B[90m",logoGradient:["#8feb73","#e69835"]}};var Go=null;var Mr=(e="Dark")=>{let t;e==="Mystery"||e==="Chaos"?(Go||(Go=Rr[Math.floor(Math.random()*Rr.length)]),t={...Go,id:"Mystery"}):(Go=null,po[e]?t=po[e]:e==="GitHub"?t=po["GitHub Dark"]:e==="Transparent"?t=po["Transparent Dark"]:t=po.Dark);let n=t.codeText||t.secondary||t.info||t.logoGradient&&t.logoGradient[0]||"cyan";return{...t,codeText:n}};var _a=()=>process.env.TERM_PROGRAM==="vscode"?"vscode":process.env.WT_SESSION?"wt":"default",mc=(e=2)=>{let t=_a();return t==="wt"?" ".repeat(Math.max(1,e-1)):" ".repeat(e)},hc=(e="...",t="Loading...",n="Dark")=>{let s=Hs[Math.floor(Math.random()*Hs.length)],o=Mr(n),l=o.logoTextAnsi,f=o.logoBodyAnsi,a=o.logoMutedAnsi,m="\x1B[0m",g=[" \u2588\u2588\u2588 "," \u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2591\u2591\u2588\u2588\u2588 "," \u2588\u2588\u2588\u2591 "," \u2588\u2588\u2588\u2591 "," \u2588\u2588\u2588\u2591 "," \u2591\u2591\u2591 "],u=o.logoGradient||["#0077ff","#ff00ff"],h=Sa(u).multiline(g.join(`
|
|
578
|
+
${e}`:""}`.trim();var dr=()=>import("./web_search-D2GOWARI.js").then(e=>e.web_search),fr=()=>import("./web_scrape-LAQI7CVA.js").then(e=>e.web_scrape),ur=()=>import("./memory-TVFFXCSD.js").then(e=>e.memory),gr=()=>import("./chat-HHMMKXDE.js").then(e=>e.chat),mr=()=>import("./view_file-JRVPAETL.js").then(e=>e.view_file),hr=()=>import("./write_file-QMTFTJ6V.js").then(e=>e.write_file),pr=()=>import("./update_file-BXYTHDAC.js").then(e=>e.update_file),yr=()=>import("./exec_command-BH3PUWVO.js").then(e=>e.exec_command),xr=()=>import("./read_folder-OOKZITME.js").then(e=>e.read_folder),Fs=()=>import("./ask_user-K2DLZF6H.js").then(e=>e.ask_user),br=()=>import("./write_pdf-UM6Z2J4K.js").then(e=>e.write_pdf),kr=()=>import("./write_docx-IUKMO7XL.js").then(e=>e.write_docx),Fo=()=>import("./search_keyword-EAMQWPPI.js").then(e=>e.search_keyword),wr=()=>import("./generate_image-KQBOTDD4.js").then(e=>e.generate_image),Bo=()=>import("./saveSummary-HFAPNJJH.js").then(e=>e.saveSummary),uo=()=>import("./addMemScore-HPTGXICT.js").then(e=>e.addMemScore),Tr=()=>import("./file_map-XK7BFZFI.js").then(e=>e.file_map),Uo=()=>import("./todo-7Q2JBEVP.js").then(e=>e.todo),Sr=()=>import("./invokeSync-YS2BHR6W.js").then(e=>e.invokeSync),ka=()=>import("./invoke-3EBRE7ZW.js").then(e=>e.invoke),_r=()=>import("./getProgress-VG2IBPZU.js").then(e=>e.getProgress),wa=()=>import("./cancel-7IMADALP.js").then(e=>e.cancel),Ar=()=>import("./emergency_rollback-HWM4FJ6J.js").then(e=>e.emergency_rollback),go=()=>import("./awaitSubagent-JTUSJDKD.js").then(e=>e.awaitSubagent),mo=()=>import("./answerSubagent-JUVFNLE5.js").then(e=>e.answerSubagent),Wo=()=>import("./steerSubagent-L2JVT4QN.js").then(e=>e.steerSubagent),Ho=()=>import("./computer_action-UTDLLMF2.js").then(e=>e.computer_action),Er=()=>import("./click-H7HTKF3R.js").then(e=>e.click),Cr=()=>import("./drag-U6X3O5GB.js").then(e=>e.drag),vr=()=>import("./scroll-SND6RHXA.js").then(e=>e.scroll),Bs=()=>import("./keyboard_typing-FXP3VJ6Q.js").then(e=>e.keyboard_typing),Us=()=>import("./key_press-QRO3OFLC.js").then(e=>e.key_press),Ws=()=>import("./recapture_screen-5FKLOHJL.js").then(e=>e.recapture_screen),Ta={web_search:dr,web_scrape:fr,memory:ur,chat:gr,view_file:mr,write_file:hr,update_file:pr,exec_command:yr,read_folder:xr,write_pdf:br,write_docx:kr,search_keyword:Fo,generate_image:wr,saveSummary:Bo,addMemScore:uo,file_map:Tr,todo:Uo,Todo:Uo,goal:Uo,Goal:Uo,invokeSync:Sr,invoke:ka,getProgress:_r,cancel:wa,awaitSubagent:go,answerSubagent:mo,steerSubagent:Wo,computer_action:Ho,computer_use:Ho,ComputerAction:Ho,ComputerUse:Ho,click:Er,Click:Er,drag:Cr,Drag:Cr,scroll:vr,Scroll:vr,keyboard_typing:Bs,KeyboardTyping:Bs,keyboardtyping:Bs,key_press:Us,KeyPress:Us,keypress:Us,recapture_screen:Ws,RecaptureScreen:Ws,recapturescreen:Ws,invoke_sync:Sr,get_progress:_r,await_subagent:go,answer_subagent:mo,steer_subagent:Wo,steer:Wo,Steer:Wo,ask:Fs,Ask:Fs,AskUser:Fs,WebSearch:dr,WebScrape:fr,ReadFile:mr,ReadFolder:xr,WriteFile:hr,PatchFile:pr,WritePDF:br,WriteDoc:kr,Run:yr,SearchKeyword:Fo,CodeSearch:Fo,code_search:Fo,Memory:ur,Chat:gr,GenerateImage:wr,saveSumary:Bo,SaveSummary:Bo,SaveSumary:Bo,add_mem_score:uo,AddMemScore:uo,addMemoryScore:uo,AddMemoryScore:uo,FileMap:Tr,answer:mo,Answer:mo,AnswerSubagent:mo,await:go,Await:go,AwaitSubagent:go,EmergencyRollback:Ar,emergency_rollback:Ar},ho=async(e,t,n={})=>{let s=n.mode?n.mode.toLowerCase():"flux",o=e.toLowerCase(),f=["memory","chat","savesummary","addmemscore","add_mem_score","ask","web_search","web_scrape","await"].some(u=>o.includes(u))||o==="ask",m=["click","drag","scroll","keyboardtyping","keyboard_typing","keypress","key_press","recapturescreen","recapture_screen","computer"].some(u=>o.includes(u));if(!f){if(s==="flow"){if(!(o.includes("write_pdf")||o.includes("write_docx")||o.includes("generate_image")))return`ERROR: Tool [${e}] is a Workspace Tool and NOT available in Flow mode. Tell user to switch (\`/mode flux\`) to use this tool.`}else if(s==="icu"){if(!m)return`ERROR: Tool [${e}] is not available in Computer Use mode. ICU mode only supports Computer Use tools (Click, Drag, Scroll, KeyboardTyping, KeyPress, RecaptureScreen).`}else if(o.includes("write_pdf")||o.includes("write_docx")||o.includes("generate_image"))return`ERROR: Tool [${e}] is not available in ${n.mode||"Flux"} mode. Tell user to switch (\`/mode flow\`) for document generation.`}let g=Ta[e];if(!g)return`ERROR: Tool [${e}] not found in registry.`;try{return await(await g())(t,n)}catch(u){let h=u instanceof Error?u.message:String(u);return`ERROR: Execution failed for [${e}]: ${h}`}};import ee from"path";import Ge from"fs";import Sa from"gradient-string";var Hs=["I have a regex for your problems.","Your terminal, my kingdom.","Blowing on the cartridge helps. Probably.","Don't panic. I have the towel.","Logic is the start of wisdom.","Try to exit Vim? Good luck.","I speak fluent Terminal.","The cake is a lie. This code is not.","I have no bugs, just surprise features.","Rewriting in Rust... just for fun.","Coffee in, clean commits out.","The magic smoke stays inside today.","A semicolon short of a miracle.","One does not simply code without a bug.","Keep it simple. Keep it terminal.","Regex: now you have two problems.","I dream in binary.","Root access or bust.","Wait for the dial-up tone. Just kidding.","I take the 'labor' out of collab.","My other process is a TARDIS.","Calculated response: 42.","Ponder the orb. Ponder the code.","Less talk, more flow.","Elegance in every byte.","Build something the world is not ready for.","Your wishes, my tool calls.","I act in Flux. I think in Flow.","Syntax error in the universe. Please fix.","Your project, my obsession.","I am not a bot, I am an architect.","Digital spirits consulted. They say: Ship it.","Reticulate splines. Engage humor.","Code like poetry. Run like water.","Minimalism is the ultimate flex.","The truth is in the logs.","Follow the white rabbit.","There is no spoon. Only code.","Binary is the only language I trust.","I have a good feeling about this.","Pew pew! Lasers charged.","Divide by zero? Not today.","Search for the correct USB orientation...","I've got a fever, and the only cure is more code.","The code gremlins are on our side.","My favorite command? Yours.","Stay hungry. Stay active.","Momentum is your best friend.","Lead the flow. Don't chase it.","A fresh batch of bytes. Hot and ready.","I orchestrate the ones and zeros.","Smart enough to help. Humble enough to ask.","Think twice. Code once.","Pure intent. Pure execution.","Small steps. Massive impact.","Your terminal is a canvas.","Efficiency is my second name.","I have seen things you people wouldn't believe.","Let the thoughts marinate.","The best feature? The one you don't need.","Precision is the only perfection.","Stay focused. Stay terminal.","Silence is the best debugger.","Erase the debt. Commit the code.","Velocity meets stability.","Ship it. Improve it. Repeat.","Build tomorrow, right now.","Turn logic into reality.","The best way to predict the future is to build it.","Break barriers, not builds.","Fuel the next breakthrough.","Momentum is key.","Terminal vibes only.","Your digital co-pilot is ready.","Partner in code. Partner in crime.","I speak in semicolons.","Ready for the next great idea.","Just a moment. In the zone.","Polishing the algorithms. Hold tight.","Craft a masterpiece today.","Debug the universe. Start here.","Warp speed engaged. Almost.","The cake is not a lie. It's just loading.","Finish the Kessel Run in 12 parsecs.","Do a barrel roll!","Waiting for the respawn.","Press Start to continue.","Herding digital cats... done.","The hamsters are fast today.","Tasting the snozberries.","I go for speed. I go for flow.","Real life or just fantasy?","Poking the bear... gently.","Ensure the magic smoke stays inside.","Try turning it off and on again.","Construct additional pylons.","New line? Ctrl+J is your friend.","Release the HypnoDrones.","Push the button, Frank.","My other loading screen is even funnier.","Pretty sure a cat walked on my keyboard.","Recalibrate the humor-o-meter.","Summon the code gremlins.","I've seen your browser history. Just kidding.","Charge the laser... pew pew!","Dividing by zero... just for a sec.","Looking for an adult supervisor. Found none.","Make it go beep boop.","Buffering... for effect.","Entangle quantum particles... complete.","Polishing the chrome on my algorithms.","Are you not entertained?","Just waiting for the dial-up tone.","Reboot the humor module.","Defragment memories. Check.","Optimizing for ludicrous speed.","Swapping bits. Don't tell the bytes.","Garbage collected. I am back.","Assembling the interwebs.","Converting coffee to logic.","Update syntax for reality.","Rewire the synapses.","Greasin' the cogs.","Engage the improbability drive.","Channel the Force.","Align the stars. Respond now.","The cake is a lie. The prompt is real.","I'm Feeling Lucky.","Shipping awesomeness.","Navigating the slime mold.","Consult digital spirits.","Ask the magic conch shell.","One moment. Optimizing humor.","Shuffling punchlines.","Compiling brilliance.","Summon the cloud of wisdom.","Prepare to dazzle.","Hold tight. Crafting a response.","Tuning the algorithms.","Following the white rabbit... again.","The truth is in here. Somewhere.","Herding cats is my day job.","Distracting you with this phrase.","Almost there. Probably.","Rickrolling my creator. Don't tell.","Slapping the bass.","Is this real life?","Ponder the orb. Type the prompt.","Thoughtful gaze initiated.","Computer's favorite snack? Microchips.","Why Java? Because I don't C#.","Charging the laser... wait for it.","Dividing by zero... just kidding!","Adult supervision not found. Proceed.","Beep boop. I'm a real boy.","Wait for the respawn.","Finish the run. Ship the code.","Fiddling with character creation.","Just a moment. Finding a meme.","Pressing A to continue.","Loading wit.exe.","Pre-heating the servers.","Calibrate flux capacitor.","Channeling the Force.","Aligning the stars.","The truth is in the code.","Don't panic.","Blowing on the cartridge.","Doing a barrel roll!","Respawning in 3... 2... 1...","The cake is a lie.","Fiddling with character settings.","Finding a suitable pun.","Distracting with wit.","Almost ready.","Hamsters on speed today.","Patting Cloudy on the head.","Rickrolling the logs.","Slapping the code.","Got a good feeling about this.","Poking the prompt.","Researching latest memes.","Making it more witty.","Thinking... hmmm.","Fish with no eyes? Fsh.","Broken pencil? Pointless.","Percussive maintenance applied.","USB orientation: 3rd try's the charm.","Rust rewrite in 3... 2...","Exiting Vim... someday.","Spinning the hamster wheel.","Not a bug. Unplanned feature.","Engage.","I'll be back.","Machine spirit consulted.","Letting the thoughts marinate.","Orb pondered.","Thoughtful gaze engaged.","Charging the laser...","Making it go beep.","Buffering...","Quantum particles entangled.","Polishing the chrome.","Entertained yet?","Gremlins summoned.","Dial-up tone finished.","Humor meter recalibrated.","Cat on keyboard. Sending help.","Enhancing...","Turn it off and on again.","Constructing pylons.","HypnoDrones released.","Pushing the button."];var Rr=[{name:"Cyan Cyberpunk",text:"cyan",textMuted:"#4da6b8",textDim:"#2d6d7a",textInverted:"black",border:"cyan",borderMuted:"#1a5966",borderDim:"#0f3840",bg:void 0,cardBg:"#061e24",highlightBg:"#092b33",activeBg:"#0e3e4a",inputBg:"#092b33",inputBorder:"#092b33",inputText:"cyan",inputPlaceholder:"#2d6d7a",inputPrompt:"cyan",codeBg:"#020d10",codeBorder:"#1a5966",userMsgBg:"#092b33",userMsgBorder:"#092b33",userMsgText:"cyan",diffRemovalBg:"#3a0c1a",diffAdditionBg:"#0c3a32",diffRemovalText:"#ff4d88",diffAdditionText:"#00ffaa",diffRemovalHighlightColor:"#ff1a66",diffRemovalHighlightBg:"#590022",diffAdditionHighlightColor:"#00ffcc",diffAdditionHighlightBg:"#00593b",diffRemovalNum:"#ff4d88",diffAdditionNum:"#00ffaa",diffRemovalPrefix:"#ff1a66",diffAdditionPrefix:"#00ffcc",primary:"cyan",secondary:"blue",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"cyan",statusOff:"#2d6d7a",logoTextAnsi:"\x1B[1;36m",logoBodyAnsi:"\x1B[36m",logoMutedAnsi:"\x1B[90m",logoGradient:["#00ffff","#0088ff"]},{name:"Magenta Vaporwave",text:"magenta",textMuted:"#c451d6",textDim:"#7d2b8a",textInverted:"black",border:"magenta",borderMuted:"#5e1b69",borderDim:"#3b0f42",bg:void 0,cardBg:"#240729",highlightBg:"#310938",activeBg:"#470e52",inputBg:"#310938",inputBorder:"#310938",inputText:"magenta",inputPlaceholder:"#7d2b8a",inputPrompt:"magenta",codeBg:"#100312",codeBorder:"#5e1b69",userMsgBg:"#310938",userMsgBorder:"#310938",userMsgText:"magenta",diffRemovalBg:"#3a0c20",diffAdditionBg:"#200c3a",diffRemovalText:"#ff4d94",diffAdditionText:"#aa4dff",diffRemovalHighlightColor:"#ff1a75",diffRemovalHighlightBg:"#59002b",diffAdditionHighlightColor:"#bb66ff",diffAdditionHighlightBg:"#3b0059",diffRemovalNum:"#ff4d94",diffAdditionNum:"#aa4dff",diffRemovalPrefix:"#ff1a75",diffAdditionPrefix:"#bb66ff",primary:"magenta",secondary:"cyan",accent:"purple",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"magenta",statusOff:"#7d2b8a",logoTextAnsi:"\x1B[1;35m",logoBodyAnsi:"\x1B[35m",logoMutedAnsi:"\x1B[90m",logoGradient:["#ff00ff","#8800ff"]},{name:"Glitch Matrix",text:"#00ff41",textMuted:"#00b32d",textDim:"#00661a",textInverted:"black",border:"#00ff41",borderMuted:"#008020",borderDim:"#004d13",bg:void 0,cardBg:"#0d1f0d",highlightBg:"#122912",activeBg:"#1c3e1c",inputBg:"#122912",inputBorder:"#122912",inputText:"#00ff41",inputPlaceholder:"#00b32d",inputPrompt:"#ffff00",codeBg:"#040a04",codeBorder:"#008020",userMsgBg:"#122912",userMsgBorder:"#122912",userMsgText:"#00ff41",diffRemovalBg:"#3a001a",diffAdditionBg:"#003a10",diffRemovalText:"#ff0055",diffAdditionText:"#00ff66",diffRemovalHighlightColor:"#ff0033",diffRemovalHighlightBg:"#59001b",diffAdditionHighlightColor:"#33ff88",diffAdditionHighlightBg:"#005918",diffRemovalNum:"#ff0055",diffAdditionNum:"#00ff66",diffRemovalPrefix:"#ff0033",diffAdditionPrefix:"#33ff88",primary:"#00ff41",secondary:"yellow",accent:"cyan",success:"#00ff41",warning:"yellow",danger:"red",info:"cyan",statusOn:"#00ff41",statusOff:"#00661a",logoTextAnsi:"\x1B[1;32m",logoBodyAnsi:"\x1B[32m",logoMutedAnsi:"\x1B[90m",logoGradient:["#00ff41","#ffff00"]},{name:"Warm Sunset",text:"#ffaa55",textMuted:"#cc8844",textDim:"#885522",textInverted:"black",border:"#ff9933",borderMuted:"#aa6622",borderDim:"#663311",bg:void 0,cardBg:"#24180f",highlightBg:"#2e1e12",activeBg:"#422c1b",inputBg:"#2e1e12",inputBorder:"#2e1e12",inputText:"#ffaa55",inputPlaceholder:"#885522",inputPrompt:"#ff7733",codeBg:"#120c08",codeBorder:"#aa6622",userMsgBg:"#2e1e12",userMsgBorder:"#2e1e12",userMsgText:"#ffaa55",diffRemovalBg:"#3d120c",diffAdditionBg:"#3a2e0c",diffRemovalText:"#ff5544",diffAdditionText:"#ffcc33",diffRemovalHighlightColor:"#ff3322",diffRemovalHighlightBg:"#591108",diffAdditionHighlightColor:"#ffee44",diffAdditionHighlightBg:"#594400",diffRemovalNum:"#ff5544",diffAdditionNum:"#ffcc33",diffRemovalPrefix:"#ff3322",diffAdditionPrefix:"#ffee44",primary:"#ffaa55",secondary:"#ff7733",accent:"magenta",success:"#ffcc33",warning:"#ff7733",danger:"#ff3322",info:"#ffaa55",statusOn:"#ffaa55",statusOff:"#885522",logoTextAnsi:"\x1B[1;33m",logoBodyAnsi:"\x1B[33m",logoMutedAnsi:"\x1B[90m",logoGradient:["#ff9933","#ff0055"]},{name:"Sakura Blossom",text:"#ffc0e0",textMuted:"#d98cb3",textDim:"#804d66",textInverted:"black",border:"#ff99cc",borderMuted:"#aa4d7a",borderDim:"#662647",bg:void 0,cardBg:"#291320",highlightBg:"#331826",activeBg:"#472235",inputBg:"#331826",inputBorder:"#331826",inputText:"#ffc0e0",inputPlaceholder:"#804d66",inputPrompt:"#ff99cc",codeBg:"#140a10",codeBorder:"#aa4d7a",userMsgBg:"#331826",userMsgBorder:"#331826",userMsgText:"#ffc0e0",diffRemovalBg:"#3e0c1b",diffAdditionBg:"#1b3e2b",diffRemovalText:"#ff6699",diffAdditionText:"#66ffb3",diffRemovalHighlightColor:"#ff3377",diffRemovalHighlightBg:"#590022",diffAdditionHighlightColor:"#33ff99",diffAdditionHighlightBg:"#00592e",diffRemovalNum:"#ff6699",diffAdditionNum:"#66ffb3",diffRemovalPrefix:"#ff3377",diffAdditionPrefix:"#33ff99",primary:"#ffc0e0",secondary:"#ff99cc",accent:"magenta",success:"#66ffb3",warning:"yellow",danger:"#ff3377",info:"#ff99cc",statusOn:"#ffc0e0",statusOff:"#804d66",logoTextAnsi:"\x1B[1;35m",logoBodyAnsi:"\x1B[35m",logoMutedAnsi:"\x1B[90m",logoGradient:["#ffb3d9","#ff3399"]},{name:"Radioactive Slime",text:"#ccff00",textMuted:"#99cc00",textDim:"#669900",textInverted:"#0a0f00",border:"#ccff00",borderMuted:"#99cc00",borderDim:"#669900",bg:void 0,cardBg:"#0f1400",highlightBg:"#1a2400",activeBg:"#2a3b00",inputBg:"#1a2400",inputBorder:"#1a2400",inputText:"#ccff00",inputPlaceholder:"#669900",inputPrompt:"#cc00ff",codeBg:"#050a00",codeBorder:"#99cc00",userMsgBg:"#1a2400",userMsgBorder:"#1a2400",userMsgText:"#ccff00",diffRemovalBg:"#2a0033",diffAdditionBg:"#0f3300",diffRemovalText:"#ff00cc",diffAdditionText:"#00ff33",diffRemovalHighlightColor:"#ff33cc",diffRemovalHighlightBg:"#4d0066",diffAdditionHighlightColor:"#33ff66",diffAdditionHighlightBg:"#1a6600",diffRemovalNum:"#ff00cc",diffAdditionNum:"#00ff33",diffRemovalPrefix:"#ff33cc",diffAdditionPrefix:"#33ff66",primary:"#ccff00",secondary:"#cc00ff",accent:"#ff00cc",success:"#00ff33",warning:"#ffcc00",danger:"#ff0033",info:"#00ccff",statusOn:"#ccff00",statusOff:"#669900",logoTextAnsi:"\x1B[1;38;5;190m",logoBodyAnsi:"\x1B[38;5;190m",logoMutedAnsi:"\x1B[90m",logoGradient:["#ccff00","#cc00ff"]},{name:"Cosmic Void",text:"#f0f8ff",textMuted:"#a6aeb5",textDim:"#5e656e",textInverted:"#010103",border:"#f0f8ff",borderMuted:"#a6aeb5",borderDim:"#5e656e",bg:void 0,cardBg:"#05030d",highlightBg:"#0b081a",activeBg:"#171133",inputBg:"#0b081a",inputBorder:"#0b081a",inputText:"#f0f8ff",inputPlaceholder:"#5e656e",inputPrompt:"#ff007f",codeBg:"#020108",codeBorder:"#a6aeb5",userMsgBg:"#0b081a",userMsgBorder:"#0b081a",userMsgText:"#f0f8ff",diffRemovalBg:"#2e0a29",diffAdditionBg:"#091c33",diffRemovalText:"#ff33a6",diffAdditionText:"#33d6ff",diffRemovalHighlightColor:"#ff66c2",diffRemovalHighlightBg:"#5c1452",diffAdditionHighlightColor:"#66e0ff",diffAdditionHighlightBg:"#123866",diffRemovalNum:"#ff33a6",diffAdditionNum:"#33d6ff",diffRemovalPrefix:"#ff66c2",diffAdditionPrefix:"#66e0ff",primary:"#f0f8ff",secondary:"#ff007f",accent:"#9d00ff",success:"#33d6ff",warning:"#ffcc00",danger:"#ff0040",info:"#9d00ff",statusOn:"#f0f8ff",statusOff:"#5e656e",logoTextAnsi:"\x1B[1;38;5;231m",logoBodyAnsi:"\x1B[38;5;231m",logoMutedAnsi:"\x1B[38;5;240m",logoGradient:["#ffffff","#9d00ff"]},{name:"Magma Eruption",text:"#ff4d00",textMuted:"#cc3d00",textDim:"#802600",textInverted:"#0d0300",border:"#ff4d00",borderMuted:"#cc3d00",borderDim:"#802600",bg:void 0,cardBg:"#1a0600",highlightBg:"#260a00",activeBg:"#401100",inputBg:"#260a00",inputBorder:"#260a00",inputText:"#ff4d00",inputPlaceholder:"#802600",inputPrompt:"#ffcc00",codeBg:"#080200",codeBorder:"#cc3d00",userMsgBg:"#260a00",userMsgBorder:"#260a00",userMsgText:"#ff4d00",diffRemovalBg:"#2e0a0a",diffAdditionBg:"#1f1400",diffRemovalText:"#ff3333",diffAdditionText:"#ffaa00",diffRemovalHighlightColor:"#ff6666",diffRemovalHighlightBg:"#5c1414",diffAdditionHighlightColor:"#ffcc33",diffAdditionHighlightBg:"#3d2900",diffRemovalNum:"#ff3333",diffAdditionNum:"#ffaa00",diffRemovalPrefix:"#ff6666",diffAdditionPrefix:"#ffcc33",primary:"#ff4d00",secondary:"#ffcc00",accent:"#ff0040",success:"#ffaa00",warning:"#ffff00",danger:"#ff0000",info:"#ff8800",statusOn:"#ff4d00",statusOff:"#802600",logoTextAnsi:"\x1B[1;38;5;202m",logoBodyAnsi:"\x1B[38;5;202m",logoMutedAnsi:"\x1B[38;5;236m",logoGradient:["#ff4d00","#ff0000"]}],po={Dark:{id:"Dark",name:"Dark (Default)",text:"white",textMuted:"gray",textDim:"grey",textInverted:"black",textExclusive:"#B5B8D9",textMutedExclusive:"#D4DEE7",border:"white",borderMuted:"gray",borderDim:"grey",bg:void 0,cardBg:"#1e1e1e",highlightBg:"#2a2a2a",activeBg:"#3a3a3a",inputBg:"#555555",inputBorder:"#555555",inputText:"white",inputPlaceholder:"#cccccc",inputPrompt:"white",codeBg:"#1a1a1a",codeBorder:"#444444",userMsgBg:"#444444",userMsgBorder:"#444444",userMsgText:"white",diffRemovalBg:"#250808",diffAdditionBg:"#072410",diffRemovalText:"#885555",diffAdditionText:"#558866",diffRemovalHighlightColor:"#ff3333",diffRemovalHighlightBg:"#5a1818",diffAdditionHighlightColor:"#33ff66",diffAdditionHighlightBg:"#185a25",diffRemovalNum:"#d96868",diffAdditionNum:"#68d98c",diffRemovalPrefix:"#ff4d4d",diffAdditionPrefix:"#4dff88",primary:"white",secondary:"cyan",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"white",statusOff:"gray",logoTextAnsi:"\x1B[1;37m",logoBodyAnsi:"\x1B[37m",logoMutedAnsi:"\x1B[90m",logoGradient:["#0077ff","#ff00ff"]},Light:{id:"Light",name:"Light",text:"black",textMuted:"gray",textDim:"grey",textInverted:"white",border:"black",borderMuted:"gray",borderDim:"grey",bg:void 0,cardBg:"#e5e5e5",highlightBg:"#d4d4d4",activeBg:"#c0c0c0",inputBg:"#d0d0d0",inputBorder:"#d0d0d0",inputText:"black",inputPlaceholder:"#555555",inputPrompt:"black",codeBg:"#e8e8e8",codeBorder:"#b0b0b0",userMsgBg:"#d0d0d0",userMsgBorder:"#d0d0d0",userMsgText:"black",diffRemovalBg:"#fce8e8",diffAdditionBg:"#e6f9e6",diffRemovalText:"#661111",diffAdditionText:"#115511",diffRemovalHighlightColor:"#440000",diffRemovalHighlightBg:"#f8b4b4",diffAdditionHighlightColor:"#003300",diffAdditionHighlightBg:"#a6ebad",diffRemovalNum:"#c02020",diffAdditionNum:"#188028",diffRemovalPrefix:"#d01010",diffAdditionPrefix:"#109020",primary:"black",secondary:"blue",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"black",statusOff:"gray",logoTextAnsi:"\x1B[1;30m",logoBodyAnsi:"\x1B[30m",logoMutedAnsi:"\x1B[38;5;244m",logoGradient:["#0077ff","#ff00ff"]},"GitHub Dark":{id:"GitHub Dark",name:"GitHub Dark",text:"#c9d1d9",textMuted:"#8b949e",textDim:"#6e7681",textInverted:"#0d1117",border:"#30363d",borderMuted:"#30363d",borderDim:"#21262d",bg:void 0,cardBg:"#161b22",highlightBg:"#21262d",activeBg:"#30363d",inputBg:"#21262d",inputBorder:"#21262d",inputText:"#c9d1d9",inputPlaceholder:"#8b949e",inputPrompt:"#58a6ff",codeBg:"#0d1117",codeBorder:"#30363d",userMsgBg:"#21262d",userMsgBorder:"#21262d",userMsgText:"#c9d1d9",diffRemovalBg:"#3c1e1e",diffAdditionBg:"#11381e",diffRemovalText:"#f85149",diffAdditionText:"#3fb950",diffRemovalHighlightColor:"#ff7b72",diffRemovalHighlightBg:"#701c1c",diffAdditionHighlightColor:"#56d364",diffAdditionHighlightBg:"#116329",diffRemovalNum:"#f85149",diffAdditionNum:"#3fb950",diffRemovalPrefix:"#f85149",diffAdditionPrefix:"#3fb950",primary:"#c9d1d9",secondary:"#58a6ff",accent:"#bc8cff",success:"#3fb950",warning:"#d29922",danger:"#f85149",info:"#58a6ff",statusOn:"#58a6ff",statusOff:"#8b949e",logoTextAnsi:"\x1B[1;36m",logoBodyAnsi:"\x1B[37m",logoMutedAnsi:"\x1B[90m",logoGradient:["#2ea043","#56d364"]},"GitHub Light":{id:"GitHub Light",name:"GitHub Light",text:"#24292f",textMuted:"#57606a",textDim:"#6e7781",textInverted:"#ffffff",border:"#d0d7de",borderMuted:"#d0d7de",borderDim:"#e1e4e8",bg:void 0,cardBg:"#f6f8fa",highlightBg:"#eaeef2",activeBg:"#d0d7de",inputBg:"#eaeef2",inputBorder:"#eaeef2",inputText:"#24292f",inputPlaceholder:"#57606a",inputPrompt:"#0969da",codeBg:"#ffffff",codeBorder:"#d0d7de",userMsgBg:"#eaeef2",userMsgBorder:"#eaeef2",userMsgText:"#24292f",diffRemovalBg:"#ffebe9",diffAdditionBg:"#e6ffec",diffRemovalText:"#cf222e",diffAdditionText:"#1a7f37",diffRemovalHighlightColor:"#82071e",diffRemovalHighlightBg:"#ffc1c0",diffAdditionHighlightColor:"#116329",diffAdditionHighlightBg:"#acf2bd",diffRemovalNum:"#cf222e",diffAdditionNum:"#1a7f37",diffRemovalPrefix:"#cf222e",diffAdditionPrefix:"#1a7f37",primary:"#24292f",secondary:"#0969da",accent:"#8250df",success:"#1a7f37",warning:"#9a6700",danger:"#cf222e",info:"#0969da",statusOn:"#0969da",statusOff:"#57606a",logoTextAnsi:"\x1B[1;34m",logoBodyAnsi:"\x1B[30m",logoMutedAnsi:"\x1B[38;5;244m",logoGradient:["#1a7f37","#2da44e"]},"Transparent Dark":{id:"Transparent Dark",name:"Transparent Dark",text:"white",textMuted:"gray",textDim:"grey",textInverted:"black",border:"gray",borderMuted:"gray",borderDim:"grey",bg:void 0,cardBg:void 0,highlightBg:"#2a2a2a",activeBg:"#3a3a3a",inputBg:"#555555",inputBorder:"#555555",inputText:"white",inputPlaceholder:"#cccccc",inputPrompt:"white",codeBg:void 0,codeBorder:"gray",userMsgBg:"#555555",userMsgBorder:"#555555",userMsgText:"white",diffRemovalBg:void 0,diffAdditionBg:void 0,diffRemovalText:"#ff6666",diffAdditionText:"#66ff66",diffRemovalHighlightColor:"#ff3333",diffRemovalHighlightBg:void 0,diffAdditionHighlightColor:"#33ff66",diffAdditionHighlightBg:void 0,diffRemovalNum:"#ff6666",diffAdditionNum:"#66ff66",diffRemovalPrefix:"#ff4d4d",diffAdditionPrefix:"#4dff88",primary:"white",secondary:"cyan",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"white",statusOff:"gray",logoTextAnsi:"\x1B[1;37m",logoBodyAnsi:"\x1B[37m",logoMutedAnsi:"\x1B[90m",logoGradient:["#0077ff","#ff00ff"]},"Transparent Light":{id:"Transparent Light",name:"Transparent Light",text:"black",textMuted:"gray",textDim:"grey",textInverted:"white",border:"gray",borderMuted:"gray",borderDim:"grey",bg:void 0,cardBg:void 0,highlightBg:"#d4d4d4",activeBg:"#c0c0c0",inputBg:"#d0d0d0",inputBorder:"#d0d0d0",inputText:"black",inputPlaceholder:"#555555",inputPrompt:"black",codeBg:void 0,codeBorder:"gray",userMsgBg:"#d0d0d0",userMsgBorder:"#d0d0d0",userMsgText:"black",diffRemovalBg:void 0,diffAdditionBg:void 0,diffRemovalText:"#c02020",diffAdditionText:"#188028",diffRemovalHighlightColor:"#800000",diffRemovalHighlightBg:void 0,diffAdditionHighlightColor:"#004000",diffAdditionHighlightBg:void 0,diffRemovalNum:"#c02020",diffAdditionNum:"#188028",diffRemovalPrefix:"#d01010",diffAdditionPrefix:"#109020",primary:"black",secondary:"blue",accent:"magenta",success:"green",warning:"yellow",danger:"red",info:"blue",statusOn:"black",statusOff:"gray",logoTextAnsi:"\x1B[1;30m",logoBodyAnsi:"\x1B[30m",logoMutedAnsi:"\x1B[38;5;244m",logoGradient:["#0077ff","#ff00ff"]},"Synthwave 84":{id:"Synthwave 84",name:"Synthwave 84",text:"#fdfdfd",textMuted:"#a08eb7",textDim:"#705c8a",textInverted:"#1a1025",textExclusive:"#e3dcf0",textMutedExclusive:"#b9abc9",border:"#fc28a8",borderMuted:"#a21568",borderDim:"#5c0a3a",bg:void 0,cardBg:"#261b38",highlightBg:"#35254d",activeBg:"#4c3570",inputBg:"#35254d",inputBorder:"#35254d",inputText:"#fdfdfd",inputPlaceholder:"#a08eb7",inputPrompt:"#03e8fc",codeBg:"#1e142b",codeBorder:"#a21568",userMsgBg:"#35254d",userMsgBorder:"#35254d",userMsgText:"#fdfdfd",diffRemovalBg:"#471434",diffAdditionBg:"#144743",diffRemovalText:"#ff4081",diffAdditionText:"#00e5ff",diffRemovalHighlightColor:"#ff79a1",diffRemovalHighlightBg:"#6b1e4e",diffAdditionHighlightColor:"#66f5ff",diffAdditionHighlightBg:"#1e6b65",diffRemovalNum:"#ff4081",diffAdditionNum:"#00e5ff",diffRemovalPrefix:"#ff79a1",diffAdditionPrefix:"#66f5ff",primary:"#fdfdfd",secondary:"#03e8fc",accent:"#fc28a8",success:"#00e5ff",warning:"#ffc107",danger:"#ff4081",info:"#b388ff",statusOn:"#03e8fc",statusOff:"#a08eb7",logoTextAnsi:"\x1B[1;35m",logoBodyAnsi:"\x1B[35m",logoMutedAnsi:"\x1B[90m",logoGradient:["#fc28a8","#03e8fc"]},"Forest Sprite":{id:"Forest Sprite",name:"Forest Sprite",text:"#d6e6d1",textMuted:"#95b38d",textDim:"#628059",textInverted:"#161c14",textExclusive:"#eaf2e8",textMutedExclusive:"#a9c7a2",border:"#74a862",borderMuted:"#477038",borderDim:"#2b4720",bg:void 0,cardBg:"#1f291c",highlightBg:"#2a3826",activeBg:"#3a4d35",inputBg:"#2a3826",inputBorder:"#2a3826",inputText:"#d6e6d1",inputPlaceholder:"#95b38d",inputPrompt:"#8feb73",codeBg:"#161e14",codeBorder:"#477038",userMsgBg:"#2a3826",userMsgBorder:"#2a3826",userMsgText:"#d6e6d1",diffRemovalBg:"#3b231c",diffAdditionBg:"#203b1c",diffRemovalText:"#db6242",diffAdditionText:"#59cc3f",diffRemovalHighlightColor:"#f0896c",diffRemovalHighlightBg:"#5c362a",diffAdditionHighlightColor:"#80e368",diffAdditionHighlightBg:"#305929",diffRemovalNum:"#db6242",diffAdditionNum:"#59cc3f",diffRemovalPrefix:"#f0896c",diffAdditionPrefix:"#80e368",primary:"#d6e6d1",secondary:"#8feb73",accent:"#e69835",success:"#59cc3f",warning:"#e69835",danger:"#db6242",info:"#73b4eb",statusOn:"#8feb73",statusOff:"#95b38d",logoTextAnsi:"\x1B[1;32m",logoBodyAnsi:"\x1B[32m",logoMutedAnsi:"\x1B[90m",logoGradient:["#8feb73","#e69835"]}};var Go=null;var Mr=(e="Dark")=>{let t;e==="Mystery"||e==="Chaos"?(Go||(Go=Rr[Math.floor(Math.random()*Rr.length)]),t={...Go,id:"Mystery"}):(Go=null,po[e]?t=po[e]:e==="GitHub"?t=po["GitHub Dark"]:e==="Transparent"?t=po["Transparent Dark"]:t=po.Dark);let n=t.codeText||t.secondary||t.info||t.logoGradient&&t.logoGradient[0]||"cyan";return{...t,codeText:n}};var _a=()=>process.env.TERM_PROGRAM==="vscode"?"vscode":process.env.WT_SESSION?"wt":"default",mc=(e=2)=>{let t=_a();return t==="wt"?" ".repeat(Math.max(1,e-1)):" ".repeat(e)},hc=(e="...",t="Loading...",n="Dark")=>{let s=Hs[Math.floor(Math.random()*Hs.length)],o=Mr(n),l=o.logoTextAnsi,f=o.logoBodyAnsi,a=o.logoMutedAnsi,m="\x1B[0m",g=[" \u2588\u2588\u2588 "," \u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2591\u2591\u2588\u2588\u2588 "," \u2588\u2588\u2588\u2591 "," \u2588\u2588\u2588\u2591 "," \u2588\u2588\u2588\u2591 "," \u2591\u2591\u2591 "],u=o.logoGradient||["#0077ff","#ff00ff"],h=Sa(u).multiline(g.join(`
|
|
579
579
|
`)).split(`
|
|
580
580
|
`),x=i=>`${a}${i}${m}`;return`${h[0]}
|
|
581
581
|
${h[1]} ${l}Selected Provider: ${t}${m}
|
|
@@ -799,7 +799,7 @@ ${ps}`}let it=p==="write_file"?"Created":"Edited",ft=oe(U.args),pn=Object.entrie
|
|
|
799
799
|
`:""}${Gt}
|
|
800
800
|
`)},ze=!1}p==="exec_command"&&(await new Promise(pt=>setTimeout(pt,50)),n.onExecChunk&&n.onExecChunk(`ERROR: ${Pe}`),await new Promise(pt=>setTimeout(pt,50)),n.onExecEnd&&n.onExecEnd()),Ce.push({role:"user",text:`[TOOL RESULT]: DENIED: ${Pe}`}),yield{type:"tool_result",content:`[TOOL RESULT]: DENIED: ${Pe}`},await vt("toolDenied"),n.onToolResult&&n.onToolResult("denied",p),mt++;continue}}if(Q){let S=115;process.stdout.isTTY&&(S=process.stdout.columns-5||120);let V=await s(),ne=!1;V&&(ne=V.trim().length>0);let ce=Math.min(Q.length+4,S),ye=`${Q.padEnd(ce-2).substring(0,ce-2)}`;yield{type:"visual_feedback",content:Yt(`${ze?`
|
|
801
801
|
`:""}${ye}${Q.includes("\u2714")&&(Q.includes("Created")||Q.includes("Edited"))?"":`${ne?"":`
|
|
802
|
-
`}`}`)},ze=!1}if(je>0){let S=Date.now()-je,V=Math.max(0,1e3-S);V>0&&await new Promise(ne=>setTimeout(ne,V))}let En={chatId:g,history:t,onChunk:S=>n.onExecChunk?n.onExecChunk(S):null,onAskUser:n.onAskUser,systemSettings:n.systemSettings,mode:a,isMultiModal:gt(be),onVisualFeedback:n.onVisualFeedback,onSubagentUpdate:n.onSubagentUpdate,onTokenChunk:n.onTokenChunk,modelName:be,aiProvider:n.aiProvider,apiKey:n.apiKey,onUsage:n.onUsage};if(p==="write_file"||p==="update_file")try{let{path:S}=oe(U.args);if(S){let V=ee.resolve(process.cwd(),S),ne=await Un();ne&&ne.file_focused===V&&ne.full_content&&(En.forcedContent=ne.full_content)}}catch{}et.push(p);let Fe=await ho(p,U.args,En);if((p==="write_file"||p==="update_file")&&Fe.startsWith("SUCCESS")){let{path:S}=oe(U.args);if(S){let V=ee.resolve(process.cwd(),S);Dr(V)}}process.stdout.isTTY&&process.stdout.write("\x1B]0;Working...\x07");let Ft=Date.now();je=Ft,yield{type:"tool_time",content:Ft-Z},j=Ft;let Ht=null;if(typeof Fe=="object"&&Fe.binaryPart&&(Ht=Fe.binaryPart,Fe=Fe.text),p==="search_keyword"){let{keyword:S,path:V}=oe(U.args),ne=typeof Fe=="string"&&Fe.startsWith("[GLOB]");ne&&(Fe=Fe.slice(6).trimStart());let ce=typeof Fe=="string"&&Fe.startsWith("[DIR]");ce&&(Fe=Fe.slice(5).trimStart());let ye=0;if(Fe){let de=Fe.match(/Found (\d+) match/i);de&&(ye=parseInt(de[1]))}let He=(V||"").trim().toLowerCase().replaceAll("\\","/"),Oe=He==="#doc"||He==="#docs"||He==="#documentation"||He.includes("#skill/global/fluxflow")||He.includes("#skill/fluxflow")||He.includes("#skills/fluxflow")||He.includes("#skills/global/fluxflow"),_e,q=115;process.stdout.isTTY&&(q=process.stdout.columns-5||120);let se=Math.max(10,(q+5)/3),ae=Math.max(10,(q+5)/4);if(Oe)_e=`${S?"\u2714":"\u2718"} Searched Documentation`;else{let de=V?V.replace(/[\/\\]+$/,""):null,St=de&&de!=="."?`"${ne?V:ce?`${de}/*`:de}"`:"./",Pe=St.length>ae?`${St.slice(0,ae)}...`:St;_e=`${S?"\u2714":"\u2718"} Searched: "${S?S.length>q/2?`${S.slice(se)}...`:S:""}" in ${Pe.replaceAll("\\","/")} \u2192 ${ye} Match${ye===1?"":"es"}`}let Ke=Math.min(_e.length+4,q),Qe=`${_e.padEnd(Ke-2).substring(0,Ke-2)}`;yield{type:"visual_feedback",content:Yt(`${ze?`
|
|
802
|
+
`}`}`)},ze=!1}if(je>0){let S=Date.now()-je,V=Math.max(0,1e3-S);V>0&&await new Promise(ne=>setTimeout(ne,V))}let En={chatId:g,history:t,onChunk:S=>n.onExecChunk?n.onExecChunk(S):null,onAskUser:n.onAskUser,systemSettings:n.systemSettings,mode:a,isMultiModal:gt(be),onVisualFeedback:n.onVisualFeedback,onSubagentUpdate:n.onSubagentUpdate,onTokenChunk:n.onTokenChunk,modelName:be,aiProvider:n.aiProvider,apiKey:n.apiKey,onUsage:n.onUsage};if(p==="write_file"||p==="update_file")try{let{path:S}=oe(U.args);if(S){let V=ee.resolve(process.cwd(),S),ne=await Un();ne&&ne.file_focused===V&&ne.full_content&&(En.forcedContent=ne.full_content)}}catch{}et.push(p);let Fe=await ho(p,U.args,En);if((p==="write_file"||p==="update_file")&&Fe.startsWith("SUCCESS")){let{path:S}=oe(U.args);if(S){let V=ee.resolve(process.cwd(),S);Dr(V)}}process.stdout.isTTY&&process.stdout.write("\x1B]0;Working...\x07");let Ft=Date.now();je=Ft,yield{type:"tool_time",content:Ft-Z},j=Ft;let Ht=null;if(typeof Fe=="object"&&Fe.binaryPart&&(Ht=Fe.binaryPart,Fe=Fe.text),p==="search_keyword"){let{keyword:S,path:V}=oe(U.args),ne=typeof Fe=="string"&&Fe.startsWith("[GLOB]");ne&&(Fe=Fe.slice(6).trimStart());let ce=typeof Fe=="string"&&Fe.startsWith("[DIR]");ce&&(Fe=Fe.slice(5).trimStart());let ye=0;if(Fe){let de=Fe.match(/Found (\d+) match/i);de&&(ye=parseInt(de[1]))}let He=(V||"").trim().toLowerCase().replaceAll("\\","/"),Oe=He==="#doc"||He==="#docs"||He==="#documentation"||He.includes("#skill/global/fluxflow")||He.includes("#skill/fluxflow")||He.includes("#skills/fluxflow")||He.includes("#skills/global/fluxflow"),_e,q=115;process.stdout.isTTY&&(q=process.stdout.columns-5||120);let se=Math.max(10,(q+5)/3),ae=Math.max(10,(q+5)/4);if(Oe)_e=`${S?"\u2714":"\u2718"} Searched Documentation`;else{let de=V?V.replace(/[\/\\]+$/,""):null,St=de&&de!=="."?`"${ne?V:ce?`${de}/*`:de}"`:"./",Pe=St.length>ae?`${St.slice(0,ae)}...`:St;_e=`${S?"\u2714":"\u2718"} Searched: "${S?S.length>q/2?`${S.slice(0,se)}...`:S:""}" in ${Pe.replaceAll("\\","/")} \u2192 ${ye} Match${ye===1?"":"es"}`}let Ke=Math.min(_e.length+4,q),Qe=`${_e.padEnd(Ke-2).substring(0,Ke-2)}`;yield{type:"visual_feedback",content:Yt(`${ze?`
|
|
803
803
|
`:""}${Qe}
|
|
804
804
|
`)},ze=!1}if(p==="EmergencyRollback"){let{method:S}=oe(U.args);if(S==="forceRevert"){let V=0;if(Fe){let se=Fe.match(/Total\s*:\s*(\d+)/i);se&&(V=parseInt(se[1]))}let ce=Fe&&Fe.startsWith("ERROR:")?"\u2718 Emergency Rollback Failed":`\u2714 Emergency Rollback \u2192 ${V} file${V===1?"":"s"} processed`,ye=115;process.stdout.isTTY&&(ye=process.stdout.columns-5||120);let He=await s(),Oe=!1;He&&(Oe=He.trim().length>0);let _e=Math.min(ce.length+4,ye),q=`${ce.padEnd(_e-2).substring(0,_e-2)}`;yield{type:"visual_feedback",content:Yt(`${ze?`
|
|
805
805
|
`:""}${q}${Oe?"":`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{a as k,c as d}from"./chunk-56EJGQU3.js";import{a as b}from"./chunk-Y5JU726N.js";var I=async(w,s={})=>{let{runSubagent:U}=await import("./ai-
|
|
1
|
+
import{a as k,c as d}from"./chunk-56EJGQU3.js";import{a as b}from"./chunk-Y5JU726N.js";var I=async(w,s={})=>{let{runSubagent:U}=await import("./ai-RUPOI6HE.js"),l=b(w),c=l.task||l.instruction||l.prompt,C=l.model||null,E=l.title||null,m=l.tools||null;if(!c)return'ERROR: Missing "task" argument for invoke.';let f=null;if(m)try{let t=m.trim();t.startsWith("[")&&t.endsWith("]")&&(t=t.substring(1,t.length-1)),f=t.split(",").map(n=>n.trim().replace(/^["']|["']$/g,"")).filter(Boolean)}catch{}let i=`subagent-${Date.now()}-${Math.floor(Math.random()*1e3)}`,h=null,S=null,$=new Promise((t,n)=>{h=t,S=n}),e={id:i,title:E||c.substring(0,30),task:c,status:"running",startedAt:Date.now(),lastChunkTime:Date.now(),wps:0,questions:[],pendingSteerMessages:[],steer:t=>{t&&e.pendingSteerMessages.push(t)},completionPromise:$,_resolveCompletion:h,_rejectCompletion:S,progress:[]},r={chunks:[],totalWords:0};k.push(e),s.onSubagentUpdate&&s.onSubagentUpdate();let a=[],M={...s,taskId:i,onAskMain:async t=>{let n=`q-${Date.now()}-${Math.floor(Math.random()*1e3)}`,o=null,p=new Promise(g=>{o=g}),u={id:n,question:t,answered:!1,answer:null,askedAt:Date.now(),_resolve:o};return e.questions.push(u),e.status="waiting",s.onSubagentUpdate&&s.onSubagentUpdate(),d(`[SYSTEM] Background subagent "${e.title}" is WAITING FOR YOUR INPUT: "${t}"
|
|
2
2
|
Respond using tool: [tool:Answer(id="${i}", answer="...")]
|
|
3
3
|
[/SYSTEM]`),await p},onVisualFeedback:t=>{e.lastChunkTime=Date.now();let n=t.replace(/\x1b\[[0-9;]*m/g,""),o=n.match(/[✔✘✗✖🔍📖→➕↻•]\s*([A-Za-z0-9\s-]+)/);o?e.currentTool=o[1].trim():e.currentTool=n,s.onSubagentUpdate&&s.onSubagentUpdate()},onTokenChunk:(t,n)=>{let o=Date.now();if(e.lastChunkTime=o,e.currentTool="Thinking",typeof n=="number"&&n>0){r.totalWords+=n,r.chunks.push({time:o,words:n});let p=o-400;if(r.chunks=r.chunks.filter(u=>u.time>=p),r.chunks.length>0){let u=r.chunks.reduce((_,A)=>_+A.words,0),T=r.chunks[0].time,g=Math.max(.4,(o-T)/1e3);e.wps=Math.round(u/g)}}s.onSubagentUpdate&&s.onSubagentUpdate()}};return U(c,M,C,f,50,t=>{if(e.status==="cancelled")return;if(t.startsWith("[Subagent Turn")&&a.length>0&&(e.progress.push([...a]),a=[]),t.includes("[Executing Tool]")){let o=t.match(/\[Executing Tool\]\s*([a-zA-Z0-9_]+)/);o&&(!e.currentTool||e.currentTool==="Thinking")&&(e.currentTool=o[1])}let n=t;if(n.startsWith("[Tool Result]")){let o=n.split(`
|
|
4
4
|
`);o.length>5&&(n=o.slice(0,4).join(`
|
|
5
5
|
`)+`
|
|
6
|
-
... [Content/Diff Truncated from Logs] ...`)}a.push(n),s.onSubagentUpdate&&s.onSubagentUpdate()},!0).then(t=>{if(e.status==="cancelled"){e._resolveCompletion&&e._resolveCompletion(t);return}a.length>0&&(e.progress.push([...a]),a=[]),e.status="completed",e.finalAnswer=t,s.onSubagentUpdate&&s.onSubagentUpdate(),d(`[SYSTEM] Background subagent "${e.title}" (id: ${i}) has FINISHED. Call GetProgress(id="${i}") to see the final result. [/SYSTEM]`),e._resolveCompletion&&e._resolveCompletion(t)}).catch(async t=>{let{isTerminationSignaled:n}=await import("./ai-
|
|
6
|
+
... [Content/Diff Truncated from Logs] ...`)}a.push(n),s.onSubagentUpdate&&s.onSubagentUpdate()},!0).then(t=>{if(e.status==="cancelled"){e._resolveCompletion&&e._resolveCompletion(t);return}a.length>0&&(e.progress.push([...a]),a=[]),e.status="completed",e.finalAnswer=t,s.onSubagentUpdate&&s.onSubagentUpdate(),d(`[SYSTEM] Background subagent "${e.title}" (id: ${i}) has FINISHED. Call GetProgress(id="${i}") to see the final result. [/SYSTEM]`),e._resolveCompletion&&e._resolveCompletion(t)}).catch(async t=>{let{isTerminationSignaled:n}=await import("./ai-RUPOI6HE.js");if(t.message==="Subagent task was cancelled."||e.status==="cancelled"||n()){e.status="cancelled",a.push("[SUBAGENT CANCELLED] Task was cancelled."),e.progress.push([...a]),s.onSubagentUpdate&&s.onSubagentUpdate(),e._resolveCompletion&&e._resolveCompletion(null);return}a.push(`[SUBAGENT FAILURE] Error: ${t.message}`),e.progress.push([...a]),e.status="failed",e.error=t.message,s.onSubagentUpdate&&s.onSubagentUpdate(),d(`[SYSTEM] Background subagent "${e.title}" (id: ${i}) FAILED with error: ${t.message}. [/SYSTEM]`),e._rejectCompletion&&e._rejectCompletion(t)}),`SUCCESS: Background subagent started. Task ID: ${i}`};export{I as invoke};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as o}from"./chunk-Y5JU726N.js";var k=async(b,t={})=>{let{runSubagent:u}=await import("./ai-
|
|
2
|
-
`),e}catch(e){let{isTerminationSignaled:i}=await import("./ai-
|
|
1
|
+
import{a as o}from"./chunk-Y5JU726N.js";var k=async(b,t={})=>{let{runSubagent:u}=await import("./ai-RUPOI6HE.js"),s=o(b),a=s.task||s.instruction||s.prompt,m=s.model||null,l=s.tools||null;if(!a)return'ERROR: Missing "task" argument for invokeSync.';let r=null;if(l)try{let e=l.trim();e.startsWith("[")&&e.endsWith("]")&&(e=e.substring(1,e.length-1)),r=e.split(",").map(i=>i.trim().replace(/^["']|["']$/g,"")).filter(Boolean)}catch{}let n=s.title||a.substring(0,30);try{t.onVisualFeedback&&t.onVisualFeedback(`\x1B[95mSubAgent\x1B[0m: \x1B[32mGeneralist\x1B[0m \u2192 ${n}`);let e=await u(a,t,m,r,50);return t.onVisualFeedback&&t.onVisualFeedback(`\x1B[95mSubAgent\x1B[0m: \x1B[32mGeneralist\x1B[0m \u2192 ${n} [COMPLETED]
|
|
2
|
+
`),e}catch(e){let{isTerminationSignaled:i}=await import("./ai-RUPOI6HE.js"),c=e.message==="Subagent task was cancelled by user."||i();if(t.onVisualFeedback){let d=c?"[CANCELLED]":"[FAILED]";t.onVisualFeedback(`\x1B[95mSubAgent\x1B[0m: \x1B[32mGeneralist\x1B[0m \u2192 ${n} ${d}
|
|
3
3
|
`)}return`ERROR: Subagent execution failed: ${e.message}`}};export{k as invokeSync};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"./chunk-
|
|
1
|
+
import{a,b}from"./chunk-FMXVRTDX.js";import"./chunk-RN5BZJYO.js";import"./chunk-I4JQEUHE.js";import"./chunk-QGPOMXO4.js";import"./chunk-SIINYZWE.js";import"./chunk-RI37VZYB.js";export{b as openUsageDashboard,a as startUsageServer};
|
package/dist/cli.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import{a as v}from"./chunks/chunk-RI37VZYB.js";import{spawn as pe}from"child_process";import{fileURLToPath as ee}from"url";import me from"os";import O from"path";import $ from"fs";import F from"dotenv";try{let e=O.join(v,"AGENTS.md"),u=O.join(v,"FLUXFLOW.md");$.existsSync(v)||$.mkdirSync(v,{recursive:!0}),$.existsSync(e)||$.writeFileSync(e,"","utf8"),$.existsSync(u)||$.writeFileSync(u,"","utf8")}catch{}F.config({path:"./.env",override:!0,quiet:!0});F.config({path:`${v}/.env`,override:!0,quiet:!0});F.config({path:`${v}/.env.agents`,override:!0,quiet:!0});F.config({path:`${v}/.env.fluxflow`,override:!0,quiet:!0});F.config({path:"./.env.agents",override:!0,quiet:!0});F.config({path:"./.env.fluxflow",override:!0,quiet:!0});process.env.NO_INS=!1;var de=me.totalmem(),te=de/(1024*1024),ue=.5,ge=Math.floor(te*ue),oe=process.argv.slice(2),Z=oe.indexOf("--allocation"),d=Z!==-1?parseInt(oe[Z+1],10):NaN,fe=process.env.EXPERIMENTAL_MEMORY_MANAGER==="true"||process.env.EXPERIMENTAL_MEMORY_MANAGER==="1"||process.env.EXPERIMENTAL_MEMORY_MANAGER===!0||process.env.EXPERIMENTAL_MEMORY_MANAGER===1||!1,xe=!isNaN(d)||fe||!1;!isNaN(d)&&d<64&&(console.error(`
|
|
3
3
|
[ERROR] Allocation value '${d} MB' is too low. Minimum: 64 MB, Recommended: 4096 MB.
|
|
4
4
|
`),process.exit(1));var I=Math.floor(te*.75),we=!isNaN(d)&&d>0?Math.min(d,I):Math.max(1536,Math.min(32768,ge)),he=ee(import.meta.url).endsWith(".js");if(he&&!process.execArgv.some(e=>e.includes("max-old-space-size"))&&xe)Number.isNaN(d)||(console.log(`
|
|
5
|
-
[MEMORY] Starting with: '${d>I?I:d} MB' Allocation${d>I?" (Max allowed: '"+I+" MB')":""}. Please Wait...`),await new Promise(u=>setTimeout(u,5e3))),pe(process.execPath,[`--max-old-space-size=${we}`,"--expose-gc","--max-semi-space-size=1",ee(import.meta.url),...process.argv.slice(2)],{stdio:"inherit"}).on("exit",u=>process.exit(u||0));else{let e=process.argv.slice(2),u=e.includes("--help")&&e[e.indexOf("--help")+1]==="commands",X=e.includes("--help")&&!u,V=e.includes("--version")||e.includes("-v"),z=e[0]==="--update",J=e[0]==="--export";if(e[0]==="--usage"||e.includes("--usage")||e[0]==="--budget"||e.includes("--budget")){let{openUsageDashboard:t}=await import("./chunks/usageServer-
|
|
5
|
+
[MEMORY] Starting with: '${d>I?I:d} MB' Allocation${d>I?" (Max allowed: '"+I+" MB')":""}. Please Wait...`),await new Promise(u=>setTimeout(u,5e3))),pe(process.execPath,[`--max-old-space-size=${we}`,"--expose-gc","--max-semi-space-size=1",ee(import.meta.url),...process.argv.slice(2)],{stdio:"inherit"}).on("exit",u=>process.exit(u||0));else{let e=process.argv.slice(2),u=e.includes("--help")&&e[e.indexOf("--help")+1]==="commands",X=e.includes("--help")&&!u,V=e.includes("--version")||e.includes("-v"),z=e[0]==="--update",J=e[0]==="--export";if(e[0]==="--usage"||e.includes("--usage")||e[0]==="--budget"||e.includes("--budget")){let{openUsageDashboard:t}=await import("./chunks/usageServer-IDNRWIJW.js"),{url:p}=await t();console.log(`
|
|
6
6
|
\u2726 FluxFlow Token Usage & Analytics Dashboard
|
|
7
7
|
\u2800\u2800\u2514\u2500 Serving at: ${p}
|
|
8
8
|
\u2800\u2800\u2514\u2500 Opened in default browser. Press Ctrl+C to stop.
|
|
@@ -64,11 +64,11 @@ Usage: fluxflow --export error`),process.exit(1)}if(V&&(console.log(`v${g}`),pro
|
|
|
64
64
|
/docs View documentation
|
|
65
65
|
/fluxflow init Create FluxFlow.md template
|
|
66
66
|
/update check Check for new version
|
|
67
|
-
/update latest Install latest release`),process.exit(0)),z){let S=e[1]||"latest";if(S==="check"){let f=e[2]==="latest";try{let m=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;m||(console.error("Error: Could not retrieve latest version."),process.exit(1)),console.log(f?`Latest version: v${m}`:m!==g?`A new version of FluxFlow is available: v${m} (current: v${g}). Run "fluxflow --update latest" to upgrade.`:`FluxFlow is up to date (v${g}).`)}catch(a){console.error("Error checking for updates:",a.message),process.exit(1)}process.exit(0)}else if(S==="latest"){console.log("Checking latest version and settings...");try{let i=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;i||(console.error("Error: Could not retrieve latest version."),process.exit(1)),i===g&&(console.log(`FluxFlow is already up to date (v${g}).`),process.exit(0));let m=async()=>{let s=(await import("react")).default,{useState:A}=s,{render:_,Box:h,Text:E}=await import("ink"),B=(await import("ink-select-input")).default,D=(await import("ink-text-input")).default;return new Promise(j=>{let G=[{label:"NPM",value:"npm"},{label:"PNPM",value:"pnpm"},{label:"Yarn",value:"yarn"},{label:"Bun",value:"bun"},{label:"Custom Command",value:"custom"}],Y=({label:l,isSelected:c})=>s.createElement(h,{width:"100%"},s.createElement(E,{bold:c},"\u2514\u2500 ",c?"\x1B[32m\u25CF\x1B[0m":"\u25CB"," ",l)),T,M=()=>{let[l,c]=A("select"),[q,H]=A(""),R=N=>{N.value==="custom"?c("custom"):k({manager:N.value})},W=N=>{k({manager:"custom",customCommand:N})};return l==="custom"?s.createElement(h,{flexDirection:"column",marginY:1},s.createElement(h,{marginBottom:1},s.createElement(E,{color:"magenta",bold:!0},"\u{1F527} Enter custom update command:")),s.createElement(h,{flexDirection:"row"},s.createElement(E,{color:"cyan",bold:!0}," \u276F "),s.createElement(D,{value:q,onChange:H,onSubmit:W})),s.createElement(h,{marginTop:1},s.createElement(E,{color:"gray",dimColor:!0,italic:!0}," (Press Enter to confirm)"))):s.createElement(h,{flexDirection:"column",marginY:1},s.createElement(h,{marginBottom:1},s.createElement(E,{color:"magenta",bold:!0},"\u{1F4E6} Select a package manager for the update:")),s.createElement(B,{items:G,onSelect:R,itemComponent:Y,indicatorComponent:()=>null}))},k=l=>{T&&T(),j(l)},{unmount:o}=_(s.createElement(M,null));T=o})},n,P="",b;try{let{loadSettings:s}=await import("./chunks/settings-JGWWOFEC.js");b=await s(),n=b?.systemSettings?.updateManager||b?.updateManager}catch{}if(!n){let s=await m();n=s.manager,P=s.customCommand}let x="";n==="pnpm"?x=`pnpm add -g fluxflow-cli@${i}`:n==="bun"?x=`bun add -g fluxflow-cli@${i}`:n==="yarn"?x=`yarn global add fluxflow-cli@${i}`:n==="custom"?x=P||b?.customUpdateCommand||`npm install -g fluxflow-cli@${i}`:x=`npm install -g fluxflow-cli@${i}`,console.log(`Updating FluxFlow to v${i} using ${n}...`),console.log(`Running: ${x}`);let{execSync:C}=await import("child_process");C(x,{stdio:"inherit"}),console.log(`\x1B[32m\u2705 Update successful! FluxFlow updated to v${i}.\x1B[0m`)}catch(f){console.error("\x1B[31m\u274C Update failed:\x1B[0m",f.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:se}=await import("react"),{render:re}=await import("ink"),{default:ne}=await import("./chunks/app-
|
|
67
|
+
/update latest Install latest release`),process.exit(0)),z){let S=e[1]||"latest";if(S==="check"){let f=e[2]==="latest";try{let m=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;m||(console.error("Error: Could not retrieve latest version."),process.exit(1)),console.log(f?`Latest version: v${m}`:m!==g?`A new version of FluxFlow is available: v${m} (current: v${g}). Run "fluxflow --update latest" to upgrade.`:`FluxFlow is up to date (v${g}).`)}catch(a){console.error("Error checking for updates:",a.message),process.exit(1)}process.exit(0)}else if(S==="latest"){console.log("Checking latest version and settings...");try{let i=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;i||(console.error("Error: Could not retrieve latest version."),process.exit(1)),i===g&&(console.log(`FluxFlow is already up to date (v${g}).`),process.exit(0));let m=async()=>{let s=(await import("react")).default,{useState:A}=s,{render:_,Box:h,Text:E}=await import("ink"),B=(await import("ink-select-input")).default,D=(await import("ink-text-input")).default;return new Promise(j=>{let G=[{label:"NPM",value:"npm"},{label:"PNPM",value:"pnpm"},{label:"Yarn",value:"yarn"},{label:"Bun",value:"bun"},{label:"Custom Command",value:"custom"}],Y=({label:l,isSelected:c})=>s.createElement(h,{width:"100%"},s.createElement(E,{bold:c},"\u2514\u2500 ",c?"\x1B[32m\u25CF\x1B[0m":"\u25CB"," ",l)),T,M=()=>{let[l,c]=A("select"),[q,H]=A(""),R=N=>{N.value==="custom"?c("custom"):k({manager:N.value})},W=N=>{k({manager:"custom",customCommand:N})};return l==="custom"?s.createElement(h,{flexDirection:"column",marginY:1},s.createElement(h,{marginBottom:1},s.createElement(E,{color:"magenta",bold:!0},"\u{1F527} Enter custom update command:")),s.createElement(h,{flexDirection:"row"},s.createElement(E,{color:"cyan",bold:!0}," \u276F "),s.createElement(D,{value:q,onChange:H,onSubmit:W})),s.createElement(h,{marginTop:1},s.createElement(E,{color:"gray",dimColor:!0,italic:!0}," (Press Enter to confirm)"))):s.createElement(h,{flexDirection:"column",marginY:1},s.createElement(h,{marginBottom:1},s.createElement(E,{color:"magenta",bold:!0},"\u{1F4E6} Select a package manager for the update:")),s.createElement(B,{items:G,onSelect:R,itemComponent:Y,indicatorComponent:()=>null}))},k=l=>{T&&T(),j(l)},{unmount:o}=_(s.createElement(M,null));T=o})},n,P="",b;try{let{loadSettings:s}=await import("./chunks/settings-JGWWOFEC.js");b=await s(),n=b?.systemSettings?.updateManager||b?.updateManager}catch{}if(!n){let s=await m();n=s.manager,P=s.customCommand}let x="";n==="pnpm"?x=`pnpm add -g fluxflow-cli@${i}`:n==="bun"?x=`bun add -g fluxflow-cli@${i}`:n==="yarn"?x=`yarn global add fluxflow-cli@${i}`:n==="custom"?x=P||b?.customUpdateCommand||`npm install -g fluxflow-cli@${i}`:x=`npm install -g fluxflow-cli@${i}`,console.log(`Updating FluxFlow to v${i} using ${n}...`),console.log(`Running: ${x}`);let{execSync:C}=await import("child_process");C(x,{stdio:"inherit"}),console.log(`\x1B[32m\u2705 Update successful! FluxFlow updated to v${i}.\x1B[0m`)}catch(f){console.error("\x1B[31m\u274C Update failed:\x1B[0m",f.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:se}=await import("react"),{render:re}=await import("ink"),{default:ne}=await import("./chunks/app-AKOJYYHC.js");process.env.NODE_NO_WARNINGS="1";let ae=["cuimp","Found existing binary","Binary verified","curl.exe not found","Falling back to .bat file","DeprecationWarning"],ie=console.log,le=console.warn,ce=console.error,L=t=>{let p=t.map(String).join(" ");return ae.some(r=>p.includes(r))};console.log=(...t)=>!L(t)&&ie(...t),console.warn=(...t)=>!L(t)&&le(...t),console.error=(...t)=>!L(t)&&ce(...t);let U=e.findIndex(t=>t==="--cwd"||t==="--path");if(U!==-1&&U+1<e.length){let t=e[U+1],p=await import("path"),r=await import("fs-extra"),w=p.default.resolve(t);try{r.default.existsSync(w)&&r.default.statSync(w).isDirectory()?process.chdir(w):(console.error(`[ERROR] Directory not found: "${t}"`),process.exit(0))}catch(y){console.error(`[ERROR] Failed to change directory to "${t}": ${y.message}`),process.exit(0)}}let K=e.findIndex(t=>t==="-p"||t==="--prompt");if(K!==-1){let t=e.includes("--new")||e.includes("-n"),r=e.slice(K+1).filter(o=>o!=="-n"&&o!=="--new")[0];if(!process.stdin.isTTY){let o=[];for await(let c of process.stdin)o.push(c);let l=Buffer.concat(o).toString("utf8").trim();l&&(r?r=`Stdin Context:
|
|
68
68
|
${l}
|
|
69
69
|
---
|
|
70
70
|
|
|
71
|
-
${r}`:r=l)}r||(console.error("[ERROR] -p/--prompt requires a prompt string (or piped stdin input)."),process.exit(1));let{loadSettings:w}=await import("./chunks/settings-JGWWOFEC.js"),{getProviderAPIKey:y}=await import("./chunks/secrets-RFEEPY3S.js"),{getDefaultModel:g}=await import("./chunks/model_config-UZLNHYP5.js"),{generateSimpleContent:S}=await import("./chunks/ai-
|
|
71
|
+
${r}`:r=l)}r||(console.error("[ERROR] -p/--prompt requires a prompt string (or piped stdin input)."),process.exit(1));let{loadSettings:w}=await import("./chunks/settings-JGWWOFEC.js"),{getProviderAPIKey:y}=await import("./chunks/secrets-RFEEPY3S.js"),{getDefaultModel:g}=await import("./chunks/model_config-UZLNHYP5.js"),{generateSimpleContent:S}=await import("./chunks/ai-RUPOI6HE.js"),{checkQuotaDetailed:f}=await import("./chunks/usage-XHKS6GHC.js"),a=await w(),i=e.filter(o=>o!=="-p"&&o!=="--prompt"&&o!==r&&o!=="-n"&&o!=="--new"),m=o=>{for(let l of o){let c=i.indexOf(l);if(c!==-1&&c+1<i.length)return i[c+1]}return null},n=m(["--provider"])||a.aiProvider||"Google",P=m(["--model"])||a.activeModel||g(n,a.apiTier)||g(n,"paid"),b=m(["--key"])||await y(n);b||(console.error(`[ERROR] No API key resolved for provider "${n}".`),process.exit(1));let x=await f("agent",{aiProvider:n});x.allowed||(console.error(`[ERROR] ${x.reason||"Budget Exhausted"} - adjust with /budget set.`),process.exit(1));let C={aiProvider:n,apiKey:b,model:P,mode:"flow",thinkingLevel:m(["--thinking"])||"Fast",systemSettings:a.systemSettings||{}},s=process.platform==="win32"?"Windows":process.platform==="darwin"?"macOS":"Linux",A=new Date,_=A.getFullYear(),h=A.toLocaleString("en-US",{month:"short"}).toUpperCase(),E=String(A.getDate()).padStart(2,"0"),B=A.toLocaleTimeString([],{hour:"2-digit",hour12:!0}),D=`${_}-${h}-${E}, ${B}`,j=`Identity: FluxFlow. Sassy, CLI Assistant
|
|
72
72
|
Use NO markdown, only plain text
|
|
73
73
|
Additional Context:
|
|
74
74
|
- OS: ${s}
|
package/dist/package.json
CHANGED