@antseed/cli 0.1.196 → 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 (115) hide show
  1. package/dist/cli/commands/buyer/start.d.ts.map +1 -1
  2. package/dist/cli/commands/buyer/start.js +1 -0
  3. package/dist/cli/commands/buyer/start.js.map +1 -1
  4. package/dist/cli/commands/gateway/activity.d.ts.map +1 -1
  5. package/dist/cli/commands/gateway/activity.js +26 -5
  6. package/dist/cli/commands/gateway/activity.js.map +1 -1
  7. package/dist/config/types.d.ts +2 -0
  8. package/dist/config/types.d.ts.map +1 -1
  9. package/dist/gateway/accounting.d.ts +118 -6
  10. package/dist/gateway/accounting.d.ts.map +1 -1
  11. package/dist/gateway/accounting.js +319 -21
  12. package/dist/gateway/accounting.js.map +1 -1
  13. package/dist/gateway/console-api/handlers/favorites.d.ts +9 -0
  14. package/dist/gateway/console-api/handlers/favorites.d.ts.map +1 -0
  15. package/dist/gateway/console-api/handlers/favorites.js +44 -0
  16. package/dist/gateway/console-api/handlers/favorites.js.map +1 -0
  17. package/dist/gateway/console-api/handlers/favorites.test.d.ts +2 -0
  18. package/dist/gateway/console-api/handlers/favorites.test.d.ts.map +1 -0
  19. package/dist/gateway/console-api/handlers/favorites.test.js +41 -0
  20. package/dist/gateway/console-api/handlers/favorites.test.js.map +1 -0
  21. package/dist/gateway/console-api/handlers/index.d.ts.map +1 -1
  22. package/dist/gateway/console-api/handlers/index.js +2 -0
  23. package/dist/gateway/console-api/handlers/index.js.map +1 -1
  24. package/dist/gateway/console-api/handlers/network-mapping.d.ts +7 -1
  25. package/dist/gateway/console-api/handlers/network-mapping.d.ts.map +1 -1
  26. package/dist/gateway/console-api/handlers/network-mapping.js +46 -0
  27. package/dist/gateway/console-api/handlers/network-mapping.js.map +1 -1
  28. package/dist/gateway/console-api/handlers/network.d.ts.map +1 -1
  29. package/dist/gateway/console-api/handlers/network.js +19 -3
  30. package/dist/gateway/console-api/handlers/network.js.map +1 -1
  31. package/dist/gateway/console-api/handlers/network.test.js +70 -8
  32. package/dist/gateway/console-api/handlers/network.test.js.map +1 -1
  33. package/dist/gateway/console-api/handlers/usage.d.ts.map +1 -1
  34. package/dist/gateway/console-api/handlers/usage.js +2 -1
  35. package/dist/gateway/console-api/handlers/usage.js.map +1 -1
  36. package/dist/gateway/console-api/types.d.ts +75 -1
  37. package/dist/gateway/console-api/types.d.ts.map +1 -1
  38. package/dist/gateway/console-api/types.js.map +1 -1
  39. package/dist/gateway/gateway.test.js +829 -3
  40. package/dist/gateway/gateway.test.js.map +1 -1
  41. package/dist/gateway/request-errors.test.js +30 -0
  42. package/dist/gateway/request-errors.test.js.map +1 -1
  43. package/dist/gateway/routing-through-gateway.test.js +120 -4
  44. package/dist/gateway/routing-through-gateway.test.js.map +1 -1
  45. package/dist/gateway/runtime.d.ts.map +1 -1
  46. package/dist/gateway/runtime.js +4 -0
  47. package/dist/gateway/runtime.js.map +1 -1
  48. package/dist/gateway/server.d.ts +20 -0
  49. package/dist/gateway/server.d.ts.map +1 -1
  50. package/dist/gateway/server.js +181 -25
  51. package/dist/gateway/server.js.map +1 -1
  52. package/dist/gateway/services/network.d.ts +6 -1
  53. package/dist/gateway/services/network.d.ts.map +1 -1
  54. package/dist/gateway/services/network.js +12 -1
  55. package/dist/gateway/services/network.js.map +1 -1
  56. package/dist/gateway/services/usage.d.ts +2 -0
  57. package/dist/gateway/services/usage.d.ts.map +1 -1
  58. package/dist/gateway/services/usage.js +19 -5
  59. package/dist/gateway/services/usage.js.map +1 -1
  60. package/dist/gateway/spend-feed.d.ts +4 -1
  61. package/dist/gateway/spend-feed.d.ts.map +1 -1
  62. package/dist/gateway/spend-feed.js +7 -0
  63. package/dist/gateway/spend-feed.js.map +1 -1
  64. package/dist/gateway/store-data.test.js +1 -1
  65. package/dist/gateway/store-data.test.js.map +1 -1
  66. package/dist/gateway/store-migrations.d.ts.map +1 -1
  67. package/dist/gateway/store-migrations.js +40 -0
  68. package/dist/gateway/store-migrations.js.map +1 -1
  69. package/dist/gateway/store.d.ts +63 -1
  70. package/dist/gateway/store.d.ts.map +1 -1
  71. package/dist/gateway/store.js +142 -21
  72. package/dist/gateway/store.js.map +1 -1
  73. package/dist/gateway/video-jobs.d.ts +12 -0
  74. package/dist/gateway/video-jobs.d.ts.map +1 -0
  75. package/dist/gateway/video-jobs.js +24 -0
  76. package/dist/gateway/video-jobs.js.map +1 -0
  77. package/dist/proxy/buyer-proxy.d.ts +15 -0
  78. package/dist/proxy/buyer-proxy.d.ts.map +1 -1
  79. package/dist/proxy/buyer-proxy.js +166 -19
  80. package/dist/proxy/buyer-proxy.js.map +1 -1
  81. package/dist/proxy/buyer-proxy.test.js +158 -1
  82. package/dist/proxy/buyer-proxy.test.js.map +1 -1
  83. package/dist/proxy/gateway-policy.test.js +75 -1
  84. package/dist/proxy/gateway-policy.test.js.map +1 -1
  85. package/dist/proxy/request-utils.d.ts +4 -0
  86. package/dist/proxy/request-utils.d.ts.map +1 -1
  87. package/dist/proxy/request-utils.js +4 -0
  88. package/dist/proxy/request-utils.js.map +1 -1
  89. package/dist/proxy/resource-routes.d.ts +2 -0
  90. package/dist/proxy/resource-routes.d.ts.map +1 -1
  91. package/dist/proxy/resource-routes.js +4 -0
  92. package/dist/proxy/resource-routes.js.map +1 -1
  93. package/dist/proxy/route-selection.d.ts +79 -0
  94. package/dist/proxy/route-selection.d.ts.map +1 -0
  95. package/dist/proxy/route-selection.js +79 -0
  96. package/dist/proxy/route-selection.js.map +1 -0
  97. package/dist/proxy/spend-attribution.d.ts +17 -1
  98. package/dist/proxy/spend-attribution.d.ts.map +1 -1
  99. package/dist/proxy/spend-attribution.js +45 -10
  100. package/dist/proxy/spend-attribution.js.map +1 -1
  101. package/dist/proxy/spend-attribution.test.d.ts +2 -0
  102. package/dist/proxy/spend-attribution.test.d.ts.map +1 -0
  103. package/dist/proxy/spend-attribution.test.js +63 -0
  104. package/dist/proxy/spend-attribution.test.js.map +1 -0
  105. package/dist/proxy/telemetry.d.ts +15 -0
  106. package/dist/proxy/telemetry.d.ts.map +1 -1
  107. package/dist/proxy/telemetry.js +26 -3
  108. package/dist/proxy/telemetry.js.map +1 -1
  109. package/dist/proxy/video-download.d.ts +9 -1
  110. package/dist/proxy/video-download.d.ts.map +1 -1
  111. package/dist/proxy/video-download.js +41 -6
  112. package/dist/proxy/video-download.js.map +1 -1
  113. package/dist/proxy/video-download.test.js +33 -3
  114. package/dist/proxy/video-download.test.js.map +1 -1
  115. package/package.json +7 -7
@@ -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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"}
@@ -21,7 +21,17 @@ export interface AttributedSpendEvent {
21
21
  outputTokens: string;
22
22
  outputImages: string;
23
23
  at: number;
24
+ /** `routing`: the spend paid a routing service for a ranking, not a seller for inference. */
25
+ purpose?: SpendPurpose;
24
26
  }
27
+ /** What a request's spend paid for; inference when unset. */
28
+ export type SpendPurpose = 'routing';
29
+ /**
30
+ * The buyer refuses a video priced above the gateway's `x-antseed-max-video-usdc`
31
+ * before it starts, and reports the price it accepted. A gateway applies a
32
+ * key's caps to video creates only through a buyer that says so.
33
+ */
34
+ export declare const VIDEO_BUDGET_CAPABILITY = "video-budget";
25
35
  export interface AttributedSpendPage {
26
36
  /**
27
37
  * Identifies the event sequence. A feed backed by a file keeps it (and its
@@ -34,6 +44,8 @@ export interface AttributedSpendPage {
34
44
  /** Pass back as `after` on the next poll. */
35
45
  cursor: number;
36
46
  events: AttributedSpendEvent[];
47
+ /** What this buyer supports for the gateway (absent on older buyers). */
48
+ capabilities?: string[];
37
49
  }
38
50
  export interface SpendAttributionFeedOptions {
39
51
  /**
@@ -60,6 +72,9 @@ export declare class SpendAttributionFeed {
60
72
  private readonly _track;
61
73
  private readonly _lookup;
62
74
  private readonly _pruneTags;
75
+ private readonly _trackPurpose;
76
+ private readonly _clearPurpose;
77
+ private readonly _prunePurposes;
63
78
  private readonly _insert;
64
79
  private readonly _select;
65
80
  private readonly _oldest;
@@ -69,7 +84,8 @@ export declare class SpendAttributionFeed {
69
84
  private readonly _recentTagsBySeller;
70
85
  private _lastPruneAt;
71
86
  constructor(_now?: () => number, options?: SpendAttributionFeedOptions);
72
- track(requestId: string, tag: string): void;
87
+ /** `purpose` marks a request whose spend buys something other than inference (a router's ranking). */
88
+ track(requestId: string, tag: string, purpose?: SpendPurpose | null): void;
73
89
  close(): void;
74
90
  record(event: {
75
91
  requestId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"spend-attribution.d.ts","sourceRoot":"","sources":["../../src/proxy/spend-attribution.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AAEnE,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,wBAAwB,CAAA;AAgB9D,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,oBAAoB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGjF;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAenB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAdjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAyC;IAC7E,OAAO,CAAC,YAAY,CAAsB;gBAEb,IAAI,GAAE,MAAM,MAAyB,EAAE,OAAO,GAAE,2BAAgC;IA8C7G,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAO3C,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,KAAK,EAAE;QACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,EAAE,MAAM,CAAA;QACpB,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,iBAAiB,EAAE,MAAM,CAAA;QACzB,YAAY,EAAE,MAAM,CAAA;QACpB,YAAY,EAAE,MAAM,CAAA;KACrB,GAAG,IAAI;IAqBR;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,mBAAmB;IAezE,OAAO,CAAC,MAAM;CAMf"}
1
+ {"version":3,"file":"spend-attribution.d.ts","sourceRoot":"","sources":["../../src/proxy/spend-attribution.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,12 @@ const ACKED_RETENTION_MS = 60 * 60 * 1000;
24
24
  /** Unacknowledged events are kept this long, for a gateway that is down. */
25
25
  const UNACKED_RETENTION_MS = 7 * 24 * 60 * 60 * 1000;
26
26
  const PRUNE_INTERVAL_MS = 60 * 1000;
27
+ /**
28
+ * The buyer refuses a video priced above the gateway's `x-antseed-max-video-usdc`
29
+ * before it starts, and reports the price it accepted. A gateway applies a
30
+ * key's caps to video creates only through a buyer that says so.
31
+ */
32
+ export const VIDEO_BUDGET_CAPABILITY = 'video-budget';
27
33
  export function parseSpendAttributionTag(value) {
28
34
  const tag = value?.trim() ?? '';
29
35
  return TAG_PATTERN.test(tag) ? tag : null;
@@ -43,6 +49,9 @@ export class SpendAttributionFeed {
43
49
  _track;
44
50
  _lookup;
45
51
  _pruneTags;
52
+ _trackPurpose;
53
+ _clearPurpose;
54
+ _prunePurposes;
46
55
  _insert;
47
56
  _select;
48
57
  _oldest;
@@ -73,14 +82,24 @@ export class SpendAttributionFeed {
73
82
  );
74
83
  CREATE INDEX IF NOT EXISTS spend_events_time ON spend_events(at);
75
84
  `);
85
+ // Added after the first release. Routing purchases get their own table rather than a request_tags
86
+ // column, so an older buyer (one rolled back to) can still write request_tags by position.
87
+ this._db.exec('CREATE TABLE IF NOT EXISTS request_purposes (request_id TEXT PRIMARY KEY, purpose TEXT NOT NULL, tracked_at INTEGER NOT NULL)');
88
+ addColumnIfMissing(this._db, 'spend_events', 'purpose TEXT');
76
89
  this._db.prepare("INSERT OR IGNORE INTO feed_meta VALUES ('feed_id', ?), ('acked_seq', '0')").run(randomUUID());
77
90
  this.bootId = this._db.prepare("SELECT value FROM feed_meta WHERE key = 'feed_id'").get().value;
78
- this._track = this._db.prepare('INSERT OR REPLACE INTO request_tags VALUES (?, ?, ?)');
91
+ this._track = this._db.prepare('INSERT OR REPLACE INTO request_tags (request_id, tag, tracked_at) VALUES (?, ?, ?)');
92
+ this._trackPurpose = this._db.prepare('INSERT OR REPLACE INTO request_purposes (request_id, purpose, tracked_at) VALUES (?, ?, ?)');
93
+ this._clearPurpose = this._db.prepare('DELETE FROM request_purposes WHERE request_id = ?');
79
94
  this._pruneTags = this._db.prepare('DELETE FROM request_tags WHERE tracked_at < ?');
80
- this._lookup = this._db.prepare('SELECT tag FROM request_tags WHERE request_id = ? AND tracked_at >= ?');
95
+ this._prunePurposes = this._db.prepare('DELETE FROM request_purposes WHERE tracked_at < ?');
96
+ this._lookup = this._db.prepare(`
97
+ SELECT t.tag, p.purpose FROM request_tags t LEFT JOIN request_purposes p ON p.request_id = t.request_id
98
+ WHERE t.request_id = ? AND t.tracked_at >= ?
99
+ `);
81
100
  this._insert = this._db.prepare(`
82
- INSERT INTO spend_events (tag, request_id, buyer_identity, seller_peer_id, amount_usdc, input_tokens, cached_input_tokens, output_tokens, output_images, at)
83
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
101
+ INSERT INTO spend_events (tag, request_id, buyer_identity, seller_peer_id, amount_usdc, input_tokens, cached_input_tokens, output_tokens, output_images, at, purpose)
102
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
84
103
  `);
85
104
  this._select = this._db.prepare('SELECT * FROM spend_events WHERE seq > ? ORDER BY seq LIMIT ?');
86
105
  // The next seq when the table is empty: sqlite_sequence remembers the last one handed out.
@@ -97,12 +116,17 @@ export class SpendAttributionFeed {
97
116
  `);
98
117
  this._prune(this._now());
99
118
  }
100
- track(requestId, tag) {
119
+ /** `purpose` marks a request whose spend buys something other than inference (a router's ranking). */
120
+ track(requestId, tag, purpose = null) {
101
121
  if (!this._db.open)
102
122
  return;
103
123
  const now = this._now();
104
124
  this._prune(now);
105
125
  this._track.run(requestId, tag, now);
126
+ if (purpose)
127
+ this._trackPurpose.run(requestId, purpose, now);
128
+ else
129
+ this._clearPurpose.run(requestId);
106
130
  }
107
131
  close() {
108
132
  if (this._db.open)
@@ -119,15 +143,16 @@ export class SpendAttributionFeed {
119
143
  recentTags.delete(recentTag);
120
144
  // Without a request id the spend can only be attributed when exactly one
121
145
  // tag (one gateway key's request) is using this identity on this seller.
122
- const tag = event.requestId
123
- ? this._lookup.get(event.requestId, now - TAG_RETENTION_MS)?.tag
124
- : recentTags.size === 1 ? [...recentTags.keys()][0] : undefined;
146
+ const tracked = event.requestId
147
+ ? this._lookup.get(event.requestId, now - TAG_RETENTION_MS)
148
+ : undefined;
149
+ const tag = event.requestId ? tracked?.tag : recentTags.size === 1 ? [...recentTags.keys()][0] : undefined;
125
150
  if (!tag)
126
151
  return;
127
152
  recentTags.set(tag, now);
128
153
  this._recentTagsBySeller.set(sellerKey, recentTags);
129
154
  this._prune(now);
130
- this._insert.run(tag, event.requestId, event.buyerIdentity ?? 'default', event.sellerPeerId, event.amountUsdc, event.inputTokens, event.cachedInputTokens, event.outputTokens, event.outputImages, now);
155
+ this._insert.run(tag, event.requestId, event.buyerIdentity ?? 'default', event.sellerPeerId, event.amountUsdc, event.inputTokens, event.cachedInputTokens, event.outputTokens, event.outputImages, now, tracked?.purpose ?? null);
131
156
  }
132
157
  /**
133
158
  * Events after `after`. With `ack` (an authenticated gateway poll), `after`
@@ -136,8 +161,9 @@ export class SpendAttributionFeed {
136
161
  */
137
162
  page(after, options = {}) {
138
163
  const cursorIn = Number.isSafeInteger(after) ? Math.max(after, 0) : 0;
164
+ const capabilities = [VIDEO_BUDGET_CAPABILITY];
139
165
  if (!this._db.open)
140
- return { bootId: this.bootId, oldestSeq: cursorIn + 1, cursor: cursorIn, events: [] };
166
+ return { bootId: this.bootId, oldestSeq: cursorIn + 1, cursor: cursorIn, events: [], capabilities };
141
167
  if (options.ack && cursorIn > 0)
142
168
  this._ack.run(cursorIn, cursorIn);
143
169
  const rows = this._select.all(cursorIn, MAX_EVENTS_PER_PAGE);
@@ -148,6 +174,7 @@ export class SpendAttributionFeed {
148
174
  oldestSeq: this._oldest.get().seq,
149
175
  cursor: last ? last.seq : cursorIn,
150
176
  events,
177
+ capabilities,
151
178
  };
152
179
  }
153
180
  _prune(now) {
@@ -155,6 +182,7 @@ export class SpendAttributionFeed {
155
182
  return;
156
183
  this._lastPruneAt = now;
157
184
  this._pruneTags.run(now - TAG_RETENTION_MS);
185
+ this._prunePurposes.run(now - TAG_RETENTION_MS);
158
186
  this._pruneEvents.run(now - ACKED_RETENTION_MS, now - UNACKED_RETENTION_MS, MAX_STORED_EVENTS);
159
187
  }
160
188
  }
@@ -171,8 +199,15 @@ function toEvent(row) {
171
199
  outputTokens: row.output_tokens,
172
200
  outputImages: row.output_images,
173
201
  at: row.at,
202
+ ...(row.purpose ? { purpose: row.purpose } : {}),
174
203
  };
175
204
  }
205
+ function addColumnIfMissing(db, table, column) {
206
+ const name = column.split(' ')[0];
207
+ const columns = db.prepare(`SELECT name FROM pragma_table_info(?)`).all(table);
208
+ if (!columns.some((existing) => existing.name === name))
209
+ db.exec(`ALTER TABLE ${table} ADD COLUMN ${column}`);
210
+ }
176
211
  /** The feed's database file, or a temporary one when it has none or the file cannot be opened. */
177
212
  function openFeedDatabase(options) {
178
213
  if (options.path) {
@@ -1 +1 @@
1
- {"version":3,"file":"spend-attribution.js","sourceRoot":"","sources":["../../src/proxy/spend-attribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spend-attribution.js","sourceRoot":"","sources":["../../src/proxy/spend-attribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=spend-attribution.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spend-attribution.test.d.ts","sourceRoot":"","sources":["../../src/proxy/spend-attribution.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ import assert from 'node:assert/strict';
2
+ import { mkdtempSync, rmSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { test } from 'node:test';
6
+ import Database from 'better-sqlite3';
7
+ import { SpendAttributionFeed } from './spend-attribution.js';
8
+ const spend = (requestId) => ({
9
+ requestId, sellerPeerId: 'a'.repeat(40), amountUsdc: '1000',
10
+ inputTokens: '0', cachedInputTokens: '0', outputTokens: '0', outputImages: '0',
11
+ });
12
+ test('spend of a request tracked as routing is reported as a routing purchase', () => {
13
+ const feed = new SpendAttributionFeed();
14
+ try {
15
+ feed.track('rank-1', 'gw_tag', 'routing');
16
+ feed.track('infer-1', 'gw_tag');
17
+ feed.record(spend('rank-1'));
18
+ feed.record(spend('infer-1'));
19
+ const events = feed.page(0).events;
20
+ assert.deepEqual(events.map((event) => [event.requestId, event.purpose]), [['rank-1', 'routing'], ['infer-1', undefined]]);
21
+ }
22
+ finally {
23
+ feed.close();
24
+ }
25
+ });
26
+ test('a feed database from before routing purposes gains the column and keeps its events', () => {
27
+ const dir = mkdtempSync(join(tmpdir(), 'antseed-spend-feed-'));
28
+ const path = join(dir, 'attributed-spend.db');
29
+ try {
30
+ const old = new Database(path);
31
+ old.exec(`
32
+ CREATE TABLE request_tags (request_id TEXT PRIMARY KEY, tag TEXT NOT NULL, tracked_at INTEGER NOT NULL);
33
+ CREATE TABLE feed_meta (key TEXT PRIMARY KEY, value TEXT NOT NULL);
34
+ CREATE TABLE spend_events (
35
+ seq INTEGER PRIMARY KEY AUTOINCREMENT, tag TEXT NOT NULL, request_id TEXT, buyer_identity TEXT NOT NULL,
36
+ seller_peer_id TEXT NOT NULL, amount_usdc TEXT NOT NULL, input_tokens TEXT NOT NULL, cached_input_tokens TEXT NOT NULL,
37
+ output_tokens TEXT NOT NULL, output_images TEXT NOT NULL, at INTEGER NOT NULL
38
+ );
39
+ `);
40
+ old.prepare("INSERT INTO spend_events (tag, request_id, buyer_identity, seller_peer_id, amount_usdc, input_tokens, cached_input_tokens, output_tokens, output_images, at) VALUES ('gw_old', 'r0', 'default', ?, '5', '0', '0', '0', '0', ?)")
41
+ .run('a'.repeat(40), Date.now());
42
+ old.close();
43
+ const feed = new SpendAttributionFeed(undefined, { path });
44
+ try {
45
+ feed.track('rank-1', 'gw_new', 'routing');
46
+ feed.record(spend('rank-1'));
47
+ assert.deepEqual(feed.page(0).events.map((event) => [event.tag, event.purpose]), [['gw_old', undefined], ['gw_new', 'routing']]);
48
+ }
49
+ finally {
50
+ feed.close();
51
+ }
52
+ // A buyer rolled back to the older version still writes and reads the same file as it did.
53
+ const older = new Database(path);
54
+ older.prepare('INSERT OR REPLACE INTO request_tags VALUES (?, ?, ?)').run('r1', 'gw_after_rollback', Date.now());
55
+ older.prepare('INSERT INTO spend_events (tag, request_id, buyer_identity, seller_peer_id, amount_usdc, input_tokens, cached_input_tokens, output_tokens, output_images, at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)')
56
+ .run('gw_after_rollback', 'r1', 'default', 'a'.repeat(40), '5', '0', '0', '0', '0', Date.now());
57
+ older.close();
58
+ }
59
+ finally {
60
+ rmSync(dir, { recursive: true, force: true });
61
+ }
62
+ });
63
+ //# sourceMappingURL=spend-attribution.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spend-attribution.test.js","sourceRoot":"","sources":["../../src/proxy/spend-attribution.test.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,21 @@ export type ResponseTelemetry = {
23
23
  estimatedCostUsd: number | null;
24
24
  };
25
25
  export declare function computeResponseTelemetry(request: SerializedHttpRequest, responseHeaders: Record<string, string>, responseBody: Uint8Array, selectedPeer: PeerInfo): ResponseTelemetry;
26
+ /**
27
+ * Response headers of a request a routing service ranked: the router's peer
28
+ * and service, and which of its recommendations (1 = its first pick) was tried
29
+ * last: it served the request, unless the response is the last refusal. A
30
+ * failed ranking carries the router's peer and service only.
31
+ */
32
+ export declare const ROUTER_PEER_ID_HEADER = "x-antseed-router-peer-id";
33
+ export declare const ROUTER_SERVICE_HEADER = "x-antseed-router-service";
34
+ export declare const ROUTER_RANK_HEADER = "x-antseed-router-rank";
35
+ /**
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.
39
+ */
40
+ export declare function withoutRouterHeaders(headers: Record<string, string>): Record<string, string>;
26
41
  export declare function attachAntseedTelemetryHeaders(upstreamHeaders: Record<string, string>, selectedPeer: PeerInfo, telemetry: ResponseTelemetry, requestId: string, latencyMs: number): Record<string, string>;
27
42
  /**
28
43
  * Streamed responses carry the seller's advertised prices too (a gateway tells
@@ -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,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,CAOxB"}
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';
@@ -237,8 +238,27 @@ export function computeResponseTelemetry(request, responseHeaders, responseBody,
237
238
  estimatedCostUsd,
238
239
  };
239
240
  }
241
+ /**
242
+ * Response headers of a request a routing service ranked: the router's peer
243
+ * and service, and which of its recommendations (1 = its first pick) was tried
244
+ * last: it served the request, unless the response is the last refusal. A
245
+ * failed ranking carries the router's peer and service only.
246
+ */
247
+ export const ROUTER_PEER_ID_HEADER = 'x-antseed-router-peer-id';
248
+ export const ROUTER_SERVICE_HEADER = 'x-antseed-router-service';
249
+ export const ROUTER_RANK_HEADER = 'x-antseed-router-rank';
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]);
252
+ /**
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.
256
+ */
257
+ export function withoutRouterHeaders(headers) {
258
+ return Object.fromEntries(Object.entries(headers).filter(([name]) => !BUYER_ROUTING_HEADERS.has(name.toLowerCase())));
259
+ }
240
260
  export function attachAntseedTelemetryHeaders(upstreamHeaders, selectedPeer, telemetry, requestId, latencyMs) {
241
- const headers = { ...upstreamHeaders };
261
+ const headers = withoutRouterHeaders(upstreamHeaders);
242
262
  headers['x-antseed-request-id'] = requestId;
243
263
  headers['x-antseed-latency-ms'] = String(Math.max(0, Math.floor(latencyMs)));
244
264
  setPeerIdentityHeaders(headers, selectedPeer);
@@ -265,12 +285,15 @@ export function attachAntseedTelemetryHeaders(upstreamHeaders, selectedPeer, tel
265
285
  * a free seller by them), and the time from sending to the seller's first frame.
266
286
  */
267
287
  export function attachStreamingAntseedHeaders(upstreamHeaders, selectedPeer, request, firstTokenMs) {
268
- const headers = { ...upstreamHeaders };
288
+ const headers = withoutRouterHeaders(upstreamHeaders);
269
289
  headers['x-antseed-request-id'] = request.requestId;
270
290
  if (firstTokenMs !== undefined)
271
291
  headers['x-antseed-first-token-ms'] = String(Math.max(0, Math.floor(firstTokenMs)));
272
292
  setPeerIdentityHeaders(headers, selectedPeer);
273
- setPricingHeaders(headers, resolvePeerPricing(selectedPeer, pickProviderForPeer(selectedPeer, request), extractRequestedService(request)));
293
+ const service = extractRequestedService(request);
294
+ if (service)
295
+ headers['x-antseed-service'] = service;
296
+ setPricingHeaders(headers, resolvePeerPricing(selectedPeer, pickProviderForPeer(selectedPeer, request), service));
274
297
  return headers;
275
298
  }
276
299
  //# sourceMappingURL=telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/proxy/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/proxy/telemetry.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,14 @@ type SendDownload = (request: SerializedHttpRequest, callbacks: RequestStreamCal
11
11
  export type VideoJobStatus = 'processing' | 'failed' | 'completed' | 'unknown' | 'seller_unreachable';
12
12
  export declare function normalizeVideoStatus(status: unknown): VideoJobStatus | null;
13
13
  /** Streams a finished video from the seller that owns the job to the client. */
14
- export declare function downloadVideo(request: SerializedHttpRequest, response: ServerResponse, send: SendDownload, clientSignal: AbortSignal): Promise<void>;
14
+ /**
15
+ * Streams a finished video, or answers the job's status. Before an answer that
16
+ * ends the job (it failed, including a JSON `completed` with no video, or the
17
+ * seller answers 404/410: it no longer has the job), `retire` must durably
18
+ * retire it; that answer then carries VIDEO_JOB_RETIRED_HEADER. When the job
19
+ * cannot be retired, the answer is a retryable `unknown` instead, so no caller
20
+ * treats the job as finished while it can still be charged.
21
+ */
22
+ export declare function downloadVideo(request: SerializedHttpRequest, response: ServerResponse, send: SendDownload, clientSignal: AbortSignal, retire?: () => Promise<boolean>): Promise<void>;
15
23
  export {};
16
24
  //# sourceMappingURL=video-download.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"video-download.d.ts","sourceRoot":"","sources":["../../src/proxy/video-download.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAyF,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE3M,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;AAY/I;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,oBAAoB,CAAA;AAErG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAO3E;AAsCD,gFAAgF;AAChF,wBAAsB,aAAa,CAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D1J"}
1
+ {"version":3,"file":"video-download.d.ts","sourceRoot":"","sources":["../../src/proxy/video-download.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAsK,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAExR,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;AAe/I;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,oBAAoB,CAAA;AAErG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAO3E;AAsCD,gFAAgF;AAChF;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,WAAW,EACzB,MAAM,GAAE,MAAM,OAAO,CAAC,OAAO,CAAoB,GAChD,OAAO,CAAC,IAAI,CAAC,CAiFf"}