@antseed/cli 0.1.197 → 0.1.198

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 (41) hide show
  1. package/dist/gateway/console-api/handlers/network-mapping.d.ts.map +1 -1
  2. package/dist/gateway/console-api/handlers/network-mapping.js +2 -0
  3. package/dist/gateway/console-api/handlers/network-mapping.js.map +1 -1
  4. package/dist/gateway/console-api/handlers/network.d.ts.map +1 -1
  5. package/dist/gateway/console-api/handlers/network.js +16 -2
  6. package/dist/gateway/console-api/handlers/network.js.map +1 -1
  7. package/dist/gateway/console-api/handlers/network.test.js +31 -4
  8. package/dist/gateway/console-api/handlers/network.test.js.map +1 -1
  9. package/dist/gateway/console-api/types.d.ts +6 -0
  10. package/dist/gateway/console-api/types.d.ts.map +1 -1
  11. package/dist/gateway/console-api/types.js.map +1 -1
  12. package/dist/gateway/routing-through-gateway.test.js +34 -0
  13. package/dist/gateway/routing-through-gateway.test.js.map +1 -1
  14. package/dist/gateway/server.d.ts.map +1 -1
  15. package/dist/gateway/server.js +4 -1
  16. package/dist/gateway/server.js.map +1 -1
  17. package/dist/gateway/services/usage.js +1 -1
  18. package/dist/gateway/services/usage.js.map +1 -1
  19. package/dist/gateway/store-data.test.js +1 -1
  20. package/dist/gateway/store-data.test.js.map +1 -1
  21. package/dist/gateway/store-migrations.d.ts.map +1 -1
  22. package/dist/gateway/store-migrations.js +5 -0
  23. package/dist/gateway/store-migrations.js.map +1 -1
  24. package/dist/gateway/store.d.ts +4 -0
  25. package/dist/gateway/store.d.ts.map +1 -1
  26. package/dist/gateway/store.js +20 -4
  27. package/dist/gateway/store.js.map +1 -1
  28. package/dist/proxy/buyer-proxy.d.ts.map +1 -1
  29. package/dist/proxy/buyer-proxy.js +74 -6
  30. package/dist/proxy/buyer-proxy.js.map +1 -1
  31. package/dist/proxy/gateway-policy.test.js +75 -1
  32. package/dist/proxy/gateway-policy.test.js.map +1 -1
  33. package/dist/proxy/route-selection.d.ts +79 -0
  34. package/dist/proxy/route-selection.d.ts.map +1 -0
  35. package/dist/proxy/route-selection.js +79 -0
  36. package/dist/proxy/route-selection.js.map +1 -0
  37. package/dist/proxy/telemetry.d.ts +3 -2
  38. package/dist/proxy/telemetry.d.ts.map +1 -1
  39. package/dist/proxy/telemetry.js +7 -4
  40. package/dist/proxy/telemetry.js.map +1 -1
  41. package/package.json +7 -7
@@ -6,6 +6,7 @@ import test from 'node:test';
6
6
  import { BuyerProxy } from './buyer-proxy.js';
7
7
  import { BUYER_IDENTITY_HEADER } from './request-utils.js';
8
8
  import { SPEND_ATTRIBUTION_HEADER } from './spend-attribution.js';
9
+ import { decodeServedSelection, ROUTE_SELECTION_HEADER } from './route-selection.js';
9
10
  import { GATEWAY_CONTROL_HEADER, GATEWAY_CONTROL_SECRET_FILE, ROUTING_POLICY_HEADER, encodePolicyHeader, } from '../routing-policy/policy.js';
10
11
  const SECRET = 'f'.repeat(64);
11
12
  function makePeer(seed, opts) {
@@ -208,8 +209,11 @@ test('route-preview shares routing logic and explains ineligible sellers', async
208
209
  assert.equal(body.model, 'gpt-5');
209
210
  const byId = new Map(body.candidates.map((candidate) => [candidate['peerId'], candidate]));
210
211
  assert.deepEqual(Object.keys(body.candidates[0]).sort(), [
211
- 'displayName', 'eligible', 'inputUsdPerMillion', 'outputUsdPerMillion', 'peerId', 'rank', 'reasons', 'trustScore',
212
+ 'displayName', 'eligible', 'inputUsdPerMillion', 'outputUsdPerMillion', 'peerId', 'rank', 'reasons', 'selection', 'trustScore',
212
213
  ]);
214
+ // Only eligible sellers carry the numbers routing ranked them by.
215
+ assert.equal(byId.get(pricey.peerId)?.['selection'], null);
216
+ assert.equal(byId.get(cheap.peerId)?.['selection']?.coolingDown, true);
213
217
  assert.equal(byId.get(pricey.peerId)?.['eligible'], false);
214
218
  assert.deepEqual(byId.get(pricey.peerId)?.['reasons'], ['input price $9 over cap $5']);
215
219
  assert.deepEqual(byId.get(tee.peerId)?.['reasons'], ['trust 40 below 60']);
@@ -222,6 +226,76 @@ test('route-preview shares routing logic and explains ineligible sellers', async
222
226
  const bad = await fetch(`${h.url}/_antseed/route-preview?model=gpt-5`, { headers: { [GATEWAY_CONTROL_HEADER]: SECRET, [ROUTING_POLICY_HEADER]: '!!' } });
223
227
  assert.equal(bad.status, 400);
224
228
  });
229
+ test('route-preview explains each eligible seller with the numbers routing ranked it by', async (t) => {
230
+ const twin = makePeer('d', { input: 1, output: 1, trust: 99 });
231
+ const h = await startHarness(t, [cheap, twin], {}, true);
232
+ const proxy = h.proxy;
233
+ for (let i = 0; i < 6; i += 1)
234
+ proxy._recordSellerSuccess(cheap.peerId, 'gpt-5', { firstTokenMs: 400, streamMs: 2000, outputTokens: 200, streamed: true });
235
+ for (let i = 0; i < 4; i += 1)
236
+ proxy._recordSellerFailure(twin.peerId, 'other-model', 'seller-5xx');
237
+ const res = await fetch(`${h.url}/_antseed/route-preview?model=gpt-5`, { headers: withPolicy({}) });
238
+ const body = await res.json();
239
+ const byId = new Map(body.candidates.map((candidate) => [candidate.peerId, candidate]));
240
+ const best = byId.get(cheap.peerId).selection;
241
+ assert.equal(byId.get(cheap.peerId).rank, 1);
242
+ assert.equal(best.record, 'model');
243
+ assert.ok(best.observations > 5.9 && best.observations <= 6);
244
+ assert.ok(best.successRate > 0.8);
245
+ assert.equal(best.firstTokenMs, 400);
246
+ assert.equal(best.tokensPerSecond, 100);
247
+ assert.equal(best.failing, false);
248
+ assert.equal(best.stale, false);
249
+ // Failures on its other models count against the twin at half weight.
250
+ const borrowed = byId.get(twin.peerId).selection;
251
+ assert.equal(borrowed.record, 'other-models');
252
+ assert.ok(borrowed.successRate < best.successRate);
253
+ assert.equal(borrowed.lastFailureReason, 'seller-5xx');
254
+ assert.ok(borrowed.expectedCostUsd > best.expectedCostUsd);
255
+ // Without routing preferences the buyer orders by trust and spreads nothing.
256
+ assert.equal(best.ordering, 'trust');
257
+ assert.equal(best.poolSize, 0);
258
+ assert.equal(best.sharesTraffic, false);
259
+ const sorted = await fetch(`${h.url}/_antseed/route-preview?model=gpt-5`, { headers: withPolicy({ sort: 'price' }) });
260
+ const sortedBody = await sorted.json();
261
+ assert.ok(sortedBody.candidates.every((candidate) => candidate.selection?.ordering === 'price'));
262
+ });
263
+ test('route-preview shows the sellers that share a model\'s traffic and their share', async (t) => {
264
+ const twin = makePeer('d', { input: 1, output: 1, trust: 99 });
265
+ const h = await startHarness(t, [cheap, twin], { adaptiveRouting: { explorationRate: 0 }, routingPreferences: { ...prefs60, minTrustScore: 0 } });
266
+ const res = await fetch(`${h.url}/_antseed/route-preview?model=gpt-5`, { headers: withPolicy({}) });
267
+ const body = await res.json();
268
+ const shares = body.candidates.map((candidate) => candidate.selection);
269
+ assert.ok(shares.every((selection) => selection.ordering === 'expected-cost' && selection.sharesTraffic && selection.poolSize === 2));
270
+ assert.ok(Math.abs(shares.reduce((sum, selection) => sum + selection.trafficShare, 0) - 1) < 1e-9);
271
+ });
272
+ test('a served request names its seller\'s rank and how it was picked, and a failover says so', async (t) => {
273
+ const third = makePeer('c', { input: 0.5, output: 0.5, trust: 99 });
274
+ const h = await startHarness(t, [cheap, pricey, third]);
275
+ const ok = await chat(h, withPolicy({}));
276
+ const served = decodeServedSelection(ok.headers.get(ROUTE_SELECTION_HEADER) ?? undefined);
277
+ assert.equal(served?.rank, 1);
278
+ assert.equal(served?.attempt, 0);
279
+ assert.equal(served?.pick, 'order');
280
+ assert.equal(served?.ordering, 'trust');
281
+ assert.equal(served?.of, 3);
282
+ h.proxy._node.sendRequest = async (peer, request) => {
283
+ const status = peer.peerId === pricey.peerId ? 503 : 200;
284
+ return { requestId: request.requestId, statusCode: status, headers: { 'content-type': 'application/json' }, body: Buffer.from('{}') };
285
+ };
286
+ const failover = await chat(h, withPolicy({ modelRoutes: { 'gpt-5': { peerIds: [pricey.peerId, cheap.peerId] } } }));
287
+ const next = decodeServedSelection(failover.headers.get(ROUTE_SELECTION_HEADER) ?? undefined);
288
+ assert.equal(next?.rank, 2);
289
+ assert.equal(next?.attempt, 1);
290
+ assert.equal(next?.pick, 'failover');
291
+ assert.equal(next?.routeChainPosition, 2);
292
+ });
293
+ test('a malformed or oversized route-selection header decodes to null', () => {
294
+ assert.equal(decodeServedSelection(undefined), null);
295
+ assert.equal(decodeServedSelection('!!'), null);
296
+ assert.equal(decodeServedSelection(Buffer.from(JSON.stringify({ rank: 1 })).toString('base64url')), null);
297
+ assert.equal(decodeServedSelection('a'.repeat(4096)), null);
298
+ });
225
299
  test('requireTee only admits sellers advertising the TEE verifier, on automatic, pinned and preview paths', async (t) => {
226
300
  const tee = makePeer('c', { input: 5, output: 5, trust: 50, capabilities: ['verifier.antseed-verifier'] });
227
301
  const h = await startHarness(t, [cheap, pricey, tee]);
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-policy.test.js","sourceRoot":"","sources":["../../src/proxy/gateway-policy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-policy.test.js","sourceRoot":"","sources":["../../src/proxy/gateway-policy.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Why automatic routing put a seller where it did, in numbers rather than
3
+ * prose, so a console can explain it. Built by the buyer for every eligible
4
+ * seller of a route preview, and for the seller that served a request (sent
5
+ * to the gateway in `ROUTE_SELECTION_HEADER`).
6
+ */
7
+ export type RouteSelection = {
8
+ /** Expected cost of one successful answer in USD (price plus waiting, over the success rate); lower ranks first. */
9
+ expectedCostUsd: number;
10
+ /** Price of one attempt at a typical request; null when the seller advertises no price. */
11
+ expectedPriceUsd: number | null;
12
+ /** Expected seconds to a complete answer, a new payment channel's reserve included. */
13
+ expectedSeconds: number;
14
+ /** Chance of a good answer, from the buyer's own record (0.8 before it has one). */
15
+ successRate: number;
16
+ /** Recent requests behind the record, decayed with a 15-minute half-life. */
17
+ observations: number;
18
+ /** `model`: this seller on this model; `other-models`: its other models at half weight; `none`: no record yet. */
19
+ record: 'model' | 'other-models' | 'none';
20
+ /** Measured on this model only. */
21
+ firstTokenMs: number | null;
22
+ tokensPerSecond: number | null;
23
+ lastSuccessAt: number | null;
24
+ lastFailureAt: number | null;
25
+ lastFailureReason: string | null;
26
+ /** Success rate below 50%: tried after healthy sellers. */
27
+ failing: boolean;
28
+ /** In a short cooldown after consecutive failures: tried last. */
29
+ coolingDown: boolean;
30
+ /** Not seen in the last 10 minutes (or never): an exploration candidate. */
31
+ stale: boolean;
32
+ /**
33
+ * How the eligible sellers were put in order: `expected-cost` (the buyer's
34
+ * adaptive order, which spreads traffic), `trust` (highest trust first, the
35
+ * buyer's order without routing preferences), or the policy's `price` /
36
+ * `latency` sort. Failing and cooling-down sellers go last in every order,
37
+ * and a route chain's sellers go first.
38
+ */
39
+ ordering: 'expected-cost' | 'trust' | 'price' | 'latency';
40
+ /** Among the sellers sharing this model's traffic (within 30% of the best). */
41
+ sharesTraffic: boolean;
42
+ /** Its share of the shared traffic (0–1), when it shares it. */
43
+ trafficShare: number | null;
44
+ /** How many sellers share the traffic. */
45
+ poolSize: number;
46
+ /** `open`: the buyer already pays it; `new`: the first request would reserve a channel; `free`; null when unknown. */
47
+ channel: 'open' | 'new' | 'free' | null;
48
+ /** This buyer's requests in flight with the seller, against what it advertises it can take. */
49
+ inFlight: number;
50
+ maxConcurrency: number | null;
51
+ /** Position in an explicit route chain of the policy, when one orders it. */
52
+ routeChainPosition: number | null;
53
+ };
54
+ /** On a served request: how this seller came to serve it. */
55
+ export type ServedSelection = RouteSelection & {
56
+ /** 1-based position among the eligible sellers, and how many there were. */
57
+ rank: number;
58
+ of: number;
59
+ /**
60
+ * `spread`: drawn from the sellers sharing traffic; `best`: the best on its own;
61
+ * `conversation`: the seller this conversation stays on (prompt cache);
62
+ * `exploration`: a probe of a seller with no recent data;
63
+ * `failover`: the sellers before it failed this request;
64
+ * `order`: next in the policy's or the buyer's order.
65
+ */
66
+ pick: 'spread' | 'best' | 'conversation' | 'exploration' | 'failover' | 'order';
67
+ /** Sellers tried before it for this request. */
68
+ attempt: number;
69
+ };
70
+ /** Buyer → gateway, on the response of a model-routed request. */
71
+ export declare const ROUTE_SELECTION_HEADER = "x-antseed-route-selection";
72
+ export declare function encodeServedSelection(selection: ServedSelection): string;
73
+ /** The served selection from a header value, or null when it is absent or malformed. */
74
+ export declare function decodeServedSelection(value: string | string[] | undefined): ServedSelection | null;
75
+ /** A route selection read back from JSON (the buyer's preview, or the request log), or null when malformed. */
76
+ export declare function parseRouteSelection(value: unknown): RouteSelection | null;
77
+ /** A served selection read back from JSON, or null when malformed. */
78
+ export declare function parseServedSelection(value: unknown): ServedSelection | null;
79
+ //# sourceMappingURL=route-selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-selection.d.ts","sourceRoot":"","sources":["../../src/proxy/route-selection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,oHAAoH;IACpH,eAAe,EAAE,MAAM,CAAA;IACvB,2FAA2F;IAC3F,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,uFAAuF;IACvF,eAAe,EAAE,MAAM,CAAA;IACvB,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAA;IACnB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAA;IACpB,kHAAkH;IAClH,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,MAAM,CAAA;IACzC,mCAAmC;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAA;IAChB,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAA;IACpB,4EAA4E;IAC5E,KAAK,EAAE,OAAO,CAAA;IACd;;;;;;OAMG;IACH,QAAQ,EAAE,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;IACzD,+EAA+E;IAC/E,aAAa,EAAE,OAAO,CAAA;IACtB,gEAAgE;IAChE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,sHAAsH;IACtH,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;IACvC,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,6EAA6E;IAC7E,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC,CAAA;AAED,6DAA6D;AAC7D,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC7C,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;OAMG;IACH,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAA;IAC/E,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,8BAA8B,CAAA;AAQjE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAExE;AAED,wFAAwF;AACxF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,eAAe,GAAG,IAAI,CAQlG;AAKD,+GAA+G;AAC/G,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAqCzE;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAS3E"}
@@ -0,0 +1,79 @@
1
+ /** Buyer → gateway, on the response of a model-routed request. */
2
+ export const ROUTE_SELECTION_HEADER = 'x-antseed-route-selection';
3
+ const PICKS = new Set(['spread', 'best', 'conversation', 'exploration', 'failover', 'order']);
4
+ const RECORDS = new Set(['model', 'other-models', 'none']);
5
+ const CHANNELS = new Set(['open', 'new', 'free']);
6
+ const ORDERINGS = new Set(['expected-cost', 'trust', 'price', 'latency']);
7
+ const MAX_HEADER_BYTES = 2048;
8
+ export function encodeServedSelection(selection) {
9
+ return Buffer.from(JSON.stringify(selection), 'utf8').toString('base64url');
10
+ }
11
+ /** The served selection from a header value, or null when it is absent or malformed. */
12
+ export function decodeServedSelection(value) {
13
+ const raw = Array.isArray(value) ? value[0] : value;
14
+ if (!raw || raw.length > MAX_HEADER_BYTES)
15
+ return null;
16
+ try {
17
+ return parseServedSelection(JSON.parse(Buffer.from(raw, 'base64url').toString('utf8')));
18
+ }
19
+ catch {
20
+ return null;
21
+ }
22
+ }
23
+ const num = (v) => (typeof v === 'number' && Number.isFinite(v) ? v : null);
24
+ const count = (v) => (Number.isSafeInteger(v) && v >= 0 ? v : null);
25
+ /** A route selection read back from JSON (the buyer's preview, or the request log), or null when malformed. */
26
+ export function parseRouteSelection(value) {
27
+ if (!value || typeof value !== 'object' || Array.isArray(value))
28
+ return null;
29
+ const s = value;
30
+ const expectedCostUsd = num(s.expectedCostUsd);
31
+ const expectedSeconds = num(s.expectedSeconds);
32
+ const successRate = num(s.successRate);
33
+ const observations = num(s.observations);
34
+ const poolSize = count(s.poolSize);
35
+ const inFlight = count(s.inFlight);
36
+ if (expectedCostUsd === null || expectedSeconds === null || successRate === null || observations === null
37
+ || poolSize === null || inFlight === null || !RECORDS.has(s.record)
38
+ || !ORDERINGS.has(s.ordering))
39
+ return null;
40
+ const share = num(s.trafficShare);
41
+ return {
42
+ expectedCostUsd,
43
+ expectedPriceUsd: num(s.expectedPriceUsd),
44
+ expectedSeconds,
45
+ successRate: Math.min(1, Math.max(0, successRate)),
46
+ observations: Math.max(0, observations),
47
+ record: s.record,
48
+ firstTokenMs: num(s.firstTokenMs),
49
+ tokensPerSecond: num(s.tokensPerSecond),
50
+ lastSuccessAt: num(s.lastSuccessAt),
51
+ lastFailureAt: num(s.lastFailureAt),
52
+ lastFailureReason: typeof s.lastFailureReason === 'string' ? s.lastFailureReason.slice(0, 200) : null,
53
+ failing: s.failing === true,
54
+ coolingDown: s.coolingDown === true,
55
+ stale: s.stale === true,
56
+ ordering: s.ordering,
57
+ sharesTraffic: s.sharesTraffic === true,
58
+ trafficShare: share === null ? null : Math.min(1, Math.max(0, share)),
59
+ poolSize,
60
+ channel: CHANNELS.has(s.channel) ? s.channel : null,
61
+ inFlight,
62
+ maxConcurrency: count(s.maxConcurrency),
63
+ routeChainPosition: count(s.routeChainPosition),
64
+ };
65
+ }
66
+ /** A served selection read back from JSON, or null when malformed. */
67
+ export function parseServedSelection(value) {
68
+ const base = parseRouteSelection(value);
69
+ if (!base)
70
+ return null;
71
+ const s = value;
72
+ const rank = count(s.rank);
73
+ const of = count(s.of);
74
+ const attempt = count(s.attempt);
75
+ if (rank === null || of === null || attempt === null || !PICKS.has(s.pick))
76
+ return null;
77
+ return { ...base, rank, of, attempt, pick: s.pick };
78
+ }
79
+ //# sourceMappingURL=route-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-selection.js","sourceRoot":"","sources":["../../src/proxy/route-selection.ts"],"names":[],"mappings":"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"}
@@ -33,8 +33,9 @@ export declare const ROUTER_PEER_ID_HEADER = "x-antseed-router-peer-id";
33
33
  export declare const ROUTER_SERVICE_HEADER = "x-antseed-router-service";
34
34
  export declare const ROUTER_RANK_HEADER = "x-antseed-router-rank";
35
35
  /**
36
- * A seller's headers without router headers: only the buyer says which router
37
- * ranked a request, so a seller can neither change nor invent that.
36
+ * A seller's headers without the buyer's routing headers: only the buyer says
37
+ * which router ranked a request and why its seller was picked, so a seller can
38
+ * neither change nor invent that.
38
39
  */
39
40
  export declare function withoutRouterHeaders(headers: Record<string, string>): Record<string, string>;
40
41
  export declare function attachAntseedTelemetryHeaders(upstreamHeaders: Record<string, string>, selectedPeer: PeerInfo, telemetry: ResponseTelemetry, requestId: string, latencyMs: number): Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/proxy/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAOpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAA;IACxB,4DAA4D;IAC5D,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;CAC9B,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,iBAAiB,CAAA;IACxB,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC,CAAA;AA+OD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,QAAQ,GACrB,iBAAiB,CA6CnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;AAC/D,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;AAC/D,eAAO,MAAM,kBAAkB,0BAA0B,CAAA;AAIzD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5F;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,EAAE,QAAQ,EACtB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBxB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,EAAE,QAAQ,EACtB,OAAO,EAAE,qBAAqB,EAC9B,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/proxy/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAQpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAA;IACxB,4DAA4D;IAC5D,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;CAC9B,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,iBAAiB,CAAA;IACxB,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC,CAAA;AA+OD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,QAAQ,GACrB,iBAAiB,CA6CnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;AAC/D,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;AAC/D,eAAO,MAAM,kBAAkB,0BAA0B,CAAA;AAKzD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5F;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,EAAE,QAAQ,EACtB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBxB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,EAAE,QAAQ,EACtB,OAAO,EAAE,qBAAqB,EAC9B,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB"}
@@ -1,3 +1,4 @@
1
+ import { ROUTE_SELECTION_HEADER } from './route-selection.js';
1
2
  import { extractUsage, toNonNegativeInt } from '@antseed/api-adapter';
2
3
  import { pickProviderForPeer } from './routing.js';
3
4
  import { extractRequestedService } from './request-utils.js';
@@ -246,13 +247,15 @@ export function computeResponseTelemetry(request, responseHeaders, responseBody,
246
247
  export const ROUTER_PEER_ID_HEADER = 'x-antseed-router-peer-id';
247
248
  export const ROUTER_SERVICE_HEADER = 'x-antseed-router-service';
248
249
  export const ROUTER_RANK_HEADER = 'x-antseed-router-rank';
249
- const ROUTER_HEADERS = new Set([ROUTER_PEER_ID_HEADER, ROUTER_SERVICE_HEADER, ROUTER_RANK_HEADER]);
250
+ /** Headers only the buyer sets: which router ranked a request, and why routing picked its seller. */
251
+ const BUYER_ROUTING_HEADERS = new Set([ROUTER_PEER_ID_HEADER, ROUTER_SERVICE_HEADER, ROUTER_RANK_HEADER, ROUTE_SELECTION_HEADER]);
250
252
  /**
251
- * A seller's headers without router headers: only the buyer says which router
252
- * ranked a request, so a seller can neither change nor invent that.
253
+ * A seller's headers without the buyer's routing headers: only the buyer says
254
+ * which router ranked a request and why its seller was picked, so a seller can
255
+ * neither change nor invent that.
253
256
  */
254
257
  export function withoutRouterHeaders(headers) {
255
- return Object.fromEntries(Object.entries(headers).filter(([name]) => !ROUTER_HEADERS.has(name.toLowerCase())));
258
+ return Object.fromEntries(Object.entries(headers).filter(([name]) => !BUYER_ROUTING_HEADERS.has(name.toLowerCase())));
256
259
  }
257
260
  export function attachAntseedTelemetryHeaders(upstreamHeaders, selectedPeer, telemetry, requestId, latencyMs) {
258
261
  const headers = withoutRouterHeaders(upstreamHeaders);