@antseed/cli 0.1.193 → 0.1.195

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 (145) hide show
  1. package/dist/cli/commands/buyer/start.d.ts.map +1 -1
  2. package/dist/cli/commands/buyer/start.js +9 -4
  3. package/dist/cli/commands/buyer/start.js.map +1 -1
  4. package/dist/cli/commands/gateway/index.d.ts.map +1 -1
  5. package/dist/cli/commands/gateway/index.js +6 -0
  6. package/dist/cli/commands/gateway/index.js.map +1 -1
  7. package/dist/cli/commands/seller/start.d.ts.map +1 -1
  8. package/dist/cli/commands/seller/start.js +9 -0
  9. package/dist/cli/commands/seller/start.js.map +1 -1
  10. package/dist/cli/commands/tunnel/start.d.ts.map +1 -1
  11. package/dist/cli/commands/tunnel/start.js +8 -2
  12. package/dist/cli/commands/tunnel/start.js.map +1 -1
  13. package/dist/cli/commands/update.d.ts +19 -0
  14. package/dist/cli/commands/update.d.ts.map +1 -0
  15. package/dist/cli/commands/update.js +153 -0
  16. package/dist/cli/commands/update.js.map +1 -0
  17. package/dist/cli/index.js +11 -0
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/program.d.ts.map +1 -1
  20. package/dist/cli/program.js +2 -0
  21. package/dist/cli/program.js.map +1 -1
  22. package/dist/gateway/buyer-process.d.ts +5 -0
  23. package/dist/gateway/buyer-process.d.ts.map +1 -1
  24. package/dist/gateway/buyer-process.js +7 -4
  25. package/dist/gateway/buyer-process.js.map +1 -1
  26. package/dist/gateway/buyer-process.test.js +28 -2
  27. package/dist/gateway/buyer-process.test.js.map +1 -1
  28. package/dist/gateway/console-api/deps.d.ts +3 -0
  29. package/dist/gateway/console-api/deps.d.ts.map +1 -1
  30. package/dist/gateway/console-api/handlers/index.d.ts.map +1 -1
  31. package/dist/gateway/console-api/handlers/index.js +2 -0
  32. package/dist/gateway/console-api/handlers/index.js.map +1 -1
  33. package/dist/gateway/console-api/handlers/staking.d.ts +28 -0
  34. package/dist/gateway/console-api/handlers/staking.d.ts.map +1 -0
  35. package/dist/gateway/console-api/handlers/staking.js +153 -0
  36. package/dist/gateway/console-api/handlers/staking.js.map +1 -0
  37. package/dist/gateway/console-api/handlers/staking.test.d.ts +2 -0
  38. package/dist/gateway/console-api/handlers/staking.test.d.ts.map +1 -0
  39. package/dist/gateway/console-api/handlers/staking.test.js +126 -0
  40. package/dist/gateway/console-api/handlers/staking.test.js.map +1 -0
  41. package/dist/gateway/console-api/handlers/update.d.ts +13 -0
  42. package/dist/gateway/console-api/handlers/update.d.ts.map +1 -0
  43. package/dist/gateway/console-api/handlers/update.js +65 -0
  44. package/dist/gateway/console-api/handlers/update.js.map +1 -0
  45. package/dist/gateway/console-api/router.d.ts +1 -1
  46. package/dist/gateway/console-api/router.d.ts.map +1 -1
  47. package/dist/gateway/console-api/router.js +8 -3
  48. package/dist/gateway/console-api/router.js.map +1 -1
  49. package/dist/gateway/console-api/types.d.ts +47 -0
  50. package/dist/gateway/console-api/types.d.ts.map +1 -1
  51. package/dist/gateway/console-api/types.js.map +1 -1
  52. package/dist/gateway/console-api/update.test.d.ts +2 -0
  53. package/dist/gateway/console-api/update.test.d.ts.map +1 -0
  54. package/dist/gateway/console-api/update.test.js +198 -0
  55. package/dist/gateway/console-api/update.test.js.map +1 -0
  56. package/dist/gateway/console.d.ts +3 -0
  57. package/dist/gateway/console.d.ts.map +1 -1
  58. package/dist/gateway/console.js +3 -0
  59. package/dist/gateway/console.js.map +1 -1
  60. package/dist/gateway/gateway-policy.test.js +66 -0
  61. package/dist/gateway/gateway-policy.test.js.map +1 -1
  62. package/dist/gateway/gateway.test.js +88 -0
  63. package/dist/gateway/gateway.test.js.map +1 -1
  64. package/dist/gateway/policy-resolver.test.js +11 -3
  65. package/dist/gateway/policy-resolver.test.js.map +1 -1
  66. package/dist/gateway/request-errors.test.js +119 -3
  67. package/dist/gateway/request-errors.test.js.map +1 -1
  68. package/dist/gateway/request-shaping.d.ts +4 -2
  69. package/dist/gateway/request-shaping.d.ts.map +1 -1
  70. package/dist/gateway/request-shaping.js +16 -10
  71. package/dist/gateway/request-shaping.js.map +1 -1
  72. package/dist/gateway/routing-through-gateway.test.js +1 -1
  73. package/dist/gateway/routing-through-gateway.test.js.map +1 -1
  74. package/dist/gateway/server.d.ts +6 -0
  75. package/dist/gateway/server.d.ts.map +1 -1
  76. package/dist/gateway/server.js +162 -73
  77. package/dist/gateway/server.js.map +1 -1
  78. package/dist/gateway/services/usage.d.ts.map +1 -1
  79. package/dist/gateway/services/usage.js +7 -0
  80. package/dist/gateway/services/usage.js.map +1 -1
  81. package/dist/gateway/store-data.test.js +1 -1
  82. package/dist/gateway/store-data.test.js.map +1 -1
  83. package/dist/gateway/store-migrations.d.ts.map +1 -1
  84. package/dist/gateway/store-migrations.js +7 -0
  85. package/dist/gateway/store-migrations.js.map +1 -1
  86. package/dist/gateway/store.d.ts +24 -1
  87. package/dist/gateway/store.d.ts.map +1 -1
  88. package/dist/gateway/store.js +29 -10
  89. package/dist/gateway/store.js.map +1 -1
  90. package/dist/gateway/updates.d.ts +34 -0
  91. package/dist/gateway/updates.d.ts.map +1 -0
  92. package/dist/gateway/updates.js +155 -0
  93. package/dist/gateway/updates.js.map +1 -0
  94. package/dist/proxy/buyer-proxy.d.ts +34 -12
  95. package/dist/proxy/buyer-proxy.d.ts.map +1 -1
  96. package/dist/proxy/buyer-proxy.js +320 -61
  97. package/dist/proxy/buyer-proxy.js.map +1 -1
  98. package/dist/proxy/buyer-proxy.test.js +430 -23
  99. package/dist/proxy/buyer-proxy.test.js.map +1 -1
  100. package/dist/proxy/gateway-policy.test.js +7 -6
  101. package/dist/proxy/gateway-policy.test.js.map +1 -1
  102. package/dist/proxy/response-quality.d.ts +25 -0
  103. package/dist/proxy/response-quality.d.ts.map +1 -0
  104. package/dist/proxy/response-quality.js +203 -0
  105. package/dist/proxy/response-quality.js.map +1 -0
  106. package/dist/proxy/response-quality.test.d.ts +2 -0
  107. package/dist/proxy/response-quality.test.d.ts.map +1 -0
  108. package/dist/proxy/response-quality.test.js +72 -0
  109. package/dist/proxy/response-quality.test.js.map +1 -0
  110. package/dist/proxy/route-policy.d.ts +2 -0
  111. package/dist/proxy/route-policy.d.ts.map +1 -1
  112. package/dist/proxy/route-policy.js +9 -8
  113. package/dist/proxy/route-policy.js.map +1 -1
  114. package/dist/proxy/route-policy.test.js +6 -0
  115. package/dist/proxy/route-policy.test.js.map +1 -1
  116. package/dist/proxy/router-execution.d.ts.map +1 -1
  117. package/dist/proxy/router-execution.js +14 -4
  118. package/dist/proxy/router-execution.js.map +1 -1
  119. package/dist/proxy/router-execution.test.js +35 -0
  120. package/dist/proxy/router-execution.test.js.map +1 -1
  121. package/dist/update/install-method.d.ts +25 -0
  122. package/dist/update/install-method.d.ts.map +1 -0
  123. package/dist/update/install-method.js +76 -0
  124. package/dist/update/install-method.js.map +1 -0
  125. package/dist/update/notifier.d.ts +30 -0
  126. package/dist/update/notifier.d.ts.map +1 -0
  127. package/dist/update/notifier.js +84 -0
  128. package/dist/update/notifier.js.map +1 -0
  129. package/dist/update/root-updater.d.ts +80 -0
  130. package/dist/update/root-updater.d.ts.map +1 -0
  131. package/dist/update/root-updater.js +104 -0
  132. package/dist/update/root-updater.js.map +1 -0
  133. package/dist/update/update.test.d.ts +2 -0
  134. package/dist/update/update.test.d.ts.map +1 -0
  135. package/dist/update/update.test.js +224 -0
  136. package/dist/update/update.test.js.map +1 -0
  137. package/dist/update/version.d.ts +29 -0
  138. package/dist/update/version.d.ts.map +1 -0
  139. package/dist/update/version.js +110 -0
  140. package/dist/update/version.js.map +1 -0
  141. package/dist/update/watch.d.ts +32 -0
  142. package/dist/update/watch.d.ts.map +1 -0
  143. package/dist/update/watch.js +59 -0
  144. package/dist/update/watch.js.map +1 -0
  145. package/package.json +10 -10
@@ -0,0 +1,72 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { hasStreamError, isEmptyAnswer } from './response-quality.js';
4
+ const json = (value) => Buffer.from(JSON.stringify(value));
5
+ const sse = (...events) => Buffer.from(events.map((event) => `data: ${typeof event === 'string' ? event : JSON.stringify(event)}\n\n`).join(''));
6
+ const JSON_TYPE = 'application/json';
7
+ const SSE_TYPE = 'text/event-stream';
8
+ test('OpenAI chat: empty content with no tool call is empty; text or a tool call is an answer', () => {
9
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ choices: [{ message: { content: ' ' }, finish_reason: 'stop' }] })), true);
10
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ choices: [{ message: { content: null, reasoning_content: 'thinking' }, finish_reason: 'stop' }] })), true);
11
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ choices: [{ message: { content: 'OK' }, finish_reason: 'stop' }] })), false);
12
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ choices: [{ message: { content: null, tool_calls: [{ id: 't' }] } }] })), false);
13
+ });
14
+ test('an answer cut off at the output cap is not judged', () => {
15
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ choices: [{ message: { content: '' }, finish_reason: 'length' }] })), false);
16
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ type: 'message', content: [], stop_reason: 'max_tokens' })), false);
17
+ });
18
+ test('OpenAI chat streams: judged across all chunks', () => {
19
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ choices: [{ delta: { role: 'assistant' } }] }, { choices: [{ delta: {}, finish_reason: 'stop' }] }, '[DONE]')), true);
20
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ choices: [{ delta: { content: '' } }] }, { choices: [{ delta: { content: 'hi' } }] }, '[DONE]')), false);
21
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ choices: [{ delta: { tool_calls: [{ index: 0 }] } }] })), false);
22
+ });
23
+ test('Anthropic messages and streams', () => {
24
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ type: 'message', content: [{ type: 'text', text: '' }], stop_reason: 'end_turn' })), true);
25
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ type: 'message', content: [{ type: 'tool_use', id: 'x' }], stop_reason: 'tool_use' })), false);
26
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ type: 'message_start' }, { type: 'content_block_delta', delta: { type: 'text_delta', text: 'hi' } })), false);
27
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ type: 'message_start' }, { type: 'message_delta', delta: { stop_reason: 'end_turn' } })), false, 'unrecognised: no content events at all');
28
+ });
29
+ test('OpenAI Responses', () => {
30
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ object: 'response', output: [{ type: 'reasoning' }] })), true);
31
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ object: 'response', output: [{ type: 'message', content: [{ type: 'output_text', text: 'hi' }] }] })), false);
32
+ });
33
+ test('unrecognised or unparseable bodies count as answers', () => {
34
+ assert.equal(isEmptyAnswer(JSON_TYPE, Buffer.from('not json')), false);
35
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ data: [{ b64_json: 'x' }] })), false);
36
+ assert.equal(isEmptyAnswer('video/mp4', Buffer.from([0, 1, 2])), false);
37
+ });
38
+ test('a refusal is an answer', () => {
39
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ choices: [{ message: { content: null, refusal: 'I can not help with that.' }, finish_reason: 'stop' }] })), false);
40
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ choices: [{ delta: { refusal: 'I can not' } }] }, { choices: [{ delta: {}, finish_reason: 'stop' }] }, '[DONE]')), false);
41
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ object: 'response', output: [{ type: 'message', content: [{ type: 'refusal', refusal: 'No.' }] }] })), false);
42
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ type: 'response.refusal.delta', delta: 'No.' })), false);
43
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ type: 'message', content: [], stop_reason: 'refusal' })), false);
44
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ type: 'message_start', message: {} }, { type: 'message_delta', delta: { stop_reason: 'refusal' } })), false);
45
+ });
46
+ test('legacy completions and legacy function calls are answers', () => {
47
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ object: 'text_completion', choices: [{ text: 'Hello', finish_reason: 'stop' }] })), false);
48
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ choices: [{ text: 'Hel' }] }, { choices: [{ text: 'lo', finish_reason: 'stop' }] }, '[DONE]')), false);
49
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ choices: [{ text: '', finish_reason: 'stop' }] })), true);
50
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ choices: [{ message: { content: null, function_call: { name: 'f', arguments: '{}' } }, finish_reason: 'function_call' }] })), false);
51
+ assert.equal(isEmptyAnswer(SSE_TYPE, sse({ choices: [{ delta: { function_call: { name: 'f' } } }] }, '[DONE]')), false);
52
+ // A choice shape we do not know is not judged.
53
+ assert.equal(isEmptyAnswer(JSON_TYPE, json({ choices: [{ index: 0, output: 'x' }] })), false);
54
+ });
55
+ test('a stream that reports an error partway through is detected', () => {
56
+ // What a seller sends when its provider throws after the stream started.
57
+ assert.equal(hasStreamError(SSE_TYPE, Buffer.from('data: {"choices":[{"delta":{"content":"par"}}]}\n\nevent: error\ndata: upstream failed\n\n')), true);
58
+ assert.equal(hasStreamError(SSE_TYPE, sse({ type: 'content_block_delta', delta: { type: 'text_delta', text: 'a' } }, { type: 'error', error: { type: 'overloaded_error' } })), true);
59
+ assert.equal(hasStreamError(SSE_TYPE, sse({ type: 'response.failed', response: { status: 'failed' } })), true);
60
+ assert.equal(hasStreamError(SSE_TYPE, sse({ choices: [{ delta: { content: 'a' } }] }, { error: { message: 'boom' } })), true);
61
+ assert.equal(hasStreamError(SSE_TYPE, sse({ choices: [{ delta: { content: 'ok' }, finish_reason: 'stop' }] }, '[DONE]')), false);
62
+ assert.equal(hasStreamError(SSE_TYPE, sse({ choices: [{ delta: { content: 'ok' } }], error: null })), false);
63
+ assert.equal(hasStreamError(JSON_TYPE, json({ error: { message: 'not a stream' } })), false);
64
+ });
65
+ test('an error at the end of a stream larger than 4 MiB is still detected', () => {
66
+ const chunk = 'data: {"choices":[{"delta":{"content":"' + 'x'.repeat(1000) + '"}}]}\n\n';
67
+ const long = chunk.repeat(Math.ceil((5 * 1024 * 1024) / chunk.length));
68
+ assert.equal(hasStreamError(SSE_TYPE, Buffer.from(long + 'event: error\ndata: upstream failed\n\n')), true);
69
+ assert.equal(hasStreamError(SSE_TYPE, Buffer.from(long + 'data: {"type":"response.failed"}\n\n')), true);
70
+ assert.equal(hasStreamError(SSE_TYPE, Buffer.from(long + 'data: [DONE]\n\n')), false);
71
+ });
72
+ //# sourceMappingURL=response-quality.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-quality.test.js","sourceRoot":"","sources":["../../src/proxy/response-quality.test.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,8 @@ export interface PolicyOrderingAccessors<T> {
82
82
  /** Recent latency in ms, or null when the buyer has not measured this seller. */
83
83
  latencyMs: (candidate: T) => number | null;
84
84
  coolingDown: (candidate: T) => boolean;
85
+ /** Failing often lately: tried after every healthy seller, before cooling-down ones. */
86
+ unhealthy?: (candidate: T) => boolean;
85
87
  }
86
88
  export interface PolicyOrdering<T> {
87
89
  ordered: T[];
@@ -1 +1 @@
1
- {"version":3,"file":"route-policy.d.ts","sourceRoot":"","sources":["../../src/proxy/route-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-policy.d.ts","sourceRoot":"","sources":["../../src/proxy/route-policy.ts"],"names":[],"mappings":"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"}
@@ -188,11 +188,13 @@ function nullsLast(a, b, direction) {
188
188
  export function orderByPolicy(candidates, policy, model, get) {
189
189
  const indexed = candidates.map((candidate, index) => ({ candidate, index }));
190
190
  const sort = policy.sort ?? 'balanced';
191
+ // Cooling-down sellers go last and unhealthy ones just before them,
192
+ // whatever the sort or route chain says: neither should take the next request.
193
+ const backoff = (candidate) => (get.coolingDown(candidate) ? 2 : get.unhealthy?.(candidate) ? 1 : 0);
191
194
  indexed.sort((a, b) => {
192
- const coolingA = get.coolingDown(a.candidate);
193
- const coolingB = get.coolingDown(b.candidate);
194
- if (coolingA !== coolingB)
195
- return coolingA ? 1 : -1;
195
+ const backoffOrder = backoff(a.candidate) - backoff(b.candidate);
196
+ if (backoffOrder !== 0)
197
+ return backoffOrder;
196
198
  if (policy.preferFreePeers) {
197
199
  const freeA = get.totalPrice(a.candidate) === 0;
198
200
  const freeB = get.totalPrice(b.candidate) === 0;
@@ -219,10 +221,9 @@ export function orderByPolicy(candidates, policy, model, get) {
219
221
  const inChain = ordered
220
222
  .filter((candidate) => chainPosition.has(normalizePeerId(get.peerId(candidate))))
221
223
  .sort((a, b) => {
222
- const coolingA = get.coolingDown(a);
223
- const coolingB = get.coolingDown(b);
224
- if (coolingA !== coolingB)
225
- return coolingA ? 1 : -1;
224
+ const backoffOrder = backoff(a) - backoff(b);
225
+ if (backoffOrder !== 0)
226
+ return backoffOrder;
226
227
  return chainPosition.get(normalizePeerId(get.peerId(a))) - chainPosition.get(normalizePeerId(get.peerId(b)));
227
228
  });
228
229
  const rest = ordered.filter((candidate) => !chainPosition.has(normalizePeerId(get.peerId(candidate))));
@@ -1 +1 @@
1
- {"version":3,"file":"route-policy.js","sourceRoot":"","sources":["../../src/proxy/route-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-policy.js","sourceRoot":"","sources":["../../src/proxy/route-policy.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,7 @@ const accessors = {
72
72
  trustScore: (c) => c.trust,
73
73
  latencyMs: (c) => c.latency,
74
74
  coolingDown: (c) => c.cooling === true,
75
+ unhealthy: (c) => c.unhealthy === true,
75
76
  };
76
77
  const a = { peerId: id('a'), price: 5, trust: 70, latency: 300 };
77
78
  const b = { peerId: id('b'), price: 1, trust: 90, latency: null };
@@ -87,6 +88,11 @@ test('orderByPolicy ranks by each sort mode, keeping the incoming order as balan
87
88
  assert.deepEqual(order(orderByPolicy([a, b, c], { preferFreePeers: true }, 'm', accessors).ordered), ['c', 'a', 'b']);
88
89
  assert.deepEqual(order(orderByPolicy([{ ...c, cooling: true }, a, b], { sort: 'price' }, 'm', accessors).ordered), ['b', 'a', 'c']);
89
90
  });
91
+ test('orderByPolicy tries unhealthy sellers after healthy ones and before cooling-down ones, in sorts and route chains', () => {
92
+ assert.deepEqual(order(orderByPolicy([{ ...c, unhealthy: true }, a, { ...b, cooling: true }], { sort: 'price' }, 'm', accessors).ordered), ['a', 'c', 'b']);
93
+ const chain = orderByPolicy([{ ...c, unhealthy: true }, a, b], { modelRoutes: { m: { peerIds: [id('c'), id('a')] } } }, 'm', accessors);
94
+ assert.deepEqual(order(chain.ordered), ['a', 'c', 'b']);
95
+ });
90
96
  test('orderByPolicy applies model route chains, strict and non-strict', () => {
91
97
  const loose = orderByPolicy([a, b, c], { modelRoutes: { 'Kimi-K3': { peerIds: [id('c'), id('a')] } } }, 'kimi-k3', accessors);
92
98
  assert.deepEqual(order(loose.ordered), ['c', 'a', 'b']);
@@ -1 +1 @@
1
- {"version":3,"file":"route-policy.test.js","sourceRoot":"","sources":["../../src/proxy/route-policy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-policy.test.js","sourceRoot":"","sources":["../../src/proxy/route-policy.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router-execution.d.ts","sourceRoot":"","sources":["../../src/proxy/router-execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAkH,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAI/S,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAiK,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAIhO;;;;GAIG;AACH,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;gBAE2B,KAAK,SAAS;IAErC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAkBlL,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAI9C,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;CAGhD;AAMD,KAAK,kBAAkB,GAAG,cAAc,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE7D;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,QAAQ,EAAE,EACjB,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,WAAW,EAAE,uBAAuB,GAAG,IAAI,EAC3C,UAAU,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,GACtE,kBAAkB,EAAE,CAkCtB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EAAE,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,mBAAmB,EAAE,CAoBjJ;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,qBAAqB,CAU7I;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IACzD,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,0GAA0G;IAC1G,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAwDjC;AAED,sHAAsH;AACtH,qBAAa,yBAA0B,SAAQ,KAAK;CAAG"}
1
+ {"version":3,"file":"router-execution.d.ts","sourceRoot":"","sources":["../../src/proxy/router-execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAkH,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAI/S,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAiK,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAIhO;;;;GAIG;AACH,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;gBAE2B,KAAK,SAAS;IAErC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAkBlL,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAI9C,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;CAGhD;AAMD,KAAK,kBAAkB,GAAG,cAAc,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE7D;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,QAAQ,EAAE,EACjB,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,WAAW,EAAE,uBAAuB,GAAG,IAAI,EAC3C,UAAU,EAAE,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,GACtE,kBAAkB,EAAE,CAwCtB;AAMD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EAAE,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,mBAAmB,EAAE,CAoBjJ;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,qBAAqB,CAU7I;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IACzD,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,0GAA0G;IAC1G,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAwDjC;AAED,sHAAsH;AACtH,qBAAa,yBAA0B,SAAQ,KAAK;CAAG"}
@@ -55,7 +55,10 @@ function modelsKey(target) {
55
55
  export function eligibleRouterCandidates(request, peers, requiredParameters, preferences, allowsPeer) {
56
56
  const protocol = detectRequestServiceApiProtocol(request);
57
57
  const explicitProvider = getExplicitProviderOverride(request);
58
- const candidates = [];
58
+ // A seller may advertise one model under several names (`glm-5.3`, `glm-5-3`, `z-ai-glm-5-3`)
59
+ // that all resolve to the same service. Keep one destination per seller, provider and service:
60
+ // routing protocols require unique candidate IDs. The cheapest advertised offer wins.
61
+ const candidatesByKey = new Map();
59
62
  const offers = buildNetworkServiceOffers(peers);
60
63
  // As in automatic routing, a missing cached-input price lowers a seller's effective reputation
61
64
  // only when some seller of the same request does advertise one.
@@ -83,10 +86,17 @@ export function eligibleRouterCandidates(request, peers, requiredParameters, pre
83
86
  ...(offer.cachedInputUsdPerMillion !== undefined ? { cachedInputUsdPerMillion: offer.cachedInputUsdPerMillion } : {}),
84
87
  };
85
88
  const effectiveReputationScore = effectiveModelReputationScore(normalizedModelReputationScore(peer), offer.cachedInputUsdPerMillion !== undefined, preferCachedPricing, offer.inputUsdPerMillion === 0 && offer.outputUsdPerMillion === 0);
86
- if (!preferences || isModelRouteEligible({ ...candidate, effectiveReputationScore }, preferences))
87
- candidates.push(candidate);
89
+ if (preferences && !isModelRouteEligible({ ...candidate, effectiveReputationScore }, preferences))
90
+ continue;
91
+ const key = JSON.stringify([candidate.peerId, candidate.provider, candidate.serviceId]);
92
+ const existing = candidatesByKey.get(key);
93
+ if (!existing || routeCandidatePrice(candidate) < routeCandidatePrice(existing))
94
+ candidatesByKey.set(key, candidate);
88
95
  }
89
- return candidates;
96
+ return [...candidatesByKey.values()];
97
+ }
98
+ function routeCandidatePrice(candidate) {
99
+ return candidate.inputUsdPerMillion + candidate.outputUsdPerMillion;
90
100
  }
91
101
  /**
92
102
  * Keep recommendations that match allowed destinations, in the router's order.
@@ -1 +1 @@
1
- {"version":3,"file":"router-execution.js","sourceRoot":"","sources":["../../src/proxy/router-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router-execution.js","sourceRoot":"","sources":["../../src/proxy/router-execution.ts"],"names":[],"mappings":"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"}
@@ -266,4 +266,39 @@ test('routing purchases cannot reuse the parent inference request ID', async ()
266
266
  peers: [peer], candidates: candidates(), conversationKey: null, signal: new AbortController().signal, selection: routerSelection,
267
267
  }), /distinct request ID/);
268
268
  });
269
+ test('one seller advertising a model under several names is sent to the router once, at its cheapest price', async () => {
270
+ const aliased = {
271
+ ...peer,
272
+ providerPricing: { openai: { defaults: { inputUsdPerMillion: 1, outputUsdPerMillion: 2 }, services: {
273
+ 'glm-5.3': { inputUsdPerMillion: 1.5, outputUsdPerMillion: 2 },
274
+ 'glm-5-3': { inputUsdPerMillion: 1, outputUsdPerMillion: 2 },
275
+ 'z-ai-glm-5-3': { inputUsdPerMillion: 2, outputUsdPerMillion: 2 },
276
+ } } },
277
+ providerServiceApiProtocols: { openai: { services: Object.fromEntries(['glm-5.3', 'glm-5-3', 'z-ai-glm-5-3'].map(id => [id, ['openai-chat-completions']])) } },
278
+ };
279
+ const other = { ...aliased, peerId: 'b'.repeat(40) };
280
+ const found = eligibleRouterCandidates(request, [aliased, other], [], null, () => true);
281
+ assert.deepEqual(found.map(candidate => [candidate.peerId, candidate.provider, candidate.serviceId, candidate.inputUsdPerMillion]), [
282
+ [aliased.peerId, 'openai', 'glm-5-3', 1],
283
+ [other.peerId, 'openai', 'glm-5-3', 1],
284
+ ]);
285
+ for (const tradeoff of [0, 10]) {
286
+ let sent = [];
287
+ const client = {
288
+ listModels: listAll,
289
+ selectRoute: async (_request, _peers, context) => {
290
+ assert.deepEqual(context.options, { cost_quality_tradeoff: tradeoff });
291
+ sent = context.candidates.map(({ serviceId, peerId }) => ({ serviceId, peerId }));
292
+ return [{ serviceId: 'glm-5-3', peerId: aliased.peerId, provider: 'openai' }];
293
+ },
294
+ };
295
+ const routes = await executeRouterSelection({
296
+ node: unusedNode, client, request, peers: [aliased, other], candidates: found, conversationKey: null,
297
+ selection: { ...routerSelection, options: { cost_quality_tradeoff: tradeoff } }, signal: new AbortController().signal,
298
+ modelsCache: { get: async () => [{ id: '*' }], invalidate: () => { } },
299
+ });
300
+ assert.deepEqual(sent, [{ serviceId: 'glm-5-3', peerId: aliased.peerId }, { serviceId: 'glm-5-3', peerId: other.peerId }]);
301
+ assert.deepEqual(routes, [{ serviceId: 'glm-5-3', peerId: aliased.peerId, provider: 'openai' }]);
302
+ }
303
+ });
269
304
  //# sourceMappingURL=router-execution.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router-execution.test.js","sourceRoot":"","sources":["../../src/proxy/router-execution.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router-execution.test.js","sourceRoot":"","sources":["../../src/proxy/router-execution.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * How this copy of the CLI was installed, which decides how it updates:
3
+ * `installer` is the gateway server installer (a root updater service does
4
+ * it), the package managers update their global install, and the rest can
5
+ * only be told what to do.
6
+ */
7
+ export type InstallKind = 'installer' | 'npm' | 'pnpm' | 'yarn' | 'bun' | 'volta' | 'npx' | 'nix' | 'desktop' | 'local' | 'source';
8
+ export interface InstallMethod {
9
+ kind: InstallKind;
10
+ /** The command that updates this install, as shown to people; null when there is none to run. */
11
+ command: string | null;
12
+ /** The same command as argv, when `antseed update` can run it itself. */
13
+ argv: string[] | null;
14
+ /** One line on how updates work for this install. */
15
+ note: string;
16
+ }
17
+ /** Where the running CLI lives, symlinks resolved (`npm i -g` links the bin into the prefix). */
18
+ export declare function cliScriptPath(argv1?: string | undefined): string;
19
+ export declare function detectInstallMethod(options?: {
20
+ scriptPath?: string;
21
+ env?: NodeJS.ProcessEnv;
22
+ electron?: boolean;
23
+ isWritable?: (path: string) => boolean;
24
+ }): InstallMethod;
25
+ //# sourceMappingURL=install-method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-method.d.ts","sourceRoot":"","sources":["../../src/update/install-method.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,OAAO,GACP,KAAK,GACL,KAAK,GACL,SAAS,GACT,OAAO,GACP,QAAQ,CAAA;AAEZ,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAA;IACjB,iGAAiG;IACjG,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,yEAAyE;IACzE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACrB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAA;CACb;AAID,iGAAiG;AACjG,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAM,GAAG,SAA2B,GAAG,MAAM,CAOjF;AAiBD,wBAAgB,mBAAmB,CAAC,OAAO,GAAE;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CAClC,GAAG,aAAa,CA8CrB"}