@rubicon-caliga/cli 0.1.0 → 0.1.2

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.
package/dist/index.js CHANGED
@@ -2,13 +2,15 @@
2
2
  import { mkdir } from "node:fs/promises";
3
3
  import { dirname } from "node:path";
4
4
  import { RubiconClient } from "@rubicon-caliga/agent-sdk";
5
- import { parseUsdcToAtomic } from "@rubicon-caliga/core";
5
+ import { parseUsdcToAtomic, settlementNetworkInfo } from "@rubicon-caliga/core";
6
6
  import { parseArgs, booleanFlag, stringFlag } from "./args.js";
7
7
  import { configPath, HOSTED_GATEWAY_URL, readConfig, writeConfig } from "./config.js";
8
8
  import { CliError, toCliError } from "./errors.js";
9
- import { articleJson, formatAtomic, humanArticle, humanNavigation, humanReceipt, printJson, printJsonEvent, } from "./format.js";
9
+ import { articleJson, formatAtomic, humanArticle, humanNavigation, humanReceipt, humanReceiptSummary, printJson, printJsonEvent, readReceiptSummaryJson, recommendedReadCommandFor, receiptSummaryJson, } from "./format.js";
10
10
  import { selectPaymentEngine } from "./payments.js";
11
+ import { runDoctor, runQuickstartRead } from "./quickstart.js";
11
12
  import { listReceipts, loadReceipt, saveReceipt } from "./receipts.js";
13
+ import packageJson from "../package.json" with { type: "json" };
12
14
  async function main() {
13
15
  const parsed = parseArgs(process.argv.slice(2));
14
16
  const json = booleanFlag(parsed.flags, "json");
@@ -29,7 +31,7 @@ async function main() {
29
31
  authorization: apiKey ? `Bearer ${apiKey}` : undefined,
30
32
  paymentEngine: payment.engine,
31
33
  });
32
- await dispatch({ parsed, json, config, gatewayUrl, apiKey, paymentMode: payment.mode, client });
34
+ await dispatch({ parsed, json, config, gatewayUrl, apiKey, paymentMode: payment.mode, circleChain: payment.circleChain, client });
33
35
  }
34
36
  catch (error) {
35
37
  const cliError = toCliError(error);
@@ -44,10 +46,22 @@ async function main() {
44
46
  }
45
47
  async function dispatch(runtime) {
46
48
  const [command, subcommand, ...rest] = runtime.parsed.positionals;
49
+ if (booleanFlag(runtime.parsed.flags, "version") || command === "version") {
50
+ process.stdout.write(`${packageJson.version}\n`);
51
+ return;
52
+ }
47
53
  if (!command || command === "help" || booleanFlag(runtime.parsed.flags, "help")) {
48
54
  showHelp(runtime.json);
49
55
  return;
50
56
  }
57
+ if (command === "doctor") {
58
+ printJson(await runDoctor(runtime, { cliVersion: packageJson.version }));
59
+ return;
60
+ }
61
+ if (command === "quickstart-read") {
62
+ printJson(await runQuickstartRead(runtime));
63
+ return;
64
+ }
51
65
  if (command === "repository") {
52
66
  await repository(runtime);
53
67
  return;
@@ -130,8 +144,9 @@ async function articleNavigation(runtime, articleId) {
130
144
  if (!goal)
131
145
  throw new CliError("MISSING_GOAL", "rubicon article navigation requires --goal.");
132
146
  const response = await runtime.client.getNavigation(articleId, goal);
147
+ const recommendedReadCommand = recommendedReadCommandFor(response.article.articleId, response.navigation.sellerAgent.recommendedSectionId);
133
148
  if (runtime.json) {
134
- printJson({ success: true, article: articleJson(response.article), navigation: response.navigation });
149
+ printJson({ success: true, article: articleJson(response.article), navigation: response.navigation, recommendedReadCommand });
135
150
  return;
136
151
  }
137
152
  process.stdout.write(`${humanArticle(response.article)}\n\n${humanNavigation(response.navigation)}\n`);
@@ -141,72 +156,174 @@ async function readArticle(runtime, articleId) {
141
156
  throw new CliError("MISSING_ARTICLE_ID", "rubicon read requires an article id.");
142
157
  const maxSpendAtomic = parseBudget(runtime.parsed);
143
158
  const goal = stringFlag(runtime.parsed.flags, "goal");
159
+ const sectionId = sectionFlag(runtime.parsed);
160
+ const stopAfterSection = booleanFlag(runtime.parsed.flags, "stop-after-section");
161
+ const summary = booleanFlag(runtime.parsed.flags, "summary") || booleanFlag(runtime.parsed.flags, "receipt-summary");
162
+ const chunkWords = chunkWordsFlag(runtime.parsed);
163
+ const streamMode = streamModeFlag(runtime.parsed);
144
164
  const maxWordsFlag = stringFlag(runtime.parsed.flags, "max-words");
145
165
  const maxWords = maxWordsFlag === undefined ? undefined : Number(maxWordsFlag);
146
166
  if (maxWords !== undefined && (!Number.isInteger(maxWords) || maxWords < 1)) {
147
167
  throw new CliError("INVALID_MAX_WORDS", "--max-words must be a positive integer.");
148
168
  }
169
+ if (stopAfterSection && !sectionId && !goal) {
170
+ throw new CliError("MISSING_SECTION", "--stop-after-section requires --section/--section-id or --goal.");
171
+ }
172
+ if (sectionId) {
173
+ await validateSection(runtime, articleId, sectionId);
174
+ }
149
175
  if (booleanFlag(runtime.parsed.flags, "dry-run")) {
150
- await dryRun(runtime, articleId, maxSpendAtomic, goal, maxWords);
176
+ await dryRun(runtime, articleId, maxSpendAtomic, goal, maxWords, sectionId, stopAfterSection, chunkWords, streamMode);
151
177
  return;
152
178
  }
153
179
  let finalReceipt = undefined;
180
+ let storedReceipt = undefined;
181
+ let currentSessionId;
182
+ let cancelled = false;
183
+ const abortOnSigint = () => {
184
+ cancelled = true;
185
+ process.exitCode = 130;
186
+ if (!runtime.json) {
187
+ process.stderr.write("\nCancelling read and aborting the active session...\n");
188
+ }
189
+ if (currentSessionId) {
190
+ void runtime.client.abort(currentSessionId, "agent_cancelled").catch(() => { });
191
+ }
192
+ };
193
+ process.once("SIGINT", abortOnSigint);
154
194
  const stream = runtime.client.read({
155
195
  articleId,
156
196
  goal,
197
+ sectionId,
157
198
  maxSpendAtomic,
158
199
  maxWords,
200
+ chunkWords,
201
+ streamMode,
202
+ metadata: stopAfterSection ? { stopAfterSection: true } : undefined,
159
203
  });
160
- for await (const event of stream) {
161
- if (runtime.json) {
162
- printJsonEvent("event", { event });
163
- if (event.type === "article.completed") {
164
- finalReceipt = event.receipt;
204
+ try {
205
+ for await (const event of stream) {
206
+ if (event.type === "session.started") {
207
+ currentSessionId = event.session.sessionId;
165
208
  }
166
- continue;
167
- }
168
- switch (event.type) {
169
- case "seller.message":
170
- process.stdout.write(`Seller: ${event.content}\n\n`);
171
- break;
172
- case "session.started":
173
- process.stdout.write(`Session: ${event.session.sessionId}\n\n`);
174
- break;
175
- case "article.word":
176
- process.stdout.write(`${event.word} `);
177
- break;
178
- case "article.error":
179
- process.stderr.write(`\nError: ${event.message}\n`);
180
- break;
181
- case "article.completed":
182
- finalReceipt = event.receipt;
183
- process.stdout.write(`\n\n${humanReceipt(event.receipt)}\n`);
184
- break;
185
- case "article.usage":
209
+ if (runtime.json && !summary) {
210
+ printJsonEvent("event", { event });
211
+ if (event.type === "article.completed") {
212
+ finalReceipt = event.receipt;
213
+ }
214
+ continue;
215
+ }
216
+ if (runtime.json && summary) {
217
+ if (event.type === "article.completed") {
218
+ finalReceipt = event.receipt;
219
+ }
220
+ continue;
221
+ }
222
+ switch (event.type) {
223
+ case "seller.message":
224
+ if (!summary)
225
+ process.stdout.write(`Seller: ${event.content}\n\n`);
226
+ break;
227
+ case "session.started":
228
+ if (!summary)
229
+ process.stdout.write(`Session: ${event.session.sessionId}\n\n`);
230
+ break;
231
+ case "article.word":
232
+ if (!summary)
233
+ process.stdout.write(`${event.word} `);
234
+ break;
235
+ case "article.bundle":
236
+ case "article.chunk":
237
+ if (!summary)
238
+ process.stdout.write(`${event.words.map((entry) => entry.word).join(" ")} `);
239
+ break;
240
+ case "article.error":
241
+ process.stderr.write(`\nError: ${event.message}\n`);
242
+ break;
243
+ case "article.completed":
244
+ finalReceipt = event.receipt;
245
+ if (!summary) {
246
+ process.stdout.write(`\n\n${humanReceipt(event.receipt)}\n`);
247
+ }
248
+ break;
249
+ case "article.usage":
250
+ break;
251
+ }
252
+ if (cancelled) {
186
253
  break;
254
+ }
187
255
  }
188
256
  }
257
+ finally {
258
+ process.removeListener("SIGINT", abortOnSigint);
259
+ }
189
260
  if (finalReceipt) {
190
- const stored = await saveReceipt(finalReceipt);
261
+ storedReceipt = await saveReceipt(finalReceipt);
262
+ if (runtime.json && !summary) {
263
+ printJson({ type: "receipt.saved", success: true, receiptId: storedReceipt.receiptId, savedAt: storedReceipt.savedAt, receipt: storedReceipt.receipt });
264
+ }
265
+ else if (!runtime.json && !summary) {
266
+ process.stdout.write(`Receipt ID: ${storedReceipt.receiptId}\n`);
267
+ }
268
+ }
269
+ if (summary && finalReceipt) {
191
270
  if (runtime.json) {
192
- printJson({ type: "receipt.saved", success: true, receiptId: stored.receiptId, savedAt: stored.savedAt, receipt: stored.receipt });
271
+ printJson({
272
+ success: true,
273
+ receiptId: storedReceipt?.receiptId,
274
+ savedAt: storedReceipt?.savedAt,
275
+ receipt: readReceiptSummaryJson(finalReceipt),
276
+ });
277
+ }
278
+ else {
279
+ process.stdout.write(`${humanReceiptSummary(finalReceipt, storedReceipt?.receiptId)}\n`);
193
280
  }
194
281
  }
195
282
  }
196
- async function dryRun(runtime, articleId, maxSpendAtomic, goal, maxWords) {
283
+ async function dryRun(runtime, articleId, maxSpendAtomic, goal, maxWords, sectionId, stopAfterSection, chunkWords, streamMode) {
197
284
  const article = await findArticle(runtime, articleId);
285
+ const navigation = goal && !sectionId ? await runtime.client.getNavigation(articleId, goal).catch(() => undefined) : undefined;
286
+ const effectiveSectionId = sectionId ?? navigation?.navigation.sellerAgent.recommendedSectionId;
287
+ const effectiveSection = effectiveSectionId ? findSection(article, effectiveSectionId) : undefined;
288
+ const estimatedWords = Math.min(maxWords ?? Number.MAX_SAFE_INTEGER, effectiveSection?.wordCount ?? article.totalWords);
289
+ const estimatedMaxCostAtomic = BigInt(article.pricePerWordAtomic) * BigInt(estimatedWords);
290
+ const budgetAtomic = BigInt(maxSpendAtomic);
291
+ const networkInfo = settlementNetworkInfo(article.paymentTerms?.network);
292
+ const fundingMethod = article.paymentTerms?.fundingMethod ?? networkInfo.fundingMethod;
293
+ const balanceCheck = {
294
+ checked: false,
295
+ sufficient: undefined,
296
+ reason: "Live Circle Gateway balance is not checked during dry-run.",
297
+ };
298
+ const budgetSufficiency = {
299
+ sufficientForEstimatedMax: budgetAtomic >= estimatedMaxCostAtomic,
300
+ estimatedMaxCostAtomic: `${estimatedMaxCostAtomic}`,
301
+ estimatedMaxCostUsdc: formatAtomic(`${estimatedMaxCostAtomic}`),
302
+ estimatedWords,
303
+ };
198
304
  if (runtime.json) {
199
305
  printJson({
200
306
  success: true,
201
307
  dryRun: true,
202
308
  gatewayUrl: runtime.gatewayUrl,
203
309
  paymentMode: runtime.paymentMode,
310
+ circleChain: article.paymentTerms?.circleChain ?? networkInfo.circleChain ?? runtime.circleChain,
204
311
  budget: {
205
312
  maxSpendAtomic,
206
313
  maxSpendUsdc: formatAtomic(maxSpendAtomic),
207
314
  maxWords,
208
315
  },
209
316
  goal,
317
+ sectionId,
318
+ recommendedSectionId: navigation?.navigation.sellerAgent.recommendedSectionId,
319
+ effectiveSectionId,
320
+ readStartsAt: effectiveSectionId ? `section:${effectiveSectionId}` : "full-article",
321
+ stopAfterSection,
322
+ chunkWords,
323
+ streamMode,
324
+ fundingMethod,
325
+ estimatedMax: budgetSufficiency,
326
+ walletBalance: balanceCheck,
210
327
  article: articleJson(article),
211
328
  });
212
329
  return;
@@ -215,9 +332,22 @@ async function dryRun(runtime, articleId, maxSpendAtomic, goal, maxWords) {
215
332
  "Dry run: no paid read started.",
216
333
  `Gateway: ${runtime.gatewayUrl}`,
217
334
  `Payment mode: ${runtime.paymentMode}`,
335
+ article.paymentTerms?.circleChain ?? networkInfo.circleChain ?? runtime.circleChain
336
+ ? `Circle chain: ${article.paymentTerms?.circleChain ?? networkInfo.circleChain ?? runtime.circleChain}`
337
+ : undefined,
218
338
  `Budget: ${formatAtomic(maxSpendAtomic)} USDC (${maxSpendAtomic} atomic)`,
339
+ `Estimated max for ${effectiveSectionId ? effectiveSectionId : "full article"}: ${formatAtomic(`${estimatedMaxCostAtomic}`)} USDC (${estimatedWords.toLocaleString("en-US")} words)`,
340
+ `Budget covers estimate: ${budgetSufficiency.sufficientForEstimatedMax ? "yes" : "no"}`,
341
+ `Wallet balance check: not checked`,
342
+ fundingMethod ? `Funding: ${fundingMethod}` : undefined,
219
343
  maxWords ? `Max words: ${maxWords}` : undefined,
220
344
  goal ? `Goal: ${goal}` : undefined,
345
+ navigation?.navigation.sellerAgent.recommendedSectionId ? `Recommended section: ${navigation.navigation.sellerAgent.recommendedSectionId}` : undefined,
346
+ `Read starts at: ${effectiveSectionId ? `section ${effectiveSectionId}` : "full article"}`,
347
+ sectionId ? `Section: ${sectionId}` : undefined,
348
+ stopAfterSection ? "Stop after section: yes" : undefined,
349
+ `Stream mode: ${streamMode}`,
350
+ streamMode === "bundled" ? `Bundle words: ${chunkWords ?? 32}` : undefined,
221
351
  "",
222
352
  humanArticle(article),
223
353
  "",
@@ -226,9 +356,11 @@ async function dryRun(runtime, articleId, maxSpendAtomic, goal, maxWords) {
226
356
  .join("\n"));
227
357
  }
228
358
  async function receiptsList(runtime) {
229
- const receipts = await listReceipts();
359
+ const limit = limitFlag(runtime.parsed);
360
+ const receipts = (await listReceipts()).slice(0, limit);
361
+ const summary = booleanFlag(runtime.parsed.flags, "summary") || booleanFlag(runtime.parsed.flags, "receipt-summary");
230
362
  if (runtime.json) {
231
- printJson({ success: true, receipts });
363
+ printJson({ success: true, receipts: summary ? receipts.map(receiptSummaryJson) : receipts });
232
364
  return;
233
365
  }
234
366
  if (receipts.length === 0) {
@@ -243,8 +375,13 @@ async function receiptsShow(runtime, receiptId) {
243
375
  if (!receiptId)
244
376
  throw new CliError("MISSING_RECEIPT_ID", "rubicon receipts show requires a receipt id.");
245
377
  const stored = await loadReceipt(receiptId);
378
+ const summary = booleanFlag(runtime.parsed.flags, "summary") || booleanFlag(runtime.parsed.flags, "receipt-summary");
246
379
  if (runtime.json) {
247
- printJson({ success: true, ...stored });
380
+ printJson({ success: true, ...(summary ? receiptSummaryJson(stored) : stored) });
381
+ return;
382
+ }
383
+ if (summary) {
384
+ process.stdout.write(`${humanReceiptSummary(stored.receipt, stored.receiptId)}\n`);
248
385
  return;
249
386
  }
250
387
  process.stdout.write(`Receipt ID: ${stored.receiptId}\nSaved: ${stored.savedAt}\n${humanReceipt(stored.receipt)}\n`);
@@ -261,6 +398,7 @@ async function configShow(runtime) {
261
398
  gatewayUrl: runtime.gatewayUrl,
262
399
  apiKey: runtime.apiKey ? "set" : undefined,
263
400
  paymentMode: runtime.paymentMode,
401
+ circleChain: runtime.circleChain,
264
402
  },
265
403
  };
266
404
  if (runtime.json) {
@@ -335,6 +473,63 @@ function parseBudget(parsed) {
335
473
  throw new CliError("INVALID_BUDGET", "--max-usdc must be a decimal USDC amount.");
336
474
  }
337
475
  }
476
+ function sectionFlag(parsed) {
477
+ const section = stringFlag(parsed.flags, "section");
478
+ const sectionId = stringFlag(parsed.flags, "section-id");
479
+ if (section && sectionId && section !== sectionId) {
480
+ throw new CliError("MULTIPLE_SECTIONS", "Use either --section or --section-id, not both.");
481
+ }
482
+ return section ?? sectionId;
483
+ }
484
+ function limitFlag(parsed) {
485
+ const rawLimit = stringFlag(parsed.flags, "limit");
486
+ if (rawLimit === undefined)
487
+ return undefined;
488
+ const limit = Number(rawLimit);
489
+ if (!Number.isInteger(limit) || limit < 1) {
490
+ throw new CliError("INVALID_LIMIT", "--limit must be a positive integer.");
491
+ }
492
+ return limit;
493
+ }
494
+ function chunkWordsFlag(parsed) {
495
+ const fast = booleanFlag(parsed.flags, "fast");
496
+ const mode = stringFlag(parsed.flags, "mode");
497
+ if (mode !== undefined && mode !== "batch" && mode !== "word") {
498
+ throw new CliError("INVALID_READ_MODE", "--mode must be batch or word.");
499
+ }
500
+ const rawChunkWords = stringFlag(parsed.flags, "chunk-words");
501
+ if (rawChunkWords === undefined)
502
+ return fast || mode === "batch" ? 32 : undefined;
503
+ const chunkWords = Number(rawChunkWords);
504
+ if (!Number.isInteger(chunkWords) || chunkWords < 1) {
505
+ throw new CliError("INVALID_CHUNK_WORDS", "--chunk-words must be a positive integer.");
506
+ }
507
+ return Math.min(chunkWords, 256);
508
+ }
509
+ function streamModeFlag(parsed) {
510
+ const streamMode = stringFlag(parsed.flags, "stream-mode");
511
+ const legacyMode = stringFlag(parsed.flags, "mode");
512
+ const perWord = booleanFlag(parsed.flags, "per-word");
513
+ if (streamMode !== undefined && streamMode !== "bundled" && streamMode !== "word") {
514
+ throw new CliError("INVALID_STREAM_MODE", "--stream-mode must be bundled or word.");
515
+ }
516
+ if (perWord && streamMode === "bundled") {
517
+ throw new CliError("INVALID_STREAM_MODE", "--per-word cannot be combined with --stream-mode bundled.");
518
+ }
519
+ if ((perWord || legacyMode === "word" || streamMode === "word") && stringFlag(parsed.flags, "chunk-words") !== undefined) {
520
+ throw new CliError("INVALID_STREAM_MODE", "Per-word mode cannot be combined with --chunk-words.");
521
+ }
522
+ return perWord || legacyMode === "word" ? "word" : streamMode ?? "bundled";
523
+ }
524
+ function findSection(article, sectionId) {
525
+ return article.sections.find((section) => section.sectionId === sectionId);
526
+ }
527
+ async function validateSection(runtime, articleId, sectionId) {
528
+ const article = await findArticle(runtime, articleId);
529
+ if (!article.sections.some((section) => section.sectionId === sectionId)) {
530
+ throw new CliError("SECTION_NOT_FOUND", `Section not found for ${articleId}: ${sectionId}`);
531
+ }
532
+ }
338
533
  function matchesQuery(article, query) {
339
534
  const haystack = [
340
535
  article.articleId,
@@ -355,12 +550,14 @@ function matchesQuery(article, query) {
355
550
  function showHelp(json) {
356
551
  const usage = [
357
552
  "rubicon repository",
553
+ "rubicon doctor --json",
554
+ "rubicon quickstart-read --first --goal \"<goal>\" --max-usdc 0.10 --json",
358
555
  "rubicon search \"<query>\"",
359
556
  "rubicon article show <article-id>",
360
557
  "rubicon article navigation <article-id> --goal \"<goal>\"",
361
- "rubicon read <article-id> --max-usdc 0.10 [--goal \"...\"] [--max-words 50] [--dry-run]",
362
- "rubicon receipts list",
363
- "rubicon receipts show <receipt-id>",
558
+ "rubicon read <article-id> --max-usdc 0.10 [--goal \"...\"] [--section <section-id>] [--stop-after-section] [--stream-mode bundled|word] [--chunk-words 32] [--per-word] [--max-words 50] [--summary] [--dry-run]",
559
+ "rubicon receipts list [--limit 10] [--summary]",
560
+ "rubicon receipts show <receipt-id> [--summary]",
364
561
  "rubicon config show",
365
562
  "rubicon config set gateway-url <url>",
366
563
  "rubicon config set api-key <key>",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export type PaymentMode = "static" | "circle-cli";
4
4
  export interface PaymentSelection {
5
5
  mode: PaymentMode;
6
6
  engine: AgentPaymentEngine;
7
+ circleChain?: string;
7
8
  }
8
9
  export declare function selectPaymentEngine(input: {
9
10
  requestedMode?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../src/payments.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGxE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,gBAAgB,CAenB"}
1
+ {"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../src/payments.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGxE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,gBAAgB,CAiBnB"}
package/dist/payments.js CHANGED
@@ -7,12 +7,14 @@ export function selectPaymentEngine(input) {
7
7
  if (selectedMode === "static") {
8
8
  return { mode: selectedMode, engine: new StaticPaymentEngine() };
9
9
  }
10
+ const circleChain = process.env.CIRCLE_CLI_CHAIN ?? input.config.circleChain ?? "ARC-TESTNET";
10
11
  return {
11
12
  mode: selectedMode,
12
13
  engine: new CircleCliGatewayPaymentEngine({
13
14
  agentWalletAddress: envAddress("CIRCLE_AGENT_WALLET_ADDRESS") ?? input.config.agentWalletAddress,
14
- chain: process.env.CIRCLE_CLI_CHAIN ?? input.config.circleChain ?? "ARC-TESTNET",
15
+ chain: circleChain,
15
16
  }),
17
+ circleChain,
16
18
  };
17
19
  }
18
20
  function normalizeMode(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"payments.js","sourceRoot":"","sources":["../src/payments.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAyB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AASvC,MAAM,UAAU,mBAAmB,CAAC,KAInC;IACC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAChH,MAAM,YAAY,GAAG,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAElE,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,mBAAmB,EAAE,EAAE,CAAC;IACnE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,IAAI,6BAA6B,CAAC;YACxC,kBAAkB,EAAE,UAAU,CAAC,6BAA6B,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,kBAAkB;YAChG,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,aAAa;SACjF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;YAAE,OAAO,YAAY,CAAC;QAChE,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B;YAAE,OAAO,YAAY,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IAC/D,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,4CAA4C,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,IAAI,cAAc,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B;QAAE,OAAO,YAAY,CAAC;IAC3G,IAAI,UAAU,KAAK,kBAAkB;QAAE,OAAO,YAAY,CAAC;IAC3D,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,KAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"payments.js","sourceRoot":"","sources":["../src/payments.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAyB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAUvC,MAAM,UAAU,mBAAmB,CAAC,KAInC;IACC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAChH,MAAM,YAAY,GAAG,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAElE,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,mBAAmB,EAAE,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,aAAa,CAAC;IAC9F,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,IAAI,6BAA6B,CAAC;YACxC,kBAAkB,EAAE,UAAU,CAAC,6BAA6B,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,kBAAkB;YAChG,KAAK,EAAE,WAAW;SACnB,CAAC;QACF,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;YAAE,OAAO,YAAY,CAAC;QAChE,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B;YAAE,OAAO,YAAY,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IAC/D,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,4CAA4C,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,IAAI,cAAc,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B;QAAE,OAAO,YAAY,CAAC;IAC3G,IAAI,UAAU,KAAK,kBAAkB;QAAE,OAAO,YAAY,CAAC;IAC3D,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,KAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type ArticleSummary } from "@rubicon-caliga/core";
2
+ import type { ReadReceipt, RubiconClient } from "@rubicon-caliga/agent-sdk";
3
+ import { type ParsedArgs } from "./args.js";
4
+ import { type CircleRunner } from "./circle.js";
5
+ import { type RubiconCliConfig } from "./config.js";
6
+ export interface CommandRuntime {
7
+ parsed: ParsedArgs;
8
+ config: RubiconCliConfig;
9
+ gatewayUrl: string;
10
+ paymentMode: string;
11
+ circleChain?: string;
12
+ client: RubiconClient;
13
+ }
14
+ export interface CommandDeps {
15
+ fetch?: typeof fetch;
16
+ circleRunner?: CircleRunner;
17
+ circleCommand?: string;
18
+ cliVersion?: string;
19
+ }
20
+ export declare function runDoctor(runtime: CommandRuntime, deps?: CommandDeps): Promise<Record<string, unknown>>;
21
+ export declare function runQuickstartRead(runtime: CommandRuntime, deps?: CommandDeps): Promise<Record<string, unknown>>;
22
+ export declare function finalReceiptJson(input: {
23
+ receipt: ReadReceipt;
24
+ article: ArticleSummary;
25
+ receiptId: string;
26
+ goal: string;
27
+ approvedBudgetUsdc: string;
28
+ circleWalletAddress?: `0x${string}`;
29
+ }): Record<string, unknown>;
30
+ //# sourceMappingURL=quickstart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../src/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,cAAc,EAAmB,MAAM,sBAAsB,CAAC;AACtH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAmC,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKrF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAUD,wBAAsB,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmFjH;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA8FzH;AASD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CACrC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2B1B"}