@tokenbuddy/tokenbuddy 1.0.29 → 1.0.30

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 (57) hide show
  1. package/dist/src/daemon.d.ts +11 -4
  2. package/dist/src/daemon.d.ts.map +1 -1
  3. package/dist/src/daemon.js +130 -42
  4. package/dist/src/daemon.js.map +1 -1
  5. package/dist/src/doctor-diagnostics.d.ts.map +1 -1
  6. package/dist/src/doctor-diagnostics.js +7 -1
  7. package/dist/src/doctor-diagnostics.js.map +1 -1
  8. package/dist/src/prewarm-cache.d.ts +4 -0
  9. package/dist/src/prewarm-cache.d.ts.map +1 -1
  10. package/dist/src/prewarm-cache.js +1 -0
  11. package/dist/src/prewarm-cache.js.map +1 -1
  12. package/dist/src/prewarm-scheduler.d.ts +2 -0
  13. package/dist/src/prewarm-scheduler.d.ts.map +1 -1
  14. package/dist/src/prewarm-scheduler.js +4 -1
  15. package/dist/src/prewarm-scheduler.js.map +1 -1
  16. package/dist/src/provider-install.d.ts.map +1 -1
  17. package/dist/src/provider-install.js +196 -18
  18. package/dist/src/provider-install.js.map +1 -1
  19. package/dist/src/seller-catalog.d.ts +4 -0
  20. package/dist/src/seller-catalog.d.ts.map +1 -1
  21. package/dist/src/seller-catalog.js.map +1 -1
  22. package/dist/src/seller-pool.d.ts +13 -0
  23. package/dist/src/seller-pool.d.ts.map +1 -1
  24. package/dist/src/seller-pool.js +43 -2
  25. package/dist/src/seller-pool.js.map +1 -1
  26. package/dist/src/seller-route-planner.d.ts +9 -0
  27. package/dist/src/seller-route-planner.d.ts.map +1 -1
  28. package/dist/src/seller-route-planner.js +39 -15
  29. package/dist/src/seller-route-planner.js.map +1 -1
  30. package/dist/src/seller-routing-strategy.d.ts +6 -4
  31. package/dist/src/seller-routing-strategy.d.ts.map +1 -1
  32. package/dist/src/seller-routing-strategy.js +15 -12
  33. package/dist/src/seller-routing-strategy.js.map +1 -1
  34. package/dist/src/terminal-detect.d.ts +5 -5
  35. package/dist/src/terminal-detect.d.ts.map +1 -1
  36. package/dist/src/terminal-detect.js +79 -26
  37. package/dist/src/terminal-detect.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/daemon.ts +168 -46
  40. package/src/doctor-diagnostics.ts +5 -1
  41. package/src/prewarm-cache.ts +5 -0
  42. package/src/prewarm-scheduler.ts +6 -1
  43. package/src/provider-install.ts +203 -18
  44. package/src/seller-catalog.ts +4 -0
  45. package/src/seller-pool.ts +68 -2
  46. package/src/seller-route-planner.ts +61 -15
  47. package/src/seller-routing-strategy.ts +21 -16
  48. package/src/terminal-detect.ts +81 -24
  49. package/static/ui/assets/index-DEDEl8o2.js +236 -0
  50. package/static/ui/assets/{index-UAfOhbwC.js.map → index-DEDEl8o2.js.map} +1 -1
  51. package/static/ui/index.html +1 -1
  52. package/tests/control-plane-ui-endpoints.test.ts +73 -0
  53. package/tests/seller-pool.test.ts +55 -0
  54. package/tests/seller-route-planner.test.ts +45 -1
  55. package/tests/seller-routing-strategy.test.ts +6 -5
  56. package/tests/tokenbuddy.test.ts +346 -38
  57. package/static/ui/assets/index-UAfOhbwC.js +0 -236
@@ -78,7 +78,7 @@ function compareCandidates(a, b, scorer) {
78
78
  }
79
79
  if (scorer === "speed") {
80
80
  return compareFiniteAsc(effectiveTtftMs(a), effectiveTtftMs(b))
81
- || compareFiniteAsc(effectiveAvgInferenceMs(a), effectiveAvgInferenceMs(b))
81
+ || compareFiniteDesc(a.avgTokensPerSecond, b.avgTokensPerSecond)
82
82
  || compareFiniteDesc(a.healthScore, b.healthScore)
83
83
  || compareRegistryOrder(a, b);
84
84
  }
@@ -101,14 +101,14 @@ export function scoreCandidateBreakdown(candidate, scorer) {
101
101
  const missingInputs = missingScoreInputs(candidate);
102
102
  if (scorer === "speed") {
103
103
  const ttftComponent = latencyScore(effectiveTtftMs(candidate)) * 0.65;
104
- const avgInferenceComponent = latencyScore(effectiveAvgInferenceMs(candidate)) * 0.25;
104
+ const avgTokensPerSecondComponent = tokensPerSecondScore(candidate.avgTokensPerSecond) * 0.25;
105
105
  const healthComponent = finiteOr(candidate.healthScore, 0) * 0.1;
106
106
  return {
107
107
  scorer,
108
- totalScore: ttftComponent + avgInferenceComponent + healthComponent,
108
+ totalScore: ttftComponent + avgTokensPerSecondComponent + healthComponent,
109
109
  healthComponent,
110
110
  ttftComponent,
111
- avgInferenceComponent,
111
+ avgTokensPerSecondComponent,
112
112
  missingInputs
113
113
  };
114
114
  }
@@ -123,14 +123,14 @@ export function scoreCandidateBreakdown(candidate, scorer) {
123
123
  }
124
124
  const healthComponent = finiteOr(candidate.healthScore, 0) * 0.35;
125
125
  const ttftComponent = latencyScore(effectiveTtftMs(candidate)) * 0.2;
126
- const avgInferenceComponent = latencyScore(effectiveAvgInferenceMs(candidate)) * 0.2;
126
+ const avgTokensPerSecondComponent = tokensPerSecondScore(candidate.avgTokensPerSecond) * 0.2;
127
127
  const discountComponent = discountScore(candidate.discountRatio) * 0.25;
128
128
  return {
129
129
  scorer,
130
- totalScore: healthComponent + ttftComponent + avgInferenceComponent + discountComponent,
130
+ totalScore: healthComponent + ttftComponent + avgTokensPerSecondComponent + discountComponent,
131
131
  healthComponent,
132
132
  ttftComponent,
133
- avgInferenceComponent,
133
+ avgTokensPerSecondComponent,
134
134
  discountComponent,
135
135
  missingInputs
136
136
  };
@@ -141,6 +141,12 @@ function latencyScore(latencyMs) {
141
141
  }
142
142
  return Math.max(0, 100 - Math.max(0, latencyMs) / 10);
143
143
  }
144
+ function tokensPerSecondScore(value) {
145
+ if (!Number.isFinite(value)) {
146
+ return 0;
147
+ }
148
+ return Math.max(0, Math.min(100, value));
149
+ }
144
150
  function discountScore(discountRatio) {
145
151
  if (!Number.isFinite(discountRatio)) {
146
152
  return 0;
@@ -159,9 +165,6 @@ function compareFiniteDesc(a, b) {
159
165
  function effectiveTtftMs(candidate) {
160
166
  return candidate.ttftMs ?? candidate.healthProbeLatencyMs ?? candidate.avgLatencyMs;
161
167
  }
162
- function effectiveAvgInferenceMs(candidate) {
163
- return candidate.avgInferenceMs ?? candidate.avgLatencyMs ?? candidate.healthProbeLatencyMs;
164
- }
165
168
  function compareRegistryOrder(a, b) {
166
169
  return a.registryOrder - b.registryOrder;
167
170
  }
@@ -174,8 +177,8 @@ function missingScoreInputs(candidate) {
174
177
  missing.push("healthScore");
175
178
  if (!Number.isFinite(candidate.ttftMs))
176
179
  missing.push("ttftMs");
177
- if (!Number.isFinite(candidate.avgInferenceMs))
178
- missing.push("avgInferenceMs");
180
+ if (!Number.isFinite(candidate.avgTokensPerSecond))
181
+ missing.push("avgTokensPerSecond");
179
182
  if (!Number.isFinite(candidate.discountRatio))
180
183
  missing.push("discountRatio");
181
184
  return missing;
@@ -1 +1 @@
1
- {"version":3,"file":"seller-routing-strategy.js","sourceRoot":"","sources":["../../src/seller-routing-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seller-routing-strategy.js","sourceRoot":"","sources":["../../src/seller-routing-strategy.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export declare function getHomeDir(): string;
24
24
  * Detect which coding terminals are installed on the local system.
25
25
  *
26
26
  * 通过 `~/.claude/settings.json`、`Library/Application Support/Claude/...`、
27
- * `~/.openclaw/config.json`、`~/.hermes/settings.json` 等约定路径判断。
27
+ * `~/.openclaw/openclaw.json`、`~/.hermes/config.yaml` 等约定路径判断。
28
28
  * Claude Desktop 在非 macOS 平台上 `configPath` 可能为空字符串,
29
29
  * 调用方需以 `detected` 字段为准。
30
30
  *
@@ -58,10 +58,10 @@ export declare function rewriteClaudeDesktop(configPath: string, proxyUrl: strin
58
58
  /**
59
59
  * Rewrite Openclaw settings.
60
60
  *
61
- * 写入 `api_url` / `api_key`(占位 `TOKENBUDDY_PROXY`)/`model`。
61
+ * 写入 `models.providers.tokenbuddy`,并把 `agents.defaults.model` 指向 TokenBuddy。
62
62
  * 失败仅打印日志,不抛出。
63
63
  *
64
- * @param configPath `~/.openclaw/config.json` 的绝对路径
64
+ * @param configPath `~/.openclaw/openclaw.json` 的绝对路径
65
65
  * @param proxyUrl TokenBuddy proxy 的 base URL
66
66
  * @param model Openclaw 默认模型 ID
67
67
  */
@@ -69,10 +69,10 @@ export declare function rewriteOpenclaw(configPath: string, proxyUrl: string, mo
69
69
  /**
70
70
  * Rewrite Hermes settings.
71
71
  *
72
- * 在 `openai` 块下写入 `base_url` / `api_key`(占位 `TOKENBUDDY_PROXY`)/`model`。
72
+ * 在 `model` 块下写入 TokenBuddy 的默认模型、custom provider、base_url、api_key 和 api_mode。
73
73
  * 失败仅打印日志,不抛出。
74
74
  *
75
- * @param configPath `~/.hermes/settings.json` 的绝对路径
75
+ * @param configPath `~/.hermes/config.yaml` 的绝对路径
76
76
  * @param proxyUrl TokenBuddy proxy 的 base URL
77
77
  * @param model Hermes 默认模型 ID
78
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-detect.d.ts","sourceRoot":"","sources":["../../src/terminal-detect.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,EAAE,CAuDrD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA4B3F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA0D9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAmBzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAsBvF"}
1
+ {"version":3,"file":"terminal-detect.d.ts","sourceRoot":"","sources":["../../src/terminal-detect.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,EAAE,CAuDrD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA4B3F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA0D9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAkDzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAoBvF"}
@@ -15,7 +15,7 @@ export function getHomeDir() {
15
15
  * Detect which coding terminals are installed on the local system.
16
16
  *
17
17
  * 通过 `~/.claude/settings.json`、`Library/Application Support/Claude/...`、
18
- * `~/.openclaw/config.json`、`~/.hermes/settings.json` 等约定路径判断。
18
+ * `~/.openclaw/openclaw.json`、`~/.hermes/config.yaml` 等约定路径判断。
19
19
  * Claude Desktop 在非 macOS 平台上 `configPath` 可能为空字符串,
20
20
  * 调用方需以 `detected` 字段为准。
21
21
  *
@@ -52,24 +52,24 @@ export function detectTerminals() {
52
52
  reason: desktopDetected ? "Found Claude desktop config" : "Missing Claude desktop config"
53
53
  });
54
54
  // 3. Openclaw
55
- const openclawPath = path.join(home, ".openclaw", "config.json");
55
+ const openclawPath = path.join(home, ".openclaw", "openclaw.json");
56
56
  const openclawDetected = fs.existsSync(openclawPath);
57
57
  candidates.push({
58
58
  id: "openclaw",
59
59
  name: "Openclaw Agent",
60
60
  detected: openclawDetected,
61
61
  configPath: openclawPath,
62
- reason: openclawDetected ? "Found `~/.openclaw/config.json`" : "Missing `~/.openclaw/config.json`"
62
+ reason: openclawDetected ? "Found `~/.openclaw/openclaw.json`" : "Missing `~/.openclaw/openclaw.json`"
63
63
  });
64
64
  // 4. Hermes
65
- const hermesPath = path.join(home, ".hermes", "settings.json");
65
+ const hermesPath = path.join(home, ".hermes", "config.yaml");
66
66
  const hermesDetected = fs.existsSync(hermesPath);
67
67
  candidates.push({
68
68
  id: "hermes",
69
69
  name: "Hermes Terminal",
70
70
  detected: hermesDetected,
71
71
  configPath: hermesPath,
72
- reason: hermesDetected ? "Found `~/.hermes/settings.json`" : "Missing `~/.hermes/settings.json`"
72
+ reason: hermesDetected ? "Found `~/.hermes/config.yaml`" : "Missing `~/.hermes/config.yaml`"
73
73
  });
74
74
  return candidates;
75
75
  }
@@ -184,10 +184,10 @@ export function rewriteClaudeDesktop(configPath, proxyUrl, model) {
184
184
  /**
185
185
  * Rewrite Openclaw settings.
186
186
  *
187
- * 写入 `api_url` / `api_key`(占位 `TOKENBUDDY_PROXY`)/`model`。
187
+ * 写入 `models.providers.tokenbuddy`,并把 `agents.defaults.model` 指向 TokenBuddy。
188
188
  * 失败仅打印日志,不抛出。
189
189
  *
190
- * @param configPath `~/.openclaw/config.json` 的绝对路径
190
+ * @param configPath `~/.openclaw/openclaw.json` 的绝对路径
191
191
  * @param proxyUrl TokenBuddy proxy 的 base URL
192
192
  * @param model Openclaw 默认模型 ID
193
193
  */
@@ -203,9 +203,40 @@ export function rewriteOpenclaw(configPath, proxyUrl, model) {
203
203
  }
204
204
  catch { }
205
205
  }
206
- config.api_url = proxyUrl;
207
- config.api_key = PLACEHOLDER_API_KEY;
208
- config.model = model;
206
+ const providers = config.models && typeof config.models === "object" && !Array.isArray(config.models)
207
+ ? config.models.providers && typeof config.models.providers === "object" && !Array.isArray(config.models.providers)
208
+ ? config.models.providers
209
+ : {}
210
+ : {};
211
+ const tokenbuddy = providers.tokenbuddy && typeof providers.tokenbuddy === "object" && !Array.isArray(providers.tokenbuddy)
212
+ ? providers.tokenbuddy
213
+ : {};
214
+ const existingModels = Array.isArray(tokenbuddy.models) ? tokenbuddy.models : [];
215
+ providers.tokenbuddy = {
216
+ ...tokenbuddy,
217
+ baseUrl: openAiBaseUrl(proxyUrl),
218
+ apiKey: PLACEHOLDER_API_KEY,
219
+ auth: "api-key",
220
+ api: "openai-completions",
221
+ models: [
222
+ ...existingModels.filter((entry) => !(entry && typeof entry === "object" && entry.id === model)),
223
+ {
224
+ id: model,
225
+ name: model,
226
+ api: "openai-completions",
227
+ input: ["text", "image"],
228
+ },
229
+ ],
230
+ };
231
+ config.models = {
232
+ ...(config.models && typeof config.models === "object" && !Array.isArray(config.models) ? config.models : {}),
233
+ providers,
234
+ };
235
+ const agents = config.agents && typeof config.agents === "object" && !Array.isArray(config.agents) ? config.agents : {};
236
+ const defaults = agents.defaults && typeof agents.defaults === "object" && !Array.isArray(agents.defaults) ? agents.defaults : {};
237
+ defaults.model = `tokenbuddy/${model}`;
238
+ agents.defaults = defaults;
239
+ config.agents = agents;
209
240
  fs.writeFileSync(configPath, JSON.stringify(config, null, 2), "utf8");
210
241
  console.log(`[terminal-detect] Openclaw successfully routed to ${proxyUrl}`);
211
242
  }
@@ -216,10 +247,10 @@ export function rewriteOpenclaw(configPath, proxyUrl, model) {
216
247
  /**
217
248
  * Rewrite Hermes settings.
218
249
  *
219
- * 在 `openai` 块下写入 `base_url` / `api_key`(占位 `TOKENBUDDY_PROXY`)/`model`。
250
+ * 在 `model` 块下写入 TokenBuddy 的默认模型、custom provider、base_url、api_key 和 api_mode。
220
251
  * 失败仅打印日志,不抛出。
221
252
  *
222
- * @param configPath `~/.hermes/settings.json` 的绝对路径
253
+ * @param configPath `~/.hermes/config.yaml` 的绝对路径
223
254
  * @param proxyUrl TokenBuddy proxy 的 base URL
224
255
  * @param model Hermes 默认模型 ID
225
256
  */
@@ -228,24 +259,46 @@ export function rewriteHermes(configPath, proxyUrl, model) {
228
259
  const parent = path.dirname(configPath);
229
260
  if (!fs.existsSync(parent))
230
261
  fs.mkdirSync(parent, { recursive: true });
231
- let config = {};
232
- if (fs.existsSync(configPath)) {
233
- try {
234
- config = JSON.parse(fs.readFileSync(configPath, "utf8"));
235
- }
236
- catch { }
237
- }
238
- if (!config.openai || typeof config.openai !== "object") {
239
- config.openai = {};
240
- }
241
- config.openai.base_url = proxyUrl;
242
- config.openai.api_key = PLACEHOLDER_API_KEY;
243
- config.openai.model = model;
244
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2), "utf8");
262
+ const existing = fs.existsSync(configPath) ? fs.readFileSync(configPath, "utf8") : "";
263
+ const modelSection = [
264
+ "model:",
265
+ ` default: ${model}`,
266
+ " provider: custom",
267
+ ` base_url: ${JSON.stringify(openAiBaseUrl(proxyUrl))}`,
268
+ ` api_key: ${PLACEHOLDER_API_KEY}`,
269
+ " api_mode: chat_completions",
270
+ ].join("\n");
271
+ fs.writeFileSync(configPath, replaceTopLevelYamlSection(existing, "model", modelSection), "utf8");
245
272
  console.log(`[terminal-detect] Hermes successfully routed to ${proxyUrl}`);
246
273
  }
247
274
  catch (err) {
248
275
  console.error("[terminal-detect] Failed to rewrite Hermes config:", err.message);
249
276
  }
250
277
  }
278
+ function openAiBaseUrl(proxyUrl) {
279
+ const normalized = proxyUrl.replace(/\/+$/, "");
280
+ return normalized.endsWith("/v1") ? normalized : `${normalized}/v1`;
281
+ }
282
+ function replaceTopLevelYamlSection(existing, sectionName, sectionBody) {
283
+ const lines = existing.split(/\r?\n/);
284
+ const sectionStart = lines.findIndex((line) => line === `${sectionName}:` || line.startsWith(`${sectionName}: `));
285
+ const bodyLines = sectionBody.trimEnd().split(/\r?\n/);
286
+ if (sectionStart < 0) {
287
+ const prefix = existing.trimEnd();
288
+ return `${prefix}${prefix ? "\n" : ""}${bodyLines.join("\n")}\n`;
289
+ }
290
+ let sectionEnd = sectionStart + 1;
291
+ while (sectionEnd < lines.length) {
292
+ const line = lines[sectionEnd];
293
+ if (line.trim() && !line.startsWith(" ") && !line.startsWith("\t")) {
294
+ break;
295
+ }
296
+ sectionEnd += 1;
297
+ }
298
+ return `${[
299
+ ...lines.slice(0, sectionStart),
300
+ ...bodyLines,
301
+ ...lines.slice(sectionEnd),
302
+ ].join("\n").replace(/\n*$/, "")}\n`;
303
+ }
251
304
  //# sourceMappingURL=terminal-detect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-detect.js","sourceRoot":"","sources":["../../src/terminal-detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-detect.js","sourceRoot":"","sources":["../../src/terminal-detect.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tokenbuddy/tokenbuddy",
3
- "version": "1.0.29",
3
+ "version": "1.0.30",
4
4
  "description": "TokenBuddy Client CLI and Daemon",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",