ispbills-icli 8.5.9 → 8.6.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/package.json +1 -1
- package/src/tui/app.js +6 -4
- package/src/tui/components.js +8 -7
package/package.json
CHANGED
package/src/tui/app.js
CHANGED
|
@@ -1822,7 +1822,7 @@ export function App({ cfg, display = {}, onExternal, onExit, initialQuestion, sh
|
|
|
1822
1822
|
<${Box} flexDirection="column" width=${cols}>
|
|
1823
1823
|
<${Static} key=${clearEpoch} items=${staticItems}>
|
|
1824
1824
|
${(it) => it.type === 'banner'
|
|
1825
|
-
? html`<${Box} key=${it.id} flexDirection="column" alignItems="center"
|
|
1825
|
+
? html`<${Box} key=${it.id} flexDirection="column" alignItems="center">
|
|
1826
1826
|
<${Banner} cfg=${cfg} model=${model} width=${cols} compact=${compact} streamerMode=${streamerMode} />
|
|
1827
1827
|
<//>`
|
|
1828
1828
|
: renderItem(it)}
|
|
@@ -1830,10 +1830,10 @@ export function App({ cfg, display = {}, onExternal, onExit, initialQuestion, sh
|
|
|
1830
1830
|
|
|
1831
1831
|
${live
|
|
1832
1832
|
? html`<${Box} flexDirection="column">
|
|
1833
|
-
|
|
1833
|
+
${live.text ? html`<${AssistantMessage} text=${live.text} cols=${cols} ts=${startedAt || Date.now()} streaming=${true} />` : null}
|
|
1834
1834
|
${live.reasoning ? html`<${Reasoning} text=${live.reasoning} show=${showReasoning} />` : null}
|
|
1835
1835
|
${live.reply?.steps ? html`<${Plan} reply=${live.reply} live=${true} />` : null}
|
|
1836
|
-
|
|
1836
|
+
<${StatusLines} lines=${live.status} busy=${busy} />
|
|
1837
1837
|
<${Thinking} label=${live.reply ? 'Planning' : live.text ? 'Responding' : 'Working'} startedAt=${startedAt} />
|
|
1838
1838
|
<//>`
|
|
1839
1839
|
: null}
|
|
@@ -1872,7 +1872,9 @@ export function App({ cfg, display = {}, onExternal, onExit, initialQuestion, sh
|
|
|
1872
1872
|
<//>`
|
|
1873
1873
|
: null}
|
|
1874
1874
|
|
|
1875
|
-
<${
|
|
1875
|
+
<${Box} marginTop=${1}>
|
|
1876
|
+
<${TabBar} active=${activeTab} cols=${cols} mode=${composerMode} />
|
|
1877
|
+
<//>
|
|
1876
1878
|
|
|
1877
1879
|
${tabPanel && !diffState
|
|
1878
1880
|
? html`<${Box} flexDirection="column" paddingX=${1} paddingY=${1}>
|
package/src/tui/components.js
CHANGED
|
@@ -315,17 +315,18 @@ export function StatusLines({ lines = [], busy = false }) {
|
|
|
315
315
|
const em = String(line).match(LEAD_EMOJI);
|
|
316
316
|
const body = em ? String(line).slice(em[0].length) : String(line).replace(/^[\s◈◆●○◎⇢→>*✓✗×!⚠·-]+/u, '');
|
|
317
317
|
const ci = body.indexOf(':');
|
|
318
|
-
const action = ci > -1 ? body.slice(0, ci) : body;
|
|
318
|
+
const action = ci > -1 ? body.slice(0, ci).trim() : body.trim();
|
|
319
319
|
const detail = ci > -1 ? body.slice(ci + 1).trim() : '';
|
|
320
|
+
// §6/§23: render as [Tool call: name detail] ✓/spinner chip
|
|
321
|
+
const chipLabel = detail ? `${em ? em[1] : ''}${action} ${detail}` : `${em ? em[1] : ''}${action}`;
|
|
320
322
|
return html`
|
|
321
|
-
<${Box} key=${'s' + i}>
|
|
323
|
+
<${Box} key=${'s' + i} marginTop=${0}>
|
|
324
|
+
<${Text} color=${C.muted}> <//>
|
|
325
|
+
<${Text} color=${running ? C.warning : C.muted}>[<//>
|
|
326
|
+
<${Text} color=${running ? C.white : C.muted} bold=${running}>${chipLabel.trim()}<//><${Text} color=${running ? C.warning : C.muted}>]<//><${Text}> <//>
|
|
322
327
|
${running
|
|
323
328
|
? html`<${Text} color=${C.accent}><${Spinner} type=${spinnerType()} /><//>`
|
|
324
|
-
: html`<${Text} color=${C.
|
|
325
|
-
<${Text}> <//>
|
|
326
|
-
${em ? html`<${Text}>${em[1]} <//>` : null}
|
|
327
|
-
<${Text} color=${running ? C.white : C.gray} bold=${running}>${action}<//>
|
|
328
|
-
${detail ? html`<${Text} color=${C.gray}>: ${detail}<//>` : null}
|
|
329
|
+
: html`<${Text} color=${C.success}>${glyphs.check}<//>`}
|
|
329
330
|
<//>`;
|
|
330
331
|
})}
|
|
331
332
|
<//>`;
|