@antseed/node 0.2.106 → 0.2.107

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 (216) hide show
  1. package/dist/billing/index.d.ts +2 -0
  2. package/dist/billing/index.d.ts.map +1 -0
  3. package/dist/billing/index.js +2 -0
  4. package/dist/billing/index.js.map +1 -0
  5. package/dist/billing/unit.d.ts +3 -0
  6. package/dist/billing/unit.d.ts.map +1 -0
  7. package/dist/billing/unit.js +3 -0
  8. package/dist/billing/unit.js.map +1 -0
  9. package/dist/buyer-request-handler.d.ts +1 -54
  10. package/dist/buyer-request-handler.d.ts.map +1 -1
  11. package/dist/buyer-request-handler.js +2 -379
  12. package/dist/buyer-request-handler.js.map +1 -1
  13. package/dist/discovery/announcer.d.ts +7 -1
  14. package/dist/discovery/announcer.d.ts.map +1 -1
  15. package/dist/discovery/announcer.js +84 -33
  16. package/dist/discovery/announcer.js.map +1 -1
  17. package/dist/discovery/http-metadata-resolver.d.ts +4 -0
  18. package/dist/discovery/http-metadata-resolver.d.ts.map +1 -1
  19. package/dist/discovery/http-metadata-resolver.js +42 -2
  20. package/dist/discovery/http-metadata-resolver.js.map +1 -1
  21. package/dist/discovery/index.d.ts +1 -1
  22. package/dist/discovery/index.d.ts.map +1 -1
  23. package/dist/discovery/index.js +1 -1
  24. package/dist/discovery/index.js.map +1 -1
  25. package/dist/discovery/metadata-codec.d.ts +4 -4
  26. package/dist/discovery/metadata-codec.d.ts.map +1 -1
  27. package/dist/discovery/metadata-codec.js +339 -23
  28. package/dist/discovery/metadata-codec.js.map +1 -1
  29. package/dist/discovery/metadata-validator.d.ts +7 -3
  30. package/dist/discovery/metadata-validator.d.ts.map +1 -1
  31. package/dist/discovery/metadata-validator.js +139 -8
  32. package/dist/discovery/metadata-validator.js.map +1 -1
  33. package/dist/discovery/peer-lookup.d.ts +1 -0
  34. package/dist/discovery/peer-lookup.d.ts.map +1 -1
  35. package/dist/discovery/peer-lookup.js +23 -5
  36. package/dist/discovery/peer-lookup.js.map +1 -1
  37. package/dist/discovery/peer-metadata.d.ts +2 -90
  38. package/dist/discovery/peer-metadata.d.ts.map +1 -1
  39. package/dist/discovery/peer-metadata.js +3 -11
  40. package/dist/discovery/peer-metadata.js.map +1 -1
  41. package/dist/discovery/seller-address-resolver.d.ts +1 -49
  42. package/dist/discovery/seller-address-resolver.d.ts.map +1 -1
  43. package/dist/discovery/seller-address-resolver.js +2 -114
  44. package/dist/discovery/seller-address-resolver.js.map +1 -1
  45. package/dist/errors.d.ts +43 -0
  46. package/dist/errors.d.ts.map +1 -0
  47. package/dist/errors.js +73 -0
  48. package/dist/errors.js.map +1 -0
  49. package/dist/health/model-health-checker.d.ts +6 -5
  50. package/dist/health/model-health-checker.d.ts.map +1 -1
  51. package/dist/health/model-health-checker.js +22 -10
  52. package/dist/health/model-health-checker.js.map +1 -1
  53. package/dist/index.d.ts +3 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +3 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/interfaces/seller-provider.d.ts +6 -0
  58. package/dist/interfaces/seller-provider.d.ts.map +1 -1
  59. package/dist/node.d.ts.map +1 -1
  60. package/dist/node.js +28 -0
  61. package/dist/node.js.map +1 -1
  62. package/dist/p2p/connection-auth.d.ts +3 -8
  63. package/dist/p2p/connection-auth.d.ts.map +1 -1
  64. package/dist/p2p/connection-auth.js +4 -6
  65. package/dist/p2p/connection-auth.js.map +1 -1
  66. package/dist/p2p/connection-manager.d.ts +3 -1
  67. package/dist/p2p/connection-manager.d.ts.map +1 -1
  68. package/dist/p2p/connection-manager.js.map +1 -1
  69. package/dist/p2p/identity.d.ts +1 -21
  70. package/dist/p2p/identity.d.ts.map +1 -1
  71. package/dist/p2p/identity.js +3 -62
  72. package/dist/p2p/identity.js.map +1 -1
  73. package/dist/p2p/message-protocol.d.ts +1 -49
  74. package/dist/p2p/message-protocol.d.ts.map +1 -1
  75. package/dist/p2p/message-protocol.js +2 -125
  76. package/dist/p2p/message-protocol.js.map +1 -1
  77. package/dist/p2p/payment-codec.d.ts +1 -21
  78. package/dist/p2p/payment-codec.d.ts.map +1 -1
  79. package/dist/p2p/payment-codec.js +2 -220
  80. package/dist/p2p/payment-codec.js.map +1 -1
  81. package/dist/p2p/payment-mux.d.ts +1 -51
  82. package/dist/p2p/payment-mux.d.ts.map +1 -1
  83. package/dist/p2p/payment-mux.js +2 -159
  84. package/dist/p2p/payment-mux.js.map +1 -1
  85. package/dist/payments/buyer-free-usage-manager.d.ts +1 -43
  86. package/dist/payments/buyer-free-usage-manager.d.ts.map +1 -1
  87. package/dist/payments/buyer-free-usage-manager.js +2 -298
  88. package/dist/payments/buyer-free-usage-manager.js.map +1 -1
  89. package/dist/payments/buyer-payment-manager.d.ts +1 -277
  90. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  91. package/dist/payments/buyer-payment-manager.js +2 -1039
  92. package/dist/payments/buyer-payment-manager.js.map +1 -1
  93. package/dist/payments/buyer-payment-negotiator.d.ts +1 -130
  94. package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -1
  95. package/dist/payments/buyer-payment-negotiator.js +2 -950
  96. package/dist/payments/buyer-payment-negotiator.js.map +1 -1
  97. package/dist/payments/chain-config.d.ts.map +1 -1
  98. package/dist/payments/chain-config.js +13 -2
  99. package/dist/payments/chain-config.js.map +1 -1
  100. package/dist/payments/channel-session-state.d.ts +1 -13
  101. package/dist/payments/channel-session-state.d.ts.map +1 -1
  102. package/dist/payments/channel-session-state.js +2 -25
  103. package/dist/payments/channel-session-state.js.map +1 -1
  104. package/dist/payments/channel-store.d.ts +2 -51
  105. package/dist/payments/channel-store.d.ts.map +1 -1
  106. package/dist/payments/channel-store.js +3 -14
  107. package/dist/payments/channel-store.js.map +1 -1
  108. package/dist/payments/channel-usage-accounting.d.ts +1 -17
  109. package/dist/payments/channel-usage-accounting.d.ts.map +1 -1
  110. package/dist/payments/channel-usage-accounting.js +2 -65
  111. package/dist/payments/channel-usage-accounting.js.map +1 -1
  112. package/dist/payments/evm/base-evm-client.d.ts +1 -26
  113. package/dist/payments/evm/base-evm-client.d.ts.map +1 -1
  114. package/dist/payments/evm/base-evm-client.js +2 -115
  115. package/dist/payments/evm/base-evm-client.js.map +1 -1
  116. package/dist/payments/evm/channels-client.d.ts +1 -85
  117. package/dist/payments/evm/channels-client.d.ts.map +1 -1
  118. package/dist/payments/evm/channels-client.js +2 -193
  119. package/dist/payments/evm/channels-client.js.map +1 -1
  120. package/dist/payments/evm/deposits-client.d.ts +1 -29
  121. package/dist/payments/evm/deposits-client.d.ts.map +1 -1
  122. package/dist/payments/evm/deposits-client.js +2 -67
  123. package/dist/payments/evm/deposits-client.js.map +1 -1
  124. package/dist/payments/evm/signatures.d.ts +1 -203
  125. package/dist/payments/evm/signatures.d.ts.map +1 -1
  126. package/dist/payments/evm/signatures.js +2 -236
  127. package/dist/payments/evm/signatures.js.map +1 -1
  128. package/dist/payments/evm/subpool-client.d.ts +32 -0
  129. package/dist/payments/evm/subpool-client.d.ts.map +1 -0
  130. package/dist/payments/evm/subpool-client.js +158 -0
  131. package/dist/payments/evm/subpool-client.js.map +1 -0
  132. package/dist/payments/index.d.ts +1 -1
  133. package/dist/payments/index.d.ts.map +1 -1
  134. package/dist/payments/index.js +1 -1
  135. package/dist/payments/index.js.map +1 -1
  136. package/dist/payments/pricing.d.ts +1 -26
  137. package/dist/payments/pricing.d.ts.map +1 -1
  138. package/dist/payments/pricing.js +2 -36
  139. package/dist/payments/pricing.js.map +1 -1
  140. package/dist/payments/usdc-utils.d.ts +1 -8
  141. package/dist/payments/usdc-utils.d.ts.map +1 -1
  142. package/dist/payments/usdc-utils.js +2 -16
  143. package/dist/payments/usdc-utils.js.map +1 -1
  144. package/dist/proxy/proxy-mux.d.ts +1 -69
  145. package/dist/proxy/proxy-mux.d.ts.map +1 -1
  146. package/dist/proxy/proxy-mux.js +2 -346
  147. package/dist/proxy/proxy-mux.js.map +1 -1
  148. package/dist/proxy/request-codec.d.ts +1 -41
  149. package/dist/proxy/request-codec.d.ts.map +1 -1
  150. package/dist/proxy/request-codec.js +2 -280
  151. package/dist/proxy/request-codec.js.map +1 -1
  152. package/dist/seller-request-handler.d.ts +10 -3
  153. package/dist/seller-request-handler.d.ts.map +1 -1
  154. package/dist/seller-request-handler.js +112 -17
  155. package/dist/seller-request-handler.js.map +1 -1
  156. package/dist/types/billing.d.ts +2 -0
  157. package/dist/types/billing.d.ts.map +1 -0
  158. package/dist/types/billing.js +2 -0
  159. package/dist/types/billing.js.map +1 -0
  160. package/dist/types/capability.d.ts +1 -25
  161. package/dist/types/capability.d.ts.map +1 -1
  162. package/dist/types/capability.js +2 -1
  163. package/dist/types/capability.js.map +1 -1
  164. package/dist/types/connection.d.ts +1 -26
  165. package/dist/types/connection.d.ts.map +1 -1
  166. package/dist/types/connection.js +2 -10
  167. package/dist/types/connection.js.map +1 -1
  168. package/dist/types/http.d.ts +1 -39
  169. package/dist/types/http.d.ts.map +1 -1
  170. package/dist/types/http.js +2 -16
  171. package/dist/types/http.js.map +1 -1
  172. package/dist/types/index.d.ts +1 -0
  173. package/dist/types/index.d.ts.map +1 -1
  174. package/dist/types/index.js +1 -0
  175. package/dist/types/index.js.map +1 -1
  176. package/dist/types/peer.d.ts +9 -31
  177. package/dist/types/peer.d.ts.map +1 -1
  178. package/dist/types/peer.js +2 -14
  179. package/dist/types/peer.js.map +1 -1
  180. package/dist/types/protocol.d.ts +1 -306
  181. package/dist/types/protocol.d.ts.map +1 -1
  182. package/dist/types/protocol.js +2 -81
  183. package/dist/types/protocol.js.map +1 -1
  184. package/dist/types/service-api.d.ts +1 -5
  185. package/dist/types/service-api.d.ts.map +1 -1
  186. package/dist/types/service-api.js +2 -12
  187. package/dist/types/service-api.js.map +1 -1
  188. package/dist/utils/debug.d.ts +1 -5
  189. package/dist/utils/debug.d.ts.map +1 -1
  190. package/dist/utils/debug.js +2 -52
  191. package/dist/utils/debug.js.map +1 -1
  192. package/dist/utils/hex.d.ts +1 -2
  193. package/dist/utils/hex.d.ts.map +1 -1
  194. package/dist/utils/hex.js +2 -14
  195. package/dist/utils/hex.js.map +1 -1
  196. package/dist/utils/json-codec.d.ts +1 -9
  197. package/dist/utils/json-codec.d.ts.map +1 -1
  198. package/dist/utils/json-codec.js +2 -51
  199. package/dist/utils/json-codec.js.map +1 -1
  200. package/dist/utils/response-usage.d.ts +1 -9
  201. package/dist/utils/response-usage.d.ts.map +1 -1
  202. package/dist/utils/response-usage.js +2 -39
  203. package/dist/utils/response-usage.js.map +1 -1
  204. package/dist/verification/codec.d.ts +1 -3
  205. package/dist/verification/codec.d.ts.map +1 -1
  206. package/dist/verification/codec.js +2 -37
  207. package/dist/verification/codec.js.map +1 -1
  208. package/dist/verification/response-auth.d.ts +1 -30
  209. package/dist/verification/response-auth.d.ts.map +1 -1
  210. package/dist/verification/response-auth.js +2 -110
  211. package/dist/verification/response-auth.js.map +1 -1
  212. package/dist/verification/verification-mux.d.ts +1 -19
  213. package/dist/verification/verification-mux.d.ts.map +1 -1
  214. package/dist/verification/verification-mux.js +2 -99
  215. package/dist/verification/verification-mux.js.map +1 -1
  216. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-mux.js","sourceRoot":"","sources":["../../src/proxy/proxy-mux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-mux.js","sourceRoot":"","sources":["../../src/proxy/proxy-mux.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,cAAc,+BAA+B,CAAC"}
@@ -1,42 +1,2 @@
1
- import type { SerializedHttpRequest, SerializedHttpResponse, SerializedHttpResponseChunk, SerializedHttpRequestChunk } from "../types/http.js";
2
- /**
3
- * Encode an HTTP request into binary format:
4
- * [requestIdLen:2][requestId:N][methodLen:1][method:N][pathLen:2][path:N]
5
- * [headerCount:2][for each header: keyLen:2, key:N, valLen:2, val:N]
6
- * [bodyLen:4][body:N]
7
- */
8
- export declare function encodeHttpRequest(req: SerializedHttpRequest): Uint8Array;
9
- /**
10
- * Decode binary data into a SerializedHttpRequest.
11
- */
12
- export declare function decodeHttpRequest(data: Uint8Array): SerializedHttpRequest;
13
- /**
14
- * Encode an HTTP response into binary format:
15
- * [requestIdLen:2][requestId:N][statusCode:2]
16
- * [headerCount:2][for each header: keyLen:2, key:N, valLen:2, val:N]
17
- * [bodyLen:4][body:N]
18
- */
19
- export declare function encodeHttpResponse(resp: SerializedHttpResponse): Uint8Array;
20
- /**
21
- * Decode binary data into a SerializedHttpResponse.
22
- */
23
- export declare function decodeHttpResponse(data: Uint8Array): SerializedHttpResponse;
24
- /**
25
- * Encode an HTTP response chunk into binary format:
26
- * [requestIdLen:2][requestId:N][done:1][dataLen:4][data:N]
27
- */
28
- export declare function encodeHttpResponseChunk(chunk: SerializedHttpResponseChunk): Uint8Array;
29
- /**
30
- * Decode binary data into a SerializedHttpResponseChunk.
31
- */
32
- export declare function decodeHttpResponseChunk(data: Uint8Array): SerializedHttpResponseChunk;
33
- /**
34
- * Encode an HTTP request chunk into binary format:
35
- * [requestIdLen:2][requestId:N][done:1][dataLen:4][data:N]
36
- */
37
- export declare function encodeHttpRequestChunk(chunk: SerializedHttpRequestChunk): Uint8Array;
38
- /**
39
- * Decode binary data into a SerializedHttpRequestChunk.
40
- */
41
- export declare function decodeHttpRequestChunk(data: Uint8Array): SerializedHttpRequestChunk;
1
+ export * from '@antseed/protocol/request-codec';
42
2
  //# sourceMappingURL=request-codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-codec.d.ts","sourceRoot":"","sources":["../../src/proxy/request-codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,kBAAkB,CAAC;AAK1B;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,qBAAqB,GAAG,UAAU,CAgExE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,qBAAqB,CA4CzE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,UAAU,CAwD3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,sBAAsB,CAoC3E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,2BAA2B,GACjC,UAAU,CA4BZ;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,GACf,2BAA2B,CAoB7B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,0BAA0B,GAChC,UAAU,CAyBZ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,GACf,0BAA0B,CAiB5B"}
1
+ {"version":3,"file":"request-codec.d.ts","sourceRoot":"","sources":["../../src/proxy/request-codec.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAC"}
@@ -1,281 +1,3 @@
1
- const encoder = new TextEncoder();
2
- const decoder = new TextDecoder();
3
- /**
4
- * Encode an HTTP request into binary format:
5
- * [requestIdLen:2][requestId:N][methodLen:1][method:N][pathLen:2][path:N]
6
- * [headerCount:2][for each header: keyLen:2, key:N, valLen:2, val:N]
7
- * [bodyLen:4][body:N]
8
- */
9
- export function encodeHttpRequest(req) {
10
- const requestIdBytes = encoder.encode(req.requestId);
11
- const methodBytes = encoder.encode(req.method);
12
- const pathBytes = encoder.encode(req.path);
13
- const headerEntries = Object.entries(req.headers);
14
- const encodedHeaders = [];
15
- let headersSize = 0;
16
- for (const [key, val] of headerEntries) {
17
- const keyBytes = encoder.encode(key);
18
- const valBytes = encoder.encode(val);
19
- encodedHeaders.push({ key: keyBytes, val: valBytes });
20
- headersSize += 2 + keyBytes.length + 2 + valBytes.length;
21
- }
22
- const totalSize = 2 + requestIdBytes.length +
23
- 1 + methodBytes.length +
24
- 2 + pathBytes.length +
25
- 2 + headersSize +
26
- 4 + req.body.length;
27
- const buf = new Uint8Array(totalSize);
28
- const view = new DataView(buf.buffer);
29
- let offset = 0;
30
- // requestId
31
- view.setUint16(offset, requestIdBytes.length);
32
- offset += 2;
33
- buf.set(requestIdBytes, offset);
34
- offset += requestIdBytes.length;
35
- // method
36
- view.setUint8(offset, methodBytes.length);
37
- offset += 1;
38
- buf.set(methodBytes, offset);
39
- offset += methodBytes.length;
40
- // path
41
- view.setUint16(offset, pathBytes.length);
42
- offset += 2;
43
- buf.set(pathBytes, offset);
44
- offset += pathBytes.length;
45
- // headers
46
- view.setUint16(offset, headerEntries.length);
47
- offset += 2;
48
- for (const { key, val } of encodedHeaders) {
49
- view.setUint16(offset, key.length);
50
- offset += 2;
51
- buf.set(key, offset);
52
- offset += key.length;
53
- view.setUint16(offset, val.length);
54
- offset += 2;
55
- buf.set(val, offset);
56
- offset += val.length;
57
- }
58
- // body
59
- view.setUint32(offset, req.body.length);
60
- offset += 4;
61
- buf.set(req.body, offset);
62
- return buf;
63
- }
64
- /**
65
- * Decode binary data into a SerializedHttpRequest.
66
- */
67
- export function decodeHttpRequest(data) {
68
- const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
69
- let offset = 0;
70
- // requestId
71
- const requestIdLen = view.getUint16(offset);
72
- offset += 2;
73
- const requestId = decoder.decode(data.slice(offset, offset + requestIdLen));
74
- offset += requestIdLen;
75
- // method
76
- const methodLen = view.getUint8(offset);
77
- offset += 1;
78
- const method = decoder.decode(data.slice(offset, offset + methodLen));
79
- offset += methodLen;
80
- // path
81
- const pathLen = view.getUint16(offset);
82
- offset += 2;
83
- const path = decoder.decode(data.slice(offset, offset + pathLen));
84
- offset += pathLen;
85
- // headers
86
- const headerCount = view.getUint16(offset);
87
- offset += 2;
88
- const headers = {};
89
- for (let i = 0; i < headerCount; i++) {
90
- const keyLen = view.getUint16(offset);
91
- offset += 2;
92
- const key = decoder.decode(data.slice(offset, offset + keyLen));
93
- offset += keyLen;
94
- const valLen = view.getUint16(offset);
95
- offset += 2;
96
- const val = decoder.decode(data.slice(offset, offset + valLen));
97
- offset += valLen;
98
- headers[key] = val;
99
- }
100
- // body
101
- const bodyLen = view.getUint32(offset);
102
- offset += 4;
103
- const body = data.slice(offset, offset + bodyLen);
104
- return { requestId, method, path, headers, body };
105
- }
106
- /**
107
- * Encode an HTTP response into binary format:
108
- * [requestIdLen:2][requestId:N][statusCode:2]
109
- * [headerCount:2][for each header: keyLen:2, key:N, valLen:2, val:N]
110
- * [bodyLen:4][body:N]
111
- */
112
- export function encodeHttpResponse(resp) {
113
- if (!resp.body) {
114
- resp = { ...resp, body: new Uint8Array(0) };
115
- }
116
- const requestIdBytes = encoder.encode(resp.requestId);
117
- const headerEntries = Object.entries(resp.headers);
118
- const encodedHeaders = [];
119
- let headersSize = 0;
120
- for (const [key, val] of headerEntries) {
121
- const keyBytes = encoder.encode(key);
122
- const valBytes = encoder.encode(val);
123
- encodedHeaders.push({ key: keyBytes, val: valBytes });
124
- headersSize += 2 + keyBytes.length + 2 + valBytes.length;
125
- }
126
- const totalSize = 2 + requestIdBytes.length +
127
- 2 +
128
- 2 + headersSize +
129
- 4 + resp.body.length;
130
- const buf = new Uint8Array(totalSize);
131
- const view = new DataView(buf.buffer);
132
- let offset = 0;
133
- // requestId
134
- view.setUint16(offset, requestIdBytes.length);
135
- offset += 2;
136
- buf.set(requestIdBytes, offset);
137
- offset += requestIdBytes.length;
138
- // statusCode
139
- view.setUint16(offset, resp.statusCode);
140
- offset += 2;
141
- // headers
142
- view.setUint16(offset, headerEntries.length);
143
- offset += 2;
144
- for (const { key, val } of encodedHeaders) {
145
- view.setUint16(offset, key.length);
146
- offset += 2;
147
- buf.set(key, offset);
148
- offset += key.length;
149
- view.setUint16(offset, val.length);
150
- offset += 2;
151
- buf.set(val, offset);
152
- offset += val.length;
153
- }
154
- // body
155
- view.setUint32(offset, resp.body.length);
156
- offset += 4;
157
- buf.set(resp.body, offset);
158
- return buf;
159
- }
160
- /**
161
- * Decode binary data into a SerializedHttpResponse.
162
- */
163
- export function decodeHttpResponse(data) {
164
- const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
165
- let offset = 0;
166
- // requestId
167
- const requestIdLen = view.getUint16(offset);
168
- offset += 2;
169
- const requestId = decoder.decode(data.slice(offset, offset + requestIdLen));
170
- offset += requestIdLen;
171
- // statusCode
172
- const statusCode = view.getUint16(offset);
173
- offset += 2;
174
- // headers
175
- const headerCount = view.getUint16(offset);
176
- offset += 2;
177
- const headers = {};
178
- for (let i = 0; i < headerCount; i++) {
179
- const keyLen = view.getUint16(offset);
180
- offset += 2;
181
- const key = decoder.decode(data.slice(offset, offset + keyLen));
182
- offset += keyLen;
183
- const valLen = view.getUint16(offset);
184
- offset += 2;
185
- const val = decoder.decode(data.slice(offset, offset + valLen));
186
- offset += valLen;
187
- headers[key] = val;
188
- }
189
- // body
190
- const bodyLen = view.getUint32(offset);
191
- offset += 4;
192
- const body = data.slice(offset, offset + bodyLen);
193
- return { requestId, statusCode, headers, body };
194
- }
195
- /**
196
- * Encode an HTTP response chunk into binary format:
197
- * [requestIdLen:2][requestId:N][done:1][dataLen:4][data:N]
198
- */
199
- export function encodeHttpResponseChunk(chunk) {
200
- const requestIdBytes = encoder.encode(chunk.requestId);
201
- const totalSize = 2 + requestIdBytes.length +
202
- 1 +
203
- 4 + chunk.data.length;
204
- const buf = new Uint8Array(totalSize);
205
- const view = new DataView(buf.buffer);
206
- let offset = 0;
207
- // requestId
208
- view.setUint16(offset, requestIdBytes.length);
209
- offset += 2;
210
- buf.set(requestIdBytes, offset);
211
- offset += requestIdBytes.length;
212
- // done
213
- view.setUint8(offset, chunk.done ? 1 : 0);
214
- offset += 1;
215
- // data
216
- view.setUint32(offset, chunk.data.length);
217
- offset += 4;
218
- buf.set(chunk.data, offset);
219
- return buf;
220
- }
221
- /**
222
- * Decode binary data into a SerializedHttpResponseChunk.
223
- */
224
- export function decodeHttpResponseChunk(data) {
225
- const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
226
- let offset = 0;
227
- // requestId
228
- const requestIdLen = view.getUint16(offset);
229
- offset += 2;
230
- const requestId = decoder.decode(data.slice(offset, offset + requestIdLen));
231
- offset += requestIdLen;
232
- // done
233
- const done = view.getUint8(offset) === 1;
234
- offset += 1;
235
- // data
236
- const dataLen = view.getUint32(offset);
237
- offset += 4;
238
- const chunkData = data.slice(offset, offset + dataLen);
239
- return { requestId, data: chunkData, done };
240
- }
241
- /**
242
- * Encode an HTTP request chunk into binary format:
243
- * [requestIdLen:2][requestId:N][done:1][dataLen:4][data:N]
244
- */
245
- export function encodeHttpRequestChunk(chunk) {
246
- const requestIdBytes = encoder.encode(chunk.requestId);
247
- const totalSize = 2 + requestIdBytes.length +
248
- 1 +
249
- 4 + chunk.data.length;
250
- const buf = new Uint8Array(totalSize);
251
- const view = new DataView(buf.buffer);
252
- let offset = 0;
253
- view.setUint16(offset, requestIdBytes.length);
254
- offset += 2;
255
- buf.set(requestIdBytes, offset);
256
- offset += requestIdBytes.length;
257
- view.setUint8(offset, chunk.done ? 1 : 0);
258
- offset += 1;
259
- view.setUint32(offset, chunk.data.length);
260
- offset += 4;
261
- buf.set(chunk.data, offset);
262
- return buf;
263
- }
264
- /**
265
- * Decode binary data into a SerializedHttpRequestChunk.
266
- */
267
- export function decodeHttpRequestChunk(data) {
268
- const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
269
- let offset = 0;
270
- const requestIdLen = view.getUint16(offset);
271
- offset += 2;
272
- const requestId = decoder.decode(data.slice(offset, offset + requestIdLen));
273
- offset += requestIdLen;
274
- const done = view.getUint8(offset) === 1;
275
- offset += 1;
276
- const dataLen = view.getUint32(offset);
277
- offset += 4;
278
- const chunkData = data.slice(offset, offset + dataLen);
279
- return { requestId, data: chunkData, done };
280
- }
1
+ // Moved to @antseed/protocol; re-exported here for compatibility.
2
+ export * from '@antseed/protocol/request-codec';
281
3
  //# sourceMappingURL=request-codec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-codec.js","sourceRoot":"","sources":["../../src/proxy/request-codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-codec.js","sourceRoot":"","sources":["../../src/proxy/request-codec.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,iCAAiC,CAAC"}
@@ -11,6 +11,8 @@ import { ProxyMux } from './proxy/proxy-mux.js';
11
11
  import type { PeerConnection } from './p2p/connection-manager.js';
12
12
  import type { SerializedHttpRequest } from './types/http.js';
13
13
  import { VerificationMux } from './verification/verification-mux.js';
14
+ import type { UnitBillingContext, UnitBillingModelV1 } from './types/billing.js';
15
+ type ProviderTokenPricing = import('./interfaces/seller-provider.js').ProviderTokenPricingUsdPerMillion;
14
16
  export interface SellerRequestHandlerDeps {
15
17
  identity: Identity;
16
18
  providers: Provider[];
@@ -47,14 +49,18 @@ export declare class SellerRequestHandler {
47
49
  };
48
50
  private _handleModelsRequest;
49
51
  matchProvider(request: SerializedHttpRequest): Provider | undefined;
50
- resolveProviderPricing(provider: Provider, request: SerializedHttpRequest): import('./interfaces/seller-provider.js').ProviderTokenPricingUsdPerMillion;
52
+ resolveProviderPricing(provider: Provider, request: SerializedHttpRequest): ProviderTokenPricing;
53
+ resolveProviderUnitBillingModel(provider: Provider, context: UnitBillingContext): UnitBillingModelV1 | undefined;
51
54
  adjustProviderLoad(providerName: string, delta: number): void;
52
55
  clearMetadataRefreshTimer(): void;
53
- private _isFreePricing;
54
56
  private _isJsonRequest;
55
57
  private _extractRequestedService;
56
58
  private _extractRequestedProvider;
57
- private _estimateMaxRequestCostUsdc;
59
+ private _captureSellerBillingContext;
60
+ private _selectSellerProtocolForService;
61
+ private _estimateUnitRequestCostUsdc;
62
+ private _estimateRequestCostUsdc;
63
+ private _estimateMaxTokenRequestCostUsdc;
58
64
  private _extractMaxOutputTokens;
59
65
  private _parsePositiveInteger;
60
66
  private _executeRequest;
@@ -63,4 +69,5 @@ export declare class SellerRequestHandler {
63
69
  private _scheduleMetadataRefresh;
64
70
  private _sendResponseAuthBestEffort;
65
71
  }
72
+ export {};
66
73
  //# sourceMappingURL=seller-request-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seller-request-handler.d.ts","sourceRoot":"","sources":["../src/seller-request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EACV,QAAQ,EAET,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAuB,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAIrE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvD,cAAc,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;CACtD;AAUD;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IACjE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuD;IAC1F,OAAO,CAAC,qBAAqB,CAA8C;gBAE/D,IAAI,EAAE,wBAAwB;IAI1C,OAAO,CAAC,YAAY;IAoBpB;;;OAGG;IACH,gBAAgB,CACd,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,GAC/B;QAAE,GAAG,EAAE,QAAQ,CAAA;KAAE;IAqfpB,OAAO,CAAC,oBAAoB;IA4C5B,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,QAAQ,GAAG,SAAS;IAsBnE,sBAAsB,CACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,iCAAiC,EAAE,iCAAiC;IAa9E,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAY7D,yBAAyB,IAAI,IAAI;IAUjC,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,2BAA2B;IAqBnC,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,qBAAqB;YAcf,eAAe;IAW7B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,8BAA8B;IAetC,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,2BAA2B;CA8BpC"}
1
+ {"version":3,"file":"seller-request-handler.d.ts","sourceRoot":"","sources":["../src/seller-request-handler.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  import { ANTSEED_ATTEST_PATH } from './interfaces/plugin.js';
2
2
  import { ProxyMux } from './proxy/proxy-mux.js';
3
- import { parseResponseUsage } from './utils/response-usage.js';
4
- import { computeCostUsdc, estimateTokensFromBytes } from './payments/pricing.js';
3
+ import { computeCostUsdc, estimateTokensFromBytes, } from './payments/pricing.js';
5
4
  import { debugLog, debugWarn } from './utils/debug.js';
6
5
  import { CONNECTION_CAPABILITY_RESPONSE_AUTH_V1, PAYMENT_CODE_CHANNEL_EXHAUSTED } from './types/protocol.js';
7
6
  import { createResponseAuthPayload } from './verification/response-auth.js';
8
7
  import { hasJsonContentType, tryParseJsonObject } from './utils/json-codec.js';
8
+ import { captureUnitBillingContext, computeFinalUnitBilling, evaluateUnitBilling, isFreeUnitBillingModel } from './billing/unit.js';
9
+ import { detectRequestServiceApiProtocol, extractRequestBodyFields, selectTargetProtocolForRequest, } from '@antseed/api-adapter';
10
+ import { parseResponseUsage } from './utils/response-usage.js';
11
+ function isZeroTokenPricing(pricing) {
12
+ return pricing.inputUsdPerMillion === 0
13
+ && pricing.outputUsdPerMillion === 0
14
+ && (pricing.cachedInputUsdPerMillion == null || pricing.cachedInputUsdPerMillion === 0);
15
+ }
9
16
  /** Debounce interval for metadata refresh after load changes. */
10
17
  const METADATA_REFRESH_DEBOUNCE_MS = 200;
11
18
  /** Time to wait for a catch-up SpendingAuth before returning 402. */
@@ -164,7 +171,12 @@ export class SellerRequestHandler {
164
171
  return;
165
172
  }
166
173
  const requestPricing = this.resolveProviderPricing(provider, request);
167
- const isFreeService = this._isFreePricing(requestPricing);
174
+ const requestBilling = this._captureSellerBillingContext(provider, request);
175
+ const unitBillingModel = requestBilling
176
+ ? this.resolveProviderUnitBillingModel(provider, requestBilling.context)
177
+ : undefined;
178
+ const isFreeService = isZeroTokenPricing(requestPricing)
179
+ && (!unitBillingModel || isFreeUnitBillingModel(unitBillingModel));
168
180
  // Reject with 402 if no active payment session and channels client is configured.
169
181
  const spm = this._deps.sellerPaymentManager;
170
182
  const spmAuthorized = spm?.hasSession(buyerPeerId) ?? false;
@@ -262,7 +274,29 @@ export class SellerRequestHandler {
262
274
  debugLog(`[SellerHandler] Caught up before 402 for ${buyerPeerId.slice(0, 12)}... (spent=${spent} accepted=${accepted})`);
263
275
  }
264
276
  }
265
- const requestCostEstimate = this._estimateMaxRequestCostUsdc(request, requestPricing);
277
+ let requestCostEstimate = null;
278
+ try {
279
+ requestCostEstimate = requestBilling
280
+ ? this._estimateRequestCostUsdc(request, requestBilling, requestPricing, unitBillingModel)
281
+ : null;
282
+ }
283
+ catch (err) {
284
+ const message = err instanceof Error ? err.message : String(err);
285
+ debugWarn(`[SellerHandler] Rejecting unbillable request: ${message}`);
286
+ mux.sendProxyResponse({
287
+ requestId: request.requestId,
288
+ statusCode: 503,
289
+ headers: { 'content-type': 'application/json' },
290
+ body: new TextEncoder().encode(JSON.stringify({
291
+ error: {
292
+ message: `Seller billing configuration cannot price this request: ${message}`,
293
+ type: 'billing_configuration_error',
294
+ code: 'billing_tier_unmatched',
295
+ },
296
+ })),
297
+ });
298
+ return;
299
+ }
266
300
  const estimatedRequestCost = requestCostEstimate?.cost ?? 0n;
267
301
  const remainingLockedReserve = reserveMax > spent ? reserveMax - spent : 0n;
268
302
  const reserveEstimateOverdraft = this._deps.reserveEstimateOverdraftUsdc;
@@ -375,6 +409,8 @@ export class SellerRequestHandler {
375
409
  let streamAuthStatusCode = 0;
376
410
  let streamAuthHeaders = null;
377
411
  let responseUsage = { inputTokens: 0, outputTokens: 0, freshInputTokens: 0, cachedInputTokens: 0 };
412
+ let billingUsageReport = null;
413
+ let unitCostUsdc = 0n;
378
414
  // Hold the channel open for the whole billable span — provider call,
379
415
  // spend recording, and NeedAuth — so a buyer-requested close can't land
380
416
  // between serving the request and claiming its cost.
@@ -414,7 +450,15 @@ export class SellerRequestHandler {
414
450
  else {
415
451
  debugLog(`[SellerHandler] Provider responded: status=${statusCode} (${Date.now() - startTime}ms, ${responseBody.length}b)`);
416
452
  }
417
- responseUsage = parseResponseUsage(responseBody);
453
+ if (requestBilling && unitBillingModel) {
454
+ const unitBilling = computeFinalUnitBilling(unitBillingModel, requestBilling.context, response, requestBilling.requestFacts);
455
+ responseUsage = unitBilling.tokenUsage;
456
+ billingUsageReport = unitBilling.billingUsage;
457
+ unitCostUsdc = unitBilling.costUsdc;
458
+ }
459
+ else {
460
+ responseUsage = parseResponseUsage(response.body);
461
+ }
418
462
  debugLog(`[SellerHandler] Raw provider usage: in=${responseUsage.inputTokens} fresh=${responseUsage.freshInputTokens} cached=${responseUsage.cachedInputTokens} out=${responseUsage.outputTokens}`);
419
463
  if (!streamedResponseStarted) {
420
464
  mux.sendProxyResponse(response);
@@ -466,6 +510,12 @@ export class SellerRequestHandler {
466
510
  mux.sendProxyResponse(responseForAuth);
467
511
  }
468
512
  }
513
+ if (requestBilling && unitBillingModel && responseForAuth && billingUsageReport === null) {
514
+ const finalBilling = computeFinalUnitBilling(unitBillingModel, requestBilling.context, responseForAuth, requestBilling.requestFacts);
515
+ responseUsage = finalBilling.tokenUsage;
516
+ billingUsageReport = finalBilling.billingUsage;
517
+ unitCostUsdc = finalBilling.costUsdc;
518
+ }
469
519
  // Record metering
470
520
  const latencyMs = Date.now() - startTime;
471
521
  if (this._deps.sessionTracker) {
@@ -486,7 +536,8 @@ export class SellerRequestHandler {
486
536
  // The buyer validates the cost independently and responds with SpendingAuth.
487
537
  if (!isFreeService && spm?.hasSession(buyerPeerId)) {
488
538
  const usage = responseUsage;
489
- const costUsdc = computeCostUsdc(usage.freshInputTokens, usage.outputTokens, requestPricing, usage.cachedInputTokens);
539
+ const tokenCostUsdc = computeCostUsdc(usage.freshInputTokens, usage.outputTokens, requestPricing, usage.cachedInputTokens);
540
+ const costUsdc = tokenCostUsdc + unitCostUsdc;
490
541
  const session = spm.getChannelByPeer(buyerPeerId);
491
542
  if (session) {
492
543
  spm.recordSpend(session.sessionId, costUsdc);
@@ -507,6 +558,7 @@ export class SellerRequestHandler {
507
558
  cachedInputTokens: String(usage.cachedInputTokens),
508
559
  freshInputTokens: String(usage.freshInputTokens),
509
560
  service: this._extractRequestedService(request) ?? undefined,
561
+ billingUsage: billingUsageReport ?? undefined,
510
562
  }, buyerPeerId, 'post-response');
511
563
  }
512
564
  }
@@ -607,6 +659,9 @@ export class SellerRequestHandler {
607
659
  }
608
660
  return provider.pricing.defaults;
609
661
  }
662
+ resolveProviderUnitBillingModel(provider, context) {
663
+ return provider.serviceUnitBillingModels?.[context.service]?.[context.serviceApiProtocol];
664
+ }
610
665
  // -- Load tracking --
611
666
  adjustProviderLoad(providerName, delta) {
612
667
  const nextLoad = Math.max(0, (this._providerLoadCounts.get(providerName) ?? 0) + delta);
@@ -626,20 +681,11 @@ export class SellerRequestHandler {
626
681
  this._providerLoadCounts.clear();
627
682
  }
628
683
  // -- Private helpers --
629
- _isFreePricing(pricing) {
630
- const cachedPrice = pricing.cachedInputUsdPerMillion ?? pricing.inputUsdPerMillion;
631
- return pricing.inputUsdPerMillion === 0
632
- && pricing.outputUsdPerMillion === 0
633
- && cachedPrice === 0;
634
- }
635
684
  _isJsonRequest(request) {
636
685
  return hasJsonContentType(request.headers);
637
686
  }
638
687
  _extractRequestedService(request) {
639
- if (!this._isJsonRequest(request)) {
640
- return null;
641
- }
642
- const body = tryParseJsonObject(request.body);
688
+ const body = extractRequestBodyFields(request.headers, request.body);
643
689
  const service = body?.["service"] ?? body?.["model"];
644
690
  if (typeof service !== "string" || service.trim().length === 0) {
645
691
  return null;
@@ -653,7 +699,56 @@ export class SellerRequestHandler {
653
699
  .filter((value) => value.length > 0);
654
700
  return providers[0] ?? null;
655
701
  }
656
- _estimateMaxRequestCostUsdc(request, pricing) {
702
+ _captureSellerBillingContext(provider, request) {
703
+ const service = this._extractRequestedService(request);
704
+ if (!service)
705
+ return null;
706
+ return captureUnitBillingContext({
707
+ sellerPeerId: this._deps.identity.peerId,
708
+ provider: provider.name,
709
+ service,
710
+ serviceApiProtocol: this._selectSellerProtocolForService(provider, service, request),
711
+ request,
712
+ });
713
+ }
714
+ _selectSellerProtocolForService(provider, service, request) {
715
+ const protocols = provider.serviceApiProtocols?.[service];
716
+ const billingProtocols = Object.keys(provider.serviceUnitBillingModels?.[service] ?? {});
717
+ const candidates = protocols ?? billingProtocols;
718
+ const requestProtocol = detectRequestServiceApiProtocol(request);
719
+ const selected = selectTargetProtocolForRequest(requestProtocol, candidates);
720
+ if (selected)
721
+ return selected.targetProtocol;
722
+ if (protocols?.[0])
723
+ return protocols[0];
724
+ return billingProtocols[0] ?? "openai-chat-completions";
725
+ }
726
+ _estimateUnitRequestCostUsdc(requestBilling, model) {
727
+ const usage = {
728
+ units: {
729
+ output_images: Math.floor(requestBilling.requestUsage.units.output_images ?? 0),
730
+ },
731
+ };
732
+ return {
733
+ cost: evaluateUnitBilling(model, requestBilling.context, usage),
734
+ inputTokens: 0,
735
+ maxOutputTokens: 0,
736
+ };
737
+ }
738
+ _estimateRequestCostUsdc(request, requestBilling, pricing, unitModel) {
739
+ const tokenEstimate = this._estimateMaxTokenRequestCostUsdc(request, pricing);
740
+ const unitEstimate = unitModel
741
+ ? this._estimateUnitRequestCostUsdc(requestBilling, unitModel)
742
+ : null;
743
+ if (!tokenEstimate && !unitEstimate)
744
+ return null;
745
+ return {
746
+ cost: (tokenEstimate?.cost ?? 0n) + (unitEstimate?.cost ?? 0n),
747
+ inputTokens: tokenEstimate?.inputTokens ?? unitEstimate?.inputTokens ?? 0,
748
+ maxOutputTokens: tokenEstimate?.maxOutputTokens ?? unitEstimate?.maxOutputTokens ?? 0,
749
+ };
750
+ }
751
+ _estimateMaxTokenRequestCostUsdc(request, pricing) {
657
752
  if (!this._isJsonRequest(request)) {
658
753
  return null;
659
754
  }