opencode-account-manager 0.6.5 → 0.6.7
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/tui/components/DashboardView.d.ts.map +1 -1
- package/dist/tui/components/DashboardView.js +43 -20
- package/dist/tui/components/DashboardView.js.map +1 -1
- package/dist/tui/components/HealthBadge.js +8 -8
- package/package.json +5 -5
- package/src/tui/components/DashboardView.tsx +76 -45
- package/src/tui/components/HealthBadge.tsx +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardView.d.ts","sourceRoot":"","sources":["../../../src/tui/components/DashboardView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIhE,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACrD;AA+KD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"DashboardView.d.ts","sourceRoot":"","sources":["../../../src/tui/components/DashboardView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIhE,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACrD;AA+KD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,kBAAkB,qBA6N3F"}
|
|
@@ -146,12 +146,30 @@ function DashboardView({ accounts, selectedIndex, healthResults }) {
|
|
|
146
146
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, "No accounts configured."),
|
|
147
147
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, "Press P to open actions and import accounts.")));
|
|
148
148
|
}
|
|
149
|
-
const
|
|
149
|
+
const { stdout } = (0, ink_1.useStdout)();
|
|
150
|
+
const terminalColumns = stdout?.columns ?? 120;
|
|
151
|
+
const terminalRows = stdout?.rows ?? 30;
|
|
152
|
+
const allModels = getDisplayModels(accounts);
|
|
150
153
|
const modelColumnWidth = 20;
|
|
151
|
-
const emailWidth = 28;
|
|
152
154
|
const healthWidth = 2;
|
|
153
155
|
const lastUsedWidth = 14;
|
|
154
|
-
const
|
|
156
|
+
const innerWidth = Math.max(60, terminalColumns - 6);
|
|
157
|
+
const baseWidth = 3 + healthWidth + lastUsedWidth;
|
|
158
|
+
const maxEmailWidth = Math.min(28, Math.max(12, innerWidth - baseWidth - modelColumnWidth));
|
|
159
|
+
const emailWidth = maxEmailWidth;
|
|
160
|
+
const remainingWidth = innerWidth - baseWidth - emailWidth;
|
|
161
|
+
const maxModels = Math.max(1, Math.floor(remainingWidth / modelColumnWidth));
|
|
162
|
+
const displayModels = allModels.slice(0, maxModels);
|
|
163
|
+
const totalWidth = baseWidth + emailWidth + displayModels.length * modelColumnWidth;
|
|
164
|
+
const maxRowsFromTerminal = Math.max(8, terminalRows - 18);
|
|
165
|
+
const visibleRows = Math.max(8, Math.min(maxRowsFromTerminal, accounts.length || 8));
|
|
166
|
+
const maxOffset = Math.max(0, accounts.length - visibleRows);
|
|
167
|
+
const scrollOffset = Math.max(0, Math.min(selectedIndex - Math.floor(visibleRows / 2), maxOffset));
|
|
168
|
+
const visibleAccounts = accounts.slice(scrollOffset, scrollOffset + visibleRows);
|
|
169
|
+
const paddedAccounts = [
|
|
170
|
+
...visibleAccounts,
|
|
171
|
+
...Array.from({ length: Math.max(0, visibleRows - visibleAccounts.length) }, () => undefined),
|
|
172
|
+
];
|
|
155
173
|
const healthCounts = healthResults
|
|
156
174
|
? accounts.reduce((acc, account) => {
|
|
157
175
|
const status = healthResults[(0, config_store_1.normalizeHealthKey)(account.email)]?.status || "not_checked";
|
|
@@ -186,22 +204,27 @@ function DashboardView({ accounts, selectedIndex, healthResults }) {
|
|
|
186
204
|
react_1.default.createElement(ink_1.Text, { dimColor: true, bold: true }, "LAST USED"))),
|
|
187
205
|
react_1.default.createElement(ink_1.Box, { paddingX: 1 },
|
|
188
206
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, "─".repeat(totalWidth))),
|
|
189
|
-
|
|
190
|
-
const
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
const email = account
|
|
194
|
-
? account.email.
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
207
|
+
paddedAccounts.map((account, index) => {
|
|
208
|
+
const rowIndex = scrollOffset + index;
|
|
209
|
+
const isSelected = account ? rowIndex === selectedIndex : false;
|
|
210
|
+
const isDisabled = account ? account.enabled === false : false;
|
|
211
|
+
const email = account
|
|
212
|
+
? (account.email.length > emailWidth - 3
|
|
213
|
+
? account.email.slice(0, emailWidth - 6) + "..."
|
|
214
|
+
: account.email)
|
|
215
|
+
: "";
|
|
216
|
+
const health = account ? healthResults?.[(0, config_store_1.normalizeHealthKey)(account.email)] : undefined;
|
|
217
|
+
return (react_1.default.createElement(ink_1.Box, { key: account ? account.email : `empty-${index}`, paddingX: 1 },
|
|
198
218
|
react_1.default.createElement(ink_1.Box, { width: 3 },
|
|
199
219
|
react_1.default.createElement(ink_1.Text, { bold: isSelected }, isSelected ? "› " : " ")),
|
|
200
220
|
react_1.default.createElement(ink_1.Box, { width: emailWidth },
|
|
201
|
-
react_1.default.createElement(ink_1.Text, { bold: isSelected, dimColor: isDisabled }, email)),
|
|
202
|
-
react_1.default.createElement(ink_1.Box, { width: healthWidth },
|
|
203
|
-
react_1.default.createElement(HealthBadge_1.HealthBadge, { result: health, compact: true })),
|
|
221
|
+
react_1.default.createElement(ink_1.Text, { bold: isSelected, dimColor: isDisabled || !account }, email)),
|
|
222
|
+
react_1.default.createElement(ink_1.Box, { width: healthWidth }, account ? react_1.default.createElement(HealthBadge_1.HealthBadge, { result: health, compact: true }) : react_1.default.createElement(ink_1.Text, { dimColor: true }, " ")),
|
|
204
223
|
displayModels.map(model => {
|
|
224
|
+
if (!account) {
|
|
225
|
+
return (react_1.default.createElement(ink_1.Box, { key: model.key, width: modelColumnWidth },
|
|
226
|
+
react_1.default.createElement(ink_1.Text, { dimColor: true }, " ".repeat(modelColumnWidth - 1))));
|
|
227
|
+
}
|
|
205
228
|
const status = getModelStatus(account, model.key);
|
|
206
229
|
if (isDisabled) {
|
|
207
230
|
return (react_1.default.createElement(ink_1.Box, { key: model.key, width: modelColumnWidth },
|
|
@@ -210,7 +233,7 @@ function DashboardView({ accounts, selectedIndex, healthResults }) {
|
|
|
210
233
|
return (react_1.default.createElement(ModelCell, { key: model.key, status: status, width: modelColumnWidth }));
|
|
211
234
|
}),
|
|
212
235
|
react_1.default.createElement(ink_1.Box, { width: lastUsedWidth },
|
|
213
|
-
react_1.default.createElement(ink_1.Text, { dimColor: true }, formatLastUsed(account.lastUsed)))));
|
|
236
|
+
react_1.default.createElement(ink_1.Text, { dimColor: true }, account ? formatLastUsed(account.lastUsed) : ""))));
|
|
214
237
|
}),
|
|
215
238
|
react_1.default.createElement(ink_1.Box, { paddingX: 1, marginTop: 1 },
|
|
216
239
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, "─".repeat(totalWidth))),
|
|
@@ -256,12 +279,12 @@ function DashboardView({ accounts, selectedIndex, healthResults }) {
|
|
|
256
279
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, "\u2588\u2588\u2588\u2588 100%"),
|
|
257
280
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, " \u2591\u2591\u2591\u2591 limited "),
|
|
258
281
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, "\u2500\u2500 disabled "),
|
|
259
|
-
react_1.default.createElement(ink_1.Text, { color: "green" }, "
|
|
282
|
+
react_1.default.createElement(ink_1.Text, { color: "green" }, "v"),
|
|
260
283
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, " ok "),
|
|
261
|
-
react_1.default.createElement(ink_1.Text, { color: "yellow" }, "
|
|
284
|
+
react_1.default.createElement(ink_1.Text, { color: "yellow" }, "!"),
|
|
262
285
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, " verify "),
|
|
263
|
-
react_1.default.createElement(ink_1.Text, { color: "red" }, "
|
|
286
|
+
react_1.default.createElement(ink_1.Text, { color: "red" }, "x"),
|
|
264
287
|
react_1.default.createElement(ink_1.Text, { dimColor: true }, " error "),
|
|
265
|
-
react_1.default.createElement(ink_1.Text, { dimColor: true }, "
|
|
288
|
+
react_1.default.createElement(ink_1.Text, { dimColor: true }, ". unchecked"))));
|
|
266
289
|
}
|
|
267
290
|
//# sourceMappingURL=DashboardView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardView.js","sourceRoot":"","sources":["../../../src/tui/components/DashboardView.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DashboardView.js","sourceRoot":"","sources":["../../../src/tui/components/DashboardView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,15 +19,15 @@ const HEALTH_COLORS = {
|
|
|
19
19
|
not_configured: "gray",
|
|
20
20
|
};
|
|
21
21
|
const HEALTH_ICONS = {
|
|
22
|
-
ok: "
|
|
23
|
-
verification_required: "
|
|
24
|
-
revoked: "
|
|
25
|
-
disabled: "
|
|
26
|
-
deleted: "
|
|
27
|
-
password_changed: "
|
|
28
|
-
network_error: "
|
|
22
|
+
ok: "v",
|
|
23
|
+
verification_required: "!",
|
|
24
|
+
revoked: "x",
|
|
25
|
+
disabled: "-",
|
|
26
|
+
deleted: "x",
|
|
27
|
+
password_changed: "!",
|
|
28
|
+
network_error: "~",
|
|
29
29
|
unknown_error: "?",
|
|
30
|
-
not_checked: "
|
|
30
|
+
not_checked: ".",
|
|
31
31
|
not_configured: "-",
|
|
32
32
|
};
|
|
33
33
|
const HEALTH_LABELS = {
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-account-manager",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"description": "TUI Dashboard for OpenCode - View providers, MCP servers, and plugin accounts",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"ocam": "dist/cli.js",
|
|
8
|
-
"opencode-account-manager": "dist/cli.js"
|
|
9
|
-
},
|
|
6
|
+
"bin": {
|
|
7
|
+
"ocam": "dist/cli.js",
|
|
8
|
+
"opencode-account-manager": "dist/cli.js"
|
|
9
|
+
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "npx tsc",
|
|
12
12
|
"dev": "npx tsc -w",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
2
|
+
import { Box, Text, useStdout } from "ink";
|
|
3
3
|
import { Account, AccountHealthResult } from "../../core/types";
|
|
4
4
|
import { normalizeHealthKey } from "../../core/config-store";
|
|
5
5
|
import { HealthBadge } from "./HealthBadge";
|
|
@@ -193,12 +193,34 @@ export function DashboardView({ accounts, selectedIndex, healthResults }: Dashbo
|
|
|
193
193
|
);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
const
|
|
196
|
+
const { stdout } = useStdout();
|
|
197
|
+
const terminalColumns = stdout?.columns ?? 120;
|
|
198
|
+
const terminalRows = stdout?.rows ?? 30;
|
|
199
|
+
|
|
200
|
+
const allModels = getDisplayModels(accounts);
|
|
197
201
|
const modelColumnWidth = 20;
|
|
198
|
-
const emailWidth = 28;
|
|
199
202
|
const healthWidth = 2;
|
|
200
203
|
const lastUsedWidth = 14;
|
|
201
|
-
|
|
204
|
+
|
|
205
|
+
const innerWidth = Math.max(60, terminalColumns - 6);
|
|
206
|
+
const baseWidth = 3 + healthWidth + lastUsedWidth;
|
|
207
|
+
const maxEmailWidth = Math.min(28, Math.max(12, innerWidth - baseWidth - modelColumnWidth));
|
|
208
|
+
const emailWidth = maxEmailWidth;
|
|
209
|
+
const remainingWidth = innerWidth - baseWidth - emailWidth;
|
|
210
|
+
const maxModels = Math.max(1, Math.floor(remainingWidth / modelColumnWidth));
|
|
211
|
+
const displayModels = allModels.slice(0, maxModels);
|
|
212
|
+
const totalWidth = baseWidth + emailWidth + displayModels.length * modelColumnWidth;
|
|
213
|
+
|
|
214
|
+
const maxRowsFromTerminal = Math.max(8, terminalRows - 18);
|
|
215
|
+
const visibleRows = Math.max(8, Math.min(maxRowsFromTerminal, accounts.length || 8));
|
|
216
|
+
const maxOffset = Math.max(0, accounts.length - visibleRows);
|
|
217
|
+
const scrollOffset = Math.max(0, Math.min(selectedIndex - Math.floor(visibleRows / 2), maxOffset));
|
|
218
|
+
const visibleAccounts = accounts.slice(scrollOffset, scrollOffset + visibleRows);
|
|
219
|
+
const paddedAccounts: Array<Account | undefined> = [
|
|
220
|
+
...visibleAccounts,
|
|
221
|
+
...Array.from({ length: Math.max(0, visibleRows - visibleAccounts.length) }, () => undefined),
|
|
222
|
+
];
|
|
223
|
+
|
|
202
224
|
|
|
203
225
|
const healthCounts = healthResults
|
|
204
226
|
? accounts.reduce(
|
|
@@ -252,19 +274,21 @@ export function DashboardView({ accounts, selectedIndex, healthResults }: Dashbo
|
|
|
252
274
|
</Box>
|
|
253
275
|
|
|
254
276
|
{/* Account rows */}
|
|
255
|
-
{
|
|
256
|
-
const
|
|
257
|
-
const
|
|
258
|
-
|
|
259
|
-
// Truncate email
|
|
260
|
-
const email = account.email.length > emailWidth - 3
|
|
261
|
-
? account.email.slice(0, emailWidth - 6) + "..."
|
|
262
|
-
: account.email;
|
|
277
|
+
{paddedAccounts.map((account, index) => {
|
|
278
|
+
const rowIndex = scrollOffset + index;
|
|
279
|
+
const isSelected = account ? rowIndex === selectedIndex : false;
|
|
280
|
+
const isDisabled = account ? account.enabled === false : false;
|
|
263
281
|
|
|
264
|
-
const
|
|
282
|
+
const email = account
|
|
283
|
+
? (account.email.length > emailWidth - 3
|
|
284
|
+
? account.email.slice(0, emailWidth - 6) + "..."
|
|
285
|
+
: account.email)
|
|
286
|
+
: "";
|
|
287
|
+
|
|
288
|
+
const health = account ? healthResults?.[normalizeHealthKey(account.email)] : undefined;
|
|
265
289
|
|
|
266
290
|
return (
|
|
267
|
-
<Box key={account.email} paddingX={1}>
|
|
291
|
+
<Box key={account ? account.email : `empty-${index}`} paddingX={1}>
|
|
268
292
|
{/* Selection cursor */}
|
|
269
293
|
<Box width={3}>
|
|
270
294
|
<Text bold={isSelected}>
|
|
@@ -276,7 +300,7 @@ export function DashboardView({ accounts, selectedIndex, healthResults }: Dashbo
|
|
|
276
300
|
<Box width={emailWidth}>
|
|
277
301
|
<Text
|
|
278
302
|
bold={isSelected}
|
|
279
|
-
dimColor={isDisabled}
|
|
303
|
+
dimColor={isDisabled || !account}
|
|
280
304
|
>
|
|
281
305
|
{email}
|
|
282
306
|
</Text>
|
|
@@ -284,36 +308,43 @@ export function DashboardView({ accounts, selectedIndex, healthResults }: Dashbo
|
|
|
284
308
|
|
|
285
309
|
{/* Health indicator */}
|
|
286
310
|
<Box width={healthWidth}>
|
|
287
|
-
<HealthBadge result={health} compact={true} />
|
|
311
|
+
{account ? <HealthBadge result={health} compact={true} /> : <Text dimColor> </Text>}
|
|
288
312
|
</Box>
|
|
289
313
|
|
|
290
314
|
{/* Model columns */}
|
|
315
|
+
{displayModels.map(model => {
|
|
316
|
+
if (!account) {
|
|
317
|
+
return (
|
|
318
|
+
<Box key={model.key} width={modelColumnWidth}>
|
|
319
|
+
<Text dimColor>{" ".repeat(modelColumnWidth - 1)}</Text>
|
|
320
|
+
</Box>
|
|
321
|
+
);
|
|
322
|
+
}
|
|
291
323
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
})}
|
|
324
|
+
const status = getModelStatus(account, model.key);
|
|
325
|
+
|
|
326
|
+
if (isDisabled) {
|
|
327
|
+
return (
|
|
328
|
+
<Box key={model.key} width={modelColumnWidth}>
|
|
329
|
+
<Text dimColor>── disabled ──</Text>
|
|
330
|
+
</Box>
|
|
331
|
+
);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
return (
|
|
335
|
+
<ModelCell
|
|
336
|
+
key={model.key}
|
|
337
|
+
status={status}
|
|
338
|
+
width={modelColumnWidth}
|
|
339
|
+
/>
|
|
340
|
+
);
|
|
341
|
+
})}
|
|
342
|
+
<Box width={lastUsedWidth}>
|
|
343
|
+
<Text dimColor>{account ? formatLastUsed(account.lastUsed) : ""}</Text>
|
|
344
|
+
</Box>
|
|
345
|
+
</Box>
|
|
346
|
+
);
|
|
347
|
+
})}
|
|
317
348
|
|
|
318
349
|
{/* Summary */}
|
|
319
350
|
<Box paddingX={1} marginTop={1}>
|
|
@@ -366,10 +397,10 @@ export function DashboardView({ accounts, selectedIndex, healthResults }: Dashbo
|
|
|
366
397
|
<Text dimColor>████ 100%</Text>
|
|
367
398
|
<Text dimColor> ░░░░ limited </Text>
|
|
368
399
|
<Text dimColor>── disabled </Text>
|
|
369
|
-
<Text color="green"
|
|
370
|
-
<Text color="yellow"
|
|
371
|
-
<Text color="red"
|
|
372
|
-
<Text dimColor
|
|
400
|
+
<Text color="green">v</Text><Text dimColor> ok </Text>
|
|
401
|
+
<Text color="yellow">!</Text><Text dimColor> verify </Text>
|
|
402
|
+
<Text color="red">x</Text><Text dimColor> error </Text>
|
|
403
|
+
<Text dimColor>. unchecked</Text>
|
|
373
404
|
</Box>
|
|
374
405
|
</Box>
|
|
375
406
|
);
|
|
@@ -21,15 +21,15 @@ const HEALTH_COLORS: Record<AccountHealthStatus, string> = {
|
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
const HEALTH_ICONS: Record<AccountHealthStatus, string> = {
|
|
24
|
-
ok: "
|
|
25
|
-
verification_required: "
|
|
26
|
-
revoked: "
|
|
27
|
-
disabled: "
|
|
28
|
-
deleted: "
|
|
29
|
-
password_changed: "
|
|
30
|
-
network_error: "
|
|
24
|
+
ok: "v",
|
|
25
|
+
verification_required: "!",
|
|
26
|
+
revoked: "x",
|
|
27
|
+
disabled: "-",
|
|
28
|
+
deleted: "x",
|
|
29
|
+
password_changed: "!",
|
|
30
|
+
network_error: "~",
|
|
31
31
|
unknown_error: "?",
|
|
32
|
-
not_checked: "
|
|
32
|
+
not_checked: ".",
|
|
33
33
|
not_configured: "-",
|
|
34
34
|
};
|
|
35
35
|
|