@antseed/cli 0.1.195 → 0.1.197

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 (117) 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/cli/commands/seller/start.d.ts.map +1 -1
  8. package/dist/cli/commands/seller/start.js +5 -3
  9. package/dist/cli/commands/seller/start.js.map +1 -1
  10. package/dist/config/types.d.ts +2 -0
  11. package/dist/config/types.d.ts.map +1 -1
  12. package/dist/gateway/accounting.d.ts +118 -6
  13. package/dist/gateway/accounting.d.ts.map +1 -1
  14. package/dist/gateway/accounting.js +319 -21
  15. package/dist/gateway/accounting.js.map +1 -1
  16. package/dist/gateway/console-api/handlers/favorites.d.ts +9 -0
  17. package/dist/gateway/console-api/handlers/favorites.d.ts.map +1 -0
  18. package/dist/gateway/console-api/handlers/favorites.js +44 -0
  19. package/dist/gateway/console-api/handlers/favorites.js.map +1 -0
  20. package/dist/gateway/console-api/handlers/favorites.test.d.ts +2 -0
  21. package/dist/gateway/console-api/handlers/favorites.test.d.ts.map +1 -0
  22. package/dist/gateway/console-api/handlers/favorites.test.js +41 -0
  23. package/dist/gateway/console-api/handlers/favorites.test.js.map +1 -0
  24. package/dist/gateway/console-api/handlers/index.d.ts.map +1 -1
  25. package/dist/gateway/console-api/handlers/index.js +2 -0
  26. package/dist/gateway/console-api/handlers/index.js.map +1 -1
  27. package/dist/gateway/console-api/handlers/network-mapping.d.ts +7 -1
  28. package/dist/gateway/console-api/handlers/network-mapping.d.ts.map +1 -1
  29. package/dist/gateway/console-api/handlers/network-mapping.js +44 -0
  30. package/dist/gateway/console-api/handlers/network-mapping.js.map +1 -1
  31. package/dist/gateway/console-api/handlers/network.d.ts.map +1 -1
  32. package/dist/gateway/console-api/handlers/network.js +3 -1
  33. package/dist/gateway/console-api/handlers/network.js.map +1 -1
  34. package/dist/gateway/console-api/handlers/network.test.js +39 -4
  35. package/dist/gateway/console-api/handlers/network.test.js.map +1 -1
  36. package/dist/gateway/console-api/handlers/usage.d.ts.map +1 -1
  37. package/dist/gateway/console-api/handlers/usage.js +2 -1
  38. package/dist/gateway/console-api/handlers/usage.js.map +1 -1
  39. package/dist/gateway/console-api/types.d.ts +69 -1
  40. package/dist/gateway/console-api/types.d.ts.map +1 -1
  41. package/dist/gateway/console-api/types.js.map +1 -1
  42. package/dist/gateway/gateway.test.js +829 -3
  43. package/dist/gateway/gateway.test.js.map +1 -1
  44. package/dist/gateway/request-errors.test.js +30 -0
  45. package/dist/gateway/request-errors.test.js.map +1 -1
  46. package/dist/gateway/routing-through-gateway.test.js +86 -4
  47. package/dist/gateway/routing-through-gateway.test.js.map +1 -1
  48. package/dist/gateway/runtime.d.ts.map +1 -1
  49. package/dist/gateway/runtime.js +4 -0
  50. package/dist/gateway/runtime.js.map +1 -1
  51. package/dist/gateway/server.d.ts +20 -0
  52. package/dist/gateway/server.d.ts.map +1 -1
  53. package/dist/gateway/server.js +178 -25
  54. package/dist/gateway/server.js.map +1 -1
  55. package/dist/gateway/services/network.d.ts +6 -1
  56. package/dist/gateway/services/network.d.ts.map +1 -1
  57. package/dist/gateway/services/network.js +12 -1
  58. package/dist/gateway/services/network.js.map +1 -1
  59. package/dist/gateway/services/usage.d.ts +2 -0
  60. package/dist/gateway/services/usage.d.ts.map +1 -1
  61. package/dist/gateway/services/usage.js +18 -4
  62. package/dist/gateway/services/usage.js.map +1 -1
  63. package/dist/gateway/spend-feed.d.ts +4 -1
  64. package/dist/gateway/spend-feed.d.ts.map +1 -1
  65. package/dist/gateway/spend-feed.js +7 -0
  66. package/dist/gateway/spend-feed.js.map +1 -1
  67. package/dist/gateway/store-data.test.js +1 -1
  68. package/dist/gateway/store-data.test.js.map +1 -1
  69. package/dist/gateway/store-migrations.d.ts.map +1 -1
  70. package/dist/gateway/store-migrations.js +35 -0
  71. package/dist/gateway/store-migrations.js.map +1 -1
  72. package/dist/gateway/store.d.ts +59 -1
  73. package/dist/gateway/store.d.ts.map +1 -1
  74. package/dist/gateway/store.js +124 -19
  75. package/dist/gateway/store.js.map +1 -1
  76. package/dist/gateway/video-jobs.d.ts +12 -0
  77. package/dist/gateway/video-jobs.d.ts.map +1 -0
  78. package/dist/gateway/video-jobs.js +24 -0
  79. package/dist/gateway/video-jobs.js.map +1 -0
  80. package/dist/proxy/buyer-proxy.d.ts +15 -0
  81. package/dist/proxy/buyer-proxy.d.ts.map +1 -1
  82. package/dist/proxy/buyer-proxy.js +111 -13
  83. package/dist/proxy/buyer-proxy.js.map +1 -1
  84. package/dist/proxy/buyer-proxy.test.js +174 -1
  85. package/dist/proxy/buyer-proxy.test.js.map +1 -1
  86. package/dist/proxy/request-utils.d.ts +4 -0
  87. package/dist/proxy/request-utils.d.ts.map +1 -1
  88. package/dist/proxy/request-utils.js +4 -0
  89. package/dist/proxy/request-utils.js.map +1 -1
  90. package/dist/proxy/resource-routes.d.ts +2 -0
  91. package/dist/proxy/resource-routes.d.ts.map +1 -1
  92. package/dist/proxy/resource-routes.js +4 -0
  93. package/dist/proxy/resource-routes.js.map +1 -1
  94. package/dist/proxy/routing-parameters.test.js +10 -0
  95. package/dist/proxy/routing-parameters.test.js.map +1 -1
  96. package/dist/proxy/routing.d.ts.map +1 -1
  97. package/dist/proxy/routing.js +2 -0
  98. package/dist/proxy/routing.js.map +1 -1
  99. package/dist/proxy/spend-attribution.d.ts +17 -1
  100. package/dist/proxy/spend-attribution.d.ts.map +1 -1
  101. package/dist/proxy/spend-attribution.js +45 -10
  102. package/dist/proxy/spend-attribution.js.map +1 -1
  103. package/dist/proxy/spend-attribution.test.d.ts +2 -0
  104. package/dist/proxy/spend-attribution.test.d.ts.map +1 -0
  105. package/dist/proxy/spend-attribution.test.js +63 -0
  106. package/dist/proxy/spend-attribution.test.js.map +1 -0
  107. package/dist/proxy/telemetry.d.ts +14 -0
  108. package/dist/proxy/telemetry.d.ts.map +1 -1
  109. package/dist/proxy/telemetry.js +23 -3
  110. package/dist/proxy/telemetry.js.map +1 -1
  111. package/dist/proxy/video-download.d.ts +18 -1
  112. package/dist/proxy/video-download.d.ts.map +1 -1
  113. package/dist/proxy/video-download.js +100 -12
  114. package/dist/proxy/video-download.js.map +1 -1
  115. package/dist/proxy/video-download.test.js +106 -13
  116. package/dist/proxy/video-download.test.js.map +1 -1
  117. package/package.json +8 -8
@@ -23,6 +23,20 @@ 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 router headers: only the buyer says which router
37
+ * ranked a request, so a seller can neither change nor invent that.
38
+ */
39
+ export declare function withoutRouterHeaders(headers: Record<string, string>): Record<string, string>;
26
40
  export declare function attachAntseedTelemetryHeaders(upstreamHeaders: Record<string, string>, selectedPeer: PeerInfo, telemetry: ResponseTelemetry, requestId: string, latencyMs: number): Record<string, string>;
27
41
  /**
28
42
  * 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;AAOpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAA;IACxB,4DAA4D;IAC5D,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;CAC9B,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,iBAAiB,CAAA;IACxB,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC,CAAA;AA+OD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,QAAQ,GACrB,iBAAiB,CA6CnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;AAC/D,eAAO,MAAM,qBAAqB,6BAA6B,CAAA;AAC/D,eAAO,MAAM,kBAAkB,0BAA0B,CAAA;AAIzD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5F;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,EAAE,QAAQ,EACtB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBxB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,EAAE,QAAQ,EACtB,OAAO,EAAE,qBAAqB,EAC9B,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB"}
@@ -237,8 +237,25 @@ export function computeResponseTelemetry(request, responseHeaders, responseBody,
237
237
  estimatedCostUsd,
238
238
  };
239
239
  }
240
+ /**
241
+ * Response headers of a request a routing service ranked: the router's peer
242
+ * and service, and which of its recommendations (1 = its first pick) was tried
243
+ * last: it served the request, unless the response is the last refusal. A
244
+ * failed ranking carries the router's peer and service only.
245
+ */
246
+ export const ROUTER_PEER_ID_HEADER = 'x-antseed-router-peer-id';
247
+ export const ROUTER_SERVICE_HEADER = 'x-antseed-router-service';
248
+ export const ROUTER_RANK_HEADER = 'x-antseed-router-rank';
249
+ const ROUTER_HEADERS = new Set([ROUTER_PEER_ID_HEADER, ROUTER_SERVICE_HEADER, ROUTER_RANK_HEADER]);
250
+ /**
251
+ * A seller's headers without router headers: only the buyer says which router
252
+ * ranked a request, so a seller can neither change nor invent that.
253
+ */
254
+ export function withoutRouterHeaders(headers) {
255
+ return Object.fromEntries(Object.entries(headers).filter(([name]) => !ROUTER_HEADERS.has(name.toLowerCase())));
256
+ }
240
257
  export function attachAntseedTelemetryHeaders(upstreamHeaders, selectedPeer, telemetry, requestId, latencyMs) {
241
- const headers = { ...upstreamHeaders };
258
+ const headers = withoutRouterHeaders(upstreamHeaders);
242
259
  headers['x-antseed-request-id'] = requestId;
243
260
  headers['x-antseed-latency-ms'] = String(Math.max(0, Math.floor(latencyMs)));
244
261
  setPeerIdentityHeaders(headers, selectedPeer);
@@ -265,12 +282,15 @@ export function attachAntseedTelemetryHeaders(upstreamHeaders, selectedPeer, tel
265
282
  * a free seller by them), and the time from sending to the seller's first frame.
266
283
  */
267
284
  export function attachStreamingAntseedHeaders(upstreamHeaders, selectedPeer, request, firstTokenMs) {
268
- const headers = { ...upstreamHeaders };
285
+ const headers = withoutRouterHeaders(upstreamHeaders);
269
286
  headers['x-antseed-request-id'] = request.requestId;
270
287
  if (firstTokenMs !== undefined)
271
288
  headers['x-antseed-first-token-ms'] = String(Math.max(0, Math.floor(firstTokenMs)));
272
289
  setPeerIdentityHeaders(headers, selectedPeer);
273
- setPricingHeaders(headers, resolvePeerPricing(selectedPeer, pickProviderForPeer(selectedPeer, request), extractRequestedService(request)));
290
+ const service = extractRequestedService(request);
291
+ if (service)
292
+ headers['x-antseed-service'] = service;
293
+ setPricingHeaders(headers, resolvePeerPricing(selectedPeer, pickProviderForPeer(selectedPeer, request), service));
274
294
  return headers;
275
295
  }
276
296
  //# sourceMappingURL=telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/proxy/telemetry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AAoCjC,MAAM,WAAW,GAAgB;IAC/B,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,iBAAiB,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,CAAC;CACf,CAAA;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,0EAA0E;IAC1E,4EAA4E;IAC5E,yDAAyD;IACzD,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAEhD,MAAM,KAAK,GAAG,KAAgC,CAAA;IAC9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAClG,IAAI,KAAK,GAAG,gBAAgB,CAC1B,KAAK,CAAC,WAAW;WACd,KAAK,CAAC,YAAY;WAClB,KAAK,CAAC,YAAY;WAClB,KAAK,CAAC,aAAa;WACnB,KAAK,CAAC,iBAAiB;WACvB,KAAK,CAAC,kBAAkB;WACxB,KAAK,CAAC,2BAA2B;WACjC,KAAK,CAAC,uBAAuB,CACjC,CAAA;IACD,IAAI,MAAM,GAAG,gBAAgB,CAC3B,KAAK,CAAC,YAAY;WACf,KAAK,CAAC,aAAa;WACnB,KAAK,CAAC,gBAAgB;WACtB,KAAK,CAAC,iBAAiB;WACvB,KAAK,CAAC,kBAAkB;WACxB,KAAK,CAAC,sBAAsB,CAChC,CAAA;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,0DAA0D;IAC1D,IAAI,SAAS,CAAC,WAAW,GAAG,CAAC;QAAE,KAAK,GAAG,SAAS,CAAC,WAAW,CAAA;IAC5D,IAAI,SAAS,CAAC,YAAY,GAAG,CAAC;QAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAA;IAE/D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;aAAM,IAAI,MAAM,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACvD,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;QACxB,CAAC;aAAM,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACxD,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;QACxB,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;IACtE,OAAO;QACL,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC;QACxD,iBAAiB;QACjB,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,KAAK,GAAG,MAAM;KAC5B,CAAA;AACH,CAAC;AAED,kGAAkG;AAClG,MAAM,wBAAwB,GAAG,CAAC,CAAA;AAElC,SAAS,uBAAuB,CAAC,UAAkB,EAAE,WAAmB;IACtE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAA;IAC/F,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAA;IACjG,OAAO;QACL,WAAW;QACX,gBAAgB,EAAE,WAAW;QAC7B,iBAAiB,EAAE,CAAC;QACpB,YAAY;QACZ,WAAW,EAAE,WAAW,GAAG,YAAY;QACvC,MAAM,EAAE,WAAW;KACpB,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAgB;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,iBAAiB,GAAG,CAAC,CAAA;IAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAQ;QAE1C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,QAAQ;YAAE,SAAQ;QAE1D,IAAI,MAA+B,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAA;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAClD,IAAI,WAAW,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAChC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;YAC5D,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;YAC/D,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;YAC5D,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;QAChF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC9B,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAmC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACtI,IAAI,YAAY,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACjC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;YAC7D,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;YAChE,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;YAC7D,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAED,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;IACvD,OAAO;QACL,WAAW;QACX,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;QACnD,iBAAiB,EAAE,MAAM;QACzB,YAAY;QACZ,WAAW;KACZ,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAgB;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAA4B,CAAA;QAC1E,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAA;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC9B,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAE,OAAmC,CAAC,KAAK,CAAC,CAAA;YAC3E,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC5B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,gBAAgB,CAAE,MAAkC,CAAC,KAAK,CAAC,CAAA;YAC1E,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAA;IACpB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAA+B,EAC/B,IAAY,EACZ,KAAc;IAEd,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA+B,EAAE,YAAsB;IACrF,OAAO,CAAC,mBAAmB,CAAC,GAAG,YAAY,CAAC,MAAM,CAAA;IAClD,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,CAAC,wBAAwB,CAAC,GAAG,YAAY,CAAC,aAAa,CAAA;IAChE,CAAC;IACD,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,0BAA0B,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxE,CAAC;AACH,CAAC;AAQD,SAAS,iBAAiB,CAAC,OAA+B,EAAE,OAAwB;IAClF,qBAAqB,CAAC,OAAO,EAAE,iCAAiC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC7F,qBAAqB,CAAC,OAAO,EAAE,kCAAkC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC/F,qBAAqB,CAAC,OAAO,EAAE,wCAAwC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAC5G,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc,EAAE,QAAgB,EAAE,OAAsB;IAClF,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAChF,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO;gBACL,kBAAkB,EAAE,oBAAoB,CAAC,cAAc,CAAC,kBAAkB,CAAC;gBAC3E,mBAAmB,EAAE,oBAAoB,CAAC,cAAc,CAAC,mBAAmB,CAAC;gBAC7E,wBAAwB,EAAE,oBAAoB,CAAC,cAAc,CAAC,wBAAwB,CAAC;aACxF,CAAA;QACH,CAAC;QACD,OAAO;YACL,kBAAkB,EAAE,oBAAoB,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACrF,mBAAmB,EAAE,oBAAoB,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACvF,wBAAwB,EAAE,oBAAoB,CAAC,eAAe,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SAClG,CAAA;IACH,CAAC;IAED,OAAO;QACL,kBAAkB,EAAE,oBAAoB,CAAC,IAAI,CAAC,yBAAyB,CAAC;QACxE,mBAAmB,EAAE,oBAAoB,CAAC,IAAI,CAAC,0BAA0B,CAAC;QAC1E,wBAAwB,EAAE,oBAAoB,CAAC,IAAI,CAAC,+BAA+B,CAAC;KACrF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAA8B,EAC9B,eAAuC,EACvC,YAAwB,EACxB,YAAsB;IAEtB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnE,MAAM,WAAW,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IAEzE,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC7D,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC;QAC7B,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;IAEhC,IAAI,KAAwB,CAAA;IAC5B,IAAI,aAAa,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,GAAG,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC/C,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;IAC3E,CAAC;IAED,IAAI,gBAAgB,GAAkB,IAAI,CAAA;IAC1C,IACE,OAAO,CAAC,kBAAkB,KAAK,IAAI;QACnC,OAAO,CAAC,mBAAmB,KAAK,IAAI;QACpC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAC3C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC5C,CAAC;QACD,0EAA0E;QAC1E,2CAA2C;QAC3C,MAAM,mBAAmB,GAAG,OAAO,CAAC,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,CAAA;QAC1F,gBAAgB,GAAG,CACjB,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,kBAAkB;cACjD,KAAK,CAAC,iBAAiB,GAAG,mBAAmB;cAC7C,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,mBAAmB,CACnD,GAAG,SAAS,CAAA;IACf,CAAC;IAED,OAAO;QACL,KAAK;QACL,OAAO,EAAE;YACP,QAAQ;YACR,OAAO;YACP,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;SAC3D;QACD,gBAAgB;KACjB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,eAAuC,EACvC,YAAsB,EACtB,SAA4B,EAC5B,SAAiB,EACjB,SAAiB;IAEjB,MAAM,OAAO,GAA2B,EAAE,GAAG,eAAe,EAAE,CAAA;IAC9D,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAA;IAC3C,OAAO,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5E,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAC7C,qBAAqB,CAAC,OAAO,EAAE,2BAA2B,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;IACzF,qBAAqB,CAAC,OAAO,EAAE,6BAA6B,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;IACvF,qBAAqB,CAAC,OAAO,EAAE,gCAAgC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;IAC7F,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAA;IAC1D,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAA;IAC1D,CAAC;IACD,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC7C,OAAO,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1D,OAAO,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACvE,OAAO,CAAC,+BAA+B,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpF,OAAO,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACzE,OAAO,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACvE,IAAI,SAAS,CAAC,gBAAgB,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvF,OAAO,CAAC,8BAA8B,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,eAAuC,EACvC,YAAsB,EACtB,OAA8B,EAC9B,YAAqB;IAErB,MAAM,OAAO,GAA2B,EAAE,GAAG,eAAe,EAAE,CAAA;IAC9D,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAA;IACnD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IACnH,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAC7C,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,CAAC,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1I,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/proxy/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,24 @@
1
1
  import type { ServerResponse } from 'node:http';
2
2
  import { type RequestStreamCallbacks, type SerializedHttpRequest, type SerializedHttpResponse } from '@antseed/node';
3
3
  type SendDownload = (request: SerializedHttpRequest, callbacks: RequestStreamCallbacks, signal: AbortSignal) => Promise<SerializedHttpResponse>;
4
+ /**
5
+ * One status vocabulary for every video seller and plugin version:
6
+ * - `processing` / `failed`: what the seller reported (`upstream_status` keeps its word). A JSON `completed`
7
+ * becomes `failed` (`video_not_delivered`): a finished video arrives as the MP4 stream itself.
8
+ * - `unknown` (200): the seller answered but could not read the job's state right now; poll again.
9
+ * - `seller_unreachable` (502/504): the seller could not be reached; the job is kept, poll again later.
10
+ */
11
+ export type VideoJobStatus = 'processing' | 'failed' | 'completed' | 'unknown' | 'seller_unreachable';
12
+ export declare function normalizeVideoStatus(status: unknown): VideoJobStatus | null;
4
13
  /** Streams a finished video from the seller that owns the job to the client. */
5
- 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>;
6
23
  export {};
7
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;AAoB/I,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,CAiD1J"}
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"}
@@ -1,12 +1,56 @@
1
1
  import { once } from 'node:events';
2
- import { VIDEO_DOWNLOAD_STREAM_HEADER, VIDEO_DOWNLOAD_STREAM_VERSION, VIDEO_DOWNLOAD_MAX_BYTES } from '@antseed/node';
2
+ import { VIDEO_DELIVERED_HEADER, VIDEO_DELIVERY_UNRECORDED, VIDEO_DOWNLOAD_STREAM_HEADER, VIDEO_JOB_RETIRED_HEADER, VIDEO_DOWNLOAD_STREAM_VERSION, VIDEO_DOWNLOAD_MAX_BYTES } from '@antseed/node';
3
3
  let activeDownloads = 0;
4
4
  /** Seller error codes safe to pass to clients, so they can tell a temporary failure from a lasting one. */
5
5
  const SELLER_ERROR_CODES = new Set([
6
6
  'video_download_failed', 'video_download_unavailable', 'video_download_busy', 'video_status_unavailable',
7
7
  'unsupported_video_download', 'unsupported_video_request', 'resource_ownership_unavailable',
8
8
  ]);
9
- const RETURNED_STATUSES = new Set([400, 404, 409, 410, 413, 429, 502, 503, 504]);
9
+ const RETURNED_STATUSES = new Set([400, 404, 409, 410, 413, 429]);
10
+ /** The seller no longer has the job: it can never be delivered. */
11
+ const JOB_GONE_STATUSES = new Set([404, 410]);
12
+ const RETIRED = { [VIDEO_JOB_RETIRED_HEADER]: '1' };
13
+ const PROCESSING_STATUSES = new Set(['PROCESSING', 'QUEUED', 'PENDING', 'IN_QUEUE', 'IN_PROGRESS', 'RUNNING']);
14
+ const FAILED_STATUSES = new Set(['FAILED', 'ERROR', 'CANCELLED', 'CANCELED']);
15
+ export function normalizeVideoStatus(status) {
16
+ if (typeof status !== 'string')
17
+ return null;
18
+ const upper = status.toUpperCase();
19
+ if (PROCESSING_STATUSES.has(upper))
20
+ return 'processing';
21
+ if (FAILED_STATUSES.has(upper))
22
+ return 'failed';
23
+ if (upper === 'COMPLETED')
24
+ return 'completed';
25
+ return null;
26
+ }
27
+ function parseObject(body) {
28
+ if (body.length > 1024 * 1024)
29
+ return null;
30
+ try {
31
+ const parsed = JSON.parse(Buffer.from(body).toString('utf8'));
32
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ /** A seller's JSON status answer with `status` mapped to the shared vocabulary; unchanged when it has no known status. */
39
+ function withNormalizedStatus(body) {
40
+ const parsed = parseObject(body);
41
+ const status = normalizeVideoStatus(parsed?.status);
42
+ if (!parsed || !status)
43
+ return body;
44
+ // Finished videos arrive as an MP4 stream, so a JSON "completed" means the seller will not deliver one.
45
+ if (status === 'completed') {
46
+ return Buffer.from(JSON.stringify({
47
+ status: 'failed',
48
+ upstream_status: parsed.status,
49
+ error: { code: 'video_not_delivered', message: 'The seller reported the job as completed but did not send the video' },
50
+ }));
51
+ }
52
+ return Buffer.from(JSON.stringify({ ...parsed, status, upstream_status: parsed.status }));
53
+ }
10
54
  function sellerErrorCode(body) {
11
55
  if (body.length > 4096)
12
56
  return null;
@@ -19,11 +63,21 @@ function sellerErrorCode(body) {
19
63
  }
20
64
  }
21
65
  /** Streams a finished video from the seller that owns the job to the client. */
22
- export async function downloadVideo(request, response, send, clientSignal) {
23
- const error = (status, code) => {
24
- response.writeHead(status, { 'content-type': 'application/json', 'cache-control': 'no-store' });
25
- response.end(JSON.stringify({ error: { code, message: 'Video download unavailable' } }));
66
+ /**
67
+ * Streams a finished video, or answers the job's status. Before an answer that
68
+ * ends the job (it failed, including a JSON `completed` with no video, or the
69
+ * seller answers 404/410: it no longer has the job), `retire` must durably
70
+ * retire it; that answer then carries VIDEO_JOB_RETIRED_HEADER. When the job
71
+ * cannot be retired, the answer is a retryable `unknown` instead, so no caller
72
+ * treats the job as finished while it can still be charged.
73
+ */
74
+ export async function downloadVideo(request, response, send, clientSignal, retire = async () => true) {
75
+ const reply = (httpStatus, body, extraHeaders = {}) => {
76
+ response.writeHead(httpStatus, { 'content-type': 'application/json', 'cache-control': 'no-store', ...extraHeaders });
77
+ response.end(JSON.stringify(body));
26
78
  };
79
+ const error = (httpStatus, code) => reply(httpStatus, { error: { code, message: 'Video download unavailable' } });
80
+ const pending = (httpStatus, status, code, message) => reply(httpStatus, { status, retryable: true, error: { code, message } });
27
81
  if (activeDownloads >= 2) {
28
82
  error(429, 'video_download_busy');
29
83
  return;
@@ -33,10 +87,12 @@ export async function downloadVideo(request, response, send, clientSignal) {
33
87
  const headers = Object.fromEntries(Object.entries(request.headers).filter(([key]) => !['range', 'if-range', 'content-length', 'accept-encoding'].includes(key.toLowerCase())));
34
88
  let length = null;
35
89
  let received = 0;
90
+ let sellerAnswered = false;
36
91
  try {
37
92
  const body = request.method === 'GET' ? new Uint8Array(0) : request.body;
38
93
  const result = await send({ ...request, headers: { ...headers, [VIDEO_DOWNLOAD_STREAM_HEADER]: VIDEO_DOWNLOAD_STREAM_VERSION }, body }, {
39
94
  onResponseStart: (start, metadata) => {
95
+ sellerAnswered = true;
40
96
  if (!metadata.streaming)
41
97
  return;
42
98
  const lengthHeader = start.headers['content-length'];
@@ -58,24 +114,56 @@ export async function downloadVideo(request, response, send, clientSignal) {
58
114
  signal.throwIfAborted();
59
115
  if (!response.headersSent) {
60
116
  // A JSON answer instead of a stream: a status such as Venice "PROCESSING", or a seller error.
61
- if (result.headers['content-type']?.startsWith('application/json') && result.statusCode < 500) {
62
- response.writeHead(result.statusCode, { 'content-type': 'application/json', 'cache-control': 'no-store' });
63
- response.end(Buffer.from(result.body));
117
+ const isJson = result.headers['content-type']?.startsWith('application/json') === true;
118
+ if (isJson && result.statusCode < 500) {
119
+ const answer = result.statusCode === 200 ? withNormalizedStatus(result.body) : result.body;
120
+ const ends = result.statusCode === 200 ? parseObject(answer)?.status === 'failed' : JOB_GONE_STATUSES.has(result.statusCode);
121
+ if (ends && !await retire().catch(() => false)) {
122
+ pending(200, 'unknown', 'video_status_unavailable', 'The video job status could not be recorded; poll again');
123
+ return;
124
+ }
125
+ response.writeHead(result.statusCode, { 'content-type': 'application/json', 'cache-control': 'no-store', ...(ends ? RETIRED : {}) });
126
+ response.end(Buffer.from(answer));
64
127
  return;
65
128
  }
66
- const code = result.headers['content-type']?.startsWith('application/json') ? sellerErrorCode(result.body) : null;
67
- error(RETURNED_STATUSES.has(result.statusCode) ? result.statusCode : 502, code ?? 'video_download_unavailable');
129
+ const code = isJson ? sellerErrorCode(result.body) : null;
130
+ if (JOB_GONE_STATUSES.has(result.statusCode)) {
131
+ if (!await retire().catch(() => false)) {
132
+ pending(200, 'unknown', 'video_status_unavailable', 'The video job status could not be recorded; poll again');
133
+ return;
134
+ }
135
+ reply(result.statusCode, { error: { code: code ?? 'video_download_unavailable', message: 'Video download unavailable' } }, RETIRED);
136
+ return;
137
+ }
138
+ if (RETURNED_STATUSES.has(result.statusCode)) {
139
+ error(result.statusCode, code ?? 'video_download_unavailable');
140
+ return;
141
+ }
142
+ // The seller answered, so it is reachable; it just could not read the job's state right now.
143
+ pending(200, 'unknown', code ?? 'video_status_unavailable', 'The seller could not read the video job status right now; poll again');
68
144
  return;
69
145
  }
70
146
  if (result.statusCode !== 200 || (length !== null && received !== length))
71
147
  throw new Error('Incomplete video');
148
+ // Only a file the buyer accepted as the finished video is a delivery (and is charged). Any other stream is cut
149
+ // off, so no client or gateway takes it for one. A rejected file is retired first (it would only be rejected
150
+ // again), so the next poll answers it is gone and a gateway stops holding its price; a good file whose delivery
151
+ // could not be saved keeps its job, so it can be downloaded again.
152
+ const delivered = result.headers[VIDEO_DELIVERED_HEADER];
153
+ if (delivered !== '1') {
154
+ if (delivered !== VIDEO_DELIVERY_UNRECORDED)
155
+ await retire().catch(() => false);
156
+ throw new Error('Video not accepted');
157
+ }
72
158
  response.end();
73
159
  }
74
160
  catch {
75
161
  if (response.headersSent || clientSignal.aborted)
76
162
  response.destroy();
163
+ else if (sellerAnswered)
164
+ error(502, 'video_download_failed');
77
165
  else
78
- error(signal.aborted ? 504 : 502, 'video_download_failed');
166
+ pending(signal.aborted ? 504 : 502, 'seller_unreachable', 'video_download_failed', 'The seller holding this video job could not be reached; the job is kept, poll again later');
79
167
  }
80
168
  finally {
81
169
  activeDownloads -= 1;
@@ -1 +1 @@
1
- {"version":3,"file":"video-download.js","sourceRoot":"","sources":["../../src/proxy/video-download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video-download.js","sourceRoot":"","sources":["../../src/proxy/video-download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,wBAAwB,EAAwF,MAAM,eAAe,CAAA;AAGxR,IAAI,eAAe,GAAG,CAAC,CAAA;AAEvB,2GAA2G;AAC3G,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,uBAAuB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,0BAA0B;IACxG,4BAA4B,EAAE,2BAA2B,EAAE,gCAAgC;CAC5F,CAAC,CAAA;AACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AACjE,mEAAmE;AACnE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAA;AACnD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAA;AAC9G,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;AAW7E,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAClD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAClC,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAA;IACvD,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC/C,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,WAAW,CAAA;IAC7C,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,WAAW,CAAC,IAAgB;IACnC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,IAAI,CAAA;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY,CAAA;QACxE,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAiC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,0HAA0H;AAC1H,SAAS,oBAAoB,CAAC,IAAgB;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACnC,wGAAwG;IACxG,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAChC,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,MAAM,CAAC,MAAM;YAC9B,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,qEAAqE,EAAE;SACvH,CAAC,CAAC,CAAA;IACL,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAC3F,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB;IACvC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,IAAI,CAAA;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAoC,EAAE,KAAK,EAAE,IAAI,CAAA;QAC5G,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA8B,EAC9B,QAAwB,EACxB,IAAkB,EAClB,YAAyB,EACzB,SAAiC,KAAK,IAAI,EAAE,CAAC,IAAI;IAEjD,MAAM,KAAK,GAAG,CAAC,UAAkB,EAAE,IAA6B,EAAE,eAAuC,EAAE,EAAE,EAAE;QAC7G,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,CAAC,CAAA;QACpH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,CAAC,UAAkB,EAAE,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAA;IACjI,MAAM,OAAO,GAAG,CAAC,UAAkB,EAAE,MAAwC,EAAE,IAAY,EAAE,OAAe,EAAE,EAAE,CAC9G,KAAK,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC1E,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;QAAC,OAAM;IAAC,CAAC;IACvE,eAAe,IAAI,CAAC,CAAA;IACpB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9K,IAAI,MAAM,GAAkB,IAAI,CAAA;IAChC,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;QACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,4BAA4B,CAAC,EAAE,6BAA6B,EAAE,EAAE,IAAI,EAAE,EAAE;YACtI,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACnC,cAAc,GAAG,IAAI,CAAA;gBACrB,IAAI,CAAC,QAAQ,CAAC,SAAS;oBAAE,OAAM;gBAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;gBACpD,MAAM,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACjE,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,WAAW;uBACxE,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,wBAAwB,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACtJ,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,wBAAwB,EAAE,SAAS,EAAE,CAAC,CAAA;YAC5H,CAAC;YACD,eAAe,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;gBAC7B,MAAM,CAAC,cAAc,EAAE,CAAA;gBACvB,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;gBAC7B,IAAI,QAAQ,GAAG,wBAAwB,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;gBACxH,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YAC9G,CAAC;SACF,EAAE,MAAM,CAAC,CAAA;QACV,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,8FAA8F;YAC9F,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAA;YACtF,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;gBAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBAC5H,IAAI,IAAI,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/C,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,0BAA0B,EAAE,wDAAwD,CAAC,CAAA;oBAC7G,OAAM;gBACR,CAAC;gBACD,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBACpI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;gBACjC,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACzD,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,0BAA0B,EAAE,wDAAwD,CAAC,CAAA;oBAC7G,OAAM;gBACR,CAAC;gBACD,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,4BAA4B,EAAE,OAAO,EAAE,4BAA4B,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;gBACnI,OAAM;YACR,CAAC;YACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,4BAA4B,CAAC,CAAC;gBAAC,OAAM;YAAC,CAAC;YACxH,6FAA6F;YAC7F,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,0BAA0B,EAAE,sEAAsE,CAAC,CAAA;YACnI,OAAM;QACR,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAC9G,+GAA+G;QAC/G,6GAA6G;QAC7G,gHAAgH;QAChH,mEAAmE;QACnE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QACxD,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,SAAS,KAAK,yBAAyB;gBAAE,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;YAC9E,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACvC,CAAC;QACD,QAAQ,CAAC,GAAG,EAAE,CAAA;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,QAAQ,CAAC,WAAW,IAAI,YAAY,CAAC,OAAO;YAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;aAC/D,IAAI,cAAc;YAAE,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAA;;YACvD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,2FAA2F,CAAC,CAAA;IACtL,CAAC;YAAS,CAAC;QACT,eAAe,IAAI,CAAC,CAAA;IACtB,CAAC;AACH,CAAC"}
@@ -5,11 +5,13 @@ import { downloadVideo } from './video-download.js';
5
5
  const request = { requestId: 'download', method: 'POST', path: '/api/v1/video/retrieve', headers: { 'content-type': 'application/json' }, body: Buffer.from('{"queue_id":"task"}') };
6
6
  const video = Buffer.alloc(3 * 1024 * 1024 + 17, 42);
7
7
  const start = { requestId: request.requestId, statusCode: 200, headers: { 'content-type': 'video/mp4', 'content-length': String(video.length) }, body: new Uint8Array() };
8
- async function serve(send, run) {
8
+ /** The final answer once the buyer accepted the file as the finished video. */
9
+ const accepted = { ...start, headers: { ...start.headers, 'x-antseed-video-delivered': '1' } };
10
+ async function serve(send, run, retire) {
9
11
  const server = createServer((_incoming, response) => {
10
12
  const abort = new AbortController();
11
13
  response.on('close', () => abort.abort());
12
- void downloadVideo(request, response, send, abort.signal);
14
+ void downloadVideo(request, response, send, abort.signal, retire);
13
15
  });
14
16
  await new Promise(resolve => server.listen(0, '127.0.0.1', resolve));
15
17
  try {
@@ -30,7 +32,7 @@ test('streams several MB with one request and no ranges', async () => {
30
32
  for (let offset = 0; offset < video.length; offset += 65536) {
31
33
  await callbacks.onResponseChunk({ requestId: sent.requestId, data: video.subarray(offset, offset + 65536), done: false });
32
34
  }
33
- return start;
35
+ return accepted;
34
36
  }, async (url) => {
35
37
  const response = await fetch(url);
36
38
  assert.equal(response.status, 200);
@@ -39,8 +41,36 @@ test('streams several MB with one request and no ranges', async () => {
39
41
  });
40
42
  assert.equal(calls, 1);
41
43
  });
44
+ test('cuts off a stream the buyer did not accept as the finished video, so it never ends like a delivery, and retires the job', async () => {
45
+ let retired = 0;
46
+ await serve(async (sent, callbacks) => {
47
+ callbacks.onResponseStart(start, { streaming: true });
48
+ await callbacks.onResponseChunk({ requestId: sent.requestId, data: video, done: false });
49
+ // A complete, well-formed stream that the buyer did not accept (too short or unreadable): not charged, not delivered.
50
+ return start;
51
+ }, async (url) => {
52
+ const response = await fetch(url);
53
+ assert.equal(response.status, 200);
54
+ await assert.rejects(response.arrayBuffer());
55
+ }, async () => { retired += 1; return true; });
56
+ // It would only be rejected again: retired, so the next poll says it is gone and a gateway stops holding its price.
57
+ assert.equal(retired, 1);
58
+ });
59
+ test('cuts off a good video whose delivery the buyer could not save, but keeps its job for another download', async () => {
60
+ let retired = 0;
61
+ const unrecorded = { ...start, headers: { ...start.headers, 'x-antseed-video-delivered': 'unrecorded' } };
62
+ await serve(async (sent, callbacks) => {
63
+ callbacks.onResponseStart(start, { streaming: true });
64
+ await callbacks.onResponseChunk({ requestId: sent.requestId, data: video, done: false });
65
+ return unrecorded;
66
+ }, async (url) => {
67
+ const response = await fetch(url);
68
+ await assert.rejects(response.arrayBuffer());
69
+ }, async () => { retired += 1; return true; });
70
+ assert.equal(retired, 0);
71
+ });
42
72
  test('returns errors before a stream starts', async () => {
43
- for (const status of [404, 409, 410, 413, 429, 504]) {
73
+ for (const status of [404, 409, 410, 413, 429]) {
44
74
  await serve(async () => ({ ...start, statusCode: status }), async (url) => {
45
75
  const response = await fetch(url);
46
76
  assert.equal(response.status, status);
@@ -97,7 +127,7 @@ test('forwards a POST download body and passes JSON status answers through', asy
97
127
  try {
98
128
  const response = await fetch(`http://127.0.0.1:${server.address().port}`);
99
129
  assert.equal(response.status, 200);
100
- assert.deepEqual(await response.json(), { status: 'PROCESSING' });
130
+ assert.deepEqual(await response.json(), { status: 'processing', upstream_status: 'PROCESSING' });
101
131
  assert.deepEqual(Buffer.from(sentBody), body);
102
132
  }
103
133
  finally {
@@ -105,24 +135,87 @@ test('forwards a POST download body and passes JSON status answers through', asy
105
135
  await new Promise(resolve => server.close(() => resolve()));
106
136
  }
107
137
  });
108
- test('passes allowed seller error codes through and hides unknown ones', async () => {
138
+ test('passes seller JSON errors below 500 through unchanged', async () => {
139
+ await serve(async (sent) => ({
140
+ requestId: sent.requestId, statusCode: 404, headers: { 'content-type': 'application/json' },
141
+ body: Buffer.from(JSON.stringify({ error: { code: 'resource_not_found', message: 'Video job not found' } })),
142
+ }), async (url) => {
143
+ const response = await fetch(url);
144
+ assert.equal(response.status, 404);
145
+ assert.deepEqual(await response.json(), { error: { code: 'resource_not_found', message: 'Video job not found' } });
146
+ });
147
+ });
148
+ test('reports a reachable seller that cannot read the job state as unknown, not 502', async () => {
109
149
  const sellerError = (statusCode, code) => ({
110
150
  requestId: request.requestId, statusCode, headers: { 'content-type': 'application/json' },
111
151
  body: Buffer.from(JSON.stringify({ error: { code, message: 'internal detail' } })),
112
152
  });
113
- for (const [statusCode, code, expectedStatus, expectedCode] of [
114
- [502, 'video_download_failed', 502, 'video_download_failed'],
115
- [504, 'video_download_failed', 504, 'video_download_failed'],
116
- [502, 'video_status_unavailable', 502, 'video_status_unavailable'],
117
- [500, 'secret_internal_code', 502, 'video_download_unavailable'],
153
+ for (const [statusCode, code, expectedCode] of [
154
+ [502, 'video_status_unavailable', 'video_status_unavailable'],
155
+ [502, 'video_download_failed', 'video_download_failed'],
156
+ [504, 'video_download_failed', 'video_download_failed'],
157
+ [503, 'resource_ownership_unavailable', 'resource_ownership_unavailable'],
158
+ [500, 'secret_internal_code', 'video_status_unavailable'],
118
159
  ]) {
119
160
  await serve(async () => sellerError(statusCode, code), async (url) => {
120
161
  const response = await fetch(url);
121
- assert.equal(response.status, expectedStatus);
162
+ assert.equal(response.status, 200);
122
163
  const body = await response.json();
164
+ assert.equal(body.status, 'unknown');
165
+ assert.equal(body.retryable, true);
123
166
  assert.equal(body.error.code, expectedCode);
124
- assert.equal(body.error.message, 'Video download unavailable');
125
167
  });
126
168
  }
127
169
  });
170
+ test('maps every seller status word to one vocabulary', async () => {
171
+ for (const [upstream, expected] of [
172
+ ['IN_QUEUE', 'processing'], ['IN_PROGRESS', 'processing'], ['QUEUED', 'processing'],
173
+ ['FAILED', 'failed'], ['CANCELLED', 'failed'], ['error', 'failed'],
174
+ ]) {
175
+ await serve(async (sent) => ({
176
+ requestId: sent.requestId, statusCode: 200, headers: { 'content-type': 'application/json' },
177
+ body: Buffer.from(JSON.stringify({ status: upstream, error: 'reason' })),
178
+ }), async (url) => {
179
+ const response = await fetch(url);
180
+ assert.equal(response.status, 200);
181
+ assert.deepEqual(await response.json(), { status: expected, upstream_status: upstream, error: 'reason' });
182
+ });
183
+ }
184
+ });
185
+ test('reports a completed status without an MP4 as failed', async () => {
186
+ await serve(async (sent) => ({
187
+ requestId: sent.requestId, statusCode: 200, headers: { 'content-type': 'application/json' },
188
+ body: Buffer.from(JSON.stringify({ status: 'completed', video_url: '/v1/video/file/job-1' })),
189
+ }), async (url) => {
190
+ const response = await fetch(url);
191
+ assert.equal(response.status, 200);
192
+ const body = await response.json();
193
+ assert.equal(body.status, 'failed');
194
+ assert.equal(body.upstream_status, 'completed');
195
+ assert.equal(body.error.code, 'video_not_delivered');
196
+ assert.equal(body.video_url, undefined);
197
+ });
198
+ });
199
+ test('reports an unreachable seller as seller_unreachable and keeps the job', async () => {
200
+ await serve(async () => { throw new Error('Connection to peer failed during request'); }, async (url) => {
201
+ const response = await fetch(url);
202
+ assert.equal(response.status, 502);
203
+ const body = await response.json();
204
+ assert.equal(body.status, 'seller_unreachable');
205
+ assert.equal(body.retryable, true);
206
+ assert.equal(body.error.code, 'video_download_failed');
207
+ });
208
+ });
209
+ test('reports a broken stream start from a reachable seller as a failed download', async () => {
210
+ await serve(async (_request, callbacks) => {
211
+ callbacks.onResponseStart({ ...start, headers: { 'content-type': 'text/html' } }, { streaming: true });
212
+ return start;
213
+ }, async (url) => {
214
+ const response = await fetch(url);
215
+ assert.equal(response.status, 502);
216
+ const body = await response.json();
217
+ assert.equal(body.status, undefined);
218
+ assert.equal(body.error.code, 'video_download_failed');
219
+ });
220
+ });
128
221
  //# sourceMappingURL=video-download.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"video-download.test.js","sourceRoot":"","sources":["../../src/proxy/video-download.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video-download.test.js","sourceRoot":"","sources":["../../src/proxy/video-download.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,MAAM,OAAO,GAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAA;AAC3M,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;AACpD,MAAM,KAAK,GAA2B,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,EAAE,CAAA;AACjM,+EAA+E;AAC/E,MAAM,QAAQ,GAA2B,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,2BAA2B,EAAE,GAAG,EAAE,EAAE,CAAA;AAEtH,KAAK,UAAU,KAAK,CAAC,IAAiI,EAAE,GAAmC,EAAE,MAA+B;IAC1N,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;QACnC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QACzC,KAAK,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IACF,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1E,IAAI,CAAC;QAAC,MAAM,GAAG,CAAC,oBAAqB,MAAM,CAAC,OAAO,EAAuB,CAAC,IAAI,EAAE,CAAC,CAAA;IAAC,CAAC;YAC5E,CAAC;QACP,MAAM,CAAC,mBAAmB,EAAE,CAAA;QAC5B,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC;AACH,CAAC;AAED,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACnE,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACpC,KAAK,IAAI,CAAC,CAAA;QACV,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,iBAAiB,CAAC,CAAA;QACzE,SAAS,CAAC,eAAgB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC;YAC5D,MAAM,SAAS,CAAC,eAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5H,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAClC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,CAAA;QAC/D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;AACxB,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,yHAAyH,EAAE,KAAK,IAAI,EAAE;IACzI,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACpC,SAAS,CAAC,eAAgB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,MAAM,SAAS,CAAC,eAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACzF,sHAAsH;QACtH,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAClC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9C,CAAC,EAAE,KAAK,IAAI,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC,CAAC,CAAA;IAC7C,oHAAoH;IACpH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAC1B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;IACvH,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,MAAM,UAAU,GAA2B,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,EAAE,CAAA;IACjI,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACpC,SAAS,CAAC,eAAgB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,MAAM,SAAS,CAAC,eAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACzF,OAAO,UAAU,CAAA;IACnB,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IAC9C,CAAC,EAAE,KAAK,IAAI,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAA,CAAC,CAAC,CAAC,CAAA;IAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAC1B,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACvD,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YACtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACrC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACvD,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;YACxC,SAAS,CAAC,eAAgB,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACtH,OAAO,KAAK,CAAA;QACd,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YACb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAClC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACtE,MAAM,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QACxC,SAAS,CAAC,eAAgB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,MAAM,SAAS,CAAC,eAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/G,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACb,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;IACvG,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;IAC7E,IAAI,SAAsB,CAAA;IAC1B,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,OAAO,CAAA,CAAC,CAAC,CAAC,CAAA;IAC1E,MAAM,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;QAChD,SAAS,CAAC,eAAgB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,MAAM,SAAS,CAAC,eAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/G,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACtH,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,QAAQ,CAAC,IAAK,CAAC,MAAM,EAAE,CAAA;QAC7B,MAAM,YAAY,CAAA;IACpB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;IACtF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;IAC9D,MAAM,MAAM,GAA0B,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAChI,IAAI,QAAgC,CAAA;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QAClD,KAAK,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YAChD,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;YACpB,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAA;QACtJ,CAAC,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IACF,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAqB,MAAM,CAAC,OAAO,EAAuB,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/F,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAClC,MAAM,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAA;QAChG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAS,CAAC,EAAE,IAAI,CAAC,CAAA;IAChD,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,mBAAmB,EAAE,CAAA;QAC5B,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;IACvE,MAAM,KAAK,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC3F,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;KAC7G,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAClC,MAAM,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAA;IACpH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;IAC/F,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,IAAY,EAA0B,EAAE,CAAC,CAAC;QACjF,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QACzF,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;KACnF,CAAC,CAAA;IACF,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI;QAC7C,CAAC,GAAG,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;QAC7D,CAAC,GAAG,EAAE,uBAAuB,EAAE,uBAAuB,CAAC;QACvD,CAAC,GAAG,EAAE,uBAAuB,EAAE,uBAAuB,CAAC;QACvD,CAAC,GAAG,EAAE,gCAAgC,EAAE,gCAAgC,CAAC;QACzE,CAAC,GAAG,EAAE,sBAAsB,EAAE,0BAA0B,CAAC;KACjD,EAAE,CAAC;QACX,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YACjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAqE,CAAA;YACrG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IACjE,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACjC,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;QACnF,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC1D,EAAE,CAAC;QACX,MAAM,KAAK,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC3F,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SACzE,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;YACd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;YACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAClC,MAAM,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC3G,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;IACrE,MAAM,KAAK,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC3F,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;KAC9F,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA8F,CAAA;QAC9H,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;QAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAA;QACpD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;IACvF,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA,CAAC,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACnG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAqE,CAAA;QACrG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QACxC,SAAS,CAAC,eAAgB,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACvG,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAkD,CAAA;QAClF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antseed/cli",
3
- "version": "0.1.195",
3
+ "version": "0.1.197",
4
4
  "description": "Antseed Network CLI and Web Dashboard",
5
5
  "type": "module",
6
6
  "files": [
@@ -32,15 +32,15 @@
32
32
  "qrcode": "^1.5.4",
33
33
  "reflect-metadata": "^0.2.2",
34
34
  "zod": "^4",
35
- "@antseed/ant-agent": "0.1.35",
36
- "@antseed/ants": "0.1.29",
35
+ "@antseed/ants": "0.1.31",
37
36
  "@antseed/api-adapter": "0.1.53",
38
- "@antseed/gateway-console": "0.1.9",
39
- "@antseed/node": "0.2.146",
40
- "@antseed/payments": "0.1.73",
41
- "@antseed/provider-core": "0.2.60",
37
+ "@antseed/gateway-console": "0.1.10",
38
+ "@antseed/node": "0.2.148",
42
39
  "@antseed/connected-apps": "0.1.4",
43
- "@antseed/router-core": "0.1.50"
40
+ "@antseed/payments": "0.1.75",
41
+ "@antseed/provider-core": "0.2.60",
42
+ "@antseed/router-core": "0.1.50",
43
+ "@antseed/ant-agent": "0.1.35"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/better-sqlite3": "^7.6.13",