@namzu/cli 14.1.0 → 14.2.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/README.md +20 -9
- package/dist/commands/login.d.ts +21 -3
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +33 -21
- package/dist/commands/login.js.map +1 -1
- package/dist/integrations/providers/discover.d.ts +4 -0
- package/dist/integrations/providers/discover.d.ts.map +1 -1
- package/dist/integrations/providers/discover.js +55 -37
- package/dist/integrations/providers/discover.js.map +1 -1
- package/dist/integrations/providers/harness-credentials.d.ts +44 -9
- package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
- package/dist/integrations/providers/harness-credentials.js +140 -11
- package/dist/integrations/providers/harness-credentials.js.map +1 -1
- package/dist/integrations/providers/identity.d.ts +20 -24
- package/dist/integrations/providers/identity.d.ts.map +1 -1
- package/dist/integrations/providers/identity.js +20 -24
- package/dist/integrations/providers/identity.js.map +1 -1
- package/dist/integrations/providers/index.d.ts +1 -1
- package/dist/integrations/providers/index.d.ts.map +1 -1
- package/dist/integrations/providers/index.js +1 -1
- package/dist/integrations/providers/index.js.map +1 -1
- package/dist/integrations/providers/oauth.d.ts +8 -3
- package/dist/integrations/providers/oauth.d.ts.map +1 -1
- package/dist/integrations/providers/oauth.js +37 -11
- package/dist/integrations/providers/oauth.js.map +1 -1
- package/dist/integrations/providers/subscription-login.d.ts +7 -41
- package/dist/integrations/providers/subscription-login.d.ts.map +1 -1
- package/dist/integrations/providers/subscription-login.js +26 -149
- package/dist/integrations/providers/subscription-login.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +316 -83
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/ChoicePicker.d.ts +14 -0
- package/dist/tui/ChoicePicker.d.ts.map +1 -0
- package/dist/tui/ChoicePicker.js +15 -0
- package/dist/tui/ChoicePicker.js.map +1 -0
- package/dist/tui/Picker.d.ts +4 -2
- package/dist/tui/Picker.d.ts.map +1 -1
- package/dist/tui/Picker.js +99 -10
- package/dist/tui/Picker.js.map +1 -1
- package/dist/tui/StatusBar.d.ts +24 -40
- package/dist/tui/StatusBar.d.ts.map +1 -1
- package/dist/tui/StatusBar.js +71 -106
- package/dist/tui/StatusBar.js.map +1 -1
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +10 -8
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/login-prompt.d.ts +0 -1
- package/dist/tui/login-prompt.d.ts.map +1 -1
- package/dist/tui/login-prompt.js +1 -6
- package/dist/tui/login-prompt.js.map +1 -1
- package/dist/tui/slashCommands.d.ts +8 -0
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +20 -15
- package/dist/tui/slashCommands.js.map +1 -1
- package/package.json +4 -4
package/dist/tui/Picker.js
CHANGED
|
@@ -36,7 +36,7 @@ function keyEntryTarget(keyEntryFor) {
|
|
|
36
36
|
}
|
|
37
37
|
return keyCapableProviders()[0] ?? null;
|
|
38
38
|
}
|
|
39
|
-
export function Picker({ detected, currentProvider, selectionKind = 'provider-and-model', currentModel, initialView = 'providers', onSubmit, onCancel, describeModels = describeProviderModels, onCredential, onLogin, verify = verifyCredential, keyEntryFor, notice, }) {
|
|
39
|
+
export function Picker({ detected, currentProvider, selectionKind = 'provider-and-model', currentModel, initialView = 'providers', onSubmit, onCancel, describeModels = describeProviderModels, onCredential, onLogin, onLoginComplete, verify = verifyCredential, keyEntryFor, notice, }) {
|
|
40
40
|
/**
|
|
41
41
|
* The one foreign operation still allowed to publish into this picker.
|
|
42
42
|
*
|
|
@@ -79,6 +79,7 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
|
|
|
79
79
|
const [modelPhase, setModelPhase] = useState(null);
|
|
80
80
|
const [loginPhase, setLoginPhase] = useState(initialView === 'subscriptions');
|
|
81
81
|
useEffect(() => setLoginPhase(initialView === 'subscriptions'), [initialView]);
|
|
82
|
+
const [loginEntry, setLoginEntry] = useState(null);
|
|
82
83
|
// Key entry. `value` is the secret and never leaves this component except as
|
|
83
84
|
// a mask or as the credential handed to `onCredential`.
|
|
84
85
|
//
|
|
@@ -136,7 +137,72 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
|
|
|
136
137
|
// another choice aborts it, so a late session cannot replace the newer one.
|
|
137
138
|
onCredential?.(cred, describeDisposition(entry, verification, kind), operation.controller.signal);
|
|
138
139
|
};
|
|
140
|
+
const acceptLogin = async () => {
|
|
141
|
+
const entry = loginEntry;
|
|
142
|
+
const operation = operationRef.current;
|
|
143
|
+
if (!entry || entry.status !== 'typing' || !operation || !onLoginComplete)
|
|
144
|
+
return;
|
|
145
|
+
if (entry.value.trim().length === 0) {
|
|
146
|
+
setLoginEntry({
|
|
147
|
+
...entry,
|
|
148
|
+
problem: 'Paste the authorization code or finished address first.',
|
|
149
|
+
});
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
setLoginEntry({ ...entry, status: 'checking', problem: undefined });
|
|
153
|
+
try {
|
|
154
|
+
const disposition = await onLoginComplete(entry.value, operation.controller.signal);
|
|
155
|
+
if (!ownsOperation(operation))
|
|
156
|
+
return;
|
|
157
|
+
if (disposition === 'retry') {
|
|
158
|
+
setLoginEntry({
|
|
159
|
+
...entry,
|
|
160
|
+
status: 'typing',
|
|
161
|
+
problem: 'That value could not finish this sign-in. Check the address or code and try again.',
|
|
162
|
+
});
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
finishOperation(operation);
|
|
166
|
+
setLoginEntry(null);
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
if (!ownsOperation(operation))
|
|
170
|
+
return;
|
|
171
|
+
setLoginEntry({
|
|
172
|
+
...entry,
|
|
173
|
+
status: 'typing',
|
|
174
|
+
problem: `Could not finish sign-in: ${error instanceof Error ? error.message : String(error)}`,
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
};
|
|
139
178
|
useInput((input, key) => {
|
|
179
|
+
if (loginEntry) {
|
|
180
|
+
if (key.escape) {
|
|
181
|
+
invalidateOperation();
|
|
182
|
+
setLoginEntry(null);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
if (loginEntry.status !== 'typing')
|
|
186
|
+
return;
|
|
187
|
+
if (key.return) {
|
|
188
|
+
void acceptLogin();
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (key.backspace || key.delete) {
|
|
192
|
+
setLoginEntry((current) => current
|
|
193
|
+
? {
|
|
194
|
+
...current,
|
|
195
|
+
value: current.value.slice(0, -1),
|
|
196
|
+
problem: undefined,
|
|
197
|
+
}
|
|
198
|
+
: current);
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
if (input && !key.ctrl && !key.meta) {
|
|
202
|
+
setLoginEntry((current) => current ? { ...current, value: current.value + input, problem: undefined } : current);
|
|
203
|
+
}
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
140
206
|
// Key entry owns the keyboard while it is open: every printable character
|
|
141
207
|
// is part of a secret, so nothing here may fall through to a shortcut.
|
|
142
208
|
if (keyEntry) {
|
|
@@ -236,16 +302,30 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
|
|
|
236
302
|
const chosen = choices[cursor];
|
|
237
303
|
if (!chosen || !chosen.subscriptionLogin)
|
|
238
304
|
return;
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
305
|
+
if (!onLogin) {
|
|
306
|
+
setErrorHint('Subscription sign-in is not available on this screen.');
|
|
307
|
+
return;
|
|
242
308
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
309
|
+
const operation = beginOperation();
|
|
310
|
+
setLoginEntry({ entry: chosen, value: '', status: 'starting' });
|
|
311
|
+
void onLogin(chosen.id, operation.controller.signal)
|
|
312
|
+
.then((disposition) => {
|
|
313
|
+
if (!ownsOperation(operation))
|
|
314
|
+
return;
|
|
315
|
+
if (disposition === 'awaiting-input') {
|
|
316
|
+
setLoginEntry({ entry: chosen, value: '', status: 'typing' });
|
|
317
|
+
return;
|
|
247
318
|
}
|
|
248
|
-
|
|
319
|
+
finishOperation(operation);
|
|
320
|
+
setLoginEntry(null);
|
|
321
|
+
})
|
|
322
|
+
.catch((error) => {
|
|
323
|
+
if (!ownsOperation(operation))
|
|
324
|
+
return;
|
|
325
|
+
finishOperation(operation);
|
|
326
|
+
setLoginEntry(null);
|
|
327
|
+
setErrorHint(`Could not start sign-in: ${error instanceof Error ? error.message : String(error)}`);
|
|
328
|
+
});
|
|
249
329
|
return;
|
|
250
330
|
}
|
|
251
331
|
const selected = Number.parseInt(input, 10);
|
|
@@ -346,6 +426,13 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
|
|
|
346
426
|
// Above every screen this picker draws, so the reason is on the same frame as
|
|
347
427
|
// the choice it is asking for.
|
|
348
428
|
const noticeBox = notice ? (_jsx(Box, { paddingBottom: 1, children: _jsx(Text, { color: theme.status.warn, children: notice }) })) : null;
|
|
429
|
+
if (loginEntry) {
|
|
430
|
+
const waitsForDeviceApproval = loginEntry.entry.subscriptionLogin === 'device';
|
|
431
|
+
const painted = loginEntry.value
|
|
432
|
+
? `${'•'.repeat(Math.min(loginEntry.value.length, 32))}${loginEntry.value.length > 32 ? '…' : ''}`
|
|
433
|
+
: '(nothing pasted yet)';
|
|
434
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [noticeBox, _jsxs(Text, { color: theme.accent.system, bold: true, children: ["Complete ", loginEntry.entry.label, " sign-in"] }), waitsForDeviceApproval ? (_jsx(Text, { color: theme.text.muted, children: "Approve the device code shown above in your browser. esc cancels." })) : (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.text.muted, children: "Paste the authorization code, or the finished browser address, then press enter. esc cancels." }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: loginEntry.value ? theme.text.primary : theme.text.muted, children: painted }) })] })), _jsxs(Box, { paddingTop: 1, flexDirection: "column", children: [loginEntry.status === 'starting' ? (_jsx(Text, { color: theme.text.muted, children: waitsForDeviceApproval ? 'Waiting for browser approval…' : 'Starting browser sign-in…' })) : loginEntry.status === 'checking' ? (_jsx(Text, { color: theme.text.muted, children: "Finishing sign-in\u2026" })) : null, loginEntry.problem ? _jsx(Text, { color: theme.status.warn, children: loginEntry.problem }) : null] })] }));
|
|
435
|
+
}
|
|
349
436
|
if (keyEntry) {
|
|
350
437
|
const { entry } = keyEntry;
|
|
351
438
|
// What the operator has typed SO FAR, classified live. It settles as they
|
|
@@ -367,7 +454,9 @@ export function Picker({ detected, currentProvider, selectionKind = 'provider-an
|
|
|
367
454
|
// keyboard cannot drift apart.
|
|
368
455
|
const entryTarget = keyEntryFor && onCredential ? keyEntryTarget(keyEntryFor) : null;
|
|
369
456
|
if (detected.length === 0) {
|
|
370
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.status.warn, paddingX: 1, children: [noticeBox, _jsx(Text, { color: theme.status.warn, bold: true, children: "No providers detected" }), _jsxs(Box, { paddingTop: 1, flexDirection: "column", children: [_jsx(Text, { color: theme.text.primary, children: "namzu scans these sources, in order, for an LLM credential:" }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 existing", ' ', subscriptionProviders()
|
|
457
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.status.warn, paddingX: 1, children: [noticeBox, _jsx(Text, { color: theme.status.warn, bold: true, children: "No providers detected" }), _jsxs(Box, { paddingTop: 1, flexDirection: "column", children: [_jsx(Text, { color: theme.text.primary, children: "namzu scans these sources, in order, for an LLM credential:" }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 existing", ' ', subscriptionProviders()
|
|
458
|
+
.map((entry) => entry.label)
|
|
459
|
+
.join(' and '), ' ', "sessions on this device"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 subscriptions signed in to from namzu (~/.namzu/credentials.json)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 env vars / API keys (optional alternatives: ANTHROPIC_API_KEY, OPENAI_API_KEY, \u2026)"] }), _jsxs(Text, { color: theme.text.muted, children: [' ', "\u00B7 local servers (Ollama localhost:11434, LM Studio localhost:1234)"] })] }), onLogin ? (_jsx(Box, { paddingTop: 1, children: _jsxs(Text, { color: theme.text.primary, children: ["Press ", _jsx(Text, { color: theme.accent.system, children: "l" }), " to sign in with a subscription \u2014 no API key, and namzu keeps it for next time."] }) })) : null, _jsx(Box, { paddingTop: 1, children: _jsxs(Text, { color: theme.text.primary, children: ["Or press ", _jsx(Text, { color: theme.accent.system, children: "k" }), " to paste a credential now and use it for this session."] }) }), _jsx(Box, { paddingTop: 1, children: _jsx(Text, { color: theme.text.secondary, children: "You can also set one of the env vars above (or start a local server) and restart." }) }), _jsx(Box, { paddingTop: 1, children: _jsxs(Text, { color: theme.text.muted, children: [onLogin ? 'l: sign in · ' : '', "k: enter a credential \u00B7 esc: exit picker"] }) })] }));
|
|
371
460
|
}
|
|
372
461
|
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border.focus, paddingX: 1, children: [noticeBox, _jsxs(Box, { flexDirection: "column", paddingBottom: 1, children: [_jsx(Text, { color: theme.accent.system, bold: true, children: selectionKind === 'signed-in-subscription'
|
|
373
462
|
? 'Choose a signed-in subscription'
|
package/dist/tui/Picker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Picker.js","sourceRoot":"","sources":["../../src/tui/Picker.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Picker.js","sourceRoot":"","sources":["../../src/tui/Picker.tsx"],"names":[],"mappings":"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"}
|
package/dist/tui/StatusBar.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* One-line status footer.
|
|
3
3
|
*
|
|
4
|
-
* Layout
|
|
5
|
-
*
|
|
6
|
-
* so
|
|
4
|
+
* Layout follows the operator's reading order: `model effort · cwd` on the
|
|
5
|
+
* left, current goal or interaction status on the right. The right side owns
|
|
6
|
+
* its columns first so a deep path cannot erase the key that exits a prompt.
|
|
7
7
|
*/
|
|
8
8
|
import type { CostInfo } from '@namzu/sdk';
|
|
9
9
|
/**
|
|
@@ -23,6 +23,9 @@ export interface StatusBarProps {
|
|
|
23
23
|
readonly cwd: string;
|
|
24
24
|
readonly provider: string | null;
|
|
25
25
|
readonly model: string | null;
|
|
26
|
+
readonly effort?: string | null;
|
|
27
|
+
/** Ambient durable goal status; interaction hints take precedence. */
|
|
28
|
+
readonly goal?: string | null;
|
|
26
29
|
readonly state: 'idle' | 'thinking' | 'tool' | 'awaiting-permission';
|
|
27
30
|
readonly hint?: string;
|
|
28
31
|
readonly usage?: {
|
|
@@ -32,7 +35,7 @@ export interface StatusBarProps {
|
|
|
32
35
|
/** Kernel-reported context fill — drives the gauge. */
|
|
33
36
|
readonly context?: ContextFill | null;
|
|
34
37
|
}
|
|
35
|
-
export declare function StatusBar({ cwd, provider, model, state, hint, usage, context }: StatusBarProps): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
export declare function StatusBar({ cwd, provider, model, effort, goal, state, hint, usage, context, }: StatusBarProps): import("react/jsx-runtime").JSX.Element;
|
|
36
39
|
export interface ContextGauge {
|
|
37
40
|
readonly bar: string;
|
|
38
41
|
readonly pct: number;
|
|
@@ -65,50 +68,31 @@ export declare function buildGauge(context: ContextFill | null | undefined): Con
|
|
|
65
68
|
* a word broken in half.
|
|
66
69
|
*/
|
|
67
70
|
export declare function shortenPathToFit(path: string, max: number): string;
|
|
71
|
+
export interface StatusLineLayout {
|
|
72
|
+
readonly primary: string | null;
|
|
73
|
+
readonly effort: string | null;
|
|
74
|
+
readonly cwd: string | null;
|
|
75
|
+
readonly gap: string;
|
|
76
|
+
readonly right: string;
|
|
77
|
+
}
|
|
68
78
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* The line is one row that truncates from the end, and the hint sits at the
|
|
72
|
-
* end — so anything ahead of it that grows pushes it off the screen. The hint
|
|
73
|
-
* is the only place any key is advertised: the trust gate's `Esc`, the
|
|
74
|
-
* permission prompt's `y`/`n`/`a`, the picker's exits all exist on screen here
|
|
75
|
-
* and nowhere else. Losing it strands the operator on a screen whose exits have
|
|
76
|
-
* become undiscoverable, so it is the one thing never dropped.
|
|
77
|
-
*
|
|
78
|
-
* Everything else is recoverable elsewhere and yields in this order:
|
|
79
|
-
*
|
|
80
|
-
* 1. **usage** — `/cost` prints it exactly, and this is the abbreviation.
|
|
81
|
-
* 2. **the context gauge** — same figure, same command.
|
|
82
|
-
* 3. **provider** — the longest segment and the least distinctive, since the
|
|
83
|
-
* model name already implies it. A credential-qualified provider label runs
|
|
84
|
-
* to about thirty columns and repeats a vendor the model string has already
|
|
85
|
-
* named.
|
|
86
|
-
* 4. **the working directory, shortened** — a shortened path still orients,
|
|
87
|
-
* so it is cut before anything else is given up.
|
|
88
|
-
* 5. **model**, and only then the path entirely. Both are on the banner and in
|
|
89
|
-
* `/model`, but between them these are the two facts worth keeping longest:
|
|
90
|
-
* where you are, and what is answering you.
|
|
91
|
-
*
|
|
92
|
-
* The order was corrected by the tests: dropping the path first discarded a
|
|
93
|
-
* two-character cwd to save five columns while a thirty-column provider label
|
|
94
|
-
* survived, which is the wrong trade in every case it can happen.
|
|
79
|
+
* Fit the left identity around an authoritative right-side indicator.
|
|
95
80
|
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
81
|
+
* A hint can be the only on-screen explanation of how to leave a prompt, and
|
|
82
|
+
* a goal label is the durable work state the screenshot is meant to expose.
|
|
83
|
+
* Both therefore reserve their width before a path does. The path shortens
|
|
84
|
+
* from the left; effort then yields; the model is the last left-side fact.
|
|
100
85
|
*/
|
|
101
86
|
export declare function fitStatusLine(input: {
|
|
102
87
|
readonly columns: number;
|
|
103
88
|
readonly cwd: string;
|
|
104
89
|
readonly provider: string | null;
|
|
105
90
|
readonly model: string | null;
|
|
91
|
+
readonly effort?: string | null;
|
|
106
92
|
readonly usage: string | null;
|
|
107
|
-
readonly
|
|
108
|
-
readonly stateLabel: string;
|
|
93
|
+
readonly context: string | null;
|
|
94
|
+
readonly stateLabel: string | null;
|
|
109
95
|
readonly hint?: string | undefined;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
readonly showGauge: boolean;
|
|
113
|
-
};
|
|
96
|
+
readonly goal?: string | null | undefined;
|
|
97
|
+
}): StatusLineLayout;
|
|
114
98
|
//# sourceMappingURL=StatusBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAK1C;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAA;CACzE;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,qBAAqB,CAAA;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/D,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACrC;AAED,wBAAgB,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../src/tui/StatusBar.tsx"],"names":[],"mappings":"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"}
|
package/dist/tui/StatusBar.js
CHANGED
|
@@ -1,34 +1,30 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Text, useStdout } from 'ink';
|
|
3
3
|
import { theme } from './theme.js';
|
|
4
|
-
export function StatusBar({ cwd, provider, model, state, hint, usage, context }) {
|
|
4
|
+
export function StatusBar({ cwd, provider, model, effort, goal, state, hint, usage, context, }) {
|
|
5
5
|
const { stdout } = useStdout();
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
columns: stdout?.columns ?? 80,
|
|
6
|
+
const gauge = buildGauge(context);
|
|
7
|
+
const layout = fitStatusLine({
|
|
8
|
+
// App gives the footer one cell of horizontal padding on each side. Ink's
|
|
9
|
+
// stdout width is the whole terminal, so reserve those cells here rather
|
|
10
|
+
// than letting its final two characters be clipped after fitting succeeds.
|
|
11
|
+
columns: Math.max(0, (stdout?.columns ?? 80) - 2),
|
|
13
12
|
cwd: shortenCwd(cwd),
|
|
14
13
|
provider,
|
|
15
14
|
model,
|
|
15
|
+
effort: model ? (effort ?? 'default') : null,
|
|
16
16
|
usage: usage && usage.totalTokens > 0 ? formatUsage(usage) : null,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
stateLabel,
|
|
17
|
+
context: gauge ? `ctx ${gauge.bar} ${gauge.approximate ? '~' : ''}${gauge.pct}%` : null,
|
|
18
|
+
stateLabel: stateGlyph(state),
|
|
20
19
|
hint,
|
|
20
|
+
goal,
|
|
21
21
|
});
|
|
22
|
-
|
|
23
|
-
// A single Text with `truncate-end` keeps the footer to exactly one line
|
|
24
|
-
// on narrow terminals (it shrinks with an ellipsis instead of wrapping),
|
|
25
|
-
// while nested Text spans preserve per-segment color.
|
|
26
|
-
return (_jsxs(Text, { wrap: "truncate-end", children: [_jsx(Text, { color: theme.text.muted, children: meta }), gauge ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.text.muted, children: " \u00B7 ctx " }), _jsxs(Text, { color: gauge.color, children: [gauge.bar, " ", gauge.approximate ? '~' : '', gauge.pct, "%"] })] })) : null, _jsx(Text, { color: theme.text.muted, children: " \u2502 " }), _jsx(Text, { color: colorForState(state), children: stateLabel }), hint ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.text.muted, children: " \u2502 " }), _jsx(Text, { color: theme.text.secondary, children: hint })] })) : null] }));
|
|
22
|
+
return (_jsxs(Text, { wrap: "truncate-end", children: [layout.primary ? (_jsx(Text, { color: theme.status.warn, bold: true, children: layout.primary })) : null, layout.effort ? _jsxs(Text, { color: theme.text.secondary, children: [" ", layout.effort] }) : null, layout.cwd ? (_jsxs(_Fragment, { children: [layout.primary ? _jsx(Text, { color: theme.text.muted, children: " \u00B7 " }) : null, _jsx(Text, { color: theme.status.ok, children: layout.cwd })] })) : null, _jsx(Text, { children: layout.gap }), _jsx(Text, { color: goal && !hint ? theme.accent.system : colorForState(state), children: layout.right })] }));
|
|
27
23
|
}
|
|
28
24
|
function stateGlyph(state) {
|
|
29
25
|
switch (state) {
|
|
30
26
|
case 'idle':
|
|
31
|
-
return
|
|
27
|
+
return null;
|
|
32
28
|
case 'thinking':
|
|
33
29
|
return '◐ thinking';
|
|
34
30
|
case 'tool':
|
|
@@ -129,100 +125,69 @@ export function shortenPathToFit(path, max) {
|
|
|
129
125
|
return `…${snapped}`;
|
|
130
126
|
}
|
|
131
127
|
/**
|
|
132
|
-
*
|
|
128
|
+
* Fit the left identity around an authoritative right-side indicator.
|
|
133
129
|
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
* and nowhere else. Losing it strands the operator on a screen whose exits have
|
|
139
|
-
* become undiscoverable, so it is the one thing never dropped.
|
|
140
|
-
*
|
|
141
|
-
* Everything else is recoverable elsewhere and yields in this order:
|
|
142
|
-
*
|
|
143
|
-
* 1. **usage** — `/cost` prints it exactly, and this is the abbreviation.
|
|
144
|
-
* 2. **the context gauge** — same figure, same command.
|
|
145
|
-
* 3. **provider** — the longest segment and the least distinctive, since the
|
|
146
|
-
* model name already implies it. A credential-qualified provider label runs
|
|
147
|
-
* to about thirty columns and repeats a vendor the model string has already
|
|
148
|
-
* named.
|
|
149
|
-
* 4. **the working directory, shortened** — a shortened path still orients,
|
|
150
|
-
* so it is cut before anything else is given up.
|
|
151
|
-
* 5. **model**, and only then the path entirely. Both are on the banner and in
|
|
152
|
-
* `/model`, but between them these are the two facts worth keeping longest:
|
|
153
|
-
* where you are, and what is answering you.
|
|
154
|
-
*
|
|
155
|
-
* The order was corrected by the tests: dropping the path first discarded a
|
|
156
|
-
* two-character cwd to save five columns while a thirty-column provider label
|
|
157
|
-
* survived, which is the wrong trade in every case it can happen.
|
|
158
|
-
*
|
|
159
|
-
* Measured rather than assumed, and the measurement changed the design: a
|
|
160
|
-
* SHORT path still lost the hint at 100 columns, because a realistic provider
|
|
161
|
-
* and model fill the line between them. Shortening the path alone would have
|
|
162
|
-
* fixed the case that was easiest to picture and left the common one broken.
|
|
130
|
+
* A hint can be the only on-screen explanation of how to leave a prompt, and
|
|
131
|
+
* a goal label is the durable work state the screenshot is meant to expose.
|
|
132
|
+
* Both therefore reserve their width before a path does. The path shortens
|
|
133
|
+
* from the left; effort then yields; the model is the last left-side fact.
|
|
163
134
|
*/
|
|
164
135
|
export function fitStatusLine(input) {
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
let
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
136
|
+
const columns = Math.max(0, input.columns);
|
|
137
|
+
const ambient = [input.context, input.usage, input.stateLabel].filter((value) => Boolean(value));
|
|
138
|
+
const interaction = [input.stateLabel, input.hint]
|
|
139
|
+
.filter((value) => Boolean(value))
|
|
140
|
+
.join(' · ');
|
|
141
|
+
let right = input.hint
|
|
142
|
+
? [input.context, input.usage, interaction]
|
|
143
|
+
.filter((value) => Boolean(value))
|
|
144
|
+
.join(' · ')
|
|
145
|
+
: input.goal
|
|
146
|
+
? input.goal
|
|
147
|
+
: ambient.join(' · ');
|
|
148
|
+
if (right.length > columns)
|
|
149
|
+
right = shortenRightToFit(right, columns);
|
|
150
|
+
const primarySource = input.model ?? input.provider;
|
|
151
|
+
let primary = primarySource;
|
|
152
|
+
let effort = primary && input.model ? (input.effort ?? null) : null;
|
|
153
|
+
let cwd = input.cwd.length > 0 ? input.cwd : null;
|
|
154
|
+
const gapWidth = right.length > 0 ? 1 : 0;
|
|
155
|
+
const leftBudget = Math.max(0, columns - right.length - gapWidth);
|
|
156
|
+
const left = () => {
|
|
157
|
+
const identity = [primary, effort].filter((value) => Boolean(value)).join(' ');
|
|
158
|
+
return [identity, cwd].filter((value) => Boolean(value)).join(' · ');
|
|
186
159
|
};
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
withUsage = false;
|
|
194
|
-
if (width(cwd) <= budget)
|
|
195
|
-
return { meta: build(cwd), showGauge };
|
|
196
|
-
}
|
|
197
|
-
if (showGauge) {
|
|
198
|
-
showGauge = false;
|
|
199
|
-
if (width(cwd) <= budget)
|
|
200
|
-
return { meta: build(cwd), showGauge };
|
|
201
|
-
}
|
|
202
|
-
// Then the provider label, which the model name already implies.
|
|
203
|
-
if (withProvider) {
|
|
204
|
-
withProvider = false;
|
|
205
|
-
if (width(cwd) <= budget)
|
|
206
|
-
return { meta: build(cwd), showGauge };
|
|
160
|
+
if (left().length > leftBudget && cwd) {
|
|
161
|
+
const identityWidth = [primary, effort]
|
|
162
|
+
.filter((value) => Boolean(value))
|
|
163
|
+
.join(' ').length;
|
|
164
|
+
const room = leftBudget - identityWidth - (identityWidth > 0 ? 3 : 0);
|
|
165
|
+
cwd = room >= 8 ? shortenPathToFit(cwd, room) : null;
|
|
207
166
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
return { meta: build(short), showGauge };
|
|
167
|
+
if (left().length > leftBudget)
|
|
168
|
+
effort = null;
|
|
169
|
+
if (left().length > leftBudget)
|
|
170
|
+
cwd = null;
|
|
171
|
+
if (left().length > leftBudget && primary) {
|
|
172
|
+
primary = shortenRightToFit(primary, leftBudget);
|
|
215
173
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
174
|
+
if (left().length > leftBudget)
|
|
175
|
+
primary = null;
|
|
176
|
+
const leftWidth = left().length;
|
|
177
|
+
const visibleGap = leftWidth > 0 && right.length > 0 ? 1 : 0;
|
|
178
|
+
const gap = ' '.repeat(Math.max(visibleGap, columns - leftWidth - right.length));
|
|
179
|
+
return { primary, effort, cwd, gap, right };
|
|
180
|
+
}
|
|
181
|
+
/** Preserve both the status identity and its trailing key/action on tiny screens. */
|
|
182
|
+
function shortenRightToFit(value, max) {
|
|
183
|
+
if (max <= 0)
|
|
184
|
+
return '';
|
|
185
|
+
if (value.length <= max)
|
|
186
|
+
return value;
|
|
187
|
+
if (max === 1)
|
|
188
|
+
return '…';
|
|
189
|
+
const available = max - 1;
|
|
190
|
+
const head = Math.ceil(available * 0.45);
|
|
191
|
+
return `${value.slice(0, head)}…${value.slice(-(available - head))}`;
|
|
227
192
|
}
|
|
228
193
|
//# sourceMappingURL=StatusBar.js.map
|