@tokenbuddy/tb-admin 1.0.31 → 1.0.33

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 (53) hide show
  1. package/dist/src/cli.d.ts.map +1 -1
  2. package/dist/src/cli.js +280 -19
  3. package/dist/src/cli.js.map +1 -1
  4. package/dist/src/client.d.ts +82 -2
  5. package/dist/src/client.d.ts.map +1 -1
  6. package/dist/src/client.js +93 -0
  7. package/dist/src/client.js.map +1 -1
  8. package/dist/src/provider.d.ts +120 -0
  9. package/dist/src/provider.d.ts.map +1 -0
  10. package/dist/src/provider.js +73 -0
  11. package/dist/src/provider.js.map +1 -0
  12. package/dist/src/seller.d.ts +104 -0
  13. package/dist/src/seller.d.ts.map +1 -0
  14. package/dist/src/seller.js +283 -0
  15. package/dist/src/seller.js.map +1 -0
  16. package/dist/src/ui-actions.d.ts +25 -0
  17. package/dist/src/ui-actions.d.ts.map +1 -1
  18. package/dist/src/ui-actions.js +81 -11
  19. package/dist/src/ui-actions.js.map +1 -1
  20. package/dist/src/ui-server.d.ts.map +1 -1
  21. package/dist/src/ui-server.js +15 -2
  22. package/dist/src/ui-server.js.map +1 -1
  23. package/dist/src/ui-state.d.ts +77 -2
  24. package/dist/src/ui-state.d.ts.map +1 -1
  25. package/dist/src/ui-state.js +242 -14
  26. package/dist/src/ui-state.js.map +1 -1
  27. package/dist/src/ui-static.d.ts.map +1 -1
  28. package/dist/src/ui-static.js +98 -20
  29. package/dist/src/ui-static.js.map +1 -1
  30. package/dist/src/vendor-client.d.ts +23 -0
  31. package/dist/src/vendor-client.d.ts.map +1 -0
  32. package/dist/src/vendor-client.js +2 -0
  33. package/dist/src/vendor-client.js.map +1 -0
  34. package/dist/src/vendor-commands.d.ts +35 -0
  35. package/dist/src/vendor-commands.d.ts.map +1 -0
  36. package/dist/src/vendor-commands.js +33 -0
  37. package/dist/src/vendor-commands.js.map +1 -0
  38. package/package.json +1 -1
  39. package/src/cli.ts +305 -31
  40. package/src/client.ts +118 -2
  41. package/src/provider.ts +150 -0
  42. package/src/seller.ts +362 -0
  43. package/src/ui-actions.ts +89 -11
  44. package/src/ui-server.ts +15 -1
  45. package/src/ui-state.ts +293 -15
  46. package/src/ui-static.ts +98 -20
  47. package/src/vendor-client.ts +23 -0
  48. package/src/vendor-commands.ts +65 -0
  49. package/tests/admin.test.ts +81 -3
  50. package/tests/seller.test.ts +337 -0
  51. package/tests/ui-state-fleet.test.ts +257 -0
  52. package/tests/ui-static-row.test.ts +202 -0
  53. package/tests/vendor-cli.test.ts +241 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ui-state.js","sourceRoot":"","sources":["../../src/ui-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-state.js","sourceRoot":"","sources":["../../src/ui-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-static.d.ts","sourceRoot":"","sources":["../../src/ui-static.ts"],"names":[],"mappings":"AAQA,wBAAgB,WAAW,IAAI,MAAM,CAkSpC"}
1
+ {"version":3,"file":"ui-static.d.ts","sourceRoot":"","sources":["../../src/ui-static.ts"],"names":[],"mappings":"AAQA,wBAAgB,WAAW,IAAI,MAAM,CAyTpC"}
@@ -77,6 +77,25 @@ export function adminUiHtml() {
77
77
  .app-table-head{min-height:34px;color:var(--muted);font-size:var(--label-fs);font-weight:var(--label-weight);text-transform:uppercase;letter-spacing:var(--label-spacing)}
78
78
  .app-row{border:1px solid var(--hairline);border-radius:8px;background:#fff;min-height:76px;text-align:left}
79
79
  .app-row:hover{border-color:var(--hairline-strong);background:#fff}
80
+ /* Step 13 v1.1: 双源 (fly + registry) 4 类行视觉. dataSource 决定
81
+ dataSource="fly" → 灰/中性边, "未发布" 提示
82
+ dataSource="registry" → 整行红边 + 软红底, "立即下线 (registry-only)" 按钮
83
+ dataSource="both" → 正常边, 跟 1.0.31 老样式一致
84
+ */
85
+ .app-row.app-row-fly-only{border-color:#cdd2db;background:#f8f9fc}
86
+ .app-row.app-row-fly-only:hover{background:#f1f3f8}
87
+ .app-row.app-row-registry-only{border:2px solid var(--danger);background:var(--danger-soft);box-shadow:0 0 0 3px rgba(239,91,120,.08)}
88
+ .app-row.app-row-registry-only:hover{background:#ffe3ea}
89
+ .datasource-chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:16px;margin-left:6px;vertical-align:middle}
90
+ .datasource-chip.both{background:#e7f6ee;color:#0a8754}
91
+ .datasource-chip.fly{background:#e3e6ee;color:#4a5170}
92
+ .datasource-chip.registry{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}
93
+ .alert-reason{color:var(--danger);font-size:11px;line-height:1.4;font-weight:700;margin-top:4px;display:block}
94
+ .remove-hint-btn{margin-top:6px;background:var(--danger);color:#fff;border:0;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:800;cursor:pointer;display:inline-block}
95
+ .remove-hint-btn:hover{background:#d63d5a}
96
+ .remove-hint-btn::before{content:"⚠ ";margin-right:2px}
97
+ .publish-hint-btn{margin-top:6px;background:#fff;color:var(--primary);border:1px solid var(--hairline-strong);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:800;cursor:pointer;display:inline-block}
98
+ .publish-hint-btn:hover{background:#f5f3ff}
80
99
  /* Status dot — five spec tones (green/amber/red/blue/gray) */
81
100
  .app-dot{width:10px;height:10px;border-radius:999px;background:#c8ced8;box-shadow:0 0 0 4px #edf1f8}
82
101
  .app-dot.tone-green{background:var(--success);box-shadow:0 0 0 4px rgba(16,185,129,.18)}
@@ -193,7 +212,7 @@ export function adminUiHtml() {
193
212
  </style>
194
213
  </head>
195
214
  <body>
196
- <nav class="topnav"><div class="logo">TOKENBUDDY ADMIN</div><div class="top-links"><button class="top-link active" data-page="sellers">Sellers</button><button class="top-link" data-page="bootstrap">Bootstrap</button></div></nav>
215
+ <nav class="topnav"><div class="logo">TOKENBUDDY ADMIN</div><div class="top-links"><button class="top-link active" data-page="sellers">Sellers</button><button class="top-link" data-page="releases">Release Requests</button></div></nav>
197
216
  <main class="content">
198
217
  <section id="page-sellers" class="page active">
199
218
  <div class="panel">
@@ -218,16 +237,20 @@ export function adminUiHtml() {
218
237
  </div>
219
238
  </div>
220
239
  </section>
221
- <section id="page-bootstrap" class="page">
240
+ <section id="page-releases" class="page">
222
241
  <div class="bootstrap-card">
223
242
  <div class="panel-head">
224
- <h1 class="title">Bootstrap</h1>
243
+ <h1 class="title">Release Requests</h1>
225
244
  <div class="modal-actions">
226
- <button id="openBootstrapConfig" class="btn primary">Edit Bootstrap Config</button>
227
- <button id="refreshBootstrap" class="btn">Refresh</button>
245
+ <button id="refreshReleases" class="btn">Refresh</button>
228
246
  </div>
229
247
  </div>
230
- <div id="bootstrapGrid" class="bootstrap-grid"></div>
248
+ <p class="hint" style="color:var(--muted);font-size:12px;margin:0 0 12px;">
249
+ Pending and historical release requests you have submitted to the wallet-bootstrap
250
+ registry. Force-publish is available to the platform super-admin via the registry
251
+ admin web; vendors do not publish their own releases.
252
+ </p>
253
+ <div id="releasesGrid" class="bootstrap-grid"></div>
231
254
  </div>
232
255
  </section>
233
256
  </main>
@@ -330,7 +353,7 @@ const infoIcon = '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 7h7"><
330
353
  const balanceProbeTemplates = ["openrouter","deepseek","stepfun","siliconflow","novita","newapi_generic","usage_generic","none","auto"];
331
354
  const paymentMethods = ["clawtip","mock"];
332
355
  const loadingSpinner = label => '<div class="loading-row" role="status" aria-label="'+esc(label)+'"><span class="spinner" aria-hidden="true"></span></div>';
333
- document.querySelectorAll(".top-link").forEach(btn => btn.onclick = () => { document.querySelectorAll(".top-link").forEach(b => b.classList.remove("active")); btn.classList.add("active"); document.querySelectorAll(".page").forEach(p => p.classList.remove("active")); document.getElementById("page-" + btn.dataset.page).classList.add("active"); if (btn.dataset.page === "bootstrap") loadBootstrap(); });
356
+ document.querySelectorAll(".top-link").forEach(btn => btn.onclick = () => { document.querySelectorAll(".top-link").forEach(b => b.classList.remove("active")); btn.classList.add("active"); document.querySelectorAll(".page").forEach(p => p.classList.remove("active")); document.getElementById("page-" + btn.dataset.page).classList.add("active"); if (btn.dataset.page === "releases") loadBootstrap(); });
334
357
  async function loadSellers(options={}){ if (sellerRefreshInFlight) return; clearTimeout(sellerRefreshTimer); sellerRefreshTimer = null; sellerNextRefreshAt = null; const initial = Boolean(options.initial); sellerRefreshInFlight = true; sellerRefreshError = ""; updateSellerRefreshMeta(true); if (initial) document.getElementById("sellerRows").innerHTML = loadingSpinner("Loading sellers"); try { const rows = await api("/api/sellers"); renderSellerRows(rows); sellerRefreshLoaded = true; sellerRefreshError = ""; } catch (err) { sellerRefreshError = err.message || "Refresh failed"; if (initial) document.getElementById("sellerRows").innerHTML = '<div class="status-line">'+esc(sellerRefreshError)+'</div>'; } finally { sellerRefreshInFlight = false; scheduleSellerRefresh(); updateSellerRefreshMeta(false); } }
335
358
  function renderSellerRows(rows){ sellerRowsCache = rows; document.getElementById("sellerRows").innerHTML = rows.map(row => sellerRow(row)).join(""); document.querySelectorAll("[data-detail]").forEach(btn => btn.onclick = () => openDetail(btn.dataset.detail)); }
336
359
  function startSellerRefresh(){ loadSellers({ initial:true }); sellerClockTimer = setInterval(() => updateSellerRefreshMeta(sellerRefreshInFlight), 1000); window.addEventListener("beforeunload", () => { clearTimeout(sellerRefreshTimer); clearInterval(sellerClockTimer); }); }
@@ -338,6 +361,17 @@ function scheduleSellerRefresh(){ clearTimeout(sellerRefreshTimer); sellerNextRe
338
361
  function updateSellerRefreshMeta(refreshing){ const state = document.getElementById("sellerRefreshState"); if (!state) return; const nextSeconds = sellerNextRefreshAt ? Math.max(0, Math.ceil((sellerNextRefreshAt.getTime() - Date.now()) / 1000)) : 0; state.classList.toggle("refreshing", Boolean(refreshing)); state.classList.toggle("error", Boolean(sellerRefreshError)); state.innerHTML = refreshing ? '<span class="spinner" aria-hidden="true"></span><span>Refreshing</span>' : esc(sellerRefreshError || (sellerRefreshLoaded ? "Next refresh: " + nextSeconds + "s" : "Starting")); }
339
362
  function sellerRow(row){
340
363
  const fmt = window.__tbFmt;
364
+ // Step 13 v1.1: dataSource 决定行 class + 标红/灰 + 按钮 + chip.
365
+ // row.dataSource ∈ "fly" | "registry" | "both". 老 1.0.31 没这个字段,
366
+ // 兜底当 "both" (老 UI 看到的所有行, 默认都按已发布处理).
367
+ const ds = row.dataSource || "both";
368
+ const rowClass = ds === "registry" ? "app-row app-row-registry-only"
369
+ : ds === "fly" ? "app-row app-row-fly-only"
370
+ : "app-row";
371
+ const dsChipLabel = ds === "registry" ? "Registry-only"
372
+ : ds === "fly" ? "未发布"
373
+ : "Both";
374
+ const dsChip = '<span class="datasource-chip '+esc(ds)+'" title="'+esc('Data source: ' + ds + '. 详见 docs/processes/seller-fleet-data-sources.md')+'">'+esc(dsChipLabel)+'</span>';
341
375
  const tip = [row.description, row.region, row.app, row.specs?.memoryGb ? row.specs.memoryGb + "GB" : "", row.specs?.machines ? row.specs.machines + " machines" : "", row.modelsCount ? row.modelsCount + " models" : ""].filter(Boolean).join(" · ") || "No specs";
342
376
  const ttftText = fmt.formatDuration(row.ttftMs);
343
377
  const ttft = "TTFT: " + (ttftText === fmt.UNKNOWN_VALUE ? "—" : ttftText);
@@ -348,9 +382,11 @@ function sellerRow(row){
348
382
  const balanceRaw = row.upstreamBalanceUsdMicros;
349
383
  const balanceText = (balanceRaw === undefined || balanceRaw === null) ? dash() : '<strong>'+esc(fmt.formatBalanceAmount(balanceRaw, row.upstreamBalanceCurrency || "USD"))+'</strong>';
350
384
  const switchText = row.lastSwitchAt ? "Switch " + esc(fmt.formatTimeCompact(row.lastSwitchAt)) : "";
385
+ // Step 13 v1.1: 绿点 (status + tone) 仍按 nodeStatus 决定 (probeManifest
386
+ // 200 → active 绿点; 失败 → unknown 灰). registryStatus 单独 tooltip.
351
387
  const status = fmt.formatSellerStatus(row.nodeStatus);
352
388
  const tone = fmt.sellerStatusTone(row.nodeStatus);
353
- const statusTip = "registry: " + esc(fmt.formatSellerStatus(row.registryStatus)) + " · upstream: " + esc(fmt.normalizeStatusLabel(row.upstreamStatus));
389
+ const statusTip = "registry: " + esc(fmt.formatSellerStatus(row.registryStatus)) + " · upstream: " + esc(fmt.normalizeStatusLabel(row.upstreamStatus)) + " · source: " + esc(ds);
354
390
  const sellerLine = [
355
391
  disc !== fmt.UNKNOWN_VALUE ? "Disc " + esc(disc) : null,
356
392
  capacity !== fmt.UNKNOWN_VALUE ? capacity : null,
@@ -358,21 +394,57 @@ function sellerRow(row){
358
394
  balanceText.includes("<strong>") ? "Balance " + esc(balanceText.replace(/<[^>]+>/g, "")) : null,
359
395
  switchText || null
360
396
  ].filter(Boolean).join(" · ");
361
- return '<button class="app-row" type="button" data-detail="'+esc(row.id)+'"><span class="app-dot tone-'+esc(tone)+'" aria-label="'+esc(status)+'"></span><span class="app-name"><span class="seller-title"><strong>'+esc(row.name)+'</strong><span class="spec-tip" title="'+esc(tip)+'" aria-label="Seller specs">'+infoIcon+'</span></span><span class="muted-value" style="font-size:12px;font-family:var(--font-mono)">'+esc(sellerLine || row.app || row.id)+'</span></span><span class="field-cell"><strong>'+esc(row.upstreamDomain)+'</strong></span><span class="field-cell"><strong>'+esc(disc === fmt.UNKNOWN_VALUE ? "—" : disc)+'</strong></span><span class="field-cell"><strong>'+esc(capacity)+'</strong></span><span class="speed-cell"><strong>'+esc(ttftText === fmt.UNKNOWN_VALUE ? "—" : ttftText)+'</strong><span>'+avgSpeed+'</span></span><span class="field-cell"><span class="balance-line">'+balanceText+(row.upstreamRechargeUrl ? '<a class="recharge-btn" href="'+esc(row.upstreamRechargeUrl)+'" target="_blank" rel="noreferrer">↗</a>' : '')+'</span></span><span class="field-cell"><strong title="'+esc(statusTip)+'">'+esc(status)+'</strong></span><span class="row-actions"><span class="detail-btn">›</span></span></button>';
397
+ // Step 13 v1.1: 4 类行的 status cell 文案不同.
398
+ // both → 正常 active / draining / offline
399
+ // fly-only → "未发布" (publishHint 提示走 vendor-bootstrap stage)
400
+ // registry → "**严重事故**" + alertReason 红字
401
+ let statusCell;
402
+ if (ds === "registry") {
403
+ statusCell = '<span class="field-cell"><strong class="registry-incident" title="'+esc(statusTip)+'">严重事故</strong>' +
404
+ (row.alertReason ? '<span class="alert-reason">'+esc(row.alertReason)+'</span>' : '') +
405
+ (row.removeHint ? '<button class="remove-hint-btn" type="button" data-action="remove" data-seller-id="'+esc(row.id)+'" title="'+esc(row.removeHint)+'">'+esc(row.removeHint)+'</button>' : '') +
406
+ '</span>';
407
+ } else if (ds === "fly") {
408
+ statusCell = '<span class="field-cell"><strong title="'+esc(statusTip)+'">未发布</strong>' +
409
+ (row.publishHint ? '<button class="publish-hint-btn" type="button" data-action="publish" data-seller-id="'+esc(row.id)+'" title="'+esc(row.publishHint)+'">'+esc(row.publishHint)+'</button>' : '') +
410
+ '</span>';
411
+ } else {
412
+ statusCell = '<span class="field-cell"><strong title="'+esc(statusTip)+'">'+esc(status)+'</strong></span>';
413
+ }
414
+ return '<button class="'+esc(rowClass)+'" type="button" data-detail="'+esc(row.id)+'"><span class="app-dot tone-'+esc(tone)+'" aria-label="'+esc(status)+'"></span><span class="app-name"><span class="seller-title"><strong>'+esc(row.name)+'</strong>'+dsChip+'<span class="spec-tip" title="'+esc(tip)+'" aria-label="Seller specs">'+infoIcon+'</span></span><span class="muted-value" style="font-size:12px;font-family:var(--font-mono)">'+esc(sellerLine || row.app || row.id)+'</span></span><span class="field-cell"><strong>'+esc(row.upstreamDomain)+'</strong></span><span class="field-cell"><strong>'+esc(disc === fmt.UNKNOWN_VALUE ? "—" : disc)+'</strong></span><span class="field-cell"><strong>'+esc(capacity)+'</strong></span><span class="speed-cell"><strong>'+esc(ttftText === fmt.UNKNOWN_VALUE ? "—" : ttftText)+'</strong><span>'+avgSpeed+'</span></span><span class="field-cell"><span class="balance-line">'+balanceText+(row.upstreamRechargeUrl ? '<a class="recharge-btn" href="'+esc(row.upstreamRechargeUrl)+'" target="_blank" rel="noreferrer">↗</a>' : '')+'</span></span>'+statusCell+'<span class="row-actions"><span class="detail-btn">›</span></span></button>';
362
415
  }
363
416
  async function loadBootstrap(){
417
+ // Step 6 of the registry redesign: the legacy Bootstrap tab now
418
+ // surfaces vendor release requests. We keep the function name
419
+ // (loadBootstrap) so the existing click wiring continues to work,
420
+ // but the rendered content comes from the new
421
+ // /api/vendor/release-requests endpoint (added in ui-server.ts).
364
422
  const fmt = window.__tbFmt;
365
423
  try {
366
- const data = await api("/api/bootstrap");
367
- const items = [
368
- { tone: "router", label: "Status", value: data.status || "unknown", secondary: data.url ? esc(fmt.formatSellerId(data.url)) : null },
369
- { tone: "spend", label: "Registry", value: data.registryVersion === undefined ? "" : "#" + esc(String(data.registryVersion)), secondary: data.registryUpdatedAt ? "Updated " + esc(fmt.formatTimeCompact(data.registryUpdatedAt)) : null },
370
- { tone: "tokens", label: "Sellers", value: data.sellerEntries === undefined ? "—" : esc(String(data.sellerEntries)), secondary: data.regions && data.regions.length ? esc(data.regions.join(", ")) : null },
371
- { tone: "inventory", label: "Default", value: data.defaultSeller || "—", secondary: data.profile ? "Profile " + esc(data.profile) : null }
372
- ];
373
- document.getElementById("bootstrapGrid").innerHTML = items.map(item => entryCardHtml(item)).join("");
424
+ const data = await api("/api/vendor/release-requests");
425
+ const rows = (data.releaseRequests || []);
426
+ if (rows.length === 0) {
427
+ document.getElementById("releasesGrid").innerHTML = '<div class="status-line">No release requests yet. Submit one with <code>tb-admin vendor-bootstrap stage</code> + <code>release submit</code>.</div>';
428
+ return;
429
+ }
430
+ const table = '<table style="width:100%;border-collapse:collapse;font-size:13px;">' +
431
+ '<thead><tr><th style="text-align:left;padding:6px 8px;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:0.04em;">ID</th><th style="text-align:left;padding:6px 8px;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:0.04em;">Status</th><th style="text-align:left;padding:6px 8px;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:0.04em;">Sellers</th><th style="text-align:left;padding:6px 8px;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:0.04em;">Submitted</th><th style="text-align:left;padding:6px 8px;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:0.04em;">Version</th><th style="text-align:left;padding:6px 8px;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:0.04em;">Error</th></tr></thead>' +
432
+ '<tbody>' + rows.map((r) => {
433
+ const summary = r.payloadSummary || { count: 0, sellerIds: [] };
434
+ const sellerList = (summary.sellerIds || []).join(", ") || "—";
435
+ const version = r.publishedVersion !== null && r.publishedVersion !== undefined ? "v" + esc(String(r.publishedVersion)) : "—";
436
+ return '<tr>' +
437
+ '<td style="padding:6px 8px;font-family:ui-monospace,monospace;">#' + esc(String(r.id)) + '</td>' +
438
+ '<td style="padding:6px 8px;">' + esc(r.status) + '</td>' +
439
+ '<td style="padding:6px 8px;">' + esc(String(summary.count)) + ' <span style="color:var(--muted);font-size:11px;">(' + esc(sellerList) + ')</span></td>' +
440
+ '<td style="padding:6px 8px;font-family:ui-monospace,monospace;">' + esc(fmt.formatTimeCompact(r.submittedAt)) + '</td>' +
441
+ '<td style="padding:6px 8px;">' + version + '</td>' +
442
+ '<td style="padding:6px 8px;color:var(--danger);">' + (r.errorMessage ? esc(r.errorMessage) : "—") + '</td>' +
443
+ '</tr>';
444
+ }).join("") + '</tbody></table>';
445
+ document.getElementById("releasesGrid").innerHTML = table;
374
446
  } catch (err) {
375
- document.getElementById("bootstrapGrid").innerHTML = '<div class="status-line">'+esc(uiErrorMessage(err))+'</div>';
447
+ document.getElementById("releasesGrid").innerHTML = '<div class="status-line">'+esc(uiErrorMessage(err))+'</div>';
376
448
  }
377
449
  }
378
450
  function entryCardHtml(item){
@@ -458,8 +530,14 @@ function renderCreateJob(job){ if (!job) return; currentCreateJob = job; const d
458
530
  function progressStep(event){ const result = event.result || {}; const log = [result.command ? "$ " + result.command.join(" ") : "", result.stdout || "", result.stderr || ""].filter(Boolean).join("\\n").slice(0, 1600); const expanded = expandedProgressSteps.has(event.stepId); const spinner = event.status === "running" ? '<span class="spinner" aria-hidden="true"></span>' : ""; return '<button type="button" class="progress-step '+esc(event.status)+'" data-progress-step="'+esc(event.stepId)+'" aria-expanded="'+String(expanded)+'"><div class="progress-title">'+spinner+'<strong>'+esc(event.title)+'</strong></div><div class="progress-meta"><span>'+esc(event.message || event.status)+'</span>'+(log ? '<span class="progress-toggle">'+(expanded ? "Hide details" : "Show details")+'</span>' : '')+'</div>'+(log && expanded ? '<pre class="progress-log">'+esc(log)+'</pre>' : '')+'</button>'; }
459
531
  function setCreateFormDisabled(disabled){ document.querySelectorAll("#createFields [data-field], #createFields [data-payment-tab], #createFields [data-payment-toggle]").forEach(input => { input.disabled = Boolean(disabled); }); if (!disabled) updatePaymentPanels(); }
460
532
  document.getElementById("createProgress").onclick = event => { const step = event.target.closest("[data-progress-step]"); if (!step) return; const id = step.dataset.progressStep; if (expandedProgressSteps.has(id)) expandedProgressSteps.delete(id); else expandedProgressSteps.add(id); if (currentCreateJob) renderCreateJob(currentCreateJob); };
461
- document.getElementById("refreshBootstrap").onclick = loadBootstrap;
462
- document.getElementById("openBootstrapConfig").onclick = openBootstrapConfig;
533
+ const refreshBootstrapEl = document.getElementById("refreshBootstrap");
534
+ if (refreshBootstrapEl) {
535
+ refreshBootstrapEl.onclick = loadBootstrap;
536
+ }
537
+ const refreshReleasesEl = document.getElementById("refreshReleases");
538
+ if (refreshReleasesEl) {
539
+ refreshReleasesEl.onclick = loadBootstrap;
540
+ }
463
541
  document.getElementById("closeBootstrapConfig").onclick = () => document.getElementById("bootstrapModal").classList.remove("open");
464
542
  function fieldValue(input){ return numeric(input.value); }
465
543
  function numeric(value){ const n = Number(value); return value !== "" && Number.isFinite(n) ? n : value; }
@@ -1 +1 @@
1
- {"version":3,"file":"ui-static.js","sourceRoot":"","sources":["../../src/ui-static.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,0DAA0D;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,UAAU,WAAW;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA8RG,aAAa,EAAE;;QAEnB,CAAC;AACT,CAAC;AAED,SAAS,aAAa;IACpB,gFAAgF;IAChF,OAAO;EACP,mBAAmB,EAAE;EACrB,mBAAmB,EAAE;CACtB,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiKR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"ui-static.js","sourceRoot":"","sources":["../../src/ui-static.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,0DAA0D;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,UAAU,WAAW;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqTG,aAAa,EAAE;;QAEnB,CAAC;AACT,CAAC;AAED,SAAS,aAAa;IACpB,gFAAgF;IAChF,OAAO;EACP,mBAAmB,EAAE;EACrB,mBAAmB,EAAE;CACtB,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwNR,CAAC;AACF,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Type alias for the seller entry shape vendor commands work with.
3
+ * Mirrors the server-side `SellerRegistryEntry` but stays decoupled
4
+ * from `wallet-bootstrap`'s internal types so this package does not
5
+ * become a build-time dependency of the registry service.
6
+ */
7
+ export interface SellerRegistryEntry {
8
+ id: string;
9
+ name?: string;
10
+ profile?: string;
11
+ app?: string;
12
+ url: string;
13
+ status?: string;
14
+ region?: string;
15
+ modelsCount?: number;
16
+ sampleModels?: string[];
17
+ models?: string[];
18
+ supportedProtocols: string[];
19
+ paymentMethods: string[];
20
+ recommendedFor?: string[];
21
+ }
22
+ export { RegistryVendorClient, RegistryAdminClient } from "./client.js";
23
+ //# sourceMappingURL=vendor-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor-client.d.ts","sourceRoot":"","sources":["../../src/vendor-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { RegistryVendorClient, RegistryAdminClient } from "./client.js";
2
+ //# sourceMappingURL=vendor-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor-client.js","sourceRoot":"","sources":["../../src/vendor-client.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { RegistryVendorClient } from "./vendor-client.js";
2
+ /**
3
+ * vendor CLI helpers for the `bootstrap sellers` and
4
+ * `bootstrap release` subcommands. Step 5 of the registry redesign.
5
+ *
6
+ * - `bootstrap sellers add --file <path>`: stage a single seller
7
+ * for inclusion in the next release request submitted by this
8
+ * vendor. The server validates the payload shape, persists it to
9
+ * `seller_pending`, and returns a `pendingSeller` row.
10
+ * - `bootstrap release submit --note <text> --staged <id>`: submit
11
+ * a release request that includes one or more staged sellers.
12
+ * - `bootstrap release list`: list the vendor's release requests.
13
+ * - `bootstrap release show <id>`: show one release request.
14
+ * - `bootstrap release force-publish <id>`: super-admin path; the
15
+ * vendor token cannot force-publish itself (the platform owns
16
+ * the scheduler loop in Step 7), but we keep the command here
17
+ * so CI scripts have a single entry point.
18
+ */
19
+ export interface StageSellerInput {
20
+ client: RegistryVendorClient;
21
+ file: string;
22
+ }
23
+ export declare function stageSellerFromFile({ client, file }: StageSellerInput): Promise<{
24
+ pendingSeller: unknown;
25
+ }>;
26
+ export interface SubmitReleaseInput {
27
+ client: RegistryVendorClient;
28
+ stagedSellerIds: string[];
29
+ note?: string;
30
+ }
31
+ export declare function submitRelease({ client, stagedSellerIds, note }: SubmitReleaseInput): Promise<{
32
+ releaseRequest: unknown;
33
+ }>;
34
+ export declare function printReleaseRequestSummary(record: any): string;
35
+ //# sourceMappingURL=vendor-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor-commands.d.ts","sourceRoot":"","sources":["../../src/vendor-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,oBAAoB,CAAC;AAE/E;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,CAAC,CAOjH;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,cAAc,EAAE,OAAO,CAAA;CAAE,CAAC,CAK/H;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAgB9D"}
@@ -0,0 +1,33 @@
1
+ import * as fs from "fs";
2
+ export async function stageSellerFromFile({ client, file }) {
3
+ const content = fs.readFileSync(file, "utf8");
4
+ const parsed = JSON.parse(content);
5
+ if (!parsed.id || typeof parsed.id !== "string") {
6
+ throw new Error(`seller id is required in ${file}`);
7
+ }
8
+ return client.stageSeller(parsed);
9
+ }
10
+ export async function submitRelease({ client, stagedSellerIds, note }) {
11
+ if (stagedSellerIds.length === 0) {
12
+ throw new Error("at least one --staged <seller-id> is required");
13
+ }
14
+ return client.submitRelease({ stagedSellerIds, note });
15
+ }
16
+ export function printReleaseRequestSummary(record) {
17
+ if (!record) {
18
+ return "no release request";
19
+ }
20
+ const summary = record.payloadSummary || { count: 0, sellerIds: [] };
21
+ return [
22
+ `id: #${record.id}`,
23
+ `status: ${record.status}`,
24
+ `vendor: ${record.vendorId}`,
25
+ `sellers: ${summary.count} (${(summary.sellerIds || []).join(", ") || "—"})`,
26
+ `submittedAt: ${record.submittedAt || "—"}`,
27
+ `decidedAt: ${record.decidedAt || "—"}`,
28
+ `version: ${record.publishedVersion !== null && record.publishedVersion !== undefined ? `v${record.publishedVersion}` : "—"}`,
29
+ record.note ? `note: ${record.note}` : null,
30
+ record.errorMessage ? `error: ${record.errorMessage}` : null
31
+ ].filter(Boolean).join("\n");
32
+ }
33
+ //# sourceMappingURL=vendor-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor-commands.js","sourceRoot":"","sources":["../../src/vendor-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AA0BzB,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAoB;IAC1E,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAwB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAsB;IACvF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAW;IACpD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACrE,OAAO;QACL,kBAAkB,MAAM,CAAC,EAAE,EAAE;QAC7B,iBAAiB,MAAM,CAAC,MAAM,EAAE;QAChC,iBAAiB,MAAM,CAAC,QAAQ,EAAE;QAClC,iBAAiB,OAAO,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG;QACjF,iBAAiB,MAAM,CAAC,WAAW,IAAI,GAAG,EAAE;QAC5C,iBAAiB,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE;QAC1C,iBAAiB,MAAM,CAAC,gBAAgB,KAAK,IAAI,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QAClI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;QACnD,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI;KACpE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tokenbuddy/tb-admin",
3
- "version": "1.0.31",
3
+ "version": "1.0.33",
4
4
  "description": "Remote admin CLI for TokenBuddy seller apps",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",