@tokenbuddy/tokenbuddy 1.0.36 → 1.0.37

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 (143) hide show
  1. package/dist/src/buyer-store.d.ts +6 -1
  2. package/dist/src/buyer-store.js +43 -4
  3. package/dist/src/cli.js +2 -2
  4. package/dist/src/daemon.d.ts +12 -0
  5. package/dist/src/daemon.js +791 -61
  6. package/dist/src/doctor-diagnostics.js +1 -6
  7. package/dist/src/provider-install.d.ts +2 -2
  8. package/dist/src/provider-install.js +248 -2
  9. package/dist/src/seller-catalog.d.ts +21 -0
  10. package/dist/src/seller-catalog.js +17 -0
  11. package/dist/src/seller-route-planner.d.ts +4 -1
  12. package/dist/src/seller-route-planner.js +3 -0
  13. package/dist/src/seller-routing-strategy.d.ts +3 -0
  14. package/dist/src/terminal-detect.d.ts +1 -1
  15. package/dist/src/terminal-detect.js +3 -2
  16. package/package.json +15 -2
  17. package/static/ui/assets/index-Djfl9tw5.js +271 -0
  18. package/static/ui/assets/index-DkfztCkn.css +1 -0
  19. package/static/ui/index.html +2 -2
  20. package/dist/src/buyer-store.d.ts.map +0 -1
  21. package/dist/src/buyer-store.js.map +0 -1
  22. package/dist/src/clawtip-bootstrap.d.ts.map +0 -1
  23. package/dist/src/clawtip-bootstrap.js.map +0 -1
  24. package/dist/src/cli.d.ts.map +0 -1
  25. package/dist/src/cli.js.map +0 -1
  26. package/dist/src/credit-tracker.d.ts.map +0 -1
  27. package/dist/src/credit-tracker.js.map +0 -1
  28. package/dist/src/daemon.d.ts.map +0 -1
  29. package/dist/src/daemon.js.map +0 -1
  30. package/dist/src/doctor-clawtip-wallet.d.ts.map +0 -1
  31. package/dist/src/doctor-clawtip-wallet.js.map +0 -1
  32. package/dist/src/doctor-diagnostics.d.ts.map +0 -1
  33. package/dist/src/doctor-diagnostics.js.map +0 -1
  34. package/dist/src/index.d.ts.map +0 -1
  35. package/dist/src/index.js.map +0 -1
  36. package/dist/src/init-clawtip-activation.d.ts.map +0 -1
  37. package/dist/src/init-clawtip-activation.js.map +0 -1
  38. package/dist/src/init-payment-options.d.ts.map +0 -1
  39. package/dist/src/init-payment-options.js.map +0 -1
  40. package/dist/src/init-setup.d.ts.map +0 -1
  41. package/dist/src/init-setup.js.map +0 -1
  42. package/dist/src/model-index.d.ts.map +0 -1
  43. package/dist/src/model-index.js.map +0 -1
  44. package/dist/src/package-update.d.ts.map +0 -1
  45. package/dist/src/package-update.js.map +0 -1
  46. package/dist/src/prewarm-cache.d.ts.map +0 -1
  47. package/dist/src/prewarm-cache.js.map +0 -1
  48. package/dist/src/prewarm-scheduler.d.ts.map +0 -1
  49. package/dist/src/prewarm-scheduler.js.map +0 -1
  50. package/dist/src/provider-install.d.ts.map +0 -1
  51. package/dist/src/provider-install.js.map +0 -1
  52. package/dist/src/provider-routing-config.d.ts.map +0 -1
  53. package/dist/src/provider-routing-config.js.map +0 -1
  54. package/dist/src/registry-trust.d.ts.map +0 -1
  55. package/dist/src/registry-trust.js.map +0 -1
  56. package/dist/src/route-failover.d.ts.map +0 -1
  57. package/dist/src/route-failover.js.map +0 -1
  58. package/dist/src/seller-catalog.d.ts.map +0 -1
  59. package/dist/src/seller-catalog.js.map +0 -1
  60. package/dist/src/seller-concurrency-limiter.d.ts.map +0 -1
  61. package/dist/src/seller-concurrency-limiter.js.map +0 -1
  62. package/dist/src/seller-metadata-cache.d.ts.map +0 -1
  63. package/dist/src/seller-metadata-cache.js.map +0 -1
  64. package/dist/src/seller-pool.d.ts.map +0 -1
  65. package/dist/src/seller-pool.js.map +0 -1
  66. package/dist/src/seller-route-planner.d.ts.map +0 -1
  67. package/dist/src/seller-route-planner.js.map +0 -1
  68. package/dist/src/seller-routing-config.d.ts.map +0 -1
  69. package/dist/src/seller-routing-config.js.map +0 -1
  70. package/dist/src/seller-routing-strategy.d.ts.map +0 -1
  71. package/dist/src/seller-routing-strategy.js.map +0 -1
  72. package/dist/src/stream-failover.d.ts.map +0 -1
  73. package/dist/src/stream-failover.js.map +0 -1
  74. package/dist/src/tb-clawtip-proof.d.ts.map +0 -1
  75. package/dist/src/tb-clawtip-proof.js.map +0 -1
  76. package/dist/src/tb-proxyd.d.ts.map +0 -1
  77. package/dist/src/tb-proxyd.js.map +0 -1
  78. package/dist/src/terminal-detect.d.ts.map +0 -1
  79. package/dist/src/terminal-detect.js.map +0 -1
  80. package/dist/src/terminal-image.d.ts.map +0 -1
  81. package/dist/src/terminal-image.js.map +0 -1
  82. package/src/buyer-store.ts +0 -1090
  83. package/src/clawtip-bootstrap.ts +0 -65
  84. package/src/cli.ts +0 -2243
  85. package/src/credit-tracker.ts +0 -295
  86. package/src/daemon.ts +0 -5475
  87. package/src/doctor-clawtip-wallet.ts +0 -95
  88. package/src/doctor-diagnostics.ts +0 -1026
  89. package/src/index.ts +0 -16
  90. package/src/init-clawtip-activation.ts +0 -695
  91. package/src/init-payment-options.ts +0 -373
  92. package/src/init-setup.ts +0 -165
  93. package/src/model-index.ts +0 -278
  94. package/src/package-update.ts +0 -311
  95. package/src/prewarm-cache.ts +0 -485
  96. package/src/prewarm-scheduler.ts +0 -675
  97. package/src/provider-install.ts +0 -1006
  98. package/src/provider-routing-config.ts +0 -410
  99. package/src/registry-trust.ts +0 -51
  100. package/src/route-failover.ts +0 -304
  101. package/src/seller-catalog.ts +0 -505
  102. package/src/seller-concurrency-limiter.ts +0 -161
  103. package/src/seller-metadata-cache.ts +0 -91
  104. package/src/seller-pool.ts +0 -557
  105. package/src/seller-route-planner.ts +0 -513
  106. package/src/seller-routing-config.ts +0 -211
  107. package/src/seller-routing-strategy.ts +0 -362
  108. package/src/stream-failover.ts +0 -152
  109. package/src/tb-clawtip-proof.ts +0 -28
  110. package/src/tb-proxyd.ts +0 -101
  111. package/src/terminal-detect.ts +0 -333
  112. package/src/terminal-image.ts +0 -228
  113. package/static/ui/assets/index-0MVXD7bH.css +0 -1
  114. package/static/ui/assets/index-BVbeDEwq.js +0 -271
  115. package/static/ui/assets/index-BVbeDEwq.js.map +0 -1
  116. package/tests/cli-routing.test.ts +0 -363
  117. package/tests/control-plane-ui-endpoints.test.ts +0 -1630
  118. package/tests/credit-tracker.test.ts +0 -165
  119. package/tests/daemon-413-fallback.test.ts +0 -92
  120. package/tests/daemon-classify.test.ts +0 -452
  121. package/tests/daemon-roles.test.ts +0 -92
  122. package/tests/daemon-trusted-registry-cache.test.ts +0 -132
  123. package/tests/e2e.test.ts +0 -366
  124. package/tests/image-generation-e2e.test.ts +0 -230
  125. package/tests/model-index.test.ts +0 -198
  126. package/tests/package-update.test.ts +0 -147
  127. package/tests/prewarm-cache.test.ts +0 -296
  128. package/tests/prewarm-scheduler.test.ts +0 -367
  129. package/tests/provider-routing-config.test.ts +0 -150
  130. package/tests/registry-trust.test.ts +0 -28
  131. package/tests/route-failover.test.ts +0 -222
  132. package/tests/seller-catalog-413.test.ts +0 -120
  133. package/tests/seller-catalog-utilities.test.ts +0 -124
  134. package/tests/seller-concurrency-limiter.test.ts +0 -83
  135. package/tests/seller-metadata-cache.test.ts +0 -89
  136. package/tests/seller-pool.test.ts +0 -365
  137. package/tests/seller-route-planner.test.ts +0 -312
  138. package/tests/seller-routing-config.test.ts +0 -124
  139. package/tests/seller-routing-strategy.test.ts +0 -167
  140. package/tests/stream-failover.test.ts +0 -52
  141. package/tests/thousand-seller.test.ts +0 -151
  142. package/tests/tokenbuddy.test.ts +0 -4043
  143. package/tsconfig.json +0 -8
@@ -1,95 +0,0 @@
1
- import { BuyerStore } from "./buyer-store.js";
2
- import {
3
- inspectClawtipWalletReadiness,
4
- type ClawtipWalletStatus,
5
- } from "./init-payment-options.js";
6
-
7
- /**
8
- * `tb doctor` 视角的 ClawTip 钱包就绪摘要:把 readiness 拍平成 boolean + 关键路径。
9
- * `printDoctorClawtipWallet()` 负责渲染它。
10
- */
11
- export interface DoctorClawtipWalletSummary {
12
- /** 综合就绪状态(同 `inspectClawtipWalletReadiness().status`) */
13
- status: ClawtipWalletStatus;
14
- /** `status === "ready"` 的便利布尔,UI 据此选择图标 */
15
- ready: boolean;
16
- /** buyer-store 里是否保存了 ClawTip 支付 metadata */
17
- paymentMetadataPresent: boolean;
18
- /** `~/.openclaw/configs/config.json` 是否存在 */
19
- walletConfigPresent: boolean;
20
- /** `~/.openclaw/configs/` 目录是否存在 */
21
- configsDirExists: boolean;
22
- /** 期望的 wallet config 绝对路径 */
23
- expectedPath: string;
24
- /** 同目录里其它文件列表(按字典序) */
25
- alternatePaths: string[];
26
- /** 人类可读说明(来自 readiness.message) */
27
- message: string;
28
- }
29
-
30
- function clawtipWalletStatusIcon(status: ClawtipWalletStatus): string {
31
- if (status === "ready") {
32
- return "✅";
33
- }
34
- if (status === "metadata_missing_wallet") {
35
- return "❌";
36
- }
37
- if (status === "wallet_missing_metadata") {
38
- return "🟡";
39
- }
40
- return "🔘";
41
- }
42
-
43
- /**
44
- * 从 `BuyerStore` 读取当前 ClawTip 支付 metadata,再叠加 wallet config 探查结果,
45
- * 生成 `tb doctor` 面板用的就绪摘要。
46
- *
47
- * @returns doctor 面板用的就绪摘要
48
- */
49
- export function readDoctorClawtipWallet(): DoctorClawtipWalletSummary {
50
- const store = new BuyerStore();
51
- try {
52
- const readiness = inspectClawtipWalletReadiness(store.getPayment("clawtip"));
53
- return {
54
- status: readiness.status,
55
- ready: readiness.status === "ready",
56
- paymentMetadataPresent: Boolean(readiness.savedBinding),
57
- walletConfigPresent: readiness.walletConfig.exists,
58
- configsDirExists: readiness.walletConfig.configsDirExists,
59
- expectedPath: readiness.walletConfig.expectedPath,
60
- alternatePaths: readiness.walletConfig.alternatePaths,
61
- message: readiness.message,
62
- };
63
- } finally {
64
- store.close();
65
- }
66
- }
67
-
68
- /**
69
- * 把 doctor 摘要渲染成多行人类可读输出,包含状态图标、metadata/config 缺失标记、
70
- * 期望路径、同目录其它文件,以及按状态分支的"接下来怎么做"提示。
71
- *
72
- * @param wallet `readDoctorClawtipWallet()` 的输出
73
- * @param writeLine 注入的单行写入函数(默认 `console.log`)
74
- */
75
- export function printDoctorClawtipWallet(
76
- wallet: DoctorClawtipWalletSummary,
77
- writeLine: (line: string) => void,
78
- ): void {
79
- writeLine("\n--- ClawTip Wallet ---");
80
- writeLine(`${clawtipWalletStatusIcon(wallet.status)} ClawTip Wallet [${wallet.status}]`);
81
- writeLine(` Payment metadata: ${wallet.paymentMetadataPresent ? "present" : "missing"}`);
82
- writeLine(` Wallet config: ${wallet.walletConfigPresent ? "found" : "missing"}`);
83
- writeLine(` Expected: ${wallet.expectedPath}`);
84
- if (wallet.alternatePaths.length > 0) {
85
- writeLine(` Nearby files: ${wallet.alternatePaths.join(", ")}`);
86
- }
87
- writeLine(` Notes: ${wallet.message}`);
88
- if (wallet.status === "metadata_missing_wallet") {
89
- writeLine(" Action: Run `tb init` and choose ClawTip to bind the local wallet again.");
90
- } else if (wallet.status === "wallet_missing_metadata") {
91
- writeLine(" Action: Run `tb init` and choose ClawTip so TokenBuddy can save payment metadata.");
92
- } else if (!wallet.ready) {
93
- writeLine(" Action: Run `tb init` and choose ClawTip to bind a wallet before using ClawTip-backed purchases.");
94
- }
95
- }