opencode-account-manager 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +235 -216
  2. package/README_VI.md +235 -216
  3. package/dist/cli.js +83 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/core/config-store.d.ts +12 -0
  6. package/dist/core/config-store.d.ts.map +1 -1
  7. package/dist/core/config-store.js +98 -0
  8. package/dist/core/config-store.js.map +1 -1
  9. package/dist/core/health-log.d.ts +9 -0
  10. package/dist/core/health-log.d.ts.map +1 -0
  11. package/dist/core/health-log.js +154 -0
  12. package/dist/core/health-log.js.map +1 -0
  13. package/dist/core/health-oauth.d.ts +5 -0
  14. package/dist/core/health-oauth.d.ts.map +1 -0
  15. package/dist/core/health-oauth.js +147 -0
  16. package/dist/core/health-oauth.js.map +1 -0
  17. package/dist/core/health-orchestrator.d.ts +32 -0
  18. package/dist/core/health-orchestrator.d.ts.map +1 -0
  19. package/dist/core/health-orchestrator.js +148 -0
  20. package/dist/core/health-orchestrator.js.map +1 -0
  21. package/dist/core/health-utils.d.ts +15 -0
  22. package/dist/core/health-utils.d.ts.map +1 -0
  23. package/dist/core/health-utils.js +60 -0
  24. package/dist/core/health-utils.js.map +1 -0
  25. package/dist/core/paths.d.ts +1 -0
  26. package/dist/core/paths.d.ts.map +1 -1
  27. package/dist/core/paths.js +4 -0
  28. package/dist/core/paths.js.map +1 -1
  29. package/dist/core/types.d.ts +26 -0
  30. package/dist/core/types.d.ts.map +1 -1
  31. package/dist/tui/Dashboard.d.ts.map +1 -1
  32. package/dist/tui/Dashboard.js +69 -2
  33. package/dist/tui/Dashboard.js.map +1 -1
  34. package/dist/tui/components/AccountList.d.ts +5 -3
  35. package/dist/tui/components/AccountList.d.ts.map +1 -1
  36. package/dist/tui/components/AccountList.js +9 -3
  37. package/dist/tui/components/AccountList.js.map +1 -1
  38. package/dist/tui/components/DashboardView.d.ts +3 -2
  39. package/dist/tui/components/DashboardView.d.ts.map +1 -1
  40. package/dist/tui/components/DashboardView.js +102 -17
  41. package/dist/tui/components/DashboardView.js.map +1 -1
  42. package/dist/tui/components/HealthBadge.d.ts +9 -0
  43. package/dist/tui/components/HealthBadge.d.ts.map +1 -0
  44. package/dist/tui/components/HealthBadge.js +56 -0
  45. package/dist/tui/components/HealthBadge.js.map +1 -0
  46. package/dist/tui/components/StatusBadge.d.ts +2 -1
  47. package/dist/tui/components/StatusBadge.d.ts.map +1 -1
  48. package/dist/tui/components/StatusBadge.js +30 -2
  49. package/dist/tui/components/StatusBadge.js.map +1 -1
  50. package/dist/tui/components/index.d.ts +1 -0
  51. package/dist/tui/components/index.d.ts.map +1 -1
  52. package/dist/tui/components/index.js +3 -1
  53. package/dist/tui/components/index.js.map +1 -1
  54. package/docs/BLUEPRINT.md +476 -476
  55. package/docs/ROADMAP.md +125 -107
  56. package/package.json +38 -38
  57. package/src/cli.ts +139 -38
  58. package/src/core/config-store.ts +278 -171
  59. package/src/core/crypto.ts +162 -162
  60. package/src/core/health-log.ts +173 -0
  61. package/src/core/health-oauth.ts +190 -0
  62. package/src/core/health-orchestrator.ts +224 -0
  63. package/src/core/importers/amExport.ts +177 -177
  64. package/src/core/opencode-config.ts +217 -217
  65. package/src/core/paths.ts +10 -6
  66. package/src/core/types.ts +193 -147
  67. package/src/tui/Dashboard.tsx +557 -478
  68. package/src/tui/components/AccountList.tsx +122 -104
  69. package/src/tui/components/ActionPalette.tsx +117 -117
  70. package/src/tui/components/Box.tsx +7 -7
  71. package/src/tui/components/DashboardView.tsx +324 -220
  72. package/src/tui/components/ExportModal.tsx +255 -255
  73. package/src/tui/components/FileBrowser.tsx +393 -393
  74. package/src/tui/components/Header.tsx +26 -26
  75. package/src/tui/components/HealthBadge.tsx +64 -0
  76. package/src/tui/components/ImportModal.tsx +334 -334
  77. package/src/tui/components/McpServerList.tsx +67 -67
  78. package/src/tui/components/Menu.tsx +61 -61
  79. package/src/tui/components/PasswordInput.tsx +159 -159
  80. package/src/tui/components/ProviderList.tsx +59 -59
  81. package/src/tui/components/SectionBox.tsx +35 -35
  82. package/src/tui/components/StatsRow.tsx +33 -33
  83. package/src/tui/components/StatusBadge.tsx +36 -3
  84. package/src/tui/components/index.ts +15 -14
  85. package/test-minimal.js +26 -26
  86. package/test-with-accounts.js +58 -58
@@ -8,6 +8,8 @@ exports.AccountList = AccountList;
8
8
  const react_1 = __importDefault(require("react"));
9
9
  const ink_1 = require("ink");
10
10
  const StatusBadge_1 = require("./StatusBadge");
11
+ const HealthBadge_1 = require("./HealthBadge");
12
+ const config_store_1 = require("../../core/config-store");
11
13
  function formatDuration(ms) {
12
14
  if (ms <= 0)
13
15
  return "-";
@@ -43,7 +45,7 @@ function getAccountStatus(account) {
43
45
  limitDetails,
44
46
  };
45
47
  }
46
- function AccountRow({ account, isSelected, isChecked, showCheckbox }) {
48
+ function AccountRow({ account, isSelected, isChecked, showCheckbox, healthResult, }) {
47
49
  const { status, resetIn, limitDetails } = getAccountStatus(account);
48
50
  const project = account.projectId || account.managedProjectId || "-";
49
51
  const checkbox = showCheckbox
@@ -63,6 +65,8 @@ function AccountRow({ account, isSelected, isChecked, showCheckbox }) {
63
65
  react_1.default.createElement(ink_1.Text, { dimColor: true }, project.slice(0, 16))),
64
66
  react_1.default.createElement(ink_1.Box, { width: 12 },
65
67
  react_1.default.createElement(StatusBadge_1.StatusBadge, { status: status })),
68
+ react_1.default.createElement(ink_1.Box, { width: 10 },
69
+ react_1.default.createElement(HealthBadge_1.HealthBadge, { result: healthResult })),
66
70
  react_1.default.createElement(ink_1.Box, { width: 10 },
67
71
  react_1.default.createElement(ink_1.Text, { dimColor: true }, resetIn))),
68
72
  status === "limited" && limitDetails.length > 0 && (react_1.default.createElement(ink_1.Box, { paddingLeft: showCheckbox ? 8 : 4 },
@@ -70,7 +74,7 @@ function AccountRow({ account, isSelected, isChecked, showCheckbox }) {
70
74
  "\u2514\u2500 ",
71
75
  limitDetails.join(" | "))))));
72
76
  }
73
- function AccountList({ accounts, selectedIndex = -1, checkedEmails = new Set(), showCheckbox = false }) {
77
+ function AccountList({ accounts, selectedIndex = -1, checkedEmails = new Set(), showCheckbox = false, healthResults }) {
74
78
  return (react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
75
79
  react_1.default.createElement(ink_1.Box, { flexDirection: "row", paddingX: 1, marginBottom: 1 },
76
80
  react_1.default.createElement(ink_1.Box, { width: 2 },
@@ -83,9 +87,11 @@ function AccountList({ accounts, selectedIndex = -1, checkedEmails = new Set(),
83
87
  react_1.default.createElement(ink_1.Text, { bold: true, dimColor: true }, "PROJECT")),
84
88
  react_1.default.createElement(ink_1.Box, { width: 12 },
85
89
  react_1.default.createElement(ink_1.Text, { bold: true, dimColor: true }, "STATUS")),
90
+ react_1.default.createElement(ink_1.Box, { width: 10 },
91
+ react_1.default.createElement(ink_1.Text, { bold: true, dimColor: true }, "HEALTH")),
86
92
  react_1.default.createElement(ink_1.Box, { width: 10 },
87
93
  react_1.default.createElement(ink_1.Text, { bold: true, dimColor: true }, "RESET IN"))),
88
- accounts.map((account, index) => (react_1.default.createElement(AccountRow, { key: account.email, account: account, isSelected: index === selectedIndex, isChecked: checkedEmails.has(account.email), showCheckbox: showCheckbox }))),
94
+ accounts.map((account, index) => (react_1.default.createElement(AccountRow, { key: account.email, account: account, isSelected: index === selectedIndex, isChecked: checkedEmails.has(account.email), showCheckbox: showCheckbox, healthResult: healthResults?.[(0, config_store_1.normalizeHealthKey)(account.email)] }))),
89
95
  accounts.length === 0 && (react_1.default.createElement(ink_1.Box, { paddingX: 1 },
90
96
  react_1.default.createElement(ink_1.Text, { dimColor: true }, "No accounts found")))));
91
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AccountList.js","sourceRoot":"","sources":["../../../src/tui/components/AccountList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountList.js","sourceRoot":"","sources":["../../../src/tui/components/AccountList.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- import { Account } from "../../core/types";
2
+ import { Account, AccountHealthResult } from "../../core/types";
3
3
  interface DashboardViewProps {
4
4
  accounts: Account[];
5
5
  selectedIndex: number;
6
+ healthResults?: Record<string, AccountHealthResult>;
6
7
  }
7
- export declare function DashboardView({ accounts, selectedIndex }: DashboardViewProps): React.JSX.Element;
8
+ export declare function DashboardView({ accounts, selectedIndex, healthResults }: DashboardViewProps): React.JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=DashboardView.d.ts.map
@@ -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,MAAM,kBAAkB,CAAC;AAE3C,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AA8KD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,kBAAkB,qBA2I5E"}
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,qBA+O3F"}
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DashboardView = DashboardView;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const ink_1 = require("ink");
9
+ const config_store_1 = require("../../core/config-store");
10
+ const HealthBadge_1 = require("./HealthBadge");
9
11
  // Model definitions with display names
10
12
  const MODEL_CONFIGS = [
11
13
  { key: "claude", displayName: "Claude", shortName: "Claude" },
@@ -138,42 +140,105 @@ function ModelCell({ status, width = 20 }) {
138
140
  react_1.default.createElement(ink_1.Box, { width: 5 },
139
141
  react_1.default.createElement(ink_1.Text, null, `${status.percentage}%`.padStart(4)))));
140
142
  }
141
- function DashboardView({ accounts, selectedIndex }) {
143
+ function DashboardView({ accounts, selectedIndex, healthResults }) {
142
144
  if (accounts.length === 0) {
143
145
  return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", paddingX: 1 },
144
146
  react_1.default.createElement(ink_1.Text, { dimColor: true }, "No accounts configured."),
145
147
  react_1.default.createElement(ink_1.Text, { dimColor: true }, "Press P to open actions and import accounts.")));
146
148
  }
147
- const displayModels = getDisplayModels(accounts);
149
+ const { stdout } = (0, ink_1.useStdout)();
150
+ const terminalColumns = stdout?.columns ?? 120;
151
+ const terminalRows = stdout?.rows ?? 30;
152
+ const allModels = getDisplayModels(accounts);
148
153
  const modelColumnWidth = 20;
149
- const emailWidth = 28;
154
+ const healthWidth = 2;
150
155
  const lastUsedWidth = 14;
151
- const totalWidth = 3 + emailWidth + displayModels.length * modelColumnWidth + lastUsedWidth;
156
+ const scrollbarWidth = 1;
157
+ const innerWidth = Math.max(60, terminalColumns - 6);
158
+ const baseWidth = 3 + healthWidth + lastUsedWidth + scrollbarWidth;
159
+ const maxEmailWidth = Math.min(28, Math.max(12, innerWidth - baseWidth - modelColumnWidth));
160
+ const emailWidth = maxEmailWidth;
161
+ const remainingWidth = innerWidth - baseWidth - emailWidth;
162
+ const maxModels = Math.max(1, Math.floor(remainingWidth / modelColumnWidth));
163
+ const displayModels = allModels.slice(0, maxModels);
164
+ const totalWidth = baseWidth + emailWidth + displayModels.length * modelColumnWidth;
165
+ const maxRowsFromTerminal = Math.max(8, terminalRows - 18);
166
+ const visibleRows = Math.max(8, Math.min(maxRowsFromTerminal, accounts.length || 8));
167
+ const maxOffset = Math.max(0, accounts.length - visibleRows);
168
+ const scrollOffset = Math.max(0, Math.min(selectedIndex - Math.floor(visibleRows / 2), maxOffset));
169
+ const visibleAccounts = accounts.slice(scrollOffset, scrollOffset + visibleRows);
170
+ const paddedAccounts = [
171
+ ...visibleAccounts,
172
+ ...Array.from({ length: Math.max(0, visibleRows - visibleAccounts.length) }, () => undefined),
173
+ ];
174
+ const showScrollbar = accounts.length > visibleRows;
175
+ const thumbSize = showScrollbar
176
+ ? Math.max(1, Math.round((visibleRows * visibleRows) / accounts.length))
177
+ : 0;
178
+ const maxThumbTop = Math.max(0, visibleRows - thumbSize);
179
+ const thumbTop = showScrollbar && maxOffset > 0
180
+ ? Math.round((scrollOffset / maxOffset) * maxThumbTop)
181
+ : 0;
182
+ const healthCounts = healthResults
183
+ ? accounts.reduce((acc, account) => {
184
+ const status = healthResults[(0, config_store_1.normalizeHealthKey)(account.email)]?.status || "not_checked";
185
+ if (status === "ok")
186
+ acc.ok += 1;
187
+ if (status === "verification_required")
188
+ acc.verify += 1;
189
+ if (status === "not_checked" || status === "not_configured")
190
+ acc.unchecked += 1;
191
+ if (status === "revoked" ||
192
+ status === "disabled" ||
193
+ status === "deleted" ||
194
+ status === "password_changed" ||
195
+ status === "unknown_error" ||
196
+ status === "network_error") {
197
+ acc.errors += 1;
198
+ }
199
+ return acc;
200
+ }, { ok: 0, verify: 0, errors: 0, unchecked: 0 })
201
+ : null;
152
202
  return (react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
153
203
  react_1.default.createElement(ink_1.Box, { paddingX: 1 },
154
204
  react_1.default.createElement(ink_1.Box, { width: 3 },
155
205
  react_1.default.createElement(ink_1.Text, { dimColor: true }, " ")),
156
206
  react_1.default.createElement(ink_1.Box, { width: emailWidth },
157
207
  react_1.default.createElement(ink_1.Text, { dimColor: true, bold: true }, "EMAIL")),
208
+ react_1.default.createElement(ink_1.Box, { width: healthWidth },
209
+ react_1.default.createElement(ink_1.Text, { dimColor: true, bold: true }, "H")),
158
210
  displayModels.map(model => (react_1.default.createElement(ink_1.Box, { key: model.key, width: modelColumnWidth },
159
211
  react_1.default.createElement(ink_1.Text, { dimColor: true, bold: true }, model.shortName)))),
160
212
  react_1.default.createElement(ink_1.Box, { width: lastUsedWidth },
161
- react_1.default.createElement(ink_1.Text, { dimColor: true, bold: true }, "LAST USED"))),
213
+ react_1.default.createElement(ink_1.Text, { dimColor: true, bold: true }, "LAST USED")),
214
+ react_1.default.createElement(ink_1.Box, { width: scrollbarWidth },
215
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, "|"))),
162
216
  react_1.default.createElement(ink_1.Box, { paddingX: 1 },
163
217
  react_1.default.createElement(ink_1.Text, { dimColor: true }, "─".repeat(totalWidth))),
164
- accounts.map((account, index) => {
165
- const isSelected = index === selectedIndex;
166
- const isDisabled = account.enabled === false;
167
- // Truncate email
168
- const email = account.email.length > emailWidth - 3
169
- ? account.email.slice(0, emailWidth - 6) + "..."
170
- : account.email;
171
- return (react_1.default.createElement(ink_1.Box, { key: account.email, paddingX: 1 },
218
+ paddedAccounts.map((account, index) => {
219
+ const rowIndex = scrollOffset + index;
220
+ const isSelected = account ? rowIndex === selectedIndex : false;
221
+ const isDisabled = account ? account.enabled === false : false;
222
+ const email = account
223
+ ? (account.email.length > emailWidth - 3
224
+ ? account.email.slice(0, emailWidth - 6) + "..."
225
+ : account.email)
226
+ : "";
227
+ const health = account ? healthResults?.[(0, config_store_1.normalizeHealthKey)(account.email)] : undefined;
228
+ const scrollbarChar = showScrollbar
229
+ ? (index >= thumbTop && index < thumbTop + thumbSize ? "#" : "|")
230
+ : " ";
231
+ return (react_1.default.createElement(ink_1.Box, { key: account ? account.email : `empty-${index}`, paddingX: 1 },
172
232
  react_1.default.createElement(ink_1.Box, { width: 3 },
173
233
  react_1.default.createElement(ink_1.Text, { bold: isSelected }, isSelected ? "› " : " ")),
174
234
  react_1.default.createElement(ink_1.Box, { width: emailWidth },
175
- react_1.default.createElement(ink_1.Text, { bold: isSelected, dimColor: isDisabled }, email)),
235
+ react_1.default.createElement(ink_1.Text, { bold: isSelected, dimColor: isDisabled || !account }, email)),
236
+ 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 }, " ")),
176
237
  displayModels.map(model => {
238
+ if (!account) {
239
+ return (react_1.default.createElement(ink_1.Box, { key: model.key, width: modelColumnWidth },
240
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, " ".repeat(modelColumnWidth - 1))));
241
+ }
177
242
  const status = getModelStatus(account, model.key);
178
243
  if (isDisabled) {
179
244
  return (react_1.default.createElement(ink_1.Box, { key: model.key, width: modelColumnWidth },
@@ -182,7 +247,9 @@ function DashboardView({ accounts, selectedIndex }) {
182
247
  return (react_1.default.createElement(ModelCell, { key: model.key, status: status, width: modelColumnWidth }));
183
248
  }),
184
249
  react_1.default.createElement(ink_1.Box, { width: lastUsedWidth },
185
- react_1.default.createElement(ink_1.Text, { dimColor: true }, formatLastUsed(account.lastUsed)))));
250
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, account ? formatLastUsed(account.lastUsed) : "")),
251
+ react_1.default.createElement(ink_1.Box, { width: scrollbarWidth },
252
+ react_1.default.createElement(ink_1.Text, { dimColor: showScrollbar }, scrollbarChar))));
186
253
  }),
187
254
  react_1.default.createElement(ink_1.Box, { paddingX: 1, marginTop: 1 },
188
255
  react_1.default.createElement(ink_1.Text, { dimColor: true }, "─".repeat(totalWidth))),
@@ -212,10 +279,28 @@ function DashboardView({ accounts, selectedIndex }) {
212
279
  react_1.default.createElement(ink_1.Text, { dimColor: true }, " \u2502 "),
213
280
  react_1.default.createElement(ink_1.Text, { dimColor: true },
214
281
  accounts.filter(a => a.enabled === false).length,
215
- " disabled")),
282
+ " disabled"),
283
+ healthCounts && (react_1.default.createElement(react_1.default.Fragment, null,
284
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, " \u2502 "),
285
+ react_1.default.createElement(ink_1.Text, { color: "yellow" }, healthCounts.verify),
286
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, " need verify"),
287
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, " \u2502 "),
288
+ react_1.default.createElement(ink_1.Text, { color: "red" }, healthCounts.errors),
289
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, " errors"),
290
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, " \u2502 "),
291
+ react_1.default.createElement(ink_1.Text, { dimColor: true },
292
+ healthCounts.unchecked,
293
+ " unchecked")))),
216
294
  react_1.default.createElement(ink_1.Box, { paddingX: 1, marginTop: 1 },
217
295
  react_1.default.createElement(ink_1.Text, { dimColor: true }, "\u2588\u2588\u2588\u2588 100%"),
218
296
  react_1.default.createElement(ink_1.Text, { dimColor: true }, " \u2591\u2591\u2591\u2591 limited "),
219
- react_1.default.createElement(ink_1.Text, { dimColor: true }, "\u2500\u2500 disabled"))));
297
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, "\u2500\u2500 disabled "),
298
+ react_1.default.createElement(ink_1.Text, { color: "green" }, "v"),
299
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, " ok "),
300
+ react_1.default.createElement(ink_1.Text, { color: "yellow" }, "!"),
301
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, " verify "),
302
+ react_1.default.createElement(ink_1.Text, { color: "red" }, "x"),
303
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, " error "),
304
+ react_1.default.createElement(ink_1.Text, { dimColor: true }, ". unchecked"))));
220
305
  }
221
306
  //# 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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"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { AccountHealthResult } from "../../core/types";
3
+ interface HealthBadgeProps {
4
+ result?: AccountHealthResult;
5
+ compact?: boolean;
6
+ }
7
+ export declare function HealthBadge({ result, compact }: HealthBadgeProps): React.JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=HealthBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HealthBadge.d.ts","sourceRoot":"","sources":["../../../src/tui/components/HealthBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAuB,MAAM,kBAAkB,CAAC;AAE5E,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAyCD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAe,EAAE,EAAE,gBAAgB,qBAexE"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HealthBadge = HealthBadge;
7
+ const react_1 = __importDefault(require("react"));
8
+ const ink_1 = require("ink");
9
+ const HEALTH_COLORS = {
10
+ ok: "green",
11
+ verification_required: "yellow",
12
+ revoked: "red",
13
+ disabled: "gray",
14
+ deleted: "red",
15
+ password_changed: "yellow",
16
+ network_error: "cyan",
17
+ unknown_error: "red",
18
+ not_checked: "gray",
19
+ not_configured: "gray",
20
+ };
21
+ const HEALTH_ICONS = {
22
+ ok: "v",
23
+ verification_required: "!",
24
+ revoked: "x",
25
+ disabled: "-",
26
+ deleted: "x",
27
+ password_changed: "!",
28
+ network_error: "~",
29
+ unknown_error: "?",
30
+ not_checked: ".",
31
+ not_configured: "-",
32
+ };
33
+ const HEALTH_LABELS = {
34
+ ok: "OK",
35
+ verification_required: "VERIFY",
36
+ revoked: "REVOKED",
37
+ disabled: "DISABLED",
38
+ deleted: "DELETED",
39
+ password_changed: "PWD CHG",
40
+ network_error: "NET ERR",
41
+ unknown_error: "ERROR",
42
+ not_checked: "UNCHECK",
43
+ not_configured: "NO CFG",
44
+ };
45
+ function HealthBadge({ result, compact = false }) {
46
+ if (!result) {
47
+ return react_1.default.createElement(ink_1.Text, { dimColor: true }, "-");
48
+ }
49
+ const color = HEALTH_COLORS[result.status] || "gray";
50
+ const icon = HEALTH_ICONS[result.status] || "?";
51
+ const label = HEALTH_LABELS[result.status] || result.status.toUpperCase();
52
+ return (react_1.default.createElement(ink_1.Text, { color: color },
53
+ icon,
54
+ compact ? "" : ` ${label}`));
55
+ }
56
+ //# sourceMappingURL=HealthBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HealthBadge.js","sourceRoot":"","sources":["../../../src/tui/components/HealthBadge.tsx"],"names":[],"mappings":";;;;;AAgDA,kCAeC;AA/DD,kDAA0B;AAC1B,6BAA2B;AAQ3B,MAAM,aAAa,GAAwC;IACzD,EAAE,EAAE,OAAO;IACX,qBAAqB,EAAE,QAAQ;IAC/B,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,KAAK;IACd,gBAAgB,EAAE,QAAQ;IAC1B,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,MAAM;IACnB,cAAc,EAAE,MAAM;CACvB,CAAC;AAEF,MAAM,YAAY,GAAwC;IACxD,EAAE,EAAE,GAAG;IACP,qBAAqB,EAAE,GAAG;IAC1B,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;IACZ,gBAAgB,EAAE,GAAG;IACrB,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,GAAG;IAClB,WAAW,EAAE,GAAG;IAChB,cAAc,EAAE,GAAG;CACpB,CAAC;AAEF,MAAM,aAAa,GAAwC;IACzD,EAAE,EAAE,IAAI;IACR,qBAAqB,EAAE,QAAQ;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,gBAAgB,EAAE,SAAS;IAC3B,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,OAAO;IACtB,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,QAAQ;CACzB,CAAC;AAEF,SAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,KAAK,EAAoB;IACvE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,8BAAC,UAAI,IAAC,QAAQ,cAAS,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;IACrD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAChD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAE1E,OAAO,CACL,8BAAC,UAAI,IAAC,KAAK,EAAE,KAAK;QACf,IAAI;QACJ,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CACtB,CACR,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
+ import { AccountHealthStatus } from "../../core/types";
2
3
  interface StatusBadgeProps {
3
- status: "available" | "limited" | "disabled" | "error";
4
+ status: "available" | "limited" | "disabled" | "error" | AccountHealthStatus;
4
5
  label?: string;
5
6
  }
6
7
  export declare function StatusBadge({ status, label }: StatusBadgeProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StatusBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgBD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,gBAAgB,qBAU9D"}
1
+ {"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StatusBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,mBAAmB,CAAC;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+CD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,gBAAgB,qBAU9D"}
@@ -7,21 +7,49 @@ exports.StatusBadge = StatusBadge;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const ink_1 = require("ink");
9
9
  const STATUS_COLORS = {
10
+ // UI Statuses
10
11
  available: "white",
11
12
  limited: "gray",
12
13
  disabled: "gray",
13
- error: "gray",
14
+ error: "red",
15
+ // Health Statuses
16
+ ok: "green",
17
+ verification_required: "yellow",
18
+ revoked: "red",
19
+ deleted: "gray",
20
+ password_changed: "yellow",
21
+ network_error: "cyan",
22
+ unknown_error: "red",
23
+ not_checked: "gray",
24
+ not_configured: "gray",
14
25
  };
15
26
  const STATUS_ICONS = {
27
+ // UI Statuses
16
28
  available: "●",
17
29
  limited: "◐",
18
30
  disabled: "○",
19
31
  error: "!",
32
+ // Health Statuses
33
+ ok: "●",
34
+ verification_required: "⚠",
35
+ revoked: "✘",
36
+ deleted: "✖",
37
+ password_changed: "⌨",
38
+ network_error: "☁",
39
+ unknown_error: "?",
40
+ not_checked: "·",
41
+ not_configured: "-",
42
+ };
43
+ const STATUS_LABELS = {
44
+ verification_required: "VERIFY",
45
+ password_changed: "PWD CHG",
46
+ network_error: "NET ERR",
47
+ unknown_error: "ERROR",
20
48
  };
21
49
  function StatusBadge({ status, label }) {
22
50
  const color = STATUS_COLORS[status] || "gray";
23
51
  const icon = STATUS_ICONS[status] || "?";
24
- const text = label || status.toUpperCase();
52
+ const text = label || STATUS_LABELS[status] || status.replace(/_/g, " ").toUpperCase();
25
53
  return (react_1.default.createElement(ink_1.Text, { color: color },
26
54
  icon,
27
55
  " ",
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../../src/tui/components/StatusBadge.tsx"],"names":[],"mappings":";;;;;AAsBA,kCAUC;AAhCD,kDAA0B;AAC1B,6BAA2B;AAO3B,MAAM,aAAa,GAA2B;IAC5C,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,SAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAoB;IAC7D,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;IAE3C,OAAO,CACL,8BAAC,UAAI,IAAC,KAAK,EAAE,KAAK;QACf,IAAI;;QAAG,IAAI,CACP,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../../src/tui/components/StatusBadge.tsx"],"names":[],"mappings":";;;;;AAsDA,kCAUC;AAhED,kDAA0B;AAC1B,6BAA2B;AAQ3B,MAAM,aAAa,GAA2B;IAC5C,cAAc;IACd,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,KAAK;IAEZ,kBAAkB;IAClB,EAAE,EAAE,OAAO;IACX,qBAAqB,EAAE,QAAQ;IAC/B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,MAAM;IACf,gBAAgB,EAAE,QAAQ;IAC1B,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,MAAM;IACnB,cAAc,EAAE,MAAM;CACvB,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,cAAc;IACd,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;IAEV,kBAAkB;IAClB,EAAE,EAAE,GAAG;IACP,qBAAqB,EAAE,GAAG;IAC1B,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,gBAAgB,EAAE,GAAG;IACrB,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,GAAG;IAClB,WAAW,EAAE,GAAG;IAChB,cAAc,EAAE,GAAG;CACpB,CAAC;AAEF,MAAM,aAAa,GAA2B;IAC5C,qBAAqB,EAAE,QAAQ;IAC/B,gBAAgB,EAAE,SAAS;IAC3B,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,OAAO;CACvB,CAAC;AAEF,SAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAoB;IAC7D,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;IAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvF,OAAO,CACL,8BAAC,UAAI,IAAC,KAAK,EAAE,KAAK;QACf,IAAI;;QAAG,IAAI,CACP,CACR,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export { Box } from "./Box";
2
2
  export { Header } from "./Header";
3
3
  export { StatusBadge } from "./StatusBadge";
4
+ export { HealthBadge } from "./HealthBadge";
4
5
  export { StatCard, StatsRow } from "./StatsRow";
5
6
  export { AccountRow, AccountList } from "./AccountList";
6
7
  export { MenuBar, MenuAction } from "./Menu";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DashboardView = exports.ActionPalette = exports.ImportModal = exports.ExportModal = exports.FileBrowser = exports.PasswordInput = exports.SectionBox = exports.McpServerList = exports.ProviderList = exports.MenuBar = exports.AccountList = exports.AccountRow = exports.StatsRow = exports.StatCard = exports.StatusBadge = exports.Header = exports.Box = void 0;
3
+ exports.DashboardView = exports.ActionPalette = exports.ImportModal = exports.ExportModal = exports.FileBrowser = exports.PasswordInput = exports.SectionBox = exports.McpServerList = exports.ProviderList = exports.MenuBar = exports.AccountList = exports.AccountRow = exports.StatsRow = exports.StatCard = exports.HealthBadge = exports.StatusBadge = exports.Header = exports.Box = void 0;
4
4
  var Box_1 = require("./Box");
5
5
  Object.defineProperty(exports, "Box", { enumerable: true, get: function () { return Box_1.Box; } });
6
6
  var Header_1 = require("./Header");
7
7
  Object.defineProperty(exports, "Header", { enumerable: true, get: function () { return Header_1.Header; } });
8
8
  var StatusBadge_1 = require("./StatusBadge");
9
9
  Object.defineProperty(exports, "StatusBadge", { enumerable: true, get: function () { return StatusBadge_1.StatusBadge; } });
10
+ var HealthBadge_1 = require("./HealthBadge");
11
+ Object.defineProperty(exports, "HealthBadge", { enumerable: true, get: function () { return HealthBadge_1.HealthBadge; } });
10
12
  var StatsRow_1 = require("./StatsRow");
11
13
  Object.defineProperty(exports, "StatCard", { enumerable: true, get: function () { return StatsRow_1.StatCard; } });
12
14
  Object.defineProperty(exports, "StatsRow", { enumerable: true, get: function () { return StatsRow_1.StatsRow; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,uCAAgD;AAAvC,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAC3B,6CAAwD;AAA/C,yGAAA,UAAU,OAAA;AAAE,0GAAA,WAAW,OAAA;AAChC,+BAA6C;AAApC,+FAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,iDAA+D;AAAtD,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,uCAAgD;AAAvC,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAC3B,6CAAwD;AAA/C,yGAAA,UAAU,OAAA;AAAE,0GAAA,WAAW,OAAA;AAChC,+BAA6C;AAApC,+FAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,iDAA+D;AAAtD,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}