@antseed/node 0.2.93 → 0.2.95

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 (106) hide show
  1. package/dist/buyer-request-handler.d.ts +4 -1
  2. package/dist/buyer-request-handler.d.ts.map +1 -1
  3. package/dist/buyer-request-handler.js +83 -4
  4. package/dist/buyer-request-handler.js.map +1 -1
  5. package/dist/discovery/http-metadata-resolver.d.ts +7 -0
  6. package/dist/discovery/http-metadata-resolver.d.ts.map +1 -1
  7. package/dist/discovery/http-metadata-resolver.js +16 -3
  8. package/dist/discovery/http-metadata-resolver.js.map +1 -1
  9. package/dist/discovery/index.d.ts +1 -0
  10. package/dist/discovery/index.d.ts.map +1 -1
  11. package/dist/discovery/index.js +1 -0
  12. package/dist/discovery/index.js.map +1 -1
  13. package/dist/discovery/verification-links.d.ts +16 -0
  14. package/dist/discovery/verification-links.d.ts.map +1 -0
  15. package/dist/discovery/verification-links.js +71 -0
  16. package/dist/discovery/verification-links.js.map +1 -0
  17. package/dist/index.d.ts +8 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +5 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/node.d.ts +25 -2
  22. package/dist/node.d.ts.map +1 -1
  23. package/dist/node.js +247 -21
  24. package/dist/node.js.map +1 -1
  25. package/dist/p2p/payment-codec.d.ts +9 -1
  26. package/dist/p2p/payment-codec.d.ts.map +1 -1
  27. package/dist/p2p/payment-codec.js +67 -0
  28. package/dist/p2p/payment-codec.js.map +1 -1
  29. package/dist/p2p/payment-mux.d.ts +13 -1
  30. package/dist/p2p/payment-mux.d.ts.map +1 -1
  31. package/dist/p2p/payment-mux.js +44 -0
  32. package/dist/p2p/payment-mux.js.map +1 -1
  33. package/dist/payments/buyer-free-usage-manager.d.ts +39 -0
  34. package/dist/payments/buyer-free-usage-manager.d.ts.map +1 -0
  35. package/dist/payments/buyer-free-usage-manager.js +280 -0
  36. package/dist/payments/buyer-free-usage-manager.js.map +1 -0
  37. package/dist/payments/buyer-payment-manager.d.ts +2 -4
  38. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  39. package/dist/payments/buyer-payment-manager.js +34 -110
  40. package/dist/payments/buyer-payment-manager.js.map +1 -1
  41. package/dist/payments/buyer-payment-negotiator.d.ts +6 -2
  42. package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -1
  43. package/dist/payments/buyer-payment-negotiator.js +41 -13
  44. package/dist/payments/buyer-payment-negotiator.js.map +1 -1
  45. package/dist/payments/chain-config.d.ts +3 -2
  46. package/dist/payments/chain-config.d.ts.map +1 -1
  47. package/dist/payments/chain-config.js +4 -4
  48. package/dist/payments/chain-config.js.map +1 -1
  49. package/dist/payments/channel-session-state.d.ts +2 -1
  50. package/dist/payments/channel-session-state.d.ts.map +1 -1
  51. package/dist/payments/channel-session-state.js +4 -3
  52. package/dist/payments/channel-session-state.js.map +1 -1
  53. package/dist/payments/channel-store.d.ts +31 -15
  54. package/dist/payments/channel-store.d.ts.map +1 -1
  55. package/dist/payments/channel-store.js +74 -35
  56. package/dist/payments/channel-store.js.map +1 -1
  57. package/dist/payments/channel-usage-accounting.d.ts +18 -0
  58. package/dist/payments/channel-usage-accounting.d.ts.map +1 -0
  59. package/dist/payments/channel-usage-accounting.js +66 -0
  60. package/dist/payments/channel-usage-accounting.js.map +1 -0
  61. package/dist/payments/evm/free-usage-client.d.ts +34 -0
  62. package/dist/payments/evm/free-usage-client.d.ts.map +1 -0
  63. package/dist/payments/evm/free-usage-client.js +61 -0
  64. package/dist/payments/evm/free-usage-client.js.map +1 -0
  65. package/dist/payments/evm/signatures.d.ts +70 -0
  66. package/dist/payments/evm/signatures.d.ts.map +1 -1
  67. package/dist/payments/evm/signatures.js +89 -0
  68. package/dist/payments/evm/signatures.js.map +1 -1
  69. package/dist/payments/index.d.ts +10 -6
  70. package/dist/payments/index.d.ts.map +1 -1
  71. package/dist/payments/index.js +7 -4
  72. package/dist/payments/index.js.map +1 -1
  73. package/dist/payments/seller-free-usage-manager.d.ts +44 -0
  74. package/dist/payments/seller-free-usage-manager.d.ts.map +1 -0
  75. package/dist/payments/seller-free-usage-manager.js +350 -0
  76. package/dist/payments/seller-free-usage-manager.js.map +1 -0
  77. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  78. package/dist/payments/seller-payment-manager.js +21 -20
  79. package/dist/payments/seller-payment-manager.js.map +1 -1
  80. package/dist/payments/types.d.ts +2 -0
  81. package/dist/payments/types.d.ts.map +1 -1
  82. package/dist/reputation/on-chain-reputation.d.ts +35 -3
  83. package/dist/reputation/on-chain-reputation.d.ts.map +1 -1
  84. package/dist/reputation/on-chain-reputation.js +87 -7
  85. package/dist/reputation/on-chain-reputation.js.map +1 -1
  86. package/dist/seller-request-handler.d.ts +2 -0
  87. package/dist/seller-request-handler.d.ts.map +1 -1
  88. package/dist/seller-request-handler.js +8 -0
  89. package/dist/seller-request-handler.js.map +1 -1
  90. package/dist/storage/migrations/channels/004_add_channel_kind.d.ts +3 -0
  91. package/dist/storage/migrations/channels/004_add_channel_kind.d.ts.map +1 -0
  92. package/dist/storage/migrations/channels/004_add_channel_kind.js +16 -0
  93. package/dist/storage/migrations/channels/004_add_channel_kind.js.map +1 -0
  94. package/dist/storage/migrations/channels/index.d.ts.map +1 -1
  95. package/dist/storage/migrations/channels/index.js +2 -1
  96. package/dist/storage/migrations/channels/index.js.map +1 -1
  97. package/dist/types/peer.d.ts +15 -1
  98. package/dist/types/peer.d.ts.map +1 -1
  99. package/dist/types/peer.js.map +1 -1
  100. package/dist/types/protocol.d.ts +47 -0
  101. package/dist/types/protocol.d.ts.map +1 -1
  102. package/dist/types/protocol.js +4 -0
  103. package/dist/types/protocol.js.map +1 -1
  104. package/dist/verification/samples.js +1 -1
  105. package/dist/verification/samples.js.map +1 -1
  106. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"channel-session-state.d.ts","sourceRoot":"","sources":["../../src/payments/channel-session-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5F,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAI7F,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,CAqBhF;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAGT"}
1
+ {"version":3,"file":"channel-session-state.d.ts","sourceRoot":"","sources":["../../src/payments/channel-session-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,OAAO,cAAc,CAAC,MAAM,GAC5B,OAAO,cAAc,CAAC,OAAO,GAC7B,OAAO,cAAc,CAAC,OAAO,GAC7B,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAI7F,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,CAqBhF;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAGT"}
@@ -1,3 +1,4 @@
1
+ import { CHANNEL_STATUS } from './channel-store.js';
1
2
  const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
2
3
  export function classifyOnChainChannel(channel) {
3
4
  const exists = channel.buyer !== ZERO_ADDRESS
@@ -8,13 +9,13 @@ export function classifyOnChainChannel(channel) {
8
9
  return { exists: false, status: 'missing' };
9
10
  }
10
11
  if (channel.status === 1) {
11
- return { exists: true, status: 'active', channel };
12
+ return { exists: true, status: CHANNEL_STATUS.ACTIVE, channel };
12
13
  }
13
14
  if (channel.status === 2) {
14
- return { exists: true, status: 'settled', channel };
15
+ return { exists: true, status: CHANNEL_STATUS.SETTLED, channel };
15
16
  }
16
17
  if (channel.status === 3) {
17
- return { exists: true, status: 'timeout', channel };
18
+ return { exists: true, status: CHANNEL_STATUS.TIMEOUT, channel };
18
19
  }
19
20
  return { exists: true, status: 'unknown', channel };
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"channel-session-state.js","sourceRoot":"","sources":["../../src/payments/channel-session-state.ts"],"names":[],"mappings":"AAQA,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAElE,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,KAAK,YAAY;WACxC,OAAO,CAAC,MAAM,KAAK,YAAY;WAC/B,OAAO,CAAC,OAAO,GAAG,EAAE;WACpB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACtD,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAoB,EACpB,YAAoB,EACpB,aAAqB;IAErB,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;WAC5D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"channel-session-state.js","sourceRoot":"","sources":["../../src/payments/channel-session-state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAapD,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAElE,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,KAAK,YAAY;WACxC,OAAO,CAAC,MAAM,KAAK,YAAY;WAC/B,OAAO,CAAC,OAAO,GAAG,EAAE;WACpB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAoB,EACpB,YAAoB,EACpB,aAAqB;IAErB,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;WAC5D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC"}
@@ -1,13 +1,26 @@
1
+ import type { SpendingAuthMetadata, SpendingAuthServiceMetadata } from './evm/signatures.js';
1
2
  export declare const CHANNEL_STATUS: {
2
3
  readonly ACTIVE: "active";
3
4
  readonly SETTLED: "settled";
4
5
  readonly TIMEOUT: "timeout";
5
6
  readonly GHOST: "ghost";
6
7
  };
8
+ export declare const CHANNEL_KIND: {
9
+ readonly PAID: "paid";
10
+ readonly FREE: "free";
11
+ };
12
+ export declare const CHANNEL_ROLE: {
13
+ readonly BUYER: "buyer";
14
+ readonly SELLER: "seller";
15
+ };
16
+ export type ChannelStatus = typeof CHANNEL_STATUS[keyof typeof CHANNEL_STATUS];
17
+ export type ChannelKind = typeof CHANNEL_KIND[keyof typeof CHANNEL_KIND];
18
+ export type ChannelRole = typeof CHANNEL_ROLE[keyof typeof CHANNEL_ROLE];
7
19
  export interface StoredChannel {
8
20
  sessionId: string;
9
21
  peerId: string;
10
- role: 'buyer' | 'seller';
22
+ role: ChannelRole;
23
+ channelKind?: ChannelKind;
11
24
  sellerEvmAddr: string;
12
25
  buyerEvmAddr: string;
13
26
  nonce: number;
@@ -20,7 +33,7 @@ export interface StoredChannel {
20
33
  reservedAt: number;
21
34
  settledAt: number | null;
22
35
  settledAmount: string | null;
23
- status: 'active' | 'settled' | 'timeout' | 'ghost';
36
+ status: ChannelStatus;
24
37
  latestBuyerSig: string | null;
25
38
  latestSpendingAuthSig: string | null;
26
39
  latestMetadata: string | null;
@@ -57,22 +70,22 @@ export declare class ChannelStore {
57
70
  private _prepareStatements;
58
71
  upsertChannel(channel: StoredChannel): void;
59
72
  getChannel(sessionId: string): StoredChannel | null;
60
- getActiveChannelByPeer(peerId: string, role: string): StoredChannel | null;
61
- getActiveChannelByPeerAndBuyer(peerId: string, role: string, buyerEvmAddr: string): StoredChannel | null;
62
- getLatestChannel(peerId: string, role: string): StoredChannel | null;
63
- getLatestChannelByPeerAndBuyer(peerId: string, role: string, buyerEvmAddr: string): StoredChannel | null;
64
- updateChannelStatus(sessionId: string, status: string, settledAmount?: string): void;
73
+ getActiveChannelByPeer(peerId: string, role: ChannelRole, channelKind?: ChannelKind): StoredChannel | null;
74
+ getActiveChannelByPeerAndBuyer(peerId: string, role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): StoredChannel | null;
75
+ getLatestChannel(peerId: string, role: ChannelRole, channelKind?: ChannelKind): StoredChannel | null;
76
+ getLatestChannelByPeerAndBuyer(peerId: string, role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): StoredChannel | null;
77
+ updateChannelStatus(sessionId: string, status: ChannelStatus, settledAmount?: string): void;
65
78
  updateTokensDelivered(sessionId: string, tokens: string, requestCount: number): void;
66
- getMaxNonce(role: string): number;
79
+ getMaxNonce(role: ChannelRole): number;
67
80
  /** List all channels ordered by most recent first. */
68
- listAllChannels(limit?: number): StoredChannel[];
81
+ listAllChannels(limit?: number, channelKind?: ChannelKind): StoredChannel[];
69
82
  /** Get all active channels for a given role (buyer or seller). */
70
- getActiveChannels(role: string): StoredChannel[];
71
- getActiveChannelsByBuyer(role: string, buyerEvmAddr: string): StoredChannel[];
83
+ getActiveChannels(role: ChannelRole, channelKind?: ChannelKind): StoredChannel[];
84
+ getActiveChannelsByBuyer(role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): StoredChannel[];
72
85
  /** All channels for a given buyer (any status), ordered by most recent first. */
73
- getAllChannelsByBuyer(role: string, buyerEvmAddr: string): StoredChannel[];
86
+ getAllChannelsByBuyer(role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): StoredChannel[];
74
87
  /** Aggregate totals across all channels for a given peer and role. */
75
- getTotalsByPeer(peerId: string, role: string): {
88
+ getTotalsByPeer(peerId: string, role: ChannelRole, channelKind?: ChannelKind): {
76
89
  totalSessions: number;
77
90
  totalRequests: number;
78
91
  totalInputTokens: number;
@@ -81,7 +94,7 @@ export declare class ChannelStore {
81
94
  firstSessionAt: number | null;
82
95
  lastSessionAt: number | null;
83
96
  };
84
- getTotalsByPeerAndBuyer(peerId: string, role: string, buyerEvmAddr: string): {
97
+ getTotalsByPeerAndBuyer(peerId: string, role: ChannelRole, buyerEvmAddr: string, channelKind?: ChannelKind): {
85
98
  totalSessions: number;
86
99
  totalRequests: number;
87
100
  totalInputTokens: number;
@@ -90,7 +103,7 @@ export declare class ChannelStore {
90
103
  firstSessionAt: number | null;
91
104
  lastSessionAt: number | null;
92
105
  };
93
- getTimedOutChannels(timeoutSeconds: number): StoredChannel[];
106
+ getTimedOutChannels(timeoutSeconds: number, channelKind?: ChannelKind): StoredChannel[];
94
107
  insertReceipt(receipt: Omit<StoredReceipt, 'id'>): void;
95
108
  getReceipts(sessionId: string): StoredReceipt[];
96
109
  /** Atomically update tokens delivered and insert receipt in a single transaction. */
@@ -98,7 +111,10 @@ export declare class ChannelStore {
98
111
  /** Update receipt ack directly by composite key (no load-all-then-filter). */
99
112
  updateReceiptAck(sessionId: string, runningTotal: string, requestCount: number, buyerAckSig: string): void;
100
113
  replaceServiceTotals(sessionId: string, totals: Omit<StoredChannelServiceTotal, 'sessionId' | 'updatedAt'>[]): void;
114
+ replaceMetadataServiceTotals(sessionId: string, services?: readonly SpendingAuthServiceMetadata[]): void;
101
115
  getServiceTotals(sessionId: string): StoredChannelServiceTotal[];
116
+ getMetadataServiceTotals(sessionId: string): SpendingAuthServiceMetadata[];
117
+ getChannelMetadata(channel: StoredChannel): SpendingAuthMetadata;
102
118
  close(): void;
103
119
  }
104
120
  //# sourceMappingURL=channel-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel-store.d.ts","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-store.d.ts","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,14 @@ export const CHANNEL_STATUS = {
9
9
  TIMEOUT: 'timeout',
10
10
  GHOST: 'ghost',
11
11
  };
12
+ export const CHANNEL_KIND = {
13
+ PAID: 'paid',
14
+ FREE: 'free',
15
+ };
16
+ export const CHANNEL_ROLE = {
17
+ BUYER: 'buyer',
18
+ SELLER: 'seller',
19
+ };
12
20
  export class ChannelStore {
13
21
  _db;
14
22
  // ── Cached prepared statements (compiled once, reused every call) ──
@@ -46,19 +54,20 @@ export class ChannelStore {
46
54
  return {
47
55
  upsert: this._db.prepare(`
48
56
  INSERT INTO payment_channels (
49
- session_id, peer_id, role, seller_evm_addr, buyer_evm_addr,
57
+ session_id, peer_id, role, channel_kind, seller_evm_addr, buyer_evm_addr,
50
58
  nonce, auth_max, deadline, previous_session_id, previous_consumption,
51
59
  tokens_delivered, request_count, reserved_at, settled_at, settled_amount,
52
60
  status, latest_buyer_sig, latest_metadata_auth_sig, latest_metadata,
53
61
  created_at, updated_at
54
62
  ) VALUES (
55
- @sessionId, @peerId, @role, @sellerEvmAddr, @buyerEvmAddr,
63
+ @sessionId, @peerId, @role, @channelKind, @sellerEvmAddr, @buyerEvmAddr,
56
64
  @nonce, @authMax, @deadline, @previousSessionId, @previousConsumption,
57
65
  @tokensDelivered, @requestCount, @reservedAt, @settledAt, @settledAmount,
58
66
  @status, @latestBuyerSig, @latestSpendingAuthSig, @latestMetadata,
59
67
  @createdAt, @updatedAt
60
68
  )
61
69
  ON CONFLICT(session_id) DO UPDATE SET
70
+ channel_kind = @channelKind,
62
71
  auth_max = @authMax,
63
72
  previous_consumption = @previousConsumption,
64
73
  tokens_delivered = @tokensDelivered,
@@ -72,16 +81,16 @@ export class ChannelStore {
72
81
  updated_at = @updatedAt
73
82
  `),
74
83
  getById: this._db.prepare('SELECT * FROM payment_channels WHERE session_id = ?'),
75
- getActiveByPeer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND status = ? ORDER BY created_at DESC LIMIT 1'),
76
- getActiveByPeerAndBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? AND status = ? ORDER BY created_at DESC LIMIT 1'),
77
- getLatestByPeer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? ORDER BY created_at DESC LIMIT 1'),
78
- getLatestByPeerAndBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? ORDER BY created_at DESC LIMIT 1'),
84
+ getActiveByPeer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND channel_kind = ? AND status = ? ORDER BY created_at DESC LIMIT 1'),
85
+ getActiveByPeerAndBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? AND channel_kind = ? AND status = ? ORDER BY created_at DESC LIMIT 1'),
86
+ getLatestByPeer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND channel_kind = ? ORDER BY created_at DESC LIMIT 1'),
87
+ getLatestByPeerAndBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? AND channel_kind = ? ORDER BY created_at DESC LIMIT 1'),
79
88
  updateStatusWithAmount: this._db.prepare('UPDATE payment_channels SET status = ?, settled_at = ?, settled_amount = ?, updated_at = ? WHERE session_id = ?'),
80
89
  updateStatus: this._db.prepare('UPDATE payment_channels SET status = ?, updated_at = ? WHERE session_id = ?'),
81
90
  updateTokens: this._db.prepare('UPDATE payment_channels SET tokens_delivered = ?, request_count = ?, updated_at = ? WHERE session_id = ?'),
82
91
  getMaxNonce: this._db.prepare('SELECT MAX(nonce) as max_nonce FROM payment_channels WHERE role = ?'),
83
- listAll: this._db.prepare('SELECT * FROM payment_channels ORDER BY updated_at DESC LIMIT ?'),
84
- getTimedOut: this._db.prepare('SELECT * FROM payment_channels WHERE status = ? AND updated_at < ? ORDER BY updated_at LIMIT 100'),
92
+ listAll: this._db.prepare('SELECT * FROM payment_channels WHERE channel_kind = ? ORDER BY updated_at DESC LIMIT ?'),
93
+ getTimedOut: this._db.prepare('SELECT * FROM payment_channels WHERE channel_kind = ? AND status = ? AND updated_at < ? ORDER BY updated_at LIMIT 100'),
85
94
  insertReceipt: this._db.prepare(`
86
95
  INSERT INTO payment_receipts (
87
96
  session_id, running_total, request_count, response_hash,
@@ -93,8 +102,8 @@ export class ChannelStore {
93
102
  `),
94
103
  getReceipts: this._db.prepare('SELECT * FROM payment_receipts WHERE session_id = ? ORDER BY created_at'),
95
104
  updateReceiptAck: this._db.prepare('UPDATE payment_receipts SET buyer_ack_sig = ? WHERE session_id = ? AND running_total = ? AND request_count = ?'),
96
- getActiveChannels: this._db.prepare('SELECT * FROM payment_channels WHERE role = ? AND status = ? ORDER BY created_at DESC'),
97
- getActiveChannelsByBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE role = ? AND buyer_evm_addr = ? AND status = ? ORDER BY created_at DESC'),
105
+ getActiveChannels: this._db.prepare('SELECT * FROM payment_channels WHERE role = ? AND channel_kind = ? AND status = ? ORDER BY created_at DESC'),
106
+ getActiveChannelsByBuyer: this._db.prepare('SELECT * FROM payment_channels WHERE role = ? AND buyer_evm_addr = ? AND channel_kind = ? AND status = ? ORDER BY created_at DESC'),
98
107
  getTotalsByPeerAndBuyer: this._db.prepare(`
99
108
  SELECT
100
109
  COUNT(*) as total_sessions,
@@ -105,7 +114,7 @@ export class ChannelStore {
105
114
  MIN(reserved_at) as first_session_at,
106
115
  MAX(updated_at) as last_session_at
107
116
  FROM payment_channels
108
- WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ?
117
+ WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ? AND channel_kind = ?
109
118
  `),
110
119
  deleteServiceTotals: this._db.prepare('DELETE FROM payment_channel_service_totals WHERE session_id = ?'),
111
120
  insertServiceTotal: this._db.prepare(`
@@ -128,6 +137,7 @@ export class ChannelStore {
128
137
  sessionId: channel.sessionId,
129
138
  peerId: channel.peerId,
130
139
  role: channel.role,
140
+ channelKind: channel.channelKind ?? CHANNEL_KIND.PAID,
131
141
  sellerEvmAddr: channel.sellerEvmAddr,
132
142
  buyerEvmAddr: channel.buyerEvmAddr,
133
143
  nonce: channel.nonce,
@@ -152,20 +162,20 @@ export class ChannelStore {
152
162
  const row = this._stmts.getById.get(sessionId);
153
163
  return row ? rowToChannel(row) : null;
154
164
  }
155
- getActiveChannelByPeer(peerId, role) {
156
- const row = this._stmts.getActiveByPeer.get(peerId, role, CHANNEL_STATUS.ACTIVE);
165
+ getActiveChannelByPeer(peerId, role, channelKind = CHANNEL_KIND.PAID) {
166
+ const row = this._stmts.getActiveByPeer.get(peerId, role, channelKind, CHANNEL_STATUS.ACTIVE);
157
167
  return row ? rowToChannel(row) : null;
158
168
  }
159
- getActiveChannelByPeerAndBuyer(peerId, role, buyerEvmAddr) {
160
- const row = this._stmts.getActiveByPeerAndBuyer.get(peerId, role, buyerEvmAddr, CHANNEL_STATUS.ACTIVE);
169
+ getActiveChannelByPeerAndBuyer(peerId, role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
170
+ const row = this._stmts.getActiveByPeerAndBuyer.get(peerId, role, buyerEvmAddr, channelKind, CHANNEL_STATUS.ACTIVE);
161
171
  return row ? rowToChannel(row) : null;
162
172
  }
163
- getLatestChannel(peerId, role) {
164
- const row = this._stmts.getLatestByPeer.get(peerId, role);
173
+ getLatestChannel(peerId, role, channelKind = CHANNEL_KIND.PAID) {
174
+ const row = this._stmts.getLatestByPeer.get(peerId, role, channelKind);
165
175
  return row ? rowToChannel(row) : null;
166
176
  }
167
- getLatestChannelByPeerAndBuyer(peerId, role, buyerEvmAddr) {
168
- const row = this._stmts.getLatestByPeerAndBuyer.get(peerId, role, buyerEvmAddr);
177
+ getLatestChannelByPeerAndBuyer(peerId, role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
178
+ const row = this._stmts.getLatestByPeerAndBuyer.get(peerId, role, buyerEvmAddr, channelKind);
169
179
  return row ? rowToChannel(row) : null;
170
180
  }
171
181
  updateChannelStatus(sessionId, status, settledAmount) {
@@ -185,28 +195,28 @@ export class ChannelStore {
185
195
  return row?.max_nonce ?? 0;
186
196
  }
187
197
  /** List all channels ordered by most recent first. */
188
- listAllChannels(limit = 100) {
189
- const rows = this._stmts.listAll.all(limit);
198
+ listAllChannels(limit = 100, channelKind = CHANNEL_KIND.PAID) {
199
+ const rows = this._stmts.listAll.all(channelKind, limit);
190
200
  return rows.map(rowToChannel);
191
201
  }
192
202
  /** Get all active channels for a given role (buyer or seller). */
193
- getActiveChannels(role) {
194
- const rows = this._stmts.getActiveChannels.all(role, CHANNEL_STATUS.ACTIVE);
203
+ getActiveChannels(role, channelKind = CHANNEL_KIND.PAID) {
204
+ const rows = this._stmts.getActiveChannels.all(role, channelKind, CHANNEL_STATUS.ACTIVE);
195
205
  return rows.map(rowToChannel);
196
206
  }
197
- getActiveChannelsByBuyer(role, buyerEvmAddr) {
198
- const rows = this._stmts.getActiveChannelsByBuyer.all(role, buyerEvmAddr, CHANNEL_STATUS.ACTIVE);
207
+ getActiveChannelsByBuyer(role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
208
+ const rows = this._stmts.getActiveChannelsByBuyer.all(role, buyerEvmAddr, channelKind, CHANNEL_STATUS.ACTIVE);
199
209
  return rows.map(rowToChannel);
200
210
  }
201
211
  /** All channels for a given buyer (any status), ordered by most recent first. */
202
- getAllChannelsByBuyer(role, buyerEvmAddr) {
212
+ getAllChannelsByBuyer(role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
203
213
  const rows = this._db
204
- .prepare('SELECT * FROM payment_channels WHERE role = ? AND buyer_evm_addr = ? ORDER BY created_at DESC')
205
- .all(role, buyerEvmAddr);
214
+ .prepare('SELECT * FROM payment_channels WHERE role = ? AND buyer_evm_addr = ? AND channel_kind = ? ORDER BY created_at DESC')
215
+ .all(role, buyerEvmAddr, channelKind);
206
216
  return rows.map(rowToChannel);
207
217
  }
208
218
  /** Aggregate totals across all channels for a given peer and role. */
209
- getTotalsByPeer(peerId, role) {
219
+ getTotalsByPeer(peerId, role, channelKind = CHANNEL_KIND.PAID) {
210
220
  const row = this._db.prepare(`
211
221
  SELECT
212
222
  COUNT(*) as total_sessions,
@@ -217,8 +227,8 @@ export class ChannelStore {
217
227
  MIN(reserved_at) as first_session_at,
218
228
  MAX(updated_at) as last_session_at
219
229
  FROM payment_channels
220
- WHERE peer_id = ? AND role = ?
221
- `).get(peerId, role);
230
+ WHERE peer_id = ? AND role = ? AND channel_kind = ?
231
+ `).get(peerId, role, channelKind);
222
232
  return {
223
233
  totalSessions: row.total_sessions,
224
234
  totalRequests: row.total_requests,
@@ -229,8 +239,8 @@ export class ChannelStore {
229
239
  lastSessionAt: row.last_session_at,
230
240
  };
231
241
  }
232
- getTotalsByPeerAndBuyer(peerId, role, buyerEvmAddr) {
233
- const row = this._stmts.getTotalsByPeerAndBuyer.get(peerId, role, buyerEvmAddr);
242
+ getTotalsByPeerAndBuyer(peerId, role, buyerEvmAddr, channelKind = CHANNEL_KIND.PAID) {
243
+ const row = this._stmts.getTotalsByPeerAndBuyer.get(peerId, role, buyerEvmAddr, channelKind);
234
244
  return {
235
245
  totalSessions: row.total_sessions,
236
246
  totalRequests: row.total_requests,
@@ -242,9 +252,9 @@ export class ChannelStore {
242
252
  };
243
253
  }
244
254
  // ── Timeout queries ───────────────────────────────────────────
245
- getTimedOutChannels(timeoutSeconds) {
255
+ getTimedOutChannels(timeoutSeconds, channelKind = CHANNEL_KIND.PAID) {
246
256
  const cutoff = Date.now() - timeoutSeconds * 1000;
247
- const rows = this._stmts.getTimedOut.all(CHANNEL_STATUS.ACTIVE, cutoff);
257
+ const rows = this._stmts.getTimedOut.all(channelKind, CHANNEL_STATUS.ACTIVE, cutoff);
248
258
  return rows.map(rowToChannel);
249
259
  }
250
260
  // ── Receipt CRUD ──────────────────────────────────────────────
@@ -280,10 +290,38 @@ export class ChannelStore {
280
290
  updatedAt,
281
291
  })));
282
292
  }
293
+ replaceMetadataServiceTotals(sessionId, services = []) {
294
+ this.replaceServiceTotals(sessionId, services.map((service) => ({
295
+ serviceId: service.serviceId,
296
+ cumulativeAmount: service.cumulativeAmount.toString(),
297
+ cumulativeInputTokens: service.cumulativeInputTokens.toString(),
298
+ cumulativeCachedInputTokens: service.cumulativeCachedInputTokens.toString(),
299
+ cumulativeOutputTokens: service.cumulativeOutputTokens.toString(),
300
+ cumulativeRequestCount: service.cumulativeRequestCount.toString(),
301
+ })));
302
+ }
283
303
  getServiceTotals(sessionId) {
284
304
  const rows = this._stmts.getServiceTotals.all(sessionId);
285
305
  return rows.map(rowToServiceTotal);
286
306
  }
307
+ getMetadataServiceTotals(sessionId) {
308
+ return this.getServiceTotals(sessionId).map((total) => ({
309
+ serviceId: total.serviceId,
310
+ cumulativeAmount: BigInt(total.cumulativeAmount),
311
+ cumulativeInputTokens: BigInt(total.cumulativeInputTokens),
312
+ cumulativeCachedInputTokens: BigInt(total.cumulativeCachedInputTokens),
313
+ cumulativeOutputTokens: BigInt(total.cumulativeOutputTokens),
314
+ cumulativeRequestCount: BigInt(total.cumulativeRequestCount),
315
+ }));
316
+ }
317
+ getChannelMetadata(channel) {
318
+ return {
319
+ cumulativeInputTokens: BigInt(channel.tokensDelivered),
320
+ cumulativeOutputTokens: BigInt(channel.previousConsumption),
321
+ cumulativeRequestCount: BigInt(channel.requestCount),
322
+ services: this.getMetadataServiceTotals(channel.sessionId),
323
+ };
324
+ }
287
325
  // ── Lifecycle ─────────────────────────────────────────────────
288
326
  close() {
289
327
  this._db.close();
@@ -294,6 +332,7 @@ function rowToChannel(row) {
294
332
  sessionId: row.session_id,
295
333
  peerId: row.peer_id,
296
334
  role: row.role,
335
+ channelKind: (row.channel_kind ?? CHANNEL_KIND.PAID),
297
336
  sellerEvmAddr: row.seller_evm_addr,
298
337
  buyerEvmAddr: row.buyer_evm_addr,
299
338
  nonce: row.nonce,
@@ -1 +1 @@
1
- {"version":3,"file":"channel-store.js","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-store.js","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type ServiceMetadataDelta, type SpendingAuthMetadata } from './evm/signatures.js';
2
+ export declare class RequestServiceTracker {
3
+ private readonly _limit;
4
+ private readonly _services;
5
+ constructor(_limit?: number);
6
+ track(requestId: string, service: string): void;
7
+ get(requestId: string | undefined): string | undefined;
8
+ take(requestId: string | undefined): string | undefined;
9
+ }
10
+ export declare class CountedRequestTracker {
11
+ private readonly _limit;
12
+ private readonly _requestIds;
13
+ constructor(_limit?: number);
14
+ has(requestId: string | undefined): boolean;
15
+ mark(requestId: string | undefined): void;
16
+ }
17
+ export declare function advanceUsageMetadata(previous: SpendingAuthMetadata | undefined, service: string | undefined, delta: ServiceMetadataDelta): SpendingAuthMetadata;
18
+ //# sourceMappingURL=channel-usage-accounting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-usage-accounting.d.ts","sourceRoot":"","sources":["../../src/payments/channel-usage-accounting.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAgB7B,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAE1B,MAAM,SAAgC;IAEnE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAK/C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAKtD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;CAMxD;AAED,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAEpB,MAAM,SAAgC;IAEnE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAI3C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAK1C;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,oBAAoB,GAAG,SAAS,EAC1C,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,oBAAoB,GAC1B,oBAAoB,CAStB"}
@@ -0,0 +1,66 @@
1
+ import { withServiceMetadata, ZERO_METADATA, } from './evm/signatures.js';
2
+ const DEFAULT_REQUEST_TRACKER_LIMIT = 512;
3
+ function trimOldestMapEntry(map, limit) {
4
+ if (map.size < limit)
5
+ return;
6
+ const oldest = map.keys().next().value;
7
+ if (oldest !== undefined)
8
+ map.delete(oldest);
9
+ }
10
+ function trimOldestSetEntry(set, limit) {
11
+ if (set.size < limit)
12
+ return;
13
+ const oldest = set.values().next().value;
14
+ if (oldest !== undefined)
15
+ set.delete(oldest);
16
+ }
17
+ export class RequestServiceTracker {
18
+ _limit;
19
+ _services = new Map();
20
+ constructor(_limit = DEFAULT_REQUEST_TRACKER_LIMIT) {
21
+ this._limit = _limit;
22
+ }
23
+ track(requestId, service) {
24
+ trimOldestMapEntry(this._services, this._limit);
25
+ this._services.set(requestId, service);
26
+ }
27
+ get(requestId) {
28
+ if (!requestId)
29
+ return undefined;
30
+ return this._services.get(requestId);
31
+ }
32
+ take(requestId) {
33
+ if (!requestId)
34
+ return undefined;
35
+ const service = this._services.get(requestId);
36
+ this._services.delete(requestId);
37
+ return service;
38
+ }
39
+ }
40
+ export class CountedRequestTracker {
41
+ _limit;
42
+ _requestIds = new Set();
43
+ constructor(_limit = DEFAULT_REQUEST_TRACKER_LIMIT) {
44
+ this._limit = _limit;
45
+ }
46
+ has(requestId) {
47
+ return requestId != null && this._requestIds.has(requestId);
48
+ }
49
+ mark(requestId) {
50
+ if (!requestId)
51
+ return;
52
+ trimOldestSetEntry(this._requestIds, this._limit);
53
+ this._requestIds.add(requestId);
54
+ }
55
+ }
56
+ export function advanceUsageMetadata(previous, service, delta) {
57
+ const prev = previous ?? ZERO_METADATA;
58
+ const totals = {
59
+ cumulativeInputTokens: prev.cumulativeInputTokens + delta.inputTokens,
60
+ cumulativeOutputTokens: prev.cumulativeOutputTokens + delta.outputTokens,
61
+ cumulativeRequestCount: prev.cumulativeRequestCount + delta.requests,
62
+ services: prev.services ?? [],
63
+ };
64
+ return withServiceMetadata(totals, service, delta);
65
+ }
66
+ //# sourceMappingURL=channel-usage-accounting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-usage-accounting.js","sourceRoot":"","sources":["../../src/payments/channel-usage-accounting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type AbstractSigner } from 'ethers';
2
+ import { BaseEvmClient } from './base-evm-client.js';
3
+ export interface FreeUsageClientConfig {
4
+ rpcUrl: string;
5
+ fallbackRpcUrls?: string[];
6
+ contractAddress: string;
7
+ evmChainId?: number;
8
+ }
9
+ export interface FreeUsageAgentStats {
10
+ channelCount: number;
11
+ lastSettledAt: number;
12
+ }
13
+ export interface FreeUsageChannelInfo {
14
+ buyer: string;
15
+ seller: string;
16
+ latestSequence: bigint;
17
+ metadataHash: string;
18
+ deadline: bigint;
19
+ updatedAt: bigint;
20
+ closedAt: bigint;
21
+ status: number;
22
+ }
23
+ export declare class FreeUsageClient extends BaseEvmClient {
24
+ constructor(config: FreeUsageClientConfig);
25
+ open(signer: AbstractSigner, buyer: string, salt: string, deadline: bigint, buyerSig: string): Promise<string>;
26
+ record(signer: AbstractSigner, channelId: string, sequence: bigint, metadata: string, deadline: bigint, buyerSig: string): Promise<string>;
27
+ close(signer: AbstractSigner, channelId: string, sequence: bigint, metadata: string, deadline: bigint, buyerSig: string): Promise<string>;
28
+ getSession(channelId: string): Promise<FreeUsageChannelInfo>;
29
+ computeChannelId(buyer: string, seller: string, salt: string): string;
30
+ getAgentStats(agentId: number): Promise<FreeUsageAgentStats>;
31
+ activeChannelCount(seller: string): Promise<bigint>;
32
+ domainSeparator(): Promise<string>;
33
+ }
34
+ //# sourceMappingURL=free-usage-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"free-usage-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/free-usage-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAaD,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,MAAM,EAAE,qBAAqB;IAInC,IAAI,CACR,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAIZ,MAAM,CACV,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAIZ,KAAK,CACT,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAIZ,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAelE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/D,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAS5D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnD,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;CAIzC"}