agentcard 0.0.30 → 0.0.33
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/src/commands/3ds.js +1 -15
- package/dist/src/commands/3ds.js.map +1 -1
- package/dist/src/commands/agentic.d.ts +42 -0
- package/dist/src/commands/agentic.js +591 -0
- package/dist/src/commands/agentic.js.map +1 -0
- package/dist/src/commands/cards/details.d.ts +7 -0
- package/dist/src/commands/cards/details.js +13 -3
- package/dist/src/commands/cards/details.js.map +1 -1
- package/dist/src/commands/limit.js +1 -1
- package/dist/src/commands/request/get.js +1 -0
- package/dist/src/commands/request/get.js.map +1 -1
- package/dist/src/commands/request/new.js +1 -0
- package/dist/src/commands/request/new.js.map +1 -1
- package/dist/src/commands/wallet/fetch.js +1 -1
- package/dist/src/commands/wallet/fetch.js.map +1 -1
- package/dist/src/index.js +73 -3
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
package/dist/src/commands/3ds.js
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import ora from "ora";
|
|
3
3
|
import { get } from "../lib/api.js";
|
|
4
|
-
function formatAge(receivedAt) {
|
|
5
|
-
const timestamp = new Date(receivedAt).getTime();
|
|
6
|
-
if (!Number.isFinite(timestamp))
|
|
7
|
-
return "";
|
|
8
|
-
const seconds = Math.max(0, Math.floor((Date.now() - timestamp) / 1000));
|
|
9
|
-
if (seconds < 10)
|
|
10
|
-
return "just now";
|
|
11
|
-
if (seconds < 60)
|
|
12
|
-
return `${seconds}s ago`;
|
|
13
|
-
const minutes = Math.floor(seconds / 60);
|
|
14
|
-
return `${minutes}m ago`;
|
|
15
|
-
}
|
|
16
4
|
export async function threeDS() {
|
|
17
5
|
const spinner = ora("Fetching recent 3DS codes...").start();
|
|
18
6
|
let res;
|
|
@@ -35,9 +23,7 @@ export async function threeDS() {
|
|
|
35
23
|
return;
|
|
36
24
|
}
|
|
37
25
|
for (const item of codes) {
|
|
38
|
-
|
|
39
|
-
const age = formatAge(item.receivedAt);
|
|
40
|
-
console.log(` ${chalk.white(item.code)} ${chalk.green(amount.padEnd(10))} ${chalk.dim(age)}`);
|
|
26
|
+
console.log(` ${chalk.white(item.code)}`);
|
|
41
27
|
}
|
|
42
28
|
console.log("");
|
|
43
29
|
console.log(chalk.dim(" No match? Re-run `agentcard 3ds` after checkout sends the challenge."));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3ds.js","sourceRoot":"","sources":["../../../src/commands/3ds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"3ds.js","sourceRoot":"","sources":["../../../src/commands/3ds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAUpC,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5D,IAAI,GAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,GAAG,CAAuB,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACrF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAEpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,iGAAiG,CAClG,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,wEAAwE,CACzE,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare function agenticConnect(opts: {
|
|
2
|
+
network?: string;
|
|
3
|
+
force?: boolean;
|
|
4
|
+
noOpen?: boolean;
|
|
5
|
+
timeout?: string;
|
|
6
|
+
json?: boolean;
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
export declare function agenticCards(opts: {
|
|
9
|
+
json?: boolean;
|
|
10
|
+
}): Promise<void>;
|
|
11
|
+
export declare function agenticDefault(id: string, opts: {
|
|
12
|
+
json?: boolean;
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
export declare function agenticRemove(id: string, opts: {
|
|
15
|
+
json?: boolean;
|
|
16
|
+
}): Promise<void>;
|
|
17
|
+
export declare function agenticBuy(opts: {
|
|
18
|
+
merchant?: string;
|
|
19
|
+
url?: string;
|
|
20
|
+
item?: string;
|
|
21
|
+
amount?: string;
|
|
22
|
+
currency?: string;
|
|
23
|
+
card?: string;
|
|
24
|
+
network?: string;
|
|
25
|
+
expiresIn?: string;
|
|
26
|
+
idempotencyKey?: string;
|
|
27
|
+
checkout?: boolean;
|
|
28
|
+
wait?: boolean;
|
|
29
|
+
credentials?: boolean;
|
|
30
|
+
noOpen?: boolean;
|
|
31
|
+
timeout?: string;
|
|
32
|
+
json?: boolean;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
export declare function agenticStatus(instructionId: string, opts: {
|
|
35
|
+
json?: boolean;
|
|
36
|
+
}): Promise<void>;
|
|
37
|
+
export declare function agenticCredentials(instructionId: string, opts: {
|
|
38
|
+
json?: boolean;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
export declare function agenticInstructions(opts: {
|
|
41
|
+
json?: boolean;
|
|
42
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,591 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import inquirer from "inquirer";
|
|
3
|
+
import open from "open";
|
|
4
|
+
import ora from "ora";
|
|
5
|
+
import { API_URL, del, get, post } from "../lib/api.js";
|
|
6
|
+
const DEFAULT_TIMEOUT_SECONDS = 15 * 60;
|
|
7
|
+
const POLL_INTERVAL_MS = 2000;
|
|
8
|
+
function normalizeNetwork(value, opts) {
|
|
9
|
+
const network = (value ?? "auto").toLowerCase();
|
|
10
|
+
if (network === "auto" || network === "visa" || network === "mastercard") {
|
|
11
|
+
return network;
|
|
12
|
+
}
|
|
13
|
+
fail("--network must be one of: auto, visa, mastercard", opts);
|
|
14
|
+
}
|
|
15
|
+
function isJson(opts) {
|
|
16
|
+
return opts.json === true;
|
|
17
|
+
}
|
|
18
|
+
function printJson(value) {
|
|
19
|
+
console.log(JSON.stringify(value, null, 2));
|
|
20
|
+
}
|
|
21
|
+
function fail(message, opts) {
|
|
22
|
+
if (opts?.json) {
|
|
23
|
+
printJson({ ok: false, error: message });
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console.error(chalk.red(message));
|
|
27
|
+
}
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
function errorMessage(err) {
|
|
31
|
+
return err instanceof Error ? err.message : "Unknown error";
|
|
32
|
+
}
|
|
33
|
+
function spinner(text, opts) {
|
|
34
|
+
return opts?.json ? null : ora(text).start();
|
|
35
|
+
}
|
|
36
|
+
function parseTimeout(value, opts) {
|
|
37
|
+
if (!value)
|
|
38
|
+
return DEFAULT_TIMEOUT_SECONDS;
|
|
39
|
+
const seconds = Number(value);
|
|
40
|
+
if (!Number.isFinite(seconds) || seconds <= 0) {
|
|
41
|
+
fail("--timeout must be a positive number of seconds.", opts);
|
|
42
|
+
}
|
|
43
|
+
return seconds;
|
|
44
|
+
}
|
|
45
|
+
function parseExpiresIn(value, opts) {
|
|
46
|
+
if (!value)
|
|
47
|
+
return 15;
|
|
48
|
+
const minutes = Number(value);
|
|
49
|
+
if (!Number.isInteger(minutes) || minutes < 1 || minutes > 24 * 60) {
|
|
50
|
+
fail("--expires-in must be an integer from 1 to 1440 minutes.", opts);
|
|
51
|
+
}
|
|
52
|
+
return minutes;
|
|
53
|
+
}
|
|
54
|
+
function parseAmount(value, opts) {
|
|
55
|
+
const raw = value?.trim();
|
|
56
|
+
if (!raw || !/^\d+(?:\.\d{1,2})?$/.test(raw)) {
|
|
57
|
+
fail("--amount is required and must be dollars, e.g. 24.50", opts);
|
|
58
|
+
}
|
|
59
|
+
const amount = Number(raw);
|
|
60
|
+
if (!Number.isFinite(amount) || amount <= 0) {
|
|
61
|
+
fail("--amount must be greater than 0.", opts);
|
|
62
|
+
}
|
|
63
|
+
return amount.toFixed(2);
|
|
64
|
+
}
|
|
65
|
+
function validateUrl(value, opts) {
|
|
66
|
+
if (!value) {
|
|
67
|
+
fail("--url is required. Pass the real merchant checkout or site URL.", opts);
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
const url = new URL(value);
|
|
71
|
+
if (!["http:", "https:"].includes(url.protocol)) {
|
|
72
|
+
throw new Error("bad protocol");
|
|
73
|
+
}
|
|
74
|
+
return url.toString();
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
fail("--url must be a valid http(s) URL.", opts);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function formatAmount(value, currency) {
|
|
81
|
+
return `${currency} ${Number(value).toFixed(2)}`;
|
|
82
|
+
}
|
|
83
|
+
function colorStatus(status) {
|
|
84
|
+
switch (status) {
|
|
85
|
+
case "active":
|
|
86
|
+
case "approved":
|
|
87
|
+
case "credentials_retrieved":
|
|
88
|
+
return chalk.green(status);
|
|
89
|
+
case "pending":
|
|
90
|
+
case "pending_verification":
|
|
91
|
+
return chalk.yellow(status);
|
|
92
|
+
case "expired":
|
|
93
|
+
case "deleted":
|
|
94
|
+
return chalk.dim(status);
|
|
95
|
+
case "failed":
|
|
96
|
+
case "declined":
|
|
97
|
+
case "cancelled":
|
|
98
|
+
return chalk.red(status);
|
|
99
|
+
default:
|
|
100
|
+
return status;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function isActive(method) {
|
|
104
|
+
return method.status === "active" || method.status === "approved";
|
|
105
|
+
}
|
|
106
|
+
function methodNetwork(method) {
|
|
107
|
+
const compact = (method.network || method.provider || method.brand || "")
|
|
108
|
+
.toLowerCase()
|
|
109
|
+
.replace(/[\s_-]/g, "");
|
|
110
|
+
if (compact.includes("visa"))
|
|
111
|
+
return "visa";
|
|
112
|
+
if (compact.includes("mastercard"))
|
|
113
|
+
return "mastercard";
|
|
114
|
+
return "unknown";
|
|
115
|
+
}
|
|
116
|
+
function unsupportedCardMessage(method) {
|
|
117
|
+
const fallback = "Use the reliable single-use flow instead: `agentcard request new --amount <dollars>`. If checkout asks, run `agentcard 3ds`.";
|
|
118
|
+
const network = methodNetwork(method);
|
|
119
|
+
if (network === "visa") {
|
|
120
|
+
return `Card enrollment failed. This card is not currently supported by Visa Intelligent Commerce. ${fallback}`;
|
|
121
|
+
}
|
|
122
|
+
if (network === "mastercard") {
|
|
123
|
+
return `Card enrollment failed. This card is not currently supported by Mastercard Agent Pay. ${fallback}`;
|
|
124
|
+
}
|
|
125
|
+
return `Card enrollment failed. This card is not currently supported for agentic commerce. ${fallback}`;
|
|
126
|
+
}
|
|
127
|
+
function filterByNetwork(methods, network) {
|
|
128
|
+
if (network === "auto")
|
|
129
|
+
return methods;
|
|
130
|
+
return methods.filter((method) => methodNetwork(method) === network);
|
|
131
|
+
}
|
|
132
|
+
async function fetchPaymentMethods(opts) {
|
|
133
|
+
const params = new URLSearchParams();
|
|
134
|
+
if (opts?.includeFailed)
|
|
135
|
+
params.set("includeFailed", "true");
|
|
136
|
+
if (opts?.failedSince)
|
|
137
|
+
params.set("failedSince", opts.failedSince);
|
|
138
|
+
const query = params.size > 0 ? `?${params.toString()}` : "";
|
|
139
|
+
const response = await get(`/api/agentic/payment-methods${query}`);
|
|
140
|
+
return response.paymentMethods ?? [];
|
|
141
|
+
}
|
|
142
|
+
async function createBrowserToken(body) {
|
|
143
|
+
return post("/api/agentic/browser-token", body);
|
|
144
|
+
}
|
|
145
|
+
function withActionToken(url, token) {
|
|
146
|
+
return `${url}#agentic_token=${encodeURIComponent(token)}`;
|
|
147
|
+
}
|
|
148
|
+
async function openOrPrint(url, opts) {
|
|
149
|
+
if (opts.noOpen) {
|
|
150
|
+
if (!opts.json) {
|
|
151
|
+
console.log(`Open this URL: ${chalk.cyan(url)}`);
|
|
152
|
+
}
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (!opts.json) {
|
|
156
|
+
console.log(chalk.blue("Opening browser..."));
|
|
157
|
+
}
|
|
158
|
+
await open(url);
|
|
159
|
+
}
|
|
160
|
+
function printCards(methods) {
|
|
161
|
+
if (methods.length === 0) {
|
|
162
|
+
console.log(chalk.yellow("No agentic cards connected. Run `agentcard agentic connect`."));
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const idWidth = Math.max(2, ...methods.map((method) => method.id.length)) + 2;
|
|
166
|
+
const header = `${"ID".padEnd(idWidth)} ${"Network".padEnd(12)} ${"Brand".padEnd(12)} ${"Last4".padEnd(8)} ${"Status".padEnd(22)} Default`;
|
|
167
|
+
console.log(chalk.bold(header));
|
|
168
|
+
console.log("-".repeat(header.length));
|
|
169
|
+
for (const method of methods) {
|
|
170
|
+
const status = colorStatus(method.status);
|
|
171
|
+
const statusPadded = status + " ".repeat(Math.max(0, 22 - method.status.length));
|
|
172
|
+
console.log(`${method.id.padEnd(idWidth)} ${methodNetwork(method).padEnd(12)} ${(method.brand ?? "-").padEnd(12)} ${(method.last4 ?? "-").padEnd(8)} ${statusPadded} ${method.isDefault ? "yes" : "-"}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
function printInstruction(instruction) {
|
|
176
|
+
console.log("");
|
|
177
|
+
console.log(chalk.bold(" Agentic Purchase"));
|
|
178
|
+
console.log(chalk.dim(" ────────────────────────────"));
|
|
179
|
+
console.log(` ID: ${chalk.white(instruction.instructionId)}`);
|
|
180
|
+
console.log(` Merchant: ${chalk.white(instruction.merchant.name)}`);
|
|
181
|
+
console.log(` URL: ${chalk.white(instruction.merchant.url)}`);
|
|
182
|
+
console.log(` Item: ${chalk.white(instruction.item)}`);
|
|
183
|
+
console.log(` Amount: ${chalk.green(formatAmount(instruction.amount.value, instruction.amount.currency))}`);
|
|
184
|
+
console.log(` Status: ${colorStatus(instruction.status)}`);
|
|
185
|
+
console.log(` Expires: ${chalk.white(new Date(instruction.expiresAt).toLocaleString())}`);
|
|
186
|
+
console.log(chalk.dim(" ────────────────────────────"));
|
|
187
|
+
}
|
|
188
|
+
function printInstructions(instructions) {
|
|
189
|
+
if (instructions.length === 0) {
|
|
190
|
+
console.log(chalk.yellow("No agentic purchase instructions yet."));
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const idWidth = Math.max(2, ...instructions.map((item) => item.instructionId.length)) + 2;
|
|
194
|
+
const header = `${"ID".padEnd(idWidth)} ${"Amount".padEnd(14)} ${"Status".padEnd(24)} Merchant`;
|
|
195
|
+
console.log(chalk.bold(header));
|
|
196
|
+
console.log("-".repeat(header.length));
|
|
197
|
+
for (const instruction of instructions) {
|
|
198
|
+
const amount = formatAmount(instruction.amount.value, instruction.amount.currency);
|
|
199
|
+
const status = colorStatus(instruction.status);
|
|
200
|
+
const statusPadded = status + " ".repeat(Math.max(0, 24 - instruction.status.length));
|
|
201
|
+
console.log(`${instruction.instructionId.padEnd(idWidth)} ${amount.padEnd(14)} ${statusPadded} ${instruction.merchant.name}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
function printCredential(instruction, credentials) {
|
|
205
|
+
const expiry = `${String(credentials.card.expiration_month).padStart(2, "0")}/${credentials.card.expiration_year}`;
|
|
206
|
+
console.log("");
|
|
207
|
+
console.log(chalk.bold(" One-Time Checkout Credential"));
|
|
208
|
+
console.log(chalk.dim(" ────────────────────────────"));
|
|
209
|
+
console.log(` Number: ${chalk.white(credentials.card.number)}`);
|
|
210
|
+
console.log(` CVV: ${chalk.white(credentials.card.cvc)}`);
|
|
211
|
+
console.log(` Expiry: ${chalk.white(expiry)}`);
|
|
212
|
+
console.log(` Merchant: ${chalk.white(instruction.merchant.name)}`);
|
|
213
|
+
console.log(` Amount: ${chalk.green(formatAmount(instruction.amount.value, instruction.amount.currency))}`);
|
|
214
|
+
if (credentials.expires_at) {
|
|
215
|
+
console.log(` Expires: ${chalk.white(new Date(credentials.expires_at).toLocaleString())}`);
|
|
216
|
+
}
|
|
217
|
+
console.log(chalk.dim(" ────────────────────────────"));
|
|
218
|
+
console.log("");
|
|
219
|
+
console.log(chalk.yellow(" Keep these details secure. Use them once."));
|
|
220
|
+
console.log("");
|
|
221
|
+
}
|
|
222
|
+
async function selectPaymentMethod(opts) {
|
|
223
|
+
const activeMethods = (await fetchPaymentMethods()).filter(isActive);
|
|
224
|
+
if (opts.card) {
|
|
225
|
+
const selected = activeMethods.find((method) => method.id === opts.card);
|
|
226
|
+
if (!selected) {
|
|
227
|
+
fail("Selected agentic card was not found or is not active.", opts);
|
|
228
|
+
}
|
|
229
|
+
return selected;
|
|
230
|
+
}
|
|
231
|
+
const methods = filterByNetwork(activeMethods, opts.network);
|
|
232
|
+
if (methods.length === 0) {
|
|
233
|
+
fail("No active agentic card found. Run `agentcard agentic connect` first.", opts);
|
|
234
|
+
}
|
|
235
|
+
if (methods.length === 1)
|
|
236
|
+
return methods[0];
|
|
237
|
+
const defaultMethod = methods.find((method) => method.isDefault);
|
|
238
|
+
if (defaultMethod)
|
|
239
|
+
return defaultMethod;
|
|
240
|
+
if (process.stdin.isTTY === true && !opts.json) {
|
|
241
|
+
const { id } = await inquirer.prompt([
|
|
242
|
+
{
|
|
243
|
+
type: "list",
|
|
244
|
+
name: "id",
|
|
245
|
+
message: "Choose an agentic card:",
|
|
246
|
+
choices: methods.map((method) => ({
|
|
247
|
+
name: `${methodNetwork(method)} ${method.brand ?? "card"} ending ${method.last4 ?? "----"} (${method.id})`,
|
|
248
|
+
value: method.id,
|
|
249
|
+
})),
|
|
250
|
+
},
|
|
251
|
+
]);
|
|
252
|
+
return methods.find((method) => method.id === id);
|
|
253
|
+
}
|
|
254
|
+
fail("Multiple active agentic cards found. Pass --card <payment-method-id>.", opts);
|
|
255
|
+
}
|
|
256
|
+
async function pollForConnection(opts) {
|
|
257
|
+
const deadline = Date.now() + opts.timeoutSeconds * 1000;
|
|
258
|
+
while (Date.now() < deadline) {
|
|
259
|
+
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
260
|
+
const methods = filterByNetwork(await fetchPaymentMethods({
|
|
261
|
+
includeFailed: true,
|
|
262
|
+
failedSince: opts.failedSince,
|
|
263
|
+
}), opts.network);
|
|
264
|
+
const failed = methods.find((method) => {
|
|
265
|
+
if (method.status !== "failed")
|
|
266
|
+
return false;
|
|
267
|
+
const previousUpdatedAt = opts.beforeUpdatedAt.get(method.id);
|
|
268
|
+
return (!opts.beforeIds.has(method.id) ||
|
|
269
|
+
(previousUpdatedAt !== undefined &&
|
|
270
|
+
method.updatedAt !== previousUpdatedAt));
|
|
271
|
+
});
|
|
272
|
+
if (failed) {
|
|
273
|
+
fail(unsupportedCardMessage(failed), opts);
|
|
274
|
+
}
|
|
275
|
+
const active = methods.filter(isActive);
|
|
276
|
+
if (!opts.force && active.length > 0) {
|
|
277
|
+
return active.find((method) => method.isDefault) ?? active[0];
|
|
278
|
+
}
|
|
279
|
+
const added = active.find((method) => !opts.beforeIds.has(method.id));
|
|
280
|
+
if (added)
|
|
281
|
+
return added;
|
|
282
|
+
const changed = active.find((method) => {
|
|
283
|
+
const previousUpdatedAt = opts.beforeUpdatedAt.get(method.id);
|
|
284
|
+
return (previousUpdatedAt !== undefined &&
|
|
285
|
+
method.updatedAt !== previousUpdatedAt);
|
|
286
|
+
});
|
|
287
|
+
if (changed)
|
|
288
|
+
return changed;
|
|
289
|
+
}
|
|
290
|
+
fail("Timed out waiting for card enrollment. Re-run `agentcard agentic cards` to check status.", opts);
|
|
291
|
+
}
|
|
292
|
+
async function pollInstructionApproval(opts) {
|
|
293
|
+
const deadline = Date.now() + opts.timeoutSeconds * 1000;
|
|
294
|
+
while (Date.now() < deadline) {
|
|
295
|
+
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
296
|
+
const response = await get(`/api/agentic/instructions/${encodeURIComponent(opts.instructionId)}`);
|
|
297
|
+
const status = response.instruction.status;
|
|
298
|
+
if (status === "approved" || status === "credentials_retrieved") {
|
|
299
|
+
return response.instruction;
|
|
300
|
+
}
|
|
301
|
+
if (["declined", "expired", "failed", "cancelled"].includes(status)) {
|
|
302
|
+
fail(`Instruction is ${status}.`, opts);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
fail("Timed out waiting for purchase approval.", opts);
|
|
306
|
+
}
|
|
307
|
+
async function retrieveCredentials(instructionId) {
|
|
308
|
+
return post(`/api/agentic/instructions/${encodeURIComponent(instructionId)}/credentials`);
|
|
309
|
+
}
|
|
310
|
+
export async function agenticConnect(opts) {
|
|
311
|
+
const network = normalizeNetwork(opts.network, opts);
|
|
312
|
+
const timeoutSeconds = parseTimeout(opts.timeout, opts);
|
|
313
|
+
const failedSince = new Date(Date.now() - 5000).toISOString();
|
|
314
|
+
const before = filterByNetwork(await fetchPaymentMethods({ includeFailed: true, failedSince }), network);
|
|
315
|
+
const active = before.filter(isActive);
|
|
316
|
+
if (active.length > 0 && !opts.force) {
|
|
317
|
+
const selected = active.find((method) => method.isDefault) ?? active[0];
|
|
318
|
+
if (isJson(opts)) {
|
|
319
|
+
printJson({ ok: true, alreadyConnected: true, paymentMethod: selected });
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
console.log(chalk.green("Agentic card already connected."));
|
|
323
|
+
printCards(active);
|
|
324
|
+
console.log(chalk.dim("Run `agentcard agentic connect --force` to connect another card."));
|
|
325
|
+
}
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
const wait = spinner("Creating secure card connection link...", opts);
|
|
329
|
+
let browserToken;
|
|
330
|
+
try {
|
|
331
|
+
browserToken = await createBrowserToken({ purpose: "connect-card" });
|
|
332
|
+
wait?.succeed("Secure card connection link ready.");
|
|
333
|
+
}
|
|
334
|
+
catch (err) {
|
|
335
|
+
wait?.fail(`Failed to create connection link: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
336
|
+
if (!wait) {
|
|
337
|
+
fail(`Failed to create connection link: ${err instanceof Error ? err.message : "Unknown error"}`, opts);
|
|
338
|
+
}
|
|
339
|
+
process.exit(1);
|
|
340
|
+
}
|
|
341
|
+
const url = withActionToken(`${API_URL}/connect-card`, browserToken.token);
|
|
342
|
+
if (isJson(opts) && opts.noOpen) {
|
|
343
|
+
console.error(`Open this URL: ${url}`);
|
|
344
|
+
}
|
|
345
|
+
await openOrPrint(url, opts);
|
|
346
|
+
const poll = spinner("Waiting for card enrollment...", opts);
|
|
347
|
+
const connected = await pollForConnection({
|
|
348
|
+
beforeIds: new Set(before.map((method) => method.id)),
|
|
349
|
+
beforeUpdatedAt: new Map(before.map((method) => [method.id, method.updatedAt])),
|
|
350
|
+
network,
|
|
351
|
+
failedSince,
|
|
352
|
+
force: opts.force,
|
|
353
|
+
timeoutSeconds,
|
|
354
|
+
json: opts.json,
|
|
355
|
+
});
|
|
356
|
+
poll?.succeed(chalk.green(`Connected ${methodNetwork(connected)} card ending in ${connected.last4 ?? "****"}.`));
|
|
357
|
+
if (isJson(opts)) {
|
|
358
|
+
printJson({
|
|
359
|
+
ok: true,
|
|
360
|
+
paymentMethod: connected,
|
|
361
|
+
connectionUrl: opts.noOpen ? url : undefined,
|
|
362
|
+
tokenExpiresAt: browserToken.expiresAt,
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
export async function agenticCards(opts) {
|
|
367
|
+
let methods;
|
|
368
|
+
try {
|
|
369
|
+
methods = await fetchPaymentMethods();
|
|
370
|
+
}
|
|
371
|
+
catch (err) {
|
|
372
|
+
fail(`Failed to list agentic cards: ${errorMessage(err)}`, opts);
|
|
373
|
+
}
|
|
374
|
+
if (isJson(opts)) {
|
|
375
|
+
printJson({ ok: true, paymentMethods: methods });
|
|
376
|
+
return;
|
|
377
|
+
}
|
|
378
|
+
printCards(methods);
|
|
379
|
+
}
|
|
380
|
+
export async function agenticDefault(id, opts) {
|
|
381
|
+
const wait = spinner("Setting default agentic card...", opts);
|
|
382
|
+
try {
|
|
383
|
+
const response = await post(`/api/agentic/payment-methods/${encodeURIComponent(id)}/default`);
|
|
384
|
+
wait?.succeed(chalk.green("Default agentic card updated."));
|
|
385
|
+
if (isJson(opts))
|
|
386
|
+
printJson(response);
|
|
387
|
+
}
|
|
388
|
+
catch (err) {
|
|
389
|
+
wait?.fail(`Failed to set default card: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
390
|
+
if (!wait) {
|
|
391
|
+
fail(`Failed to set default card: ${err instanceof Error ? err.message : "Unknown error"}`, opts);
|
|
392
|
+
}
|
|
393
|
+
process.exit(1);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
export async function agenticRemove(id, opts) {
|
|
397
|
+
const wait = spinner("Removing agentic card...", opts);
|
|
398
|
+
try {
|
|
399
|
+
const response = await del(`/api/agentic/payment-methods/${encodeURIComponent(id)}`);
|
|
400
|
+
wait?.succeed(chalk.green("Agentic card removed."));
|
|
401
|
+
if (isJson(opts))
|
|
402
|
+
printJson(response);
|
|
403
|
+
}
|
|
404
|
+
catch (err) {
|
|
405
|
+
wait?.fail(`Failed to remove card: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
406
|
+
if (!wait) {
|
|
407
|
+
fail(`Failed to remove card: ${err instanceof Error ? err.message : "Unknown error"}`, opts);
|
|
408
|
+
}
|
|
409
|
+
process.exit(1);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
export async function agenticBuy(opts) {
|
|
413
|
+
const merchant = opts.merchant?.trim();
|
|
414
|
+
const item = opts.item?.trim();
|
|
415
|
+
if (!merchant)
|
|
416
|
+
fail("--merchant is required.", opts);
|
|
417
|
+
if (!item)
|
|
418
|
+
fail("--item is required.", opts);
|
|
419
|
+
const merchantUrl = validateUrl(opts.url, opts);
|
|
420
|
+
const amount = parseAmount(opts.amount, opts);
|
|
421
|
+
const currency = (opts.currency ?? "USD").trim().toUpperCase();
|
|
422
|
+
if (!/^[A-Z]{3}$/.test(currency)) {
|
|
423
|
+
fail("--currency must be a 3-letter ISO currency code.", opts);
|
|
424
|
+
}
|
|
425
|
+
if (currency !== "USD") {
|
|
426
|
+
fail("Agentic purchases currently support USD only.", opts);
|
|
427
|
+
}
|
|
428
|
+
const network = normalizeNetwork(opts.network, opts);
|
|
429
|
+
const expiresInMinutes = parseExpiresIn(opts.expiresIn, opts);
|
|
430
|
+
const timeoutSeconds = parseTimeout(opts.timeout, opts);
|
|
431
|
+
const paymentMethod = await selectPaymentMethod({
|
|
432
|
+
card: opts.card,
|
|
433
|
+
network,
|
|
434
|
+
json: opts.json,
|
|
435
|
+
});
|
|
436
|
+
const createWait = spinner("Creating agentic purchase instruction...", opts);
|
|
437
|
+
let response;
|
|
438
|
+
try {
|
|
439
|
+
response = await post("/api/agentic/instructions", {
|
|
440
|
+
paymentMethodId: paymentMethod.id,
|
|
441
|
+
network,
|
|
442
|
+
merchant: { name: merchant, url: merchantUrl },
|
|
443
|
+
item,
|
|
444
|
+
amount: { value: amount, currency },
|
|
445
|
+
expiresInMinutes,
|
|
446
|
+
idempotencyKey: opts.idempotencyKey,
|
|
447
|
+
});
|
|
448
|
+
createWait?.succeed("Purchase approval created.");
|
|
449
|
+
}
|
|
450
|
+
catch (err) {
|
|
451
|
+
createWait?.fail(`Failed to create purchase approval: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
452
|
+
if (!createWait) {
|
|
453
|
+
fail(`Failed to create purchase approval: ${err instanceof Error ? err.message : "Unknown error"}`, opts);
|
|
454
|
+
}
|
|
455
|
+
process.exit(1);
|
|
456
|
+
}
|
|
457
|
+
const needsApproval = opts.checkout === true || opts.wait === true || opts.credentials === true;
|
|
458
|
+
if (!needsApproval) {
|
|
459
|
+
if (isJson(opts)) {
|
|
460
|
+
printJson(response);
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
printInstruction(response.instruction);
|
|
464
|
+
console.log(`Approval URL: ${chalk.cyan(response.approvalUrl)}`);
|
|
465
|
+
}
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
468
|
+
const tokenWait = spinner("Creating approval link...", opts);
|
|
469
|
+
let tokenResponse;
|
|
470
|
+
try {
|
|
471
|
+
tokenResponse = await createBrowserToken({
|
|
472
|
+
purpose: "instruction-approval",
|
|
473
|
+
instructionId: response.instruction.instructionId,
|
|
474
|
+
});
|
|
475
|
+
tokenWait?.succeed("Approval link ready.");
|
|
476
|
+
}
|
|
477
|
+
catch (err) {
|
|
478
|
+
tokenWait?.fail(`Failed to create approval link: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
479
|
+
if (!tokenWait) {
|
|
480
|
+
fail(`Failed to create approval link: ${err instanceof Error ? err.message : "Unknown error"}`, opts);
|
|
481
|
+
}
|
|
482
|
+
process.exit(1);
|
|
483
|
+
}
|
|
484
|
+
const approvalUrl = withActionToken(response.approvalUrl, tokenResponse.token);
|
|
485
|
+
if (isJson(opts) && opts.noOpen) {
|
|
486
|
+
console.error(`Open this URL: ${approvalUrl}`);
|
|
487
|
+
}
|
|
488
|
+
await openOrPrint(approvalUrl, opts);
|
|
489
|
+
const approvalWait = spinner("Waiting for passkey approval...", opts);
|
|
490
|
+
const approved = await pollInstructionApproval({
|
|
491
|
+
instructionId: response.instruction.instructionId,
|
|
492
|
+
timeoutSeconds,
|
|
493
|
+
json: opts.json,
|
|
494
|
+
});
|
|
495
|
+
approvalWait?.succeed(chalk.green("Purchase approved."));
|
|
496
|
+
if (!opts.checkout && !opts.credentials) {
|
|
497
|
+
if (isJson(opts)) {
|
|
498
|
+
printJson({
|
|
499
|
+
ok: true,
|
|
500
|
+
instruction: approved,
|
|
501
|
+
approvalUrl: opts.noOpen ? approvalUrl : undefined,
|
|
502
|
+
});
|
|
503
|
+
}
|
|
504
|
+
else {
|
|
505
|
+
printInstruction(approved);
|
|
506
|
+
}
|
|
507
|
+
return;
|
|
508
|
+
}
|
|
509
|
+
const credentialWait = spinner("Retrieving one-time credential...", opts);
|
|
510
|
+
try {
|
|
511
|
+
const credentialResponse = await retrieveCredentials(approved.instructionId);
|
|
512
|
+
credentialWait?.succeed("One-time credential ready.");
|
|
513
|
+
if (isJson(opts)) {
|
|
514
|
+
printJson({
|
|
515
|
+
ok: true,
|
|
516
|
+
instruction: approved,
|
|
517
|
+
credentials: credentialResponse.credentials,
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
else {
|
|
521
|
+
printCredential(approved, credentialResponse.credentials);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
catch (err) {
|
|
525
|
+
credentialWait?.fail(`Failed to retrieve credential: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
526
|
+
if (!credentialWait) {
|
|
527
|
+
fail(`Failed to retrieve credential: ${err instanceof Error ? err.message : "Unknown error"}`, opts);
|
|
528
|
+
}
|
|
529
|
+
process.exit(1);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
export async function agenticStatus(instructionId, opts) {
|
|
533
|
+
let response;
|
|
534
|
+
try {
|
|
535
|
+
response = await get(`/api/agentic/instructions/${encodeURIComponent(instructionId)}`);
|
|
536
|
+
}
|
|
537
|
+
catch (err) {
|
|
538
|
+
fail(`Failed to load instruction status: ${errorMessage(err)}`, opts);
|
|
539
|
+
}
|
|
540
|
+
if (isJson(opts)) {
|
|
541
|
+
printJson(response);
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
printInstruction(response.instruction);
|
|
545
|
+
}
|
|
546
|
+
export async function agenticCredentials(instructionId, opts) {
|
|
547
|
+
let status;
|
|
548
|
+
try {
|
|
549
|
+
status = await get(`/api/agentic/instructions/${encodeURIComponent(instructionId)}`);
|
|
550
|
+
}
|
|
551
|
+
catch (err) {
|
|
552
|
+
fail(`Failed to load instruction status: ${errorMessage(err)}`, opts);
|
|
553
|
+
}
|
|
554
|
+
const credentialWait = spinner("Retrieving one-time credential...", opts);
|
|
555
|
+
try {
|
|
556
|
+
const response = await retrieveCredentials(instructionId);
|
|
557
|
+
credentialWait?.succeed("One-time credential ready.");
|
|
558
|
+
if (isJson(opts)) {
|
|
559
|
+
printJson({
|
|
560
|
+
ok: true,
|
|
561
|
+
instruction: status.instruction,
|
|
562
|
+
credentials: response.credentials,
|
|
563
|
+
});
|
|
564
|
+
}
|
|
565
|
+
else {
|
|
566
|
+
printCredential(status.instruction, response.credentials);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
catch (err) {
|
|
570
|
+
credentialWait?.fail(`Failed to retrieve credential: ${err instanceof Error ? err.message : "Unknown error"}`);
|
|
571
|
+
if (!credentialWait) {
|
|
572
|
+
fail(`Failed to retrieve credential: ${err instanceof Error ? err.message : "Unknown error"}`, opts);
|
|
573
|
+
}
|
|
574
|
+
process.exit(1);
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
export async function agenticInstructions(opts) {
|
|
578
|
+
let response;
|
|
579
|
+
try {
|
|
580
|
+
response = await get("/api/agentic/instructions");
|
|
581
|
+
}
|
|
582
|
+
catch (err) {
|
|
583
|
+
fail(`Failed to list agentic instructions: ${errorMessage(err)}`, opts);
|
|
584
|
+
}
|
|
585
|
+
if (isJson(opts)) {
|
|
586
|
+
printJson(response);
|
|
587
|
+
return;
|
|
588
|
+
}
|
|
589
|
+
printInstructions(response.instructions);
|
|
590
|
+
}
|
|
591
|
+
//# sourceMappingURL=agentic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentic.js","sourceRoot":"","sources":["../../../src/commands/agentic.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,13 @@ export interface CardDetails {
|
|
|
6
6
|
amountCents: number;
|
|
7
7
|
zip?: string;
|
|
8
8
|
cardholderName?: string | null;
|
|
9
|
+
billingAddress?: {
|
|
10
|
+
line1: string;
|
|
11
|
+
city: string;
|
|
12
|
+
state: string;
|
|
13
|
+
postalCode: string;
|
|
14
|
+
country: string;
|
|
15
|
+
} | null;
|
|
9
16
|
}
|
|
10
17
|
export declare function printCardDetails(card: CardDetails): void;
|
|
11
18
|
export declare function cardDetails(id: string): Promise<void>;
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import { get } from "../../lib/api.js";
|
|
3
|
+
function printBillingAddress(card) {
|
|
4
|
+
if (card.billingAddress) {
|
|
5
|
+
const address = card.billingAddress;
|
|
6
|
+
console.log(` Billing: ${chalk.white(address.line1)}`);
|
|
7
|
+
console.log(` ${chalk.white(`${address.city}, ${address.state} ${address.postalCode}`)}`);
|
|
8
|
+
console.log(` ${chalk.white(address.country)}`);
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (card.zip) {
|
|
12
|
+
console.log(` ZIP: ${chalk.white(card.zip)}`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
3
15
|
export function printCardDetails(card) {
|
|
4
16
|
const expiry = `${String(card.expiryMonth).padStart(2, "0")}/${card.expiryYear}`;
|
|
5
17
|
console.log("");
|
|
@@ -11,9 +23,7 @@ export function printCardDetails(card) {
|
|
|
11
23
|
console.log(` Number: ${chalk.white(card.pan)}`);
|
|
12
24
|
console.log(` CVV: ${chalk.white(card.cvv)}`);
|
|
13
25
|
console.log(` Expiry: ${chalk.white(expiry)}`);
|
|
14
|
-
|
|
15
|
-
console.log(` ZIP: ${chalk.white(card.zip)}`);
|
|
16
|
-
}
|
|
26
|
+
printBillingAddress(card);
|
|
17
27
|
console.log(` Amount: ${chalk.green(`$${(card.amountCents / 100).toFixed(2)}`)}`);
|
|
18
28
|
console.log(chalk.dim(" ────────────────────────────"));
|
|
19
29
|
console.log("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../../src/commands/cards/details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../../src/commands/cards/details.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ function printLimit(res) {
|
|
|
9
9
|
console.log(chalk.bold(" Spend Limit"));
|
|
10
10
|
console.log(chalk.dim(" ────────────────────────────"));
|
|
11
11
|
console.log(` Limit: ${chalk.white(formatDollars(res.spendLimitCents))}`);
|
|
12
|
-
console.log(`
|
|
12
|
+
console.log(` Used: ${chalk.white(formatDollars(res.spentCents))}`);
|
|
13
13
|
console.log(` Remaining: ${chalk.green(formatDollars(res.remainingCents))}`);
|
|
14
14
|
console.log(chalk.dim(" ────────────────────────────"));
|
|
15
15
|
console.log("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/request/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/request/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,7 @@ export async function requestNew(amount) {
|
|
|
76
76
|
amountCents: res.amountCents,
|
|
77
77
|
zip: res.zip,
|
|
78
78
|
cardholderName: res.cardholderName,
|
|
79
|
+
billingAddress: res.billingAddress,
|
|
79
80
|
});
|
|
80
81
|
console.log(chalk.dim("We placed a hold on your payment method for this amount; it will only be charged if the card is used. Unused holds release within 7 days."));
|
|
81
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../../src/commands/request/new.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../../src/commands/request/new.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,GAAG,GAAG,CAAC;AAsBxB,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAe;IAC9C,IAAI,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IAEzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAC5D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAoB;YACzD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,yBAAyB,WAAW,IAAI;gBACjD,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE;oBACtB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;wBAAE,OAAO,0BAA0B,CAAC;oBACxD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC;wBAAE,OAAO,aAAa,CAAC;oBACjC,IAAI,CAAC,GAAG,WAAW;wBACjB,OAAO,QAAQ,WAAW,uBAAuB,CAAC;oBACpD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC,CAAC;QACH,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,wBAAwB,WAAW,wBAAwB,CAAC,CACvE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,GAAG,GAAG,CAAC;IAElC,MAAM,OAAO,GAAG,GAAG,CACjB,gBAAgB,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAChE,CAAC,KAAK,EAAE,CAAC;IAEV,IAAI,GAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAqB,qBAAqB,EAAE;YAC1D,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC;IAE9D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAEzD,gBAAgB,CAAC;QACf,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,cAAc,EAAE,GAAG,CAAC,cAAc;KACnC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,2IAA2I,CAC5I,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -137,7 +137,7 @@ export async function walletFetch(url, opts) {
|
|
|
137
137
|
typeof b.requestedCents === "number") {
|
|
138
138
|
const fmt = (c) => `$${(c / 100).toFixed(2)}`;
|
|
139
139
|
console.error(chalk.dim(` limit: ${fmt(b.spendLimitCents)}, ` +
|
|
140
|
-
`
|
|
140
|
+
`used: ${fmt(b.spentCents)}, ` +
|
|
141
141
|
`this request: ${fmt(b.requestedCents)}`));
|
|
142
142
|
}
|
|
143
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../src/commands/wallet/fetch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../src/commands/wallet/fetch.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -20,6 +20,7 @@ import { walletInfo } from "./commands/wallet/info.js";
|
|
|
20
20
|
import { walletBalance } from "./commands/wallet/balance.js";
|
|
21
21
|
import { walletSend } from "./commands/wallet/send.js";
|
|
22
22
|
import { walletFetch } from "./commands/wallet/fetch.js";
|
|
23
|
+
import { agenticBuy, agenticCards, agenticConnect, agenticCredentials, agenticDefault, agenticInstructions, agenticRemove, agenticStatus, } from "./commands/agentic.js";
|
|
23
24
|
import { getLocalVersion } from "./lib/update-check.js";
|
|
24
25
|
import { attachCommandTracking } from "./lib/track-command.js";
|
|
25
26
|
const program = new Command();
|
|
@@ -37,6 +38,9 @@ Examples:
|
|
|
37
38
|
$ agentcard setup --reset Clear your profile and start over
|
|
38
39
|
$ agentcard limit Show spend limit / spent / remaining
|
|
39
40
|
$ agentcard limit --amount 250 Set or request approval for a $250 spend limit
|
|
41
|
+
$ agentcard agentic connect Connect a card for experimental agentic commerce
|
|
42
|
+
$ agentcard agentic buy --merchant "Asha" --url https://example.com --item "Tea" --amount 24.50 --checkout
|
|
43
|
+
Create, approve, and retrieve an experimental one-time checkout credential
|
|
40
44
|
$ agentcard request new --amount 10 Issue a single-use $10 virtual card
|
|
41
45
|
$ agentcard 3ds List recent 3DS verification codes
|
|
42
46
|
$ agentcard request get <id> Re-fetch PAN/CVV/expiry for a request
|
|
@@ -53,9 +57,9 @@ Quickstart:
|
|
|
53
57
|
|
|
54
58
|
$ agentcard signup --email you@example.com
|
|
55
59
|
$ agentcard setup
|
|
56
|
-
$ agentcard
|
|
57
|
-
|
|
58
|
-
→
|
|
60
|
+
$ agentcard agentic connect
|
|
61
|
+
$ agentcard agentic buy --merchant "Example" --url https://example.com --item "Thing" --amount 10 --checkout
|
|
62
|
+
→ User approves with passkey; one-time PAN / CVV / expiry printed
|
|
59
63
|
`);
|
|
60
64
|
// -- Auth -------------------------------------------------------------------
|
|
61
65
|
program
|
|
@@ -106,6 +110,72 @@ program
|
|
|
106
110
|
.command("3ds")
|
|
107
111
|
.description("List 3DS verification codes received in the last 5 minutes")
|
|
108
112
|
.action(threeDS);
|
|
113
|
+
// -- Agentic commerce --------------------------------------------------------
|
|
114
|
+
const agentic = program
|
|
115
|
+
.command("agentic")
|
|
116
|
+
.description("Manage experimental network-tokenized agentic commerce cards and purchases");
|
|
117
|
+
agentic
|
|
118
|
+
.command("connect")
|
|
119
|
+
.description("Connect a card for experimental network-tokenized agentic payments")
|
|
120
|
+
.option("--network <network>", "Network preference: auto, visa, mastercard")
|
|
121
|
+
.option("--force", "Connect another card even if one is already active")
|
|
122
|
+
.option("--no-open", "Print the browser URL instead of opening it")
|
|
123
|
+
.option("--timeout <seconds>", "Seconds to wait for card enrollment")
|
|
124
|
+
.option("--json", "Print machine-readable JSON")
|
|
125
|
+
.action((opts) => agenticConnect({ ...opts, noOpen: opts.open === false }));
|
|
126
|
+
agentic
|
|
127
|
+
.command("cards")
|
|
128
|
+
.description("List connected agentic payment cards")
|
|
129
|
+
.option("--json", "Print machine-readable JSON")
|
|
130
|
+
.action(agenticCards);
|
|
131
|
+
agentic
|
|
132
|
+
.command("default")
|
|
133
|
+
.description("Set the default agentic payment card")
|
|
134
|
+
.argument("<payment-method-id>", "Agentic payment method ID")
|
|
135
|
+
.option("--json", "Print machine-readable JSON")
|
|
136
|
+
.action(agenticDefault);
|
|
137
|
+
agentic
|
|
138
|
+
.command("remove")
|
|
139
|
+
.description("Remove a connected agentic payment card")
|
|
140
|
+
.argument("<payment-method-id>", "Agentic payment method ID")
|
|
141
|
+
.option("--json", "Print machine-readable JSON")
|
|
142
|
+
.action(agenticRemove);
|
|
143
|
+
agentic
|
|
144
|
+
.command("buy")
|
|
145
|
+
.description("Create an experimental passkey-approved agentic purchase")
|
|
146
|
+
.requiredOption("--merchant <name>", "Merchant name")
|
|
147
|
+
.requiredOption("--url <url>", "Real merchant checkout or site URL")
|
|
148
|
+
.requiredOption("--item <item>", "Item or purchase description")
|
|
149
|
+
.requiredOption("--amount <dollars>", "Purchase amount, e.g. 24.50")
|
|
150
|
+
.option("--currency <currency>", "Currency code (USD only; default: USD)")
|
|
151
|
+
.option("--card <payment-method-id>", "Specific agentic card to use")
|
|
152
|
+
.option("--network <network>", "Network preference: auto, visa, mastercard")
|
|
153
|
+
.option("--expires-in <minutes>", "Instruction lifetime in minutes")
|
|
154
|
+
.option("--idempotency-key <key>", "Client idempotency key")
|
|
155
|
+
.option("--checkout", "Open approval, wait, and print one-time credential")
|
|
156
|
+
.option("--wait", "Open approval and wait without retrieving credentials")
|
|
157
|
+
.option("--credentials", "Wait and retrieve one-time credential")
|
|
158
|
+
.option("--no-open", "Print the approval URL instead of opening it")
|
|
159
|
+
.option("--timeout <seconds>", "Seconds to wait for approval")
|
|
160
|
+
.option("--json", "Print machine-readable JSON")
|
|
161
|
+
.action((opts) => agenticBuy({ ...opts, noOpen: opts.open === false }));
|
|
162
|
+
agentic
|
|
163
|
+
.command("status")
|
|
164
|
+
.description("Show an agentic purchase instruction status")
|
|
165
|
+
.argument("<instruction-id>", "Basis Theory instruction ID")
|
|
166
|
+
.option("--json", "Print machine-readable JSON")
|
|
167
|
+
.action(agenticStatus);
|
|
168
|
+
agentic
|
|
169
|
+
.command("credentials")
|
|
170
|
+
.description("Retrieve one-time checkout credentials after approval")
|
|
171
|
+
.argument("<instruction-id>", "Basis Theory instruction ID")
|
|
172
|
+
.option("--json", "Print machine-readable JSON")
|
|
173
|
+
.action(agenticCredentials);
|
|
174
|
+
agentic
|
|
175
|
+
.command("instructions")
|
|
176
|
+
.description("List recent agentic purchase instructions")
|
|
177
|
+
.option("--json", "Print machine-readable JSON")
|
|
178
|
+
.action(agenticInstructions);
|
|
109
179
|
// -- Legacy inventory cards -------------------------------------------------
|
|
110
180
|
program
|
|
111
181
|
.command("create")
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAE/B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,OAAO,CAAC,eAAe,EAAE,CAAC;KAC1B,kBAAkB,EAAE;KACpB,WAAW,CACV,OAAO,EACP
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|