@antseed/node 0.2.99 → 0.2.101

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 (52) hide show
  1. package/dist/buyer-request-handler.d.ts +2 -0
  2. package/dist/buyer-request-handler.d.ts.map +1 -1
  3. package/dist/buyer-request-handler.js +2 -2
  4. package/dist/buyer-request-handler.js.map +1 -1
  5. package/dist/discovery/announcer.d.ts +2 -0
  6. package/dist/discovery/announcer.d.ts.map +1 -1
  7. package/dist/discovery/announcer.js +8 -2
  8. package/dist/discovery/announcer.js.map +1 -1
  9. package/dist/index.d.ts +2 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/interfaces/plugin.d.ts +42 -1
  14. package/dist/interfaces/plugin.d.ts.map +1 -1
  15. package/dist/interfaces/plugin.js +1 -1
  16. package/dist/interfaces/plugin.js.map +1 -1
  17. package/dist/node.d.ts +25 -1
  18. package/dist/node.d.ts.map +1 -1
  19. package/dist/node.js +94 -1
  20. package/dist/node.js.map +1 -1
  21. package/dist/p2p/connection-manager.d.ts.map +1 -1
  22. package/dist/p2p/connection-manager.js +5 -2
  23. package/dist/p2p/connection-manager.js.map +1 -1
  24. package/dist/p2p/payment-codec.d.ts +5 -1
  25. package/dist/p2p/payment-codec.d.ts.map +1 -1
  26. package/dist/p2p/payment-codec.js +54 -1
  27. package/dist/p2p/payment-codec.js.map +1 -1
  28. package/dist/p2p/payment-mux.d.ts +7 -1
  29. package/dist/p2p/payment-mux.d.ts.map +1 -1
  30. package/dist/p2p/payment-mux.js +24 -1
  31. package/dist/p2p/payment-mux.js.map +1 -1
  32. package/dist/payments/buyer-payment-manager.d.ts +14 -1
  33. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  34. package/dist/payments/buyer-payment-manager.js +35 -0
  35. package/dist/payments/buyer-payment-manager.js.map +1 -1
  36. package/dist/payments/buyer-payment-negotiator.d.ts +18 -0
  37. package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -1
  38. package/dist/payments/buyer-payment-negotiator.js +104 -6
  39. package/dist/payments/buyer-payment-negotiator.js.map +1 -1
  40. package/dist/payments/seller-payment-manager.d.ts +67 -6
  41. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  42. package/dist/payments/seller-payment-manager.js +340 -71
  43. package/dist/payments/seller-payment-manager.js.map +1 -1
  44. package/dist/seller-request-handler.d.ts +5 -0
  45. package/dist/seller-request-handler.d.ts.map +1 -1
  46. package/dist/seller-request-handler.js +113 -2
  47. package/dist/seller-request-handler.js.map +1 -1
  48. package/dist/types/protocol.d.ts +60 -0
  49. package/dist/types/protocol.d.ts.map +1 -1
  50. package/dist/types/protocol.js +24 -0
  51. package/dist/types/protocol.js.map +1 -1
  52. package/package.json +1 -1
@@ -18,6 +18,8 @@ export declare enum MessageType {
18
18
  NeedFreeUsageAuth = 85,
19
19
  PaymentRequired = 86,
20
20
  NeedAuth = 88,
21
+ CloseChannelRequest = 89,
22
+ CloseChannelResult = 90,
21
23
  PeerReport = 96,
22
24
  ReportAck = 97,
23
25
  PeerRating = 112,
@@ -31,12 +33,20 @@ export declare enum MessageType {
31
33
  }
32
34
  export declare const CONNECTION_CAPABILITY_RESPONSE_AUTH_V1: "verification.response-auth.v1";
33
35
  export declare const CONNECTION_CAPABILITY_RELAYS_SWEEPS_V1: "payments.relays-sweeps.v1";
36
+ /** Seller honours buyer-initiated cooperative channel close (0x59 / 0x5A). */
37
+ export declare const CONNECTION_CAPABILITY_COOPERATIVE_CLOSE_V1: "payments.cooperative-close.v1";
34
38
  export declare function peerRelaysSweeps(peer: {
35
39
  capabilities?: string[];
36
40
  metadata?: {
37
41
  capabilities?: string[];
38
42
  };
39
43
  }): boolean;
44
+ export declare function peerSupportsCooperativeClose(peer: {
45
+ capabilities?: string[];
46
+ metadata?: {
47
+ capabilities?: string[];
48
+ };
49
+ }): boolean;
40
50
  export interface FramedMessage {
41
51
  type: MessageType;
42
52
  messageId: number;
@@ -177,6 +187,56 @@ export interface NeedAuthPayload {
177
187
  /** Service/model name for service-specific pricing validation. */
178
188
  service?: string;
179
189
  }
190
+ /**
191
+ * Buyer asks the seller to close a payment channel now, skipping the on-chain
192
+ * `requestClose()` → 15-minute grace → `withdraw()` path.
193
+ *
194
+ * The buyer MAY attach its latest SpendingAuth so the seller can close at that
195
+ * cumulative even if the seller never received it (e.g. the frame was lost on
196
+ * disconnect). The seller closes at whichever cumulative is higher — its own
197
+ * last-accepted auth or the one attached here — so neither side can use this
198
+ * message to under-report spend.
199
+ *
200
+ * All four auth fields travel together: either all are present or none are.
201
+ */
202
+ export interface CloseChannelRequestPayload {
203
+ version: 1;
204
+ /** Channel the buyer wants closed. Must match the seller's active channel. */
205
+ channelId: string;
206
+ /** Cumulative USDC (base units) the attached signature authorizes. */
207
+ cumulativeAmount?: string;
208
+ /** bytes32 keccak256 of `metadata`. */
209
+ metadataHash?: string;
210
+ /** Hex-encoded abi.encode(...) usage metadata covered by the signature. */
211
+ metadata?: string;
212
+ /** EIP-712 SpendingAuth signature over (channelId, cumulativeAmount, metadataHash). */
213
+ spendingAuthSig?: string;
214
+ }
215
+ /** Why a seller declined to close a channel on request. */
216
+ export declare const CLOSE_CHANNEL_REJECT_CODES: readonly ["busy", "pending_auth", "no_channel", "invalid_auth", "close_failed", "unsupported"];
217
+ export type CloseChannelRejectCode = typeof CLOSE_CHANNEL_REJECT_CODES[number];
218
+ /**
219
+ * Seller's answer to a CloseChannelRequest. On success it carries the
220
+ * transaction hash of the on-chain `close()`; on refusal, a stable code the
221
+ * buyer can switch on.
222
+ */
223
+ export interface CloseChannelResultPayload {
224
+ version: 1;
225
+ channelId: string;
226
+ status: 'closed' | 'rejected';
227
+ /** Present when status === 'closed'. */
228
+ txHash?: string;
229
+ /** Cumulative the channel was closed at (base units). Present on success. */
230
+ finalAmount?: string;
231
+ /** Present when status === 'rejected'. */
232
+ code?: CloseChannelRejectCode;
233
+ /** Human-readable detail. Never load-bearing — switch on `code`. */
234
+ reason?: string;
235
+ /** Hint for 'busy' / 'pending_auth': wait this long before retrying. */
236
+ retryAfterMs?: number;
237
+ /** For 'pending_auth': the cumulative the buyer must sign before retrying. */
238
+ requiredCumulativeAmount?: string;
239
+ }
180
240
  /**
181
241
  * Buyer broadcasts a signed gasless deposit sweep for permissionless relayers
182
242
  * (sellers by default) to submit on-chain. Carries everything
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export var MessageType;
21
21
  MessageType[MessageType["NeedFreeUsageAuth"] = 85] = "NeedFreeUsageAuth";
22
22
  MessageType[MessageType["PaymentRequired"] = 86] = "PaymentRequired";
23
23
  MessageType[MessageType["NeedAuth"] = 88] = "NeedAuth";
24
+ MessageType[MessageType["CloseChannelRequest"] = 89] = "CloseChannelRequest";
25
+ MessageType[MessageType["CloseChannelResult"] = 90] = "CloseChannelResult";
24
26
  // Report message types
25
27
  MessageType[MessageType["PeerReport"] = 96] = "PeerReport";
26
28
  MessageType[MessageType["ReportAck"] = 97] = "ReportAck";
@@ -39,11 +41,33 @@ export var MessageType;
39
41
  })(MessageType || (MessageType = {}));
40
42
  export const CONNECTION_CAPABILITY_RESPONSE_AUTH_V1 = 'verification.response-auth.v1';
41
43
  export const CONNECTION_CAPABILITY_RELAYS_SWEEPS_V1 = 'payments.relays-sweeps.v1';
44
+ /** Seller honours buyer-initiated cooperative channel close (0x59 / 0x5A). */
45
+ export const CONNECTION_CAPABILITY_COOPERATIVE_CLOSE_V1 = 'payments.cooperative-close.v1';
42
46
  export function peerRelaysSweeps(peer) {
43
47
  return peer.capabilities?.includes(CONNECTION_CAPABILITY_RELAYS_SWEEPS_V1) === true
44
48
  || peer.metadata?.capabilities?.includes(CONNECTION_CAPABILITY_RELAYS_SWEEPS_V1) === true;
45
49
  }
50
+ export function peerSupportsCooperativeClose(peer) {
51
+ return peer.capabilities?.includes(CONNECTION_CAPABILITY_COOPERATIVE_CLOSE_V1) === true
52
+ || peer.metadata?.capabilities?.includes(CONNECTION_CAPABILITY_COOPERATIVE_CLOSE_V1) === true;
53
+ }
46
54
  export const FRAME_HEADER_SIZE = 9;
47
55
  export const MAX_PAYLOAD_SIZE = 64 * 1024 * 1024;
48
56
  export const PAYMENT_CODE_CHANNEL_EXHAUSTED = 'channel_exhausted';
57
+ /** Why a seller declined to close a channel on request. */
58
+ export const CLOSE_CHANNEL_REJECT_CODES = [
59
+ /** Seller is still serving requests for this buyer — retry shortly. */
60
+ 'busy',
61
+ /** Seller has served work the buyer has not signed for yet. A NeedAuth was
62
+ * sent alongside this result; sign `requiredCumulativeAmount` and retry. */
63
+ 'pending_auth',
64
+ /** No active channel for this buyer, or `channelId` does not match it. */
65
+ 'no_channel',
66
+ /** The attached SpendingAuth failed verification. */
67
+ 'invalid_auth',
68
+ /** The on-chain close() call failed. `reason` carries the revert text. */
69
+ 'close_failed',
70
+ /** Seller has no payment manager configured. */
71
+ 'unsupported',
72
+ ];
49
73
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WA4CX;AA5CD,WAAY,WAAW;IACrB,+DAAoB,CAAA;IACpB,6DAAmB,CAAA;IACnB,8CAAW,CAAA;IACX,8CAAW,CAAA;IACX,4DAAkB,CAAA;IAClB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,wEAAwB,CAAA;IACxB,uDAAuD;IACvD,sEAAuB,CAAA;IACvB,kEAAuB,CAAA;IAEvB,uCAAuC;IACvC,8DAAmB,CAAA;IACnB,oDAAc,CAAA;IACd,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,sDAAe,CAAA;IAEf,uBAAuB;IACvB,0DAAiB,CAAA;IACjB,wDAAgB,CAAA;IAEhB,uBAAuB;IACvB,2DAAiB,CAAA;IACjB,6DAAkB,CAAA;IAClB,mEAAqB,CAAA;IAErB,kDAAkD;IAClD,uFAA+B,CAAA;IAE/B,8EAA8E;IAE9E,qCAAqC;IACrC,+DAAmB,CAAA;IACnB,+DAAmB,CAAA;IAEnB,2DAAiB,CAAA;IACjB,iDAAY,CAAA;AACd,CAAC,EA5CW,WAAW,KAAX,WAAW,QA4CtB;AAED,MAAM,CAAC,MAAM,sCAAsC,GAAG,+BAAwC,CAAC;AAC/F,MAAM,CAAC,MAAM,sCAAsC,GAAG,2BAAoC,CAAC;AAE3F,MAAM,UAAU,gBAAgB,CAAC,IAAyE;IACxG,OAAO,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,sCAAsC,CAAC,KAAK,IAAI;WAC9E,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,sCAAsC,CAAC,KAAK,IAAI,CAAC;AAC9F,CAAC;AAQD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AA+GjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAA4B,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WA8CX;AA9CD,WAAY,WAAW;IACrB,+DAAoB,CAAA;IACpB,6DAAmB,CAAA;IACnB,8CAAW,CAAA;IACX,8CAAW,CAAA;IACX,4DAAkB,CAAA;IAClB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,wEAAwB,CAAA;IACxB,uDAAuD;IACvD,sEAAuB,CAAA;IACvB,kEAAuB,CAAA;IAEvB,uCAAuC;IACvC,8DAAmB,CAAA;IACnB,oDAAc,CAAA;IACd,gEAAoB,CAAA;IACpB,gEAAoB,CAAA;IACpB,8DAAmB,CAAA;IACnB,wEAAwB,CAAA;IACxB,oEAAsB,CAAA;IACtB,sDAAe,CAAA;IACf,4EAA0B,CAAA;IAC1B,0EAAyB,CAAA;IAEzB,uBAAuB;IACvB,0DAAiB,CAAA;IACjB,wDAAgB,CAAA;IAEhB,uBAAuB;IACvB,2DAAiB,CAAA;IACjB,6DAAkB,CAAA;IAClB,mEAAqB,CAAA;IAErB,kDAAkD;IAClD,uFAA+B,CAAA;IAE/B,8EAA8E;IAE9E,qCAAqC;IACrC,+DAAmB,CAAA;IACnB,+DAAmB,CAAA;IAEnB,2DAAiB,CAAA;IACjB,iDAAY,CAAA;AACd,CAAC,EA9CW,WAAW,KAAX,WAAW,QA8CtB;AAED,MAAM,CAAC,MAAM,sCAAsC,GAAG,+BAAwC,CAAC;AAC/F,MAAM,CAAC,MAAM,sCAAsC,GAAG,2BAAoC,CAAC;AAC3F,8EAA8E;AAC9E,MAAM,CAAC,MAAM,0CAA0C,GAAG,+BAAwC,CAAC;AAEnG,MAAM,UAAU,gBAAgB,CAAC,IAAyE;IACxG,OAAO,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,sCAAsC,CAAC,KAAK,IAAI;WAC9E,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,sCAAsC,CAAC,KAAK,IAAI,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,IAAyE;IAEzE,OAAO,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,0CAA0C,CAAC,KAAK,IAAI;WAClF,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,0CAA0C,CAAC,KAAK,IAAI,CAAC;AAClG,CAAC;AAQD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AA+GjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAA4B,CAAC;AAgE3E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,uEAAuE;IACvE,MAAM;IACN;iFAC6E;IAC7E,cAAc;IACd,0EAA0E;IAC1E,YAAY;IACZ,qDAAqD;IACrD,cAAc;IACd,0EAA0E;IAC1E,cAAc;IACd,gDAAgD;IAChD,aAAa;CACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antseed/node",
3
- "version": "0.2.99",
3
+ "version": "0.2.101",
4
4
  "description": "Antseed Network protocol SDK — P2P inference marketplace",
5
5
  "type": "module",
6
6
  "files": [