@antseed/node 0.2.105 → 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 (220) 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/seller-payment-manager.d.ts +7 -0
  141. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  142. package/dist/payments/seller-payment-manager.js +27 -2
  143. package/dist/payments/seller-payment-manager.js.map +1 -1
  144. package/dist/payments/usdc-utils.d.ts +1 -8
  145. package/dist/payments/usdc-utils.d.ts.map +1 -1
  146. package/dist/payments/usdc-utils.js +2 -16
  147. package/dist/payments/usdc-utils.js.map +1 -1
  148. package/dist/proxy/proxy-mux.d.ts +1 -69
  149. package/dist/proxy/proxy-mux.d.ts.map +1 -1
  150. package/dist/proxy/proxy-mux.js +2 -346
  151. package/dist/proxy/proxy-mux.js.map +1 -1
  152. package/dist/proxy/request-codec.d.ts +1 -41
  153. package/dist/proxy/request-codec.d.ts.map +1 -1
  154. package/dist/proxy/request-codec.js +2 -280
  155. package/dist/proxy/request-codec.js.map +1 -1
  156. package/dist/seller-request-handler.d.ts +10 -3
  157. package/dist/seller-request-handler.d.ts.map +1 -1
  158. package/dist/seller-request-handler.js +112 -17
  159. package/dist/seller-request-handler.js.map +1 -1
  160. package/dist/types/billing.d.ts +2 -0
  161. package/dist/types/billing.d.ts.map +1 -0
  162. package/dist/types/billing.js +2 -0
  163. package/dist/types/billing.js.map +1 -0
  164. package/dist/types/capability.d.ts +1 -25
  165. package/dist/types/capability.d.ts.map +1 -1
  166. package/dist/types/capability.js +2 -1
  167. package/dist/types/capability.js.map +1 -1
  168. package/dist/types/connection.d.ts +1 -26
  169. package/dist/types/connection.d.ts.map +1 -1
  170. package/dist/types/connection.js +2 -10
  171. package/dist/types/connection.js.map +1 -1
  172. package/dist/types/http.d.ts +1 -39
  173. package/dist/types/http.d.ts.map +1 -1
  174. package/dist/types/http.js +2 -16
  175. package/dist/types/http.js.map +1 -1
  176. package/dist/types/index.d.ts +1 -0
  177. package/dist/types/index.d.ts.map +1 -1
  178. package/dist/types/index.js +1 -0
  179. package/dist/types/index.js.map +1 -1
  180. package/dist/types/peer.d.ts +9 -31
  181. package/dist/types/peer.d.ts.map +1 -1
  182. package/dist/types/peer.js +2 -14
  183. package/dist/types/peer.js.map +1 -1
  184. package/dist/types/protocol.d.ts +1 -306
  185. package/dist/types/protocol.d.ts.map +1 -1
  186. package/dist/types/protocol.js +2 -81
  187. package/dist/types/protocol.js.map +1 -1
  188. package/dist/types/service-api.d.ts +1 -5
  189. package/dist/types/service-api.d.ts.map +1 -1
  190. package/dist/types/service-api.js +2 -12
  191. package/dist/types/service-api.js.map +1 -1
  192. package/dist/utils/debug.d.ts +1 -5
  193. package/dist/utils/debug.d.ts.map +1 -1
  194. package/dist/utils/debug.js +2 -52
  195. package/dist/utils/debug.js.map +1 -1
  196. package/dist/utils/hex.d.ts +1 -2
  197. package/dist/utils/hex.d.ts.map +1 -1
  198. package/dist/utils/hex.js +2 -14
  199. package/dist/utils/hex.js.map +1 -1
  200. package/dist/utils/json-codec.d.ts +1 -9
  201. package/dist/utils/json-codec.d.ts.map +1 -1
  202. package/dist/utils/json-codec.js +2 -51
  203. package/dist/utils/json-codec.js.map +1 -1
  204. package/dist/utils/response-usage.d.ts +1 -9
  205. package/dist/utils/response-usage.d.ts.map +1 -1
  206. package/dist/utils/response-usage.js +2 -39
  207. package/dist/utils/response-usage.js.map +1 -1
  208. package/dist/verification/codec.d.ts +1 -3
  209. package/dist/verification/codec.d.ts.map +1 -1
  210. package/dist/verification/codec.js +2 -37
  211. package/dist/verification/codec.js.map +1 -1
  212. package/dist/verification/response-auth.d.ts +1 -30
  213. package/dist/verification/response-auth.d.ts.map +1 -1
  214. package/dist/verification/response-auth.js +2 -110
  215. package/dist/verification/response-auth.js.map +1 -1
  216. package/dist/verification/verification-mux.d.ts +1 -19
  217. package/dist/verification/verification-mux.d.ts.map +1 -1
  218. package/dist/verification/verification-mux.js +2 -99
  219. package/dist/verification/verification-mux.js.map +1 -1
  220. package/package.json +4 -2
@@ -1,347 +1,3 @@
1
- import { MessageType } from "../types/protocol.js";
2
- import { encodeFrame } from "../p2p/message-protocol.js";
3
- import { encodeHttpRequest, decodeHttpRequest, encodeHttpResponse, decodeHttpResponse, encodeHttpResponseChunk, decodeHttpResponseChunk, encodeHttpRequestChunk, decodeHttpRequestChunk, } from "./request-codec.js";
4
- import { ANTSEED_STREAMING_RESPONSE_HEADER, ANTSEED_UPLOAD_CHUNK_HEADER, ANTSEED_UPLOAD_THRESHOLD_BYTES, ANTSEED_UPLOAD_CHUNK_SIZE, } from "../types/http.js";
5
- import { debugLog } from "../utils/debug.js";
6
- // Codex-style /v1/responses requests can include large repository context.
7
- // Raising the per-request cap to 64 MiB accommodates those requests while the
8
- // separate 256 MiB aggregate pending-upload budget continues to bound seller
9
- // memory exposure across concurrent uploads.
10
- export const DEFAULT_MAX_UPLOAD_BODY_BYTES = 64 * 1024 * 1024; // 64 MiB
11
- const DEFAULT_MAX_TOTAL_PENDING_BYTES = 256 * 1024 * 1024; // 256 MiB
12
- const DEFAULT_UPLOAD_TIMEOUT_MS = 120_000; // 2 min
13
- /**
14
- * Request/response multiplexer over DataChannel.
15
- * Handles both buyer-side and seller-side proxy communication.
16
- */
17
- export class ProxyMux {
18
- _connection;
19
- _messageIdCounter = 0;
20
- // Buyer side: pending requests awaiting responses
21
- _responseHandlers = new Map();
22
- _chunkHandlers = new Map();
23
- // Seller side: handler for incoming proxy requests
24
- _requestHandler = null;
25
- // Seller side: in-progress chunked uploads with size tracking and timeouts
26
- _pendingUploads = new Map();
27
- _totalPendingUploadBytes = 0;
28
- _maxUploadBodyBytes;
29
- _maxTotalPendingUploadBytes;
30
- _uploadTimeoutMs;
31
- constructor(connection, uploadLimits) {
32
- this._connection = connection;
33
- this._maxUploadBodyBytes = uploadLimits?.maxUploadBodyBytes ?? DEFAULT_MAX_UPLOAD_BODY_BYTES;
34
- this._maxTotalPendingUploadBytes = uploadLimits?.maxTotalPendingUploadBytes ?? DEFAULT_MAX_TOTAL_PENDING_BYTES;
35
- this._uploadTimeoutMs = uploadLimits?.uploadTimeoutMs ?? DEFAULT_UPLOAD_TIMEOUT_MS;
36
- }
37
- /** Buyer side: send a proxy request and register response/chunk handlers. */
38
- sendProxyRequest(request, onResponse, onChunk) {
39
- const useChunkedUpload = request.body.length > ANTSEED_UPLOAD_THRESHOLD_BYTES;
40
- debugLog(`[ProxyMux] send request reqId=${request.requestId.slice(0, 8)} bytes=${request.body.length} chunked=${useChunkedUpload ? "true" : "false"}`);
41
- this._responseHandlers.set(request.requestId, onResponse);
42
- this._chunkHandlers.set(request.requestId, onChunk);
43
- if (useChunkedUpload) {
44
- this._sendChunkedRequest(request);
45
- }
46
- else {
47
- const payload = encodeHttpRequest(request);
48
- this._connection.send(encodeFrame({
49
- type: MessageType.HttpRequest,
50
- messageId: this._nextMessageId(),
51
- payload,
52
- }));
53
- }
54
- }
55
- /** Buyer side: split a large request body into HttpRequest + HttpRequestChunk* + HttpRequestEnd. */
56
- _sendChunkedRequest(request) {
57
- // Header frame: metadata only, empty body, upload marker
58
- const headerRequest = {
59
- ...request,
60
- headers: { ...request.headers, [ANTSEED_UPLOAD_CHUNK_HEADER]: 'chunked' },
61
- body: new Uint8Array(0),
62
- };
63
- this._connection.send(encodeFrame({
64
- type: MessageType.HttpRequest,
65
- messageId: this._nextMessageId(),
66
- payload: encodeHttpRequest(headerRequest),
67
- }));
68
- // Stream body in ANTSEED_UPLOAD_CHUNK_SIZE slices
69
- const body = request.body;
70
- let offset = 0;
71
- while (offset < body.length) {
72
- const end = Math.min(offset + ANTSEED_UPLOAD_CHUNK_SIZE, body.length);
73
- const isLast = end >= body.length;
74
- const payload = encodeHttpRequestChunk({
75
- requestId: request.requestId,
76
- data: body.slice(offset, end),
77
- done: isLast,
78
- });
79
- this._connection.send(encodeFrame({
80
- type: isLast ? MessageType.HttpRequestEnd : MessageType.HttpRequestChunk,
81
- messageId: this._nextMessageId(),
82
- payload,
83
- }));
84
- offset = end;
85
- }
86
- }
87
- /** Buyer side: cancel handlers for an in-flight request. */
88
- cancelProxyRequest(requestId) {
89
- debugLog(`[ProxyMux] cancel request reqId=${requestId.slice(0, 8)}`);
90
- this._responseHandlers.delete(requestId);
91
- this._chunkHandlers.delete(requestId);
92
- }
93
- /** Seller side: register a handler for incoming proxy requests. */
94
- onProxyRequest(handler) {
95
- this._requestHandler = handler;
96
- }
97
- /** Seller side: send a complete proxy response. */
98
- sendProxyResponse(response) {
99
- const payload = encodeHttpResponse(response);
100
- const frame = encodeFrame({
101
- type: MessageType.HttpResponse,
102
- messageId: this._nextMessageId(),
103
- payload,
104
- });
105
- this._safeSendFrame(frame, 'response', response.requestId);
106
- }
107
- /** Seller side: send a proxy response chunk. */
108
- sendProxyChunk(chunk) {
109
- const type = chunk.done
110
- ? MessageType.HttpResponseEnd
111
- : MessageType.HttpResponseChunk;
112
- const payload = encodeHttpResponseChunk(chunk);
113
- const frame = encodeFrame({
114
- type,
115
- messageId: this._nextMessageId(),
116
- payload,
117
- });
118
- this._safeSendFrame(frame, chunk.done ? 'response-end' : 'response-chunk', chunk.requestId);
119
- }
120
- /** Route an incoming frame to the correct handler based on message type. */
121
- async handleFrame(frame) {
122
- try {
123
- debugLog(`[ProxyMux] handleFrame type=${frame.type} (0x${frame.type.toString(16)}) payloadLen=${frame.payload?.length ?? 0}`);
124
- switch (frame.type) {
125
- case MessageType.HttpRequest: {
126
- // Seller side: incoming request from buyer
127
- const request = decodeHttpRequest(frame.payload);
128
- debugLog(`[ProxyMux] recv request reqId=${request.requestId.slice(0, 8)} chunked=${request.headers[ANTSEED_UPLOAD_CHUNK_HEADER] === 'chunked' ? "true" : "false"} bodyBytes=${request.body?.length ?? 0} bodyType=${typeof request.body}`);
129
- if (request.headers[ANTSEED_UPLOAD_CHUNK_HEADER] === 'chunked') {
130
- // Body will arrive via HttpRequestChunk/HttpRequestEnd — start buffering.
131
- // If a duplicate header frame arrives for the same requestId, evict the
132
- // existing entry first to prevent timer leaks and accounting drift.
133
- const existing = this._pendingUploads.get(request.requestId);
134
- if (existing) {
135
- clearTimeout(existing.timer);
136
- this._totalPendingUploadBytes -= existing.byteCount;
137
- for (const c of existing.chunks)
138
- c.fill(0);
139
- }
140
- const timer = setTimeout(() => this._abortUpload(request.requestId, 408, 'Upload timed out'), this._uploadTimeoutMs);
141
- this._pendingUploads.set(request.requestId, {
142
- headerReq: request,
143
- chunks: [],
144
- byteCount: 0,
145
- timer,
146
- });
147
- }
148
- else if (this._requestHandler) {
149
- await this._requestHandler(request);
150
- }
151
- break;
152
- }
153
- case MessageType.HttpRequestChunk: {
154
- // Seller side: non-final body chunk of a chunked upload
155
- const chunk = decodeHttpRequestChunk(frame.payload);
156
- const entry = this._pendingUploads.get(chunk.requestId);
157
- if (!entry || chunk.data.length === 0)
158
- break;
159
- debugLog(`[ProxyMux] recv request chunk reqId=${chunk.requestId.slice(0, 8)} bytes=${chunk.data.length} pending=${entry.byteCount + chunk.data.length}`);
160
- // Per-request size guard
161
- if (entry.byteCount + chunk.data.length > this._maxUploadBodyBytes) {
162
- this._abortUpload(chunk.requestId, 413, 'Upload body exceeds per-request limit');
163
- break;
164
- }
165
- // Global budget guard
166
- if (this._totalPendingUploadBytes + chunk.data.length > this._maxTotalPendingUploadBytes) {
167
- this._abortUpload(chunk.requestId, 413, 'Server upload capacity exceeded');
168
- break;
169
- }
170
- entry.chunks.push(chunk.data);
171
- entry.byteCount += chunk.data.length;
172
- this._totalPendingUploadBytes += chunk.data.length;
173
- break;
174
- }
175
- case MessageType.HttpRequestEnd: {
176
- // Seller side: final body chunk — reassemble, zero intermediates, dispatch
177
- const chunk = decodeHttpRequestChunk(frame.payload);
178
- const entry = this._pendingUploads.get(chunk.requestId);
179
- if (!entry)
180
- break;
181
- debugLog(`[ProxyMux] recv request end reqId=${chunk.requestId.slice(0, 8)} finalBytes=${chunk.data.length} pendingBefore=${entry.byteCount}`);
182
- // Check final chunk against limits
183
- const finalLen = chunk.data.length;
184
- if (finalLen > 0) {
185
- if (entry.byteCount + finalLen > this._maxUploadBodyBytes) {
186
- this._abortUpload(chunk.requestId, 413, 'Upload body exceeds per-request limit');
187
- break;
188
- }
189
- if (this._totalPendingUploadBytes + finalLen > this._maxTotalPendingUploadBytes) {
190
- this._abortUpload(chunk.requestId, 413, 'Server upload capacity exceeded');
191
- break;
192
- }
193
- entry.chunks.push(chunk.data);
194
- entry.byteCount += finalLen;
195
- this._totalPendingUploadBytes += finalLen;
196
- }
197
- // Clean up tracking state
198
- clearTimeout(entry.timer);
199
- this._pendingUploads.delete(chunk.requestId);
200
- this._totalPendingUploadBytes -= entry.byteCount;
201
- if (this._requestHandler) {
202
- const body = _concatChunks(entry.chunks);
203
- // Zero intermediates — reduces the window for sensitive data in RAM
204
- for (const c of entry.chunks)
205
- c.fill(0);
206
- entry.chunks.length = 0;
207
- const { [ANTSEED_UPLOAD_CHUNK_HEADER]: _marker, ...cleanHeaders } = entry.headerReq.headers;
208
- await this._requestHandler({ ...entry.headerReq, headers: cleanHeaders, body });
209
- }
210
- break;
211
- }
212
- case MessageType.HttpResponse: {
213
- // Buyer side: response from seller (start frame for streams).
214
- const response = decodeHttpResponse(frame.payload);
215
- debugLog(`[ProxyMux] recv response reqId=${response.requestId.slice(0, 8)} status=${response.statusCode} bytes=${response.body?.length ?? 0} streamingStart=${response.headers[ANTSEED_STREAMING_RESPONSE_HEADER] === '1' ? "true" : "false"}`);
216
- const handler = this._responseHandlers.get(response.requestId);
217
- if (handler) {
218
- const streamingStart = response.headers[ANTSEED_STREAMING_RESPONSE_HEADER] === '1';
219
- if (!streamingStart) {
220
- this._responseHandlers.delete(response.requestId);
221
- this._chunkHandlers.delete(response.requestId);
222
- }
223
- handler(response, { streamingStart });
224
- }
225
- break;
226
- }
227
- case MessageType.HttpResponseChunk: {
228
- // Buyer side: streaming chunk from seller
229
- const chunk = decodeHttpResponseChunk(frame.payload);
230
- debugLog(`[ProxyMux] recv response chunk reqId=${chunk.requestId.slice(0, 8)} bytes=${chunk.data.length} done=${chunk.done ? "true" : "false"}`);
231
- const chunkHandler = this._chunkHandlers.get(chunk.requestId);
232
- if (chunkHandler) {
233
- chunkHandler(chunk);
234
- }
235
- break;
236
- }
237
- case MessageType.HttpResponseEnd: {
238
- // Buyer side: final chunk (done=true) from seller
239
- const endChunk = decodeHttpResponseChunk(frame.payload);
240
- debugLog(`[ProxyMux] recv response end reqId=${endChunk.requestId.slice(0, 8)} bytes=${endChunk.data.length}`);
241
- const endHandler = this._chunkHandlers.get(endChunk.requestId);
242
- if (endHandler) {
243
- endHandler(endChunk);
244
- this._responseHandlers.delete(endChunk.requestId);
245
- this._chunkHandlers.delete(endChunk.requestId);
246
- }
247
- break;
248
- }
249
- case MessageType.HttpResponseError: {
250
- // Buyer side: error response from seller
251
- const errorResponse = decodeHttpResponse(frame.payload);
252
- const errorHandler = this._responseHandlers.get(errorResponse.requestId);
253
- if (errorHandler) {
254
- this._responseHandlers.delete(errorResponse.requestId);
255
- this._chunkHandlers.delete(errorResponse.requestId);
256
- errorHandler(errorResponse, { streamingStart: false });
257
- }
258
- break;
259
- }
260
- default:
261
- // Unknown message type — ignore
262
- break;
263
- }
264
- }
265
- catch (err) {
266
- const message = err instanceof Error ? err.message : String(err);
267
- throw new Error(`Failed to handle proxy frame type ${frame.type}: ${message}`);
268
- }
269
- }
270
- /** Number of in-flight requests (buyer side). */
271
- activeRequestCount() {
272
- return this._responseHandlers.size;
273
- }
274
- /** Number of in-progress chunked uploads buffered on the seller side. */
275
- pendingUploadCount() {
276
- return this._pendingUploads.size;
277
- }
278
- /** Total bytes currently buffered across all in-progress uploads. */
279
- pendingUploadBytes() {
280
- return this._totalPendingUploadBytes;
281
- }
282
- /**
283
- * Seller side: abort and discard all buffered chunked-upload state.
284
- * Call on connection close or session end to prevent memory leaks.
285
- * Zeros all buffered chunk data before discarding.
286
- */
287
- abortPendingUploads() {
288
- for (const entry of this._pendingUploads.values()) {
289
- clearTimeout(entry.timer);
290
- for (const c of entry.chunks)
291
- c.fill(0);
292
- }
293
- this._pendingUploads.clear();
294
- this._totalPendingUploadBytes = 0;
295
- }
296
- /**
297
- * Abort a single in-progress upload, zero its buffers, and send an error
298
- * response to the buyer.
299
- */
300
- _abortUpload(requestId, statusCode, reason) {
301
- const entry = this._pendingUploads.get(requestId);
302
- if (!entry)
303
- return;
304
- clearTimeout(entry.timer);
305
- this._totalPendingUploadBytes -= entry.byteCount;
306
- for (const c of entry.chunks)
307
- c.fill(0);
308
- this._pendingUploads.delete(requestId);
309
- this.sendProxyResponse({
310
- requestId,
311
- statusCode,
312
- headers: {
313
- 'content-type': 'text/plain',
314
- ...(statusCode === 413 ? { 'x-antseed-max-upload-body-bytes': String(this._maxUploadBodyBytes) } : {}),
315
- },
316
- body: new TextEncoder().encode(reason),
317
- });
318
- }
319
- _safeSendFrame(frame, kind, requestId) {
320
- try {
321
- this._connection.send(frame);
322
- }
323
- catch (err) {
324
- debugLog(`[ProxyMux] drop ${kind} reqId=${requestId.slice(0, 8)} because connection closed: ${err instanceof Error ? err.message : err}`);
325
- }
326
- }
327
- _nextMessageId() {
328
- const id = this._messageIdCounter;
329
- this._messageIdCounter = (this._messageIdCounter + 1) & 0xFFFFFFFF;
330
- return id;
331
- }
332
- }
333
- function _concatChunks(chunks) {
334
- if (chunks.length === 0)
335
- return new Uint8Array(0);
336
- if (chunks.length === 1)
337
- return chunks[0].slice();
338
- const total = chunks.reduce((n, c) => n + c.length, 0);
339
- const out = new Uint8Array(total);
340
- let offset = 0;
341
- for (const c of chunks) {
342
- out.set(c, offset);
343
- offset += c.length;
344
- }
345
- return out;
346
- }
1
+ // Moved to @antseed/buyer-core; re-exported for compatibility.
2
+ export * from '@antseed/buyer-core/proxy-mux';
347
3
  //# sourceMappingURL=proxy-mux.js.map
@@ -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"}