@rubicon-caliga/agent-sdk 0.1.2 → 0.1.4

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.
@@ -6,6 +6,17 @@ const paymentEngine = {
6
6
  return { paymentPayload: { ok: true } };
7
7
  },
8
8
  };
9
+ const chunkPaymentEngine = {
10
+ async createWordPayment() {
11
+ throw new Error("word fallback should not be used");
12
+ },
13
+ async createChunkPayment(_session, input) {
14
+ return {
15
+ paymentPayload: { amountAtomic: `${input.maxWords}` },
16
+ maxWords: input.maxWords,
17
+ };
18
+ },
19
+ };
9
20
  test("run receipt preserves Gateway settlement receipt fields", async () => {
10
21
  const fetcher = (async (input) => {
11
22
  const url = String(input);
@@ -73,13 +84,215 @@ test("run receipt preserves Gateway settlement receipt fields", async () => {
73
84
  assert.equal(receipt.sellerPayTo, "0x3333333333333333333333333333333333333333");
74
85
  assert.equal(receipt.network, "eip155:5042002");
75
86
  });
87
+ test("run can consume chunk stream while preserving per-word receipt fields", async () => {
88
+ const fetcher = (async (input, init) => {
89
+ const url = String(input);
90
+ if (url.endsWith("/v1/sessions")) {
91
+ return jsonResponse({
92
+ sessionId: "session_1",
93
+ state: "active",
94
+ article: article(3),
95
+ navigation: navigation(),
96
+ pricePerWordAtomic: "1",
97
+ maxArticlePriceAtomic: "10",
98
+ conversationId: "conversation_1",
99
+ wordPaymentAtomic: "1",
100
+ gatewayFeeBps: 0,
101
+ paymentRequired: { accepts: [{ amount: "1" }] },
102
+ expiresAt: "2026-06-18T12:00:00.000Z",
103
+ wordsPaid: 0,
104
+ wordsDelivered: 0,
105
+ paidAtomic: "0",
106
+ });
107
+ }
108
+ if (url.endsWith("/v1/sessions/session_1/stream")) {
109
+ const body = JSON.parse(String(init?.body));
110
+ assert.equal(body.maxWords, 3);
111
+ return jsonResponse({
112
+ accepted: true,
113
+ words: [
114
+ { sequence: 0, word: "Rubicon", priceAtomic: "1" },
115
+ { sequence: 1, word: "streams", priceAtomic: "1" },
116
+ { sequence: 2, word: "chunks", priceAtomic: "1" },
117
+ ],
118
+ text: "Rubicon streams chunks",
119
+ wordsPaid: 3,
120
+ wordsDelivered: 3,
121
+ paidAtomic: "3",
122
+ completed: true,
123
+ settlementIds: ["settlement_chunk"],
124
+ payment: {
125
+ ...payment(0, "Rubicon streams chunks"),
126
+ amountAtomic: "3",
127
+ bundleSequence: 0,
128
+ wordsDelivered: 3,
129
+ pricePerWordAtomic: "1",
130
+ text: "Rubicon streams chunks",
131
+ },
132
+ });
133
+ }
134
+ throw new Error(`Unexpected fetch: ${url}`);
135
+ });
136
+ const client = new RubiconClient({
137
+ baseUrl: "http://rubicon.test",
138
+ paymentEngine: chunkPaymentEngine,
139
+ fetch: fetcher,
140
+ });
141
+ const receipt = await client.run({
142
+ articleId: "article_1",
143
+ maxSpendAtomic: "10",
144
+ chunkWords: 3,
145
+ });
146
+ assert.equal(receipt.text, "Rubicon streams chunks");
147
+ assert.equal(receipt.wordsRead, 3);
148
+ assert.equal(receipt.amountPaidAtomic, "3");
149
+ assert.equal(receipt.payments.length, 1);
150
+ assert.equal(receipt.payments[0]?.amountAtomic, "3");
151
+ assert.equal(receipt.payments[0]?.wordsDelivered, 3);
152
+ assert.deepEqual(receipt.settlementIds, ["settlement_chunk"]);
153
+ });
154
+ test("read defaults to bundled mode and clamps bundle size to remaining article words", async () => {
155
+ const fetcher = (async (input, init) => {
156
+ const url = String(input);
157
+ if (url.endsWith("/v1/sessions")) {
158
+ return jsonResponse({
159
+ sessionId: "session_1",
160
+ state: "active",
161
+ article: article(15),
162
+ navigation: navigation(),
163
+ pricePerWordAtomic: "1",
164
+ maxArticlePriceAtomic: "15",
165
+ conversationId: "conversation_1",
166
+ wordPaymentAtomic: "1",
167
+ gatewayFeeBps: 0,
168
+ paymentRequired: { accepts: [{ amount: "1" }] },
169
+ expiresAt: "2026-06-18T12:00:00.000Z",
170
+ wordsPaid: 0,
171
+ wordsDelivered: 0,
172
+ paidAtomic: "0",
173
+ });
174
+ }
175
+ if (url.endsWith("/v1/sessions/session_1/stream")) {
176
+ const body = JSON.parse(String(init?.body));
177
+ assert.equal(body.maxWords, 15);
178
+ return jsonResponse({
179
+ accepted: true,
180
+ words: Array.from({ length: 15 }, (_, sequence) => ({ sequence, word: `w${sequence + 1}`, priceAtomic: "1" })),
181
+ text: Array.from({ length: 15 }, (_, index) => `w${index + 1}`).join(" "),
182
+ wordsPaid: 15,
183
+ wordsDelivered: 15,
184
+ paidAtomic: "15",
185
+ completed: true,
186
+ payment: { ...payment(0, "bundle"), amountAtomic: "15", wordsDelivered: 15, pricePerWordAtomic: "1" },
187
+ });
188
+ }
189
+ throw new Error(`Unexpected fetch: ${url}`);
190
+ });
191
+ const client = new RubiconClient({ baseUrl: "http://rubicon.test", paymentEngine: { ...chunkPaymentEngine, createWordPayment: paymentEngine.createWordPayment }, fetch: fetcher });
192
+ const events = [];
193
+ for await (const event of client.read({ articleId: "article_1", maxSpendAtomic: "100" })) {
194
+ events.push(event.type);
195
+ }
196
+ assert.deepEqual(events, ["session.started", "article.bundle", "article.usage", "article.completed"]);
197
+ });
198
+ test("bundled mode clamps bundle size to budget and max words", async () => {
199
+ const seenMaxWords = [];
200
+ const fetcher = (async (input, init) => {
201
+ const url = String(input);
202
+ if (url.endsWith("/v1/sessions")) {
203
+ return jsonResponse({
204
+ sessionId: "session_1",
205
+ state: "active",
206
+ article: article(100),
207
+ navigation: navigation(),
208
+ pricePerWordAtomic: "2",
209
+ maxArticlePriceAtomic: "200",
210
+ conversationId: "conversation_1",
211
+ wordPaymentAtomic: "2",
212
+ gatewayFeeBps: 0,
213
+ paymentRequired: { accepts: [{ amount: "2" }] },
214
+ expiresAt: "2026-06-18T12:00:00.000Z",
215
+ wordsPaid: 0,
216
+ wordsDelivered: 0,
217
+ paidAtomic: "0",
218
+ });
219
+ }
220
+ if (url.endsWith("/v1/sessions/session_1/stream")) {
221
+ const body = JSON.parse(String(init?.body));
222
+ seenMaxWords.push(body.maxWords);
223
+ return jsonResponse({
224
+ accepted: true,
225
+ words: Array.from({ length: body.maxWords }, (_, sequence) => ({ sequence, word: `w${sequence + 1}`, priceAtomic: "2" })),
226
+ text: "ok",
227
+ wordsPaid: body.maxWords,
228
+ wordsDelivered: body.maxWords,
229
+ paidAtomic: `${body.maxWords * 2}`,
230
+ completed: true,
231
+ });
232
+ }
233
+ throw new Error(`Unexpected fetch: ${url}`);
234
+ });
235
+ const client = new RubiconClient({
236
+ baseUrl: "http://rubicon.test",
237
+ paymentEngine: { ...chunkPaymentEngine, createWordPayment: paymentEngine.createWordPayment },
238
+ fetch: fetcher,
239
+ });
240
+ await client.run({ articleId: "article_1", maxSpendAtomic: "12", maxWords: 10 });
241
+ assert.deepEqual(seenMaxWords, [6]);
242
+ });
243
+ test("explicit word stream mode keeps legacy word events", async () => {
244
+ const fetcher = (async (input) => {
245
+ const url = String(input);
246
+ if (url.endsWith("/v1/sessions")) {
247
+ return jsonResponse({
248
+ sessionId: "session_1",
249
+ state: "active",
250
+ article: article(1),
251
+ navigation: navigation(),
252
+ pricePerWordAtomic: "1",
253
+ maxArticlePriceAtomic: "1",
254
+ conversationId: "conversation_1",
255
+ wordPaymentAtomic: "1",
256
+ gatewayFeeBps: 0,
257
+ paymentRequired: { accepts: [{ amount: "1" }] },
258
+ expiresAt: "2026-06-18T12:00:00.000Z",
259
+ wordsPaid: 0,
260
+ wordsDelivered: 0,
261
+ paidAtomic: "0",
262
+ });
263
+ }
264
+ if (url.endsWith("/v1/sessions/session_1/payments")) {
265
+ return jsonResponse({
266
+ accepted: true,
267
+ sequence: 0,
268
+ word: "Rubicon",
269
+ priceAtomic: "1",
270
+ wordsPaid: 1,
271
+ wordsDelivered: 1,
272
+ paidAtomic: "1",
273
+ completed: true,
274
+ });
275
+ }
276
+ throw new Error(`Unexpected fetch: ${url}`);
277
+ });
278
+ const client = new RubiconClient({
279
+ baseUrl: "http://rubicon.test",
280
+ paymentEngine: { ...chunkPaymentEngine, createWordPayment: paymentEngine.createWordPayment },
281
+ fetch: fetcher,
282
+ });
283
+ const events = [];
284
+ for await (const event of client.read({ articleId: "article_1", maxSpendAtomic: "10", streamMode: "word" })) {
285
+ events.push(event.type);
286
+ }
287
+ assert.deepEqual(events, ["session.started", "article.word", "article.usage", "article.completed"]);
288
+ });
76
289
  function jsonResponse(body) {
77
290
  return new Response(JSON.stringify(body), {
78
291
  status: 200,
79
292
  headers: { "content-type": "application/json" },
80
293
  });
81
294
  }
82
- function article() {
295
+ function article(totalWords = 1) {
83
296
  return {
84
297
  articleId: "article_1",
85
298
  creatorId: "creator_1",
@@ -87,9 +300,9 @@ function article() {
87
300
  title: "Title",
88
301
  author: "Author",
89
302
  state: "published",
90
- totalWords: 1,
303
+ totalWords,
91
304
  pricePerWordAtomic: "1",
92
- maxArticlePriceAtomic: "1",
305
+ maxArticlePriceAtomic: `${totalWords}`,
93
306
  sections: [],
94
307
  };
95
308
  }
@@ -107,4 +320,17 @@ function navigation() {
107
320
  stopConditions: [],
108
321
  };
109
322
  }
323
+ function payment(sequence, word) {
324
+ return {
325
+ paymentId: `payment_${sequence}`,
326
+ sessionId: "session_1",
327
+ articleId: "article_1",
328
+ sequence,
329
+ meteringUnit: "word",
330
+ amountAtomic: "1",
331
+ currency: "USDC",
332
+ settledAt: "2026-06-18T12:00:00.000Z",
333
+ word,
334
+ };
335
+ }
110
336
  //# sourceMappingURL=agent-client.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-client.test.js","sourceRoot":"","sources":["../src/agent-client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-client.test.js","sourceRoot":"","sources":["../src/agent-client.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type { StartSessionResponse, StreamPaymentRequest } from "@rubicon-caliga/core";
2
- import { type CircleDeveloperControlledWalletsClient } from "@circle-fin/developer-controlled-wallets";
2
+ import type { CircleDeveloperControlledWalletsClient } from "@circle-fin/developer-controlled-wallets";
3
3
  import type { AgentPaymentEngine } from "./payment-engine.js";
4
4
  export interface CircleAgentWalletEngineOptions {
5
5
  /** Circle API key that controls the Agent Wallet. */
6
6
  apiKey: string;
7
7
  /** Entity secret registered for the Circle developer account. */
8
8
  entitySecret: string;
9
- /** The Agent Wallet that holds USDC and signs each one-word payment. */
9
+ /** The Agent Wallet that holds USDC and signs Circle / Arc authorizations. */
10
10
  walletId: string;
11
11
  /**
12
12
  * The wallet's on-chain address. Optional — when omitted it is resolved once
@@ -26,16 +26,20 @@ interface TypedDataRequest {
26
26
  message: Record<string, unknown>;
27
27
  }
28
28
  /**
29
- * Circle Agent Wallet engine. Signs the gateway's one-word x402 terms with a
30
- * custodial Circle Agent Wallet the recommended buyer setup so the agent
31
- * never handles a local signing key. Settlement may be batched by Circle, but
32
- * each signed payload still corresponds to exactly one word.
29
+ * Circle Agent Wallet engine. Signs gateway authorization terms with a
30
+ * custodial Circle Agent Wallet so the buyer agent never handles a local
31
+ * signing key. Current gateways may still call the legacy one-word method as a
32
+ * chunk-compatibility path.
33
33
  */
34
34
  export declare class CircleAgentWalletEngine implements AgentPaymentEngine {
35
35
  private readonly x402;
36
36
  private readonly signer;
37
37
  constructor(options: CircleAgentWalletEngineOptions);
38
38
  createWordPayment(session: StartSessionResponse): Promise<StreamPaymentRequest>;
39
+ createChunkPayment(session: StartSessionResponse, input: {
40
+ nextSequence: number;
41
+ maxWords: number;
42
+ }): Promise<StreamPaymentRequest>;
39
43
  }
40
44
  /**
41
45
  * Circle's signTypedData API expects a complete EIP-712 document as a JSON
@@ -1 +1 @@
1
- {"version":3,"file":"circle-agent-wallet.d.ts","sourceRoot":"","sources":["../src/circle-agent-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIvF,OAAO,EAEL,KAAK,sCAAsC,EAC5C,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,WAAW,8BAA8B;IAC7C,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,MAAM,CAAC,EAAE,sCAAsC,CAAC;CACjD;AAED,6EAA6E;AAC7E,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AA0DD;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAErC,OAAO,EAAE,8BAA8B;IAiB7C,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAWtF;AAED;;;;;;GAMG;AACH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG,MAAM,CAIpF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB;;;;;;;EAYtD"}
1
+ {"version":3,"file":"circle-agent-wallet.d.ts","sourceRoot":"","sources":["../src/circle-agent-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAKvF,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AACvG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,WAAW,8BAA8B;IAC7C,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,MAAM,CAAC,EAAE,sCAAsC,CAAC;CACjD;AAED,6EAA6E;AAC7E,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AA0DD;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;gBAErC,OAAO,EAAE,8BAA8B;IAiB7C,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAY/E,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAkB1I;AAED;;;;;;GAMG;AACH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG,MAAM,CAIpF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB;;;;;;;EAYtD"}
@@ -1,7 +1,7 @@
1
1
  import { x402Client } from "@x402/core/client";
2
2
  import { registerBatchScheme } from "@circle-fin/x402-batching/client";
3
3
  import { ExactEvmScheme } from "@x402/evm/exact/client";
4
- import { initiateDeveloperControlledWalletsClient, } from "@circle-fin/developer-controlled-wallets";
4
+ import * as CircleWallets from "@circle-fin/developer-controlled-wallets";
5
5
  /**
6
6
  * viem-shaped signer (`{ address, signTypedData }`) that delegates EIP-712
7
7
  * signing to a Circle Agent Wallet over the API instead of holding a raw
@@ -46,7 +46,7 @@ class CircleAgentWalletSigner {
46
46
  const res = await this.client.signTypedData({
47
47
  walletId: this.walletId,
48
48
  data: serializeTypedData(toEip712Payload(typed)),
49
- memo: "Rubicon one-word payment",
49
+ memo: "Rubicon reading authorization",
50
50
  });
51
51
  const signature = res.data?.signature;
52
52
  if (!signature) {
@@ -56,17 +56,17 @@ class CircleAgentWalletSigner {
56
56
  }
57
57
  }
58
58
  /**
59
- * Circle Agent Wallet engine. Signs the gateway's one-word x402 terms with a
60
- * custodial Circle Agent Wallet the recommended buyer setup so the agent
61
- * never handles a local signing key. Settlement may be batched by Circle, but
62
- * each signed payload still corresponds to exactly one word.
59
+ * Circle Agent Wallet engine. Signs gateway authorization terms with a
60
+ * custodial Circle Agent Wallet so the buyer agent never handles a local
61
+ * signing key. Current gateways may still call the legacy one-word method as a
62
+ * chunk-compatibility path.
63
63
  */
64
64
  export class CircleAgentWalletEngine {
65
65
  x402 = new x402Client();
66
66
  signer;
67
67
  constructor(options) {
68
68
  const client = options.client ??
69
- initiateDeveloperControlledWalletsClient({
69
+ CircleWallets.initiateDeveloperControlledWalletsClient({
70
70
  apiKey: options.apiKey,
71
71
  entitySecret: options.entitySecret,
72
72
  ...(options.baseUrl ? { baseUrl: options.baseUrl } : {}),
@@ -81,7 +81,7 @@ export class CircleAgentWalletEngine {
81
81
  }
82
82
  async createWordPayment(session) {
83
83
  if (!session.paymentRequired) {
84
- throw new Error("Session did not include an x402 one-word payment requirement");
84
+ throw new Error("Session did not include a legacy x402 payment requirement");
85
85
  }
86
86
  // Resolve the wallet address up front so the synchronous `address` read
87
87
  // inside createPaymentPayload sees a real value.
@@ -90,6 +90,22 @@ export class CircleAgentWalletEngine {
90
90
  paymentPayload: await this.x402.createPaymentPayload(session.paymentRequired),
91
91
  };
92
92
  }
93
+ async createChunkPayment(session, input) {
94
+ if (!session.paymentRequired) {
95
+ throw new Error("Session did not include an x402 payment requirement");
96
+ }
97
+ await this.signer.ensureAddress();
98
+ const amountAtomic = BigInt(session.wordPaymentAtomic) * BigInt(input.maxWords);
99
+ return {
100
+ paymentPayload: await this.x402.createPaymentPayload(withChunkRequirement(session.paymentRequired, {
101
+ amountAtomic: `${amountAtomic}`,
102
+ maxWords: input.maxWords,
103
+ nextSequence: input.nextSequence,
104
+ sessionId: session.sessionId,
105
+ })),
106
+ maxWords: input.maxWords,
107
+ };
108
+ }
93
109
  }
94
110
  /**
95
111
  * Circle's signTypedData API expects a complete EIP-712 document as a JSON
@@ -153,4 +169,26 @@ function isEip712Field(field) {
153
169
  typeof field.name === "string" &&
154
170
  typeof field.type === "string");
155
171
  }
172
+ function withChunkRequirement(paymentRequired, chunk) {
173
+ const source = paymentRequired;
174
+ if (!Array.isArray(source.accepts)) {
175
+ return paymentRequired;
176
+ }
177
+ return {
178
+ ...paymentRequired,
179
+ accepts: source.accepts.map((accept) => ({
180
+ ...accept,
181
+ amount: chunk.amountAtomic,
182
+ extra: {
183
+ ...(accept.extra ?? {}),
184
+ amountAtomic: chunk.amountAtomic,
185
+ maxWords: chunk.maxWords,
186
+ sequence: chunk.nextSequence,
187
+ authorizationMode: "chunk",
188
+ nonce: `${chunk.sessionId}:${chunk.nextSequence}:${chunk.maxWords}`,
189
+ idempotencyKey: `${chunk.sessionId}:${chunk.nextSequence}:${chunk.maxWords}`,
190
+ },
191
+ })),
192
+ };
193
+ }
156
194
  //# sourceMappingURL=circle-agent-wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"circle-agent-wallet.js","sourceRoot":"","sources":["../src/circle-agent-wallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,wCAAwC,GAEzC,MAAM,0CAA0C,CAAC;AA6BlD;;;;;GAKG;AACH,MAAM,uBAAuB;IAOR;IACA;IAPnB,+EAA+E;IAC/E,OAAO,GAAkB,4CAA4C,CAAC;IAC9D,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,CAAiB;IAElC,YACmB,MAA8C,EAC9C,QAAgB,EACjC,OAAuB;QAFN,WAAM,GAAN,MAAM,CAAwC;QAC9C,aAAQ,GAAR,QAAQ,CAAQ;QAGjC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;gBACzC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,QAAQ,qCAAqC,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,CAAC,OAAO,GAAG,OAAwB,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAuB;QACzC,0EAA0E;QAC1E,2CAA2C;QAC3C,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,EAAE,0BAA0B;SACjC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;QACtC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,SAA0B,CAAC;IACpC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IACjB,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;IACxB,MAAM,CAA0B;IAEjD,YAAY,OAAuC;QACjD,MAAM,MAAM,GACV,OAAO,CAAC,MAAM;YACd,wCAAwC,CAAC;gBACvC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC,CAAC;QACL,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3F,4EAA4E;QAC5E,4DAA4D;QAC5D,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAA6B;QACnD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,wEAAwE;QACxE,iDAAiD;QACjD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAClC,OAAO;YACL,cAAc,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAwB,CAAC;SACvF,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyC;IAC1E,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC3C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,EAAE,GAAI,KAAK,CAAC,KAAiC,EAAE,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACxB,KAAK,CAAC,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,OAAO;QACL,MAAM;QACN,KAAK;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA+B;IACzD,MAAM,UAAU,GAA4B;QAC1C,CAAC,MAAM,EAAE,QAAQ,CAAC;QAClB,CAAC,SAAS,EAAE,QAAQ,CAAC;QACrB,CAAC,SAAS,EAAE,SAAS,CAAC;QACtB,CAAC,mBAAmB,EAAE,SAAS,CAAC;QAChC,CAAC,MAAM,EAAE,SAAS,CAAC;KACpB,CAAC;IACF,OAAO,UAAU;SACd,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAgC,EAChC,KAA8B,EAC9B,WAAmB;IAEnB,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,MAAM;SACH,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/D,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;QACtD,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CACvD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"circle-agent-wallet.js","sourceRoot":"","sources":["../src/circle-agent-wallet.ts"],"names":[],"mappings":"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"}
@@ -37,16 +37,20 @@ interface TypedDataRequest {
37
37
  message: Record<string, unknown>;
38
38
  }
39
39
  /**
40
- * Circle CLI / Agent Wallet payment engine. It creates the one-word x402
41
- * payment payload for Rubicon's session-first flow and delegates EIP-712
42
- * signing to `circle wallet sign typed-data`, so agents never need raw private
43
- * keys or hand-built x402 payloads.
40
+ * Circle CLI / Agent Wallet payment engine. It delegates EIP-712 signing to
41
+ * `circle wallet sign typed-data`, so agents never need raw private keys or
42
+ * hand-built Circle / Arc payloads. Current gateways may call the legacy
43
+ * one-word method as a chunk-compatibility path.
44
44
  */
45
45
  export declare class CircleCliGatewayPaymentEngine implements AgentPaymentEngine {
46
46
  private readonly x402;
47
47
  private readonly signer;
48
48
  constructor(options?: CircleCliGatewayPaymentEngineOptions);
49
49
  createWordPayment(session: StartSessionResponse): Promise<StreamPaymentRequest>;
50
+ createChunkPayment(session: StartSessionResponse, input: {
51
+ nextSequence: number;
52
+ maxWords: number;
53
+ }): Promise<StreamPaymentRequest>;
50
54
  }
51
55
  export declare class CircleCliGatewaySigner {
52
56
  private readonly options;
@@ -1 +1 @@
1
- {"version":3,"file":"circle-cli-gateway-payment.d.ts","sourceRoot":"","sources":["../src/circle-cli-gateway-payment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEnF,MAAM,WAAW,oCAAoC;IACnD;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACnC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACnC,sCAAsC;IACtC,UAAU,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,qBAAa,6BAA8B,YAAW,kBAAkB;IACtE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;gBAEpC,OAAO,GAAE,oCAAyC;IAcxD,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAStF;AAED,qBAAa,sBAAsB;IAO/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,kBAAkB,EAAE,KAAK,MAAM,EAAE,CAAgD;IACjF,OAAO,EAAE,KAAK,MAAM,EAAE,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAC,CAAgB;gBAGf,OAAO,EAAE;QACxB,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QACnC,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,eAAe,CAAC;KACzB;IAaG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;YAgBtD,cAAc;YASd,yBAAyB;YAczB,iBAAiB;CAahC;AAgBD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAiBrE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAezE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAO1E"}
1
+ {"version":3,"file":"circle-cli-gateway-payment.d.ts","sourceRoot":"","sources":["../src/circle-cli-gateway-payment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEnF,MAAM,WAAW,oCAAoC;IACnD;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACnC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACnC,sCAAsC;IACtC,UAAU,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,qBAAa,6BAA8B,YAAW,kBAAkB;IACtE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;gBAEpC,OAAO,GAAE,oCAAyC;IAcxD,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAU/E,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAkB1I;AAED,qBAAa,sBAAsB;IAO/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,kBAAkB,EAAE,KAAK,MAAM,EAAE,CAAgD;IACjF,OAAO,EAAE,KAAK,MAAM,EAAE,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAC,CAAgB;gBAGf,OAAO,EAAE;QACxB,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QACnC,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,eAAe,CAAC;KACzB;IAaG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;YAgBtD,cAAc;YASd,yBAAyB;YAczB,iBAAiB;CAahC;AAgBD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAiBrE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAezE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAO1E"}
@@ -6,10 +6,10 @@ import { ExactEvmScheme } from "@x402/evm/exact/client";
6
6
  import { serializeTypedData, toEip712Payload } from "./circle-agent-wallet.js";
7
7
  const execFileAsync = promisify(execFile);
8
8
  /**
9
- * Circle CLI / Agent Wallet payment engine. It creates the one-word x402
10
- * payment payload for Rubicon's session-first flow and delegates EIP-712
11
- * signing to `circle wallet sign typed-data`, so agents never need raw private
12
- * keys or hand-built x402 payloads.
9
+ * Circle CLI / Agent Wallet payment engine. It delegates EIP-712 signing to
10
+ * `circle wallet sign typed-data`, so agents never need raw private keys or
11
+ * hand-built Circle / Arc payloads. Current gateways may call the legacy
12
+ * one-word method as a chunk-compatibility path.
13
13
  */
14
14
  export class CircleCliGatewayPaymentEngine {
15
15
  x402 = new x402Client();
@@ -29,13 +29,29 @@ export class CircleCliGatewayPaymentEngine {
29
29
  }
30
30
  async createWordPayment(session) {
31
31
  if (!session.paymentRequired) {
32
- throw new Error("Session did not include an x402 one-word payment requirement");
32
+ throw new Error("Session did not include a legacy x402 payment requirement");
33
33
  }
34
34
  await this.signer.ensureAddress();
35
35
  return {
36
36
  paymentPayload: await this.x402.createPaymentPayload(session.paymentRequired),
37
37
  };
38
38
  }
39
+ async createChunkPayment(session, input) {
40
+ if (!session.paymentRequired) {
41
+ throw new Error("Session did not include an x402 payment requirement");
42
+ }
43
+ await this.signer.ensureAddress();
44
+ const amountAtomic = BigInt(session.wordPaymentAtomic) * BigInt(input.maxWords);
45
+ return {
46
+ paymentPayload: await this.x402.createPaymentPayload(withChunkRequirement(session.paymentRequired, {
47
+ amountAtomic: `${amountAtomic}`,
48
+ maxWords: input.maxWords,
49
+ nextSequence: input.nextSequence,
50
+ sessionId: session.sessionId,
51
+ })),
52
+ maxWords: input.maxWords,
53
+ };
54
+ }
39
55
  }
40
56
  export class CircleCliGatewaySigner {
41
57
  options;
@@ -198,6 +214,28 @@ function findString(value, keys) {
198
214
  }
199
215
  return undefined;
200
216
  }
217
+ function withChunkRequirement(paymentRequired, chunk) {
218
+ const source = paymentRequired;
219
+ if (!Array.isArray(source.accepts)) {
220
+ return paymentRequired;
221
+ }
222
+ return {
223
+ ...paymentRequired,
224
+ accepts: source.accepts.map((accept) => ({
225
+ ...accept,
226
+ amount: chunk.amountAtomic,
227
+ extra: {
228
+ ...(accept.extra ?? {}),
229
+ amountAtomic: chunk.amountAtomic,
230
+ maxWords: chunk.maxWords,
231
+ sequence: chunk.nextSequence,
232
+ authorizationMode: "chunk",
233
+ nonce: `${chunk.sessionId}:${chunk.nextSequence}:${chunk.maxWords}`,
234
+ idempotencyKey: `${chunk.sessionId}:${chunk.nextSequence}:${chunk.maxWords}`,
235
+ },
236
+ })),
237
+ };
238
+ }
201
239
  function parseJson(value) {
202
240
  try {
203
241
  return JSON.parse(value);
@@ -1 +1 @@
1
- {"version":3,"file":"circle-cli-gateway-payment.js","sourceRoot":"","sources":["../src/circle-cli-gateway-payment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"circle-cli-gateway-payment.js","sourceRoot":"","sources":["../src/circle-cli-gateway-payment.ts"],"names":[],"mappings":"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"}