@tokenbuddy/tb-admin 1.0.14 → 1.0.27

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 (55) hide show
  1. package/dist/src/bootstrap-registry.d.ts +1 -0
  2. package/dist/src/bootstrap-registry.d.ts.map +1 -1
  3. package/dist/src/bootstrap-registry.js.map +1 -1
  4. package/dist/src/cli.d.ts.map +1 -1
  5. package/dist/src/cli.js +294 -13
  6. package/dist/src/cli.js.map +1 -1
  7. package/dist/src/client.d.ts +12 -3
  8. package/dist/src/client.d.ts.map +1 -1
  9. package/dist/src/client.js +12 -8
  10. package/dist/src/client.js.map +1 -1
  11. package/dist/src/display-format.d.ts +39 -0
  12. package/dist/src/display-format.d.ts.map +1 -0
  13. package/dist/src/display-format.js +354 -0
  14. package/dist/src/display-format.js.map +1 -0
  15. package/dist/src/server-cmd.d.ts +25 -1
  16. package/dist/src/server-cmd.d.ts.map +1 -1
  17. package/dist/src/server-cmd.js +116 -16
  18. package/dist/src/server-cmd.js.map +1 -1
  19. package/dist/src/ui-actions.d.ts +90 -0
  20. package/dist/src/ui-actions.d.ts.map +1 -0
  21. package/dist/src/ui-actions.js +823 -0
  22. package/dist/src/ui-actions.js.map +1 -0
  23. package/dist/src/ui-command.d.ts +4 -0
  24. package/dist/src/ui-command.d.ts.map +1 -0
  25. package/dist/src/ui-command.js +37 -0
  26. package/dist/src/ui-command.js.map +1 -0
  27. package/dist/src/ui-server.d.ts +22 -0
  28. package/dist/src/ui-server.d.ts.map +1 -0
  29. package/dist/src/ui-server.js +261 -0
  30. package/dist/src/ui-server.js.map +1 -0
  31. package/dist/src/ui-state.d.ts +140 -0
  32. package/dist/src/ui-state.d.ts.map +1 -0
  33. package/dist/src/ui-state.js +438 -0
  34. package/dist/src/ui-state.js.map +1 -0
  35. package/dist/src/ui-static.d.ts +2 -0
  36. package/dist/src/ui-static.d.ts.map +1 -0
  37. package/dist/src/ui-static.js +469 -0
  38. package/dist/src/ui-static.js.map +1 -0
  39. package/dist/src/upstream-balance-probe.d.ts +41 -0
  40. package/dist/src/upstream-balance-probe.d.ts.map +1 -0
  41. package/dist/src/upstream-balance-probe.js +379 -0
  42. package/dist/src/upstream-balance-probe.js.map +1 -0
  43. package/package.json +1 -1
  44. package/src/bootstrap-registry.ts +1 -0
  45. package/src/cli.ts +335 -13
  46. package/src/client.ts +13 -8
  47. package/src/display-format.ts +398 -0
  48. package/src/server-cmd.ts +145 -20
  49. package/src/ui-actions.ts +958 -0
  50. package/src/ui-command.ts +39 -0
  51. package/src/ui-server.ts +322 -0
  52. package/src/ui-state.ts +614 -0
  53. package/src/ui-static.ts +472 -0
  54. package/src/upstream-balance-probe.ts +505 -0
  55. package/tests/admin.test.ts +1404 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-actions.js","sourceRoot":"","sources":["../../src/ui-actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from "commander";
2
+ import { ConfigManager } from "./config.js";
3
+ export declare function bindAdminUiCommand(program: Command, configManager: ConfigManager): void;
4
+ //# sourceMappingURL=ui-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-command.d.ts","sourceRoot":"","sources":["../../src/ui-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,CA0BvF"}
@@ -0,0 +1,37 @@
1
+ import { startAdminUiServer } from "./ui-server.js";
2
+ export function bindAdminUiCommand(program, configManager) {
3
+ program
4
+ .command("ui")
5
+ .description("Start the local TokenBuddy admin UI")
6
+ .option("--host <host>", "Local bind host", "127.0.0.1")
7
+ .option("--port <port>", "Local bind port", parsePort, 17822)
8
+ .option("--no-open", "Do not open a browser")
9
+ .action(async (options) => {
10
+ try {
11
+ const rootOptions = program.opts();
12
+ const started = await startAdminUiServer({
13
+ host: options.host,
14
+ port: options.port,
15
+ openBrowser: Boolean(options.open),
16
+ configManager,
17
+ configPath: rootOptions.config,
18
+ profile: rootOptions.profile || process.env.TOKENBUDDY_ADMIN_PROFILE || "bootstrap",
19
+ url: rootOptions.url || process.env.TOKENBUDDY_ADMIN_URL,
20
+ token: rootOptions.token || process.env.TOKENBUDDY_ADMIN_TOKEN
21
+ });
22
+ console.log(`TokenBuddy admin UI listening on ${started.url}`);
23
+ }
24
+ catch (err) {
25
+ console.error("Error:", err.message);
26
+ process.exit(1);
27
+ }
28
+ });
29
+ }
30
+ function parsePort(value) {
31
+ const parsed = Number(value);
32
+ if (!Number.isInteger(parsed)) {
33
+ throw new Error("port must be an integer");
34
+ }
35
+ return parsed;
36
+ }
37
+ //# sourceMappingURL=ui-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-command.js","sourceRoot":"","sources":["../../src/ui-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,aAA4B;IAC/E,OAAO;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,WAAW,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;gBACvC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClC,aAAa;gBACb,UAAU,EAAE,WAAW,CAAC,MAAM;gBAC9B,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,WAAW;gBACnF,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;gBACxD,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB;aAC/D,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import * as http from "http";
2
+ import { ConfigManager } from "./config.js";
3
+ import { type UiActionResult } from "./ui-actions.js";
4
+ export interface AdminUiServerOptions {
5
+ host: string;
6
+ port: number;
7
+ openBrowser: boolean;
8
+ configManager: ConfigManager;
9
+ configPath?: string;
10
+ profile?: string;
11
+ url?: string;
12
+ token?: string;
13
+ fetchJson?: (url: string, init?: RequestInit) => Promise<unknown>;
14
+ balanceFetch?: typeof fetch;
15
+ commandRunner?: (args: string[], timeoutMs: number) => Promise<UiActionResult>;
16
+ }
17
+ export interface StartedAdminUiServer {
18
+ server: http.Server;
19
+ url: string;
20
+ }
21
+ export declare function startAdminUiServer(options: AdminUiServerOptions): Promise<StartedAdminUiServer>;
22
+ //# sourceMappingURL=ui-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-server.d.ts","sourceRoot":"","sources":["../../src/ui-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAmE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGvH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAgBD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA8BrG"}
@@ -0,0 +1,261 @@
1
+ import * as http from "http";
2
+ import { randomBytes } from "crypto";
3
+ import { URL } from "url";
4
+ import { AdminUiState } from "./ui-state.js";
5
+ import { UiActions } from "./ui-actions.js";
6
+ import { adminUiHtml } from "./ui-static.js";
7
+ export async function startAdminUiServer(options) {
8
+ assertSafeHost(options.host);
9
+ assertSafePort(options.port);
10
+ const state = new AdminUiState(options);
11
+ const actions = new UiActions(options);
12
+ const jobs = new Map();
13
+ const server = http.createServer(async (req, res) => {
14
+ try {
15
+ await routeRequest(req, res, state, actions, jobs);
16
+ }
17
+ catch (err) {
18
+ sendJson(res, 500, { error: err.message || "internal error" });
19
+ }
20
+ });
21
+ await new Promise((resolve, reject) => {
22
+ server.once("error", reject);
23
+ server.listen(options.port, options.host, () => {
24
+ server.off("error", reject);
25
+ resolve();
26
+ });
27
+ });
28
+ const address = server.address();
29
+ const actualPort = typeof address === "object" && address ? address.port : options.port;
30
+ const url = `http://${options.host}:${actualPort}/`;
31
+ if (options.openBrowser) {
32
+ openLocalBrowser(url).catch(() => undefined);
33
+ }
34
+ return { server, url };
35
+ }
36
+ async function routeRequest(req, res, state, actions, jobs) {
37
+ const parsed = new URL(req.url || "/", "http://127.0.0.1");
38
+ if (req.method === "GET" && parsed.pathname === "/") {
39
+ sendHtml(res, adminUiHtml());
40
+ return;
41
+ }
42
+ if (req.method === "GET" && parsed.pathname === "/favicon.ico") {
43
+ res.writeHead(204, { "Cache-Control": "no-store" });
44
+ res.end();
45
+ return;
46
+ }
47
+ if (parsed.pathname.startsWith("/api/") && !isValidUiOrigin(req)) {
48
+ sendJson(res, 403, { error: "invalid UI origin" });
49
+ return;
50
+ }
51
+ if (req.method === "GET" && parsed.pathname === "/api/bootstrap") {
52
+ sendJson(res, 200, await state.bootstrap());
53
+ return;
54
+ }
55
+ if (req.method === "GET" && parsed.pathname === "/api/bootstrap/config") {
56
+ sendJson(res, 200, await state.bootstrapConfig());
57
+ return;
58
+ }
59
+ if (req.method === "GET" && parsed.pathname === "/api/sellers") {
60
+ sendJson(res, 200, await state.sellers());
61
+ return;
62
+ }
63
+ if (req.method === "POST" && parsed.pathname === "/api/sellers") {
64
+ const body = await readJson(req);
65
+ const job = startCreateSellerJob(jobs, actions, body);
66
+ sendJson(res, 202, { jobId: job.id, job });
67
+ return;
68
+ }
69
+ const jobMatch = parsed.pathname.match(/^\/api\/jobs\/([^/]+)$/);
70
+ if (req.method === "GET" && jobMatch) {
71
+ const job = jobs.get(decodeURIComponent(jobMatch[1]));
72
+ if (!job) {
73
+ sendJson(res, 404, { error: "job not found" });
74
+ return;
75
+ }
76
+ sendJson(res, 200, job);
77
+ return;
78
+ }
79
+ const sellerMatch = parsed.pathname.match(/^\/api\/sellers\/([^/]+)(?:\/([^/]+))?$/);
80
+ if (sellerMatch) {
81
+ const id = decodeURIComponent(sellerMatch[1]);
82
+ const subroute = sellerMatch[2];
83
+ if (req.method === "GET" && !subroute) {
84
+ sendJson(res, 200, await state.sellerDetail(id));
85
+ return;
86
+ }
87
+ if (req.method === "GET" && subroute === "models") {
88
+ const detail = await state.sellerDetail(id);
89
+ sendJson(res, 200, detail.models);
90
+ return;
91
+ }
92
+ if (req.method === "PUT" && subroute === "config") {
93
+ sendJson(res, 200, await actions.updateSellerConfig(id, await readJson(req)));
94
+ return;
95
+ }
96
+ if (req.method === "POST" && (subroute === "offline" || subroute === "drain" || subroute === "activate")) {
97
+ const status = subroute === "drain" ? "draining" : subroute === "activate" ? "active" : "offline";
98
+ sendJson(res, 200, await actions.setRegistryStatus(id, status));
99
+ return;
100
+ }
101
+ if (req.method === "DELETE" && subroute === "deployment") {
102
+ const body = await readJson(req).catch(() => ({}));
103
+ sendJson(res, 200, await actions.deleteDeployment(id, Boolean(body.confirm)));
104
+ return;
105
+ }
106
+ }
107
+ sendJson(res, 404, { error: "not found" });
108
+ }
109
+ function startCreateSellerJob(jobs, actions, request) {
110
+ const now = new Date().toISOString();
111
+ const job = {
112
+ id: randomBytes(12).toString("hex"),
113
+ kind: "create_seller",
114
+ status: "running",
115
+ startedAt: now,
116
+ updatedAt: now,
117
+ title: `Create seller ${request.sellerName || ""}`.trim(),
118
+ events: []
119
+ };
120
+ jobs.set(job.id, job);
121
+ actions.createSeller(request, (event) => {
122
+ const safeEvent = sanitizeProgressEvent(event);
123
+ job.events = [...job.events.filter((item) => item.stepId !== safeEvent.stepId), safeEvent];
124
+ job.updatedAt = new Date().toISOString();
125
+ }).then((result) => {
126
+ job.status = result.result.ok
127
+ && (!result.readiness || result.readiness.ok)
128
+ && (!result.configPut || result.configPut.ok)
129
+ && (!result.modelsRefresh || result.modelsRefresh.ok)
130
+ && (!result.registryPublish || result.registryPublish.ok)
131
+ ? "succeeded"
132
+ : "failed";
133
+ job.result = sanitizeJobResult(result);
134
+ job.updatedAt = new Date().toISOString();
135
+ }).catch((err) => {
136
+ job.status = "failed";
137
+ job.error = redactSensitive(err.message || "create seller failed");
138
+ job.updatedAt = new Date().toISOString();
139
+ });
140
+ pruneJobs(jobs);
141
+ return job;
142
+ }
143
+ function sanitizeProgressEvent(event) {
144
+ return {
145
+ ...event,
146
+ message: event.message ? redactSensitive(event.message) : undefined,
147
+ result: event.result ? sanitizeActionResult(event.result) : undefined
148
+ };
149
+ }
150
+ function sanitizeJobResult(value) {
151
+ if (!value || typeof value !== "object") {
152
+ return value;
153
+ }
154
+ const input = value;
155
+ return Object.fromEntries(Object.entries(input).map(([key, entry]) => {
156
+ if (entry && typeof entry === "object" && "command" in entry) {
157
+ return [key, sanitizeActionResult(entry)];
158
+ }
159
+ if (entry && typeof entry === "object") {
160
+ return [key, sanitizeJobResult(entry)];
161
+ }
162
+ return [key, typeof entry === "string" ? redactSensitive(entry) : entry];
163
+ }));
164
+ }
165
+ function sanitizeActionResult(result) {
166
+ return {
167
+ ok: result.ok,
168
+ stdout: redactSensitive(result.stdout),
169
+ stderr: redactSensitive(result.stderr),
170
+ command: redactCommand(result.command)
171
+ };
172
+ }
173
+ function redactCommand(command) {
174
+ return command.map((part, index) => {
175
+ const prev = command[index - 1];
176
+ if (prev === "--operator-secret" || prev === "--token" || prev === "--api-key") {
177
+ return "********";
178
+ }
179
+ return redactSensitive(part);
180
+ });
181
+ }
182
+ function redactSensitive(value) {
183
+ return value.replace(/(sk-[A-Za-z0-9_-]+)/g, "********")
184
+ .replace(/(operatorSecret|upstreamApiKey|token|apiKey|sm4KeyBase64|clawtipSm4KeyBase64)["'=:\s]+([^"',\s]+)/gi, "$1=********");
185
+ }
186
+ function pruneJobs(jobs) {
187
+ const maxJobs = 20;
188
+ if (jobs.size <= maxJobs) {
189
+ return;
190
+ }
191
+ const stale = Array.from(jobs.values()).sort((a, b) => a.updatedAt.localeCompare(b.updatedAt));
192
+ for (const job of stale.slice(0, jobs.size - maxJobs)) {
193
+ jobs.delete(job.id);
194
+ }
195
+ }
196
+ function isValidUiOrigin(req) {
197
+ const origin = headerValue(req.headers.origin);
198
+ if (!origin) {
199
+ return true;
200
+ }
201
+ const host = headerValue(req.headers.host);
202
+ if (!host) {
203
+ return false;
204
+ }
205
+ try {
206
+ const parsed = new URL(origin);
207
+ return parsed.protocol === "http:" && parsed.host === host;
208
+ }
209
+ catch {
210
+ return false;
211
+ }
212
+ }
213
+ function headerValue(value) {
214
+ return Array.isArray(value) ? value[0] : value;
215
+ }
216
+ function sendHtml(res, html) {
217
+ res.writeHead(200, {
218
+ "Content-Type": "text/html; charset=utf-8",
219
+ "Cache-Control": "no-store"
220
+ });
221
+ res.end(html);
222
+ }
223
+ function sendJson(res, status, body) {
224
+ res.writeHead(status, {
225
+ "Content-Type": "application/json; charset=utf-8",
226
+ "Cache-Control": "no-store"
227
+ });
228
+ res.end(JSON.stringify(body));
229
+ }
230
+ async function readJson(req) {
231
+ const chunks = [];
232
+ for await (const chunk of req) {
233
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
234
+ }
235
+ const raw = Buffer.concat(chunks).toString("utf8").trim();
236
+ return raw ? JSON.parse(raw) : {};
237
+ }
238
+ function assertSafeHost(host) {
239
+ if (host !== "127.0.0.1" && host !== "localhost" && host !== "::1") {
240
+ throw new Error("tb-admin ui only supports loopback hosts");
241
+ }
242
+ }
243
+ function assertSafePort(port) {
244
+ if (!Number.isInteger(port) || port < 0 || port > 65535) {
245
+ throw new Error("port must be between 0 and 65535");
246
+ }
247
+ if (port === 12571 || port === 15721 || port === 17820 || port === 17821) {
248
+ throw new Error(`port ${port} is reserved`);
249
+ }
250
+ }
251
+ async function openLocalBrowser(url) {
252
+ const { spawn } = await import("child_process");
253
+ const command = process.platform === "darwin"
254
+ ? "open"
255
+ : process.platform === "win32"
256
+ ? "cmd"
257
+ : "xdg-open";
258
+ const args = process.platform === "win32" ? ["/c", "start", "", url] : [url];
259
+ spawn(command, args, { shell: false, stdio: "ignore", detached: true }).unref();
260
+ }
261
+ //# sourceMappingURL=ui-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-server.js","sourceRoot":"","sources":["../../src/ui-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ import { ConfigManager } from "./config.js";
2
+ import type { SellerRegistryDocument, SellerRegistryEntry } from "./bootstrap-registry.js";
3
+ export type RegistryStatus = "active" | "draining" | "offline" | "pending" | "unknown";
4
+ export type NodeStatus = RegistryStatus | "busy_capacity" | "auth_unknown";
5
+ export type UpstreamStatus = "healthy" | "degraded" | "unhealthy" | "unknown";
6
+ export interface SellerRow {
7
+ id: string;
8
+ name: string;
9
+ description?: string;
10
+ app?: string;
11
+ profile?: string;
12
+ url: string;
13
+ registryStatus: RegistryStatus;
14
+ nodeStatus: NodeStatus;
15
+ region?: string;
16
+ upstreamDomain: string;
17
+ upstreamStatus: UpstreamStatus;
18
+ upstreamBalanceUsdMicros?: number;
19
+ upstreamBalanceCurrency?: string;
20
+ upstreamBalanceSource?: string;
21
+ upstreamBalanceFetchedAt?: string;
22
+ upstreamBalanceError?: string;
23
+ upstreamRechargeUrl?: string;
24
+ discountRatio?: number;
25
+ capacityUsed?: number;
26
+ capacityLimit?: number;
27
+ ttftMs?: number;
28
+ avgInferenceMs?: number;
29
+ lastInferenceMs?: number;
30
+ avgTokensPerSecond?: number;
31
+ lastTokensPerSecond?: number;
32
+ latencySamples?: number;
33
+ lastSwitchAt?: string;
34
+ modelsCount?: number;
35
+ specs?: {
36
+ memoryGb?: number;
37
+ machines?: number;
38
+ region?: string;
39
+ modelsCount?: number;
40
+ };
41
+ error?: string;
42
+ }
43
+ export interface SellerModelRow {
44
+ upstreamModel: string;
45
+ billingModel: string;
46
+ inputPrice?: string;
47
+ outputPrice?: string;
48
+ ttftMs?: number;
49
+ avgInferenceMs?: number;
50
+ avgTokensPerSecond?: number;
51
+ latencySamples?: number;
52
+ }
53
+ export interface SellerDetail {
54
+ row: SellerRow;
55
+ configuration: {
56
+ registryStatus: string;
57
+ region?: string;
58
+ upstreamUrl?: string;
59
+ upstreamApiKeyMasked?: string;
60
+ upstreamStatus: UpstreamStatus;
61
+ upstreamBalance?: string;
62
+ upstreamBalanceSource?: string;
63
+ upstreamBalanceFetchedAt?: string;
64
+ upstreamBalanceError?: string;
65
+ upstreamBalanceProbeTemplate?: string;
66
+ upstreamBalanceProbeUrl?: string;
67
+ upstreamBalanceProbeUserId?: string;
68
+ upstreamBalanceProbeRechargeUrl?: string;
69
+ upstreamBalanceUrl?: string;
70
+ upstreamUserId?: string;
71
+ upstreamRechargeUrl?: string;
72
+ markupRatio?: number;
73
+ discountRatio?: number;
74
+ maxConnections?: number;
75
+ maxQueueDepth?: number;
76
+ };
77
+ models: SellerModelRow[];
78
+ }
79
+ export interface BootstrapSummary {
80
+ status: "available" | "unavailable";
81
+ url?: string;
82
+ profile?: string;
83
+ registryVersion?: number;
84
+ registryUpdatedAt?: string;
85
+ sellerEntries: number;
86
+ defaultSeller?: string;
87
+ regions: string[];
88
+ error?: string;
89
+ }
90
+ export interface BootstrapConfigSummary {
91
+ status: "available" | "unavailable";
92
+ sellerRegistryPath?: string;
93
+ bindHost?: string;
94
+ bindPort?: number;
95
+ allowLocalSellerUrls?: boolean;
96
+ clawtip?: {
97
+ payToMasked?: string;
98
+ sm4KeyMasked?: string;
99
+ skillSlug?: string;
100
+ skillId?: string;
101
+ description?: string;
102
+ resourceUrl?: string;
103
+ activationFeeFen?: number;
104
+ microsPerFen?: number;
105
+ };
106
+ error?: string;
107
+ }
108
+ export interface AdminUiStateOptions {
109
+ configManager: ConfigManager;
110
+ configPath?: string;
111
+ profile?: string;
112
+ url?: string;
113
+ token?: string;
114
+ fetchJson?: (url: string, init?: RequestInit) => Promise<unknown>;
115
+ balanceFetch?: typeof fetch;
116
+ }
117
+ export declare class AdminUiState {
118
+ private readonly configManager;
119
+ private readonly options;
120
+ private readonly fetchJson;
121
+ private readonly balanceCache;
122
+ constructor(options: AdminUiStateOptions);
123
+ bootstrap(): Promise<BootstrapSummary>;
124
+ bootstrapConfig(): Promise<BootstrapConfigSummary>;
125
+ sellers(): Promise<SellerRow[]>;
126
+ sellerDetail(id: string): Promise<SellerDetail>;
127
+ rawSellerConfig(id: string): Promise<{
128
+ entry: SellerRegistryEntry;
129
+ profileName?: string;
130
+ config: any;
131
+ }>;
132
+ fetchRegistry(): Promise<SellerRegistryDocument>;
133
+ private activeBootstrapProfile;
134
+ private matchSellerProfile;
135
+ private sellerSnapshot;
136
+ private fetchSellerAdminJson;
137
+ private balanceSnapshot;
138
+ }
139
+ export declare function maskApiKey(value: unknown): string | undefined;
140
+ //# sourceMappingURL=ui-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-state.d.ts","sourceRoot":"","sources":["../../src/ui-state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAO3F,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AACvF,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,CAAC;AAC3E,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,SAAS,CAAC;IACf,aAAa,EAAE;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,cAAc,EAAE,cAAc,CAAC;QAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,4BAA4B,CAAC,EAAE,MAAM,CAAC;QACtC,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,+BAA+B,CAAC,EAAE,MAAM,CAAC;QACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;CAC7B;AAiBD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwD;IAClF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;gBAE5C,OAAO,EAAE,mBAAmB;IAM3B,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA2BtC,eAAe,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAiClD,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAM/B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAqC/C,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,mBAAmB,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;IAcvG,aAAa,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAa7D,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,kBAAkB;YA+BZ,cAAc;YAyCd,oBAAoB;YASpB,eAAe;CAkB9B;AAqID,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAO7D"}