@ampersend_ai/ampersend-sdk 0.0.21 → 0.0.25
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/ampersend/agent-client.d.ts +81 -0
- package/dist/ampersend/agent-client.d.ts.map +1 -0
- package/dist/ampersend/agent-client.js +104 -0
- package/dist/ampersend/agent-client.js.map +1 -0
- package/dist/ampersend/agent.d.ts +119 -0
- package/dist/ampersend/agent.d.ts.map +1 -0
- package/dist/ampersend/agent.js +99 -0
- package/dist/ampersend/agent.js.map +1 -0
- package/dist/ampersend/client.d.ts +32 -8
- package/dist/ampersend/client.d.ts.map +1 -1
- package/dist/ampersend/client.js +81 -3
- package/dist/ampersend/client.js.map +1 -1
- package/dist/ampersend/curated-agent.d.ts +117 -0
- package/dist/ampersend/curated-agent.d.ts.map +1 -0
- package/dist/ampersend/curated-agent.js +149 -0
- package/dist/ampersend/curated-agent.js.map +1 -0
- package/dist/ampersend/env.d.ts +0 -15
- package/dist/ampersend/env.d.ts.map +1 -1
- package/dist/ampersend/env.js +0 -4
- package/dist/ampersend/env.js.map +1 -1
- package/dist/ampersend/index.d.ts +4 -0
- package/dist/ampersend/index.d.ts.map +1 -1
- package/dist/ampersend/index.js +6 -0
- package/dist/ampersend/index.js.map +1 -1
- package/dist/ampersend/marketplace.d.ts +53 -0
- package/dist/ampersend/marketplace.d.ts.map +1 -0
- package/dist/ampersend/marketplace.js +65 -0
- package/dist/ampersend/marketplace.js.map +1 -0
- package/dist/ampersend/treasurer.d.ts +4 -0
- package/dist/ampersend/treasurer.d.ts.map +1 -1
- package/dist/ampersend/treasurer.js +2 -2
- package/dist/ampersend/treasurer.js.map +1 -1
- package/dist/ampersend/types.d.ts +39 -6
- package/dist/ampersend/types.d.ts.map +1 -1
- package/dist/ampersend/types.js +19 -1
- package/dist/ampersend/types.js.map +1 -1
- package/dist/cli/ampersend.js +47 -2
- package/dist/cli/ampersend.js.map +1 -1
- package/dist/cli/commands/agent.d.ts +22 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/agent.js +144 -0
- package/dist/cli/commands/agent.js.map +1 -0
- package/dist/cli/commands/card.d.ts +125 -0
- package/dist/cli/commands/card.d.ts.map +1 -0
- package/dist/cli/commands/card.js +399 -0
- package/dist/cli/commands/card.js.map +1 -0
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +2 -21
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/fetch.d.ts +76 -2
- package/dist/cli/commands/fetch.d.ts.map +1 -1
- package/dist/cli/commands/fetch.js +208 -133
- package/dist/cli/commands/fetch.js.map +1 -1
- package/dist/cli/commands/fund.d.ts +3 -0
- package/dist/cli/commands/fund.d.ts.map +1 -0
- package/dist/cli/commands/fund.js +22 -0
- package/dist/cli/commands/fund.js.map +1 -0
- package/dist/cli/commands/marketplace.d.ts +22 -0
- package/dist/cli/commands/marketplace.d.ts.map +1 -0
- package/dist/cli/commands/marketplace.js +136 -0
- package/dist/cli/commands/marketplace.js.map +1 -0
- package/dist/cli/commands/version.d.ts +3 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +12 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/config.d.ts +58 -10
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +110 -31
- package/dist/cli/config.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/proxy/cli.js +1 -0
- package/dist/mcp/proxy/cli.js.map +1 -1
- package/dist/mcp/proxy/factory.d.ts +2 -0
- package/dist/mcp/proxy/factory.d.ts.map +1 -1
- package/dist/mcp/proxy/factory.js +10 -1
- package/dist/mcp/proxy/factory.js.map +1 -1
- package/dist/mcp/proxy/server/init.js +1 -1
- package/dist/mcp/proxy/server/init.js.map +1 -1
- package/dist/mcp/proxy/server/server.d.ts +3 -1
- package/dist/mcp/proxy/server/server.d.ts.map +1 -1
- package/dist/mcp/proxy/server/server.js +5 -2
- package/dist/mcp/proxy/server/server.js.map +1 -1
- package/dist/mcp/proxy/types.d.ts +7 -0
- package/dist/mcp/proxy/types.d.ts.map +1 -1
- package/dist/mcp/proxy/types.js.map +1 -1
- package/dist/version.d.ts +3 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +3 -1
- package/dist/version.js.map +1 -1
- package/dist/x402/http/factory.d.ts +2 -2
- package/dist/x402/http/factory.d.ts.map +1 -1
- package/dist/x402/http/factory.js +14 -8
- package/dist/x402/http/factory.js.map +1 -1
- package/dist/x402/index.d.ts +2 -0
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +2 -0
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/siwx.d.ts +55 -0
- package/dist/x402/siwx.d.ts.map +1 -0
- package/dist/x402/siwx.js +122 -0
- package/dist/x402/siwx.js.map +1 -0
- package/dist/x402/wallets/smart-account/cosigned.d.ts +9 -2
- package/dist/x402/wallets/smart-account/cosigned.d.ts.map +1 -1
- package/dist/x402/wallets/smart-account/cosigned.js +13 -4
- package/dist/x402/wallets/smart-account/cosigned.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,71 +1,51 @@
|
|
|
1
1
|
import { wrapFetchWithPayment } from "@x402/fetch";
|
|
2
|
-
import { NETWORKS, parseEnvConfig } from "../../ampersend/env.js";
|
|
3
2
|
import { createAmpersendHttpClient } from "../../x402/http/factory.js";
|
|
4
|
-
import {
|
|
3
|
+
import { wrapFetchWithAmpersendSiwx } from "../../x402/siwx.js";
|
|
4
|
+
import { loadCredentials } from "../config.js";
|
|
5
5
|
import { err, ok } from "../envelope.js";
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Wire up the Ampersend paid-fetch path used by every spending command:
|
|
8
|
+
* `createAmpersendHttpClient` → (optional SIWX) → `wrapFetchWithPayment`,
|
|
9
|
+
* with the `onAfterPaymentCreation` hook capturing the signed requirements.
|
|
10
|
+
*
|
|
11
|
+
* One instance captures one payment. Callers making more than one paid
|
|
12
|
+
* request (e.g. `card` minting a token then ordering) build a fresh
|
|
13
|
+
* `createPaidFetch` per request so each capture is isolated.
|
|
14
|
+
*
|
|
15
|
+
* SIWX defaults on, matching `fetch --pay`: it satisfies auth-only routes and
|
|
16
|
+
* re-entry to already-paid resources via signature alone; if the server
|
|
17
|
+
* doesn't speak SIWX or rejects our signature, the 402 falls through to the
|
|
18
|
+
* payment wrapper.
|
|
10
19
|
*/
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
if (fileConfig.status === "ready" && fileConfig.agentAccount && fileConfig.agentKey) {
|
|
40
|
-
// Env var takes precedence over file config
|
|
41
|
-
const apiUrl = process.env.AMPERSEND_API_URL ?? fileConfig.apiUrl;
|
|
42
|
-
const network = process.env.AMPERSEND_NETWORK ?? fileConfig.network ?? "base";
|
|
43
|
-
return {
|
|
44
|
-
ok: true,
|
|
45
|
-
config: {
|
|
46
|
-
agentAccount: fileConfig.agentAccount,
|
|
47
|
-
agentKey: fileConfig.agentKey,
|
|
48
|
-
network,
|
|
49
|
-
...(apiUrl ? { apiUrl } : {}),
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// Neither env vars nor config file available
|
|
55
|
-
const configStatus = getConfigStatus();
|
|
56
|
-
if (configStatus.status === "not_initialized") {
|
|
57
|
-
return {
|
|
58
|
-
ok: false,
|
|
59
|
-
error: err("NOT_CONFIGURED", 'Run "ampersend setup start" or "ampersend config set"', {
|
|
60
|
-
status: "not_initialized",
|
|
61
|
-
}),
|
|
62
|
-
};
|
|
63
|
-
}
|
|
20
|
+
function createPaidFetch(credentials, opts = { siwx: true }) {
|
|
21
|
+
const apiUrl = credentials.apiUrl ?? "https://api.ampersend.ai";
|
|
22
|
+
const ampersendClient = createAmpersendHttpClient({
|
|
23
|
+
smartAccountAddress: credentials.agentAccount,
|
|
24
|
+
sessionKeyPrivateKey: credentials.agentKey,
|
|
25
|
+
apiUrl,
|
|
26
|
+
clientName: "ampersend-cli",
|
|
27
|
+
});
|
|
28
|
+
// The hook fires right after createPaymentPayload and before the retry to
|
|
29
|
+
// the server, so by the time fetchWithPayment resolves this is populated
|
|
30
|
+
// iff a payment happened. The amount here is what we authorized — what the
|
|
31
|
+
// server settles can only equal this (it can't settle a different value
|
|
32
|
+
// than was signed).
|
|
33
|
+
let selected;
|
|
34
|
+
ampersendClient.onAfterPaymentCreation(async (ctx) => {
|
|
35
|
+
const r = ctx.selectedRequirements;
|
|
36
|
+
selected = { amount: r.amount, asset: r.asset, network: r.network, payTo: r.payTo, scheme: r.scheme };
|
|
37
|
+
});
|
|
38
|
+
const innerFetch = opts.siwx
|
|
39
|
+
? wrapFetchWithAmpersendSiwx(fetch, {
|
|
40
|
+
smartAccountAddress: credentials.agentAccount,
|
|
41
|
+
sessionKeyPrivateKey: credentials.agentKey,
|
|
42
|
+
apiUrl,
|
|
43
|
+
clientName: "ampersend-cli",
|
|
44
|
+
})
|
|
45
|
+
: fetch;
|
|
64
46
|
return {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
status: configStatus.status,
|
|
68
|
-
}),
|
|
47
|
+
fetchWithPayment: wrapFetchWithPayment(innerFetch, ampersendClient),
|
|
48
|
+
getSelected: () => selected,
|
|
69
49
|
};
|
|
70
50
|
}
|
|
71
51
|
/**
|
|
@@ -103,6 +83,51 @@ function decodeBase64Header(value) {
|
|
|
103
83
|
const decoded = Buffer.from(value, "base64").toString("utf-8");
|
|
104
84
|
return JSON.parse(decoded);
|
|
105
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Extract x402 payment requirements from a 402 response. Tries v2 header first
|
|
88
|
+
* (base64-encoded JSON in `payment-required`), then falls back to v1 body.
|
|
89
|
+
* Throws if neither produces parseable JSON.
|
|
90
|
+
*/
|
|
91
|
+
async function extractPaymentRequirements(response) {
|
|
92
|
+
const v2Header = response.headers.get("payment-required");
|
|
93
|
+
if (v2Header) {
|
|
94
|
+
return decodeBase64Header(v2Header);
|
|
95
|
+
}
|
|
96
|
+
const body = await response.text();
|
|
97
|
+
if (body) {
|
|
98
|
+
return JSON.parse(body);
|
|
99
|
+
}
|
|
100
|
+
throw new Error("402 response had no payment-required header and no body");
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Build a PaymentReceipt by combining the requirements the client signed
|
|
104
|
+
* against (truthful amount/asset) with the facilitator's settle response
|
|
105
|
+
* (truthful txHash/payer).
|
|
106
|
+
*/
|
|
107
|
+
function buildPaymentReceipt(selected, settle) {
|
|
108
|
+
return {
|
|
109
|
+
amount: selected.amount,
|
|
110
|
+
asset: selected.asset,
|
|
111
|
+
network: selected.network,
|
|
112
|
+
payTo: selected.payTo,
|
|
113
|
+
scheme: selected.scheme,
|
|
114
|
+
txHash: settle.transaction,
|
|
115
|
+
...(settle.payer ? { payer: settle.payer } : {}),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Build a PaymentReceipt from a paid response, or undefined when no payment
|
|
120
|
+
* happened (no captured `selected`, e.g. a free/warm-cache path) or the server
|
|
121
|
+
* sent no settle header. Combines the signed requirements with the facilitator's
|
|
122
|
+
* `payment-response` settle header.
|
|
123
|
+
*/
|
|
124
|
+
function buildReceiptFromResponse(selected, response) {
|
|
125
|
+
const paymentResponse = response.headers.get("payment-response");
|
|
126
|
+
if (!paymentResponse || !selected)
|
|
127
|
+
return undefined;
|
|
128
|
+
const settle = decodeBase64Header(paymentResponse);
|
|
129
|
+
return buildPaymentReceipt(selected, settle);
|
|
130
|
+
}
|
|
106
131
|
/**
|
|
107
132
|
* Build RequestInit from options, handling undefined body correctly
|
|
108
133
|
*/
|
|
@@ -131,28 +156,16 @@ async function runInspect(url, options) {
|
|
|
131
156
|
data.headers = headersToObject(response.headers);
|
|
132
157
|
}
|
|
133
158
|
if (response.status === 402) {
|
|
134
|
-
// Try to parse payment requirements
|
|
135
159
|
try {
|
|
136
|
-
|
|
137
|
-
const v2Header = response.headers.get("payment-required");
|
|
138
|
-
if (v2Header) {
|
|
139
|
-
data.requirements = decodeBase64Header(v2Header);
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
// Fall back to body (v1)
|
|
143
|
-
const body = await response.text();
|
|
144
|
-
if (body) {
|
|
145
|
-
data.requirements = JSON.parse(body);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
160
|
+
data.requirements = await extractPaymentRequirements(response);
|
|
148
161
|
}
|
|
149
162
|
catch (e) {
|
|
150
|
-
|
|
151
|
-
if (
|
|
152
|
-
console.
|
|
153
|
-
|
|
163
|
+
const message = `Failed to parse payment requirements: ${e instanceof Error ? e.message : String(e)}`;
|
|
164
|
+
if (options.raw) {
|
|
165
|
+
console.error(`Error: ${message}`);
|
|
166
|
+
process.exit(1);
|
|
154
167
|
}
|
|
155
|
-
console.
|
|
168
|
+
console.log(JSON.stringify(err("PARSE_ERROR", message), null, 2));
|
|
156
169
|
return;
|
|
157
170
|
}
|
|
158
171
|
}
|
|
@@ -176,71 +189,122 @@ async function runInspect(url, options) {
|
|
|
176
189
|
}
|
|
177
190
|
}
|
|
178
191
|
/**
|
|
179
|
-
*
|
|
192
|
+
* Emit a successful response envelope (status < 400, or paid 200 via --pay).
|
|
193
|
+
*
|
|
194
|
+
* `selected` carries the requirements the client signed against, captured via
|
|
195
|
+
* the x402Client's onAfterPaymentCreation hook. It's undefined when no payment
|
|
196
|
+
* happened (free endpoint), in which case no `data.payment` is emitted.
|
|
180
197
|
*/
|
|
181
|
-
async function
|
|
198
|
+
async function emitSuccessResponse(response, options, selected) {
|
|
182
199
|
if (options.raw) {
|
|
183
200
|
const body = await response.text();
|
|
184
201
|
console.log(body);
|
|
202
|
+
return;
|
|
185
203
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
parsedBody = JSON.parse(body);
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
195
|
-
// Keep as string if parsing fails
|
|
196
|
-
}
|
|
204
|
+
const body = await response.text();
|
|
205
|
+
const contentType = response.headers.get("content-type") ?? "";
|
|
206
|
+
let parsedBody = body;
|
|
207
|
+
if (contentType.includes("application/json")) {
|
|
208
|
+
try {
|
|
209
|
+
parsedBody = JSON.parse(body);
|
|
197
210
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
body: parsedBody,
|
|
201
|
-
};
|
|
202
|
-
// Include headers only if requested
|
|
203
|
-
if (options.headers) {
|
|
204
|
-
data.headers = headersToObject(response.headers);
|
|
211
|
+
catch {
|
|
212
|
+
// Keep as string if parsing fails
|
|
205
213
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
214
|
+
}
|
|
215
|
+
const data = {
|
|
216
|
+
status: response.status,
|
|
217
|
+
body: parsedBody,
|
|
218
|
+
};
|
|
219
|
+
if (options.headers) {
|
|
220
|
+
data.headers = headersToObject(response.headers);
|
|
221
|
+
}
|
|
222
|
+
// Build receipt only when both halves are present: the signed requirements
|
|
223
|
+
// (what we authorized) and the settle response (proof it landed).
|
|
224
|
+
const receipt = buildReceiptFromResponse(selected, response);
|
|
225
|
+
if (receipt) {
|
|
226
|
+
data.payment = receipt;
|
|
227
|
+
}
|
|
228
|
+
console.log(JSON.stringify(ok(data), null, 2));
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Emit a PAYMENT_REQUIRED error envelope for a 402 response when --pay was not set.
|
|
232
|
+
*
|
|
233
|
+
* Exit-code policy: in JSON mode we exit 0 even when the server's 402 is
|
|
234
|
+
* unparseable — the CLI ran fine, the remote misbehaved, and the agent reads
|
|
235
|
+
* the envelope. In --raw mode we exit 1 to play nice with shell pipelines.
|
|
236
|
+
*/
|
|
237
|
+
async function emitPaymentRequiredError(response, options) {
|
|
238
|
+
let requirements;
|
|
239
|
+
try {
|
|
240
|
+
requirements = await extractPaymentRequirements(response);
|
|
241
|
+
}
|
|
242
|
+
catch (e) {
|
|
243
|
+
const message = `Failed to parse payment requirements: ${e instanceof Error ? e.message : String(e)}`;
|
|
244
|
+
if (options.raw) {
|
|
245
|
+
console.error(`Error: ${message}`);
|
|
246
|
+
process.exit(1);
|
|
210
247
|
}
|
|
211
|
-
console.log(JSON.stringify(
|
|
248
|
+
console.log(JSON.stringify(err("PARSE_ERROR", message), null, 2));
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
if (options.raw) {
|
|
252
|
+
console.error("Error: Payment required (pass --pay to authorize)");
|
|
253
|
+
console.error(JSON.stringify(requirements, null, 2));
|
|
254
|
+
return;
|
|
212
255
|
}
|
|
256
|
+
console.log(JSON.stringify({
|
|
257
|
+
ok: false,
|
|
258
|
+
error: {
|
|
259
|
+
code: "PAYMENT_REQUIRED",
|
|
260
|
+
message: "Payment required (pass --pay to authorize)",
|
|
261
|
+
requirements,
|
|
262
|
+
},
|
|
263
|
+
}, null, 2));
|
|
213
264
|
}
|
|
214
265
|
/**
|
|
215
|
-
* Execute fetch
|
|
266
|
+
* Execute fetch. Without --pay: behaves like a plain fetch, errors on 402.
|
|
267
|
+
* With --pay: wraps fetch with x402 payment handling and pays as authorized
|
|
268
|
+
* by the configured treasurer.
|
|
216
269
|
*/
|
|
217
270
|
async function runFetch(url, options) {
|
|
218
|
-
|
|
219
|
-
const
|
|
271
|
+
const headers = parseHeaders(options.header);
|
|
272
|
+
const init = buildRequestInit(options, headers);
|
|
273
|
+
if (!options.pay) {
|
|
274
|
+
// Default: probe only. 402 is an error from the caller's perspective —
|
|
275
|
+
// they did not authorize a payment, so they did not get the resource.
|
|
276
|
+
const response = await fetch(url, init);
|
|
277
|
+
if (response.status === 402) {
|
|
278
|
+
await emitPaymentRequiredError(response, options);
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
await emitSuccessResponse(response, options);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
// --pay: authorize payment if the server requires it.
|
|
285
|
+
const configResult = loadCredentials();
|
|
220
286
|
if (!configResult.ok) {
|
|
221
287
|
console.log(JSON.stringify(configResult.error, null, 2));
|
|
222
288
|
process.exit(1);
|
|
223
289
|
}
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
smartAccountAddress: config.agentAccount,
|
|
228
|
-
sessionKeyPrivateKey: config.agentKey,
|
|
229
|
-
apiUrl: config.apiUrl ?? "https://api.ampersend.ai",
|
|
230
|
-
network: config.network,
|
|
231
|
-
});
|
|
232
|
-
// Wrap fetch with payment handling
|
|
233
|
-
const fetchWithPayment = wrapFetchWithPayment(fetch, ampersendClient);
|
|
234
|
-
// Build request
|
|
235
|
-
const headers = parseHeaders(options.header);
|
|
236
|
-
// Execute request
|
|
237
|
-
const response = await fetchWithPayment(url, buildRequestInit(options, headers));
|
|
238
|
-
await handleResponse(response, options);
|
|
290
|
+
const { fetchWithPayment, getSelected } = createPaidFetch(configResult.credentials, { siwx: options.siwx });
|
|
291
|
+
const response = await fetchWithPayment(url, init);
|
|
292
|
+
await emitSuccessResponse(response, options, getSelected());
|
|
239
293
|
}
|
|
240
294
|
/**
|
|
241
295
|
* Execute the fetch command
|
|
242
296
|
*/
|
|
243
297
|
async function executeFetch(url, options) {
|
|
298
|
+
if (options.pay && options.inspect) {
|
|
299
|
+
const message = "--pay and --inspect are mutually exclusive";
|
|
300
|
+
if (options.raw) {
|
|
301
|
+
console.error(`Error: ${message}`);
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
console.log(JSON.stringify(err("INVALID_ARGS", message), null, 2));
|
|
305
|
+
}
|
|
306
|
+
process.exit(1);
|
|
307
|
+
}
|
|
244
308
|
try {
|
|
245
309
|
if (options.inspect) {
|
|
246
310
|
await runInspect(url, options);
|
|
@@ -250,13 +314,16 @@ async function executeFetch(url, options) {
|
|
|
250
314
|
}
|
|
251
315
|
}
|
|
252
316
|
catch (error) {
|
|
317
|
+
// Camp-B exit policy: a thrown fetch (network error, DNS failure, bad URL)
|
|
318
|
+
// is a remote/runtime failure, not a CLI misuse. Emit the envelope and
|
|
319
|
+
// exit 0 in JSON mode so the agent reads the envelope, not $?. In --raw
|
|
320
|
+
// mode we exit 1 to stay shell-pipeline friendly.
|
|
321
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
253
322
|
if (options.raw) {
|
|
254
|
-
console.error(`Error: ${
|
|
255
|
-
|
|
256
|
-
else {
|
|
257
|
-
console.log(JSON.stringify(err("REQUEST_ERROR", error instanceof Error ? error.message : String(error)), null, 2));
|
|
323
|
+
console.error(`Error: ${message}`);
|
|
324
|
+
process.exit(1);
|
|
258
325
|
}
|
|
259
|
-
|
|
326
|
+
console.log(JSON.stringify(err("REQUEST_ERROR", message), null, 2));
|
|
260
327
|
}
|
|
261
328
|
}
|
|
262
329
|
/**
|
|
@@ -265,28 +332,36 @@ async function executeFetch(url, options) {
|
|
|
265
332
|
export function registerFetchCommand(program) {
|
|
266
333
|
program
|
|
267
334
|
.command("fetch")
|
|
268
|
-
.description("Make HTTP requests
|
|
335
|
+
.description("Make HTTP requests. By default, errors on 402 unless --pay is passed.")
|
|
269
336
|
.argument("<url>", "URL to request")
|
|
270
337
|
.option("-X, --method <method>", "HTTP method", "GET")
|
|
271
338
|
.option("-H, --header <header...>", "HTTP header (format: 'Key: Value')")
|
|
272
339
|
.option("-d, --data <data>", "Request body data")
|
|
340
|
+
.option("--pay", "Authorize payment if the server returns 402", false)
|
|
273
341
|
.option("--inspect", "Show payment requirements without executing payment", false)
|
|
274
342
|
.option("--raw", "Output raw response body instead of JSON", false)
|
|
275
343
|
.option("--headers", "Include response headers in JSON output", false)
|
|
344
|
+
.option("--no-siwx", "Disable Sign-In-With-X — skip signature auth and go straight to payment")
|
|
276
345
|
.addHelpText("after", `
|
|
277
|
-
|
|
346
|
+
Modes:
|
|
347
|
+
ampersend fetch <url> Probe only. 402 → error envelope (PAYMENT_REQUIRED).
|
|
348
|
+
ampersend fetch --pay <url> Authorize payment if the server returns 402.
|
|
349
|
+
ampersend fetch --inspect <url> Report payment requirements without fetching the resource.
|
|
350
|
+
|
|
351
|
+
Configuration (--pay only):
|
|
278
352
|
Run 'ampersend config init' to set up, or use environment variables:
|
|
279
353
|
AMPERSEND_AGENT_SECRET Combined format: agent_key:::agent_account
|
|
280
|
-
AMPERSEND_NETWORK Network: ${NETWORKS.join(", ")} (default: base)
|
|
281
354
|
AMPERSEND_API_URL Ampersend API URL (optional)
|
|
282
355
|
|
|
283
356
|
Examples:
|
|
284
357
|
ampersend fetch https://api.example.com/endpoint
|
|
285
|
-
ampersend fetch
|
|
358
|
+
ampersend fetch --pay https://api.example.com/paid-endpoint
|
|
359
|
+
ampersend fetch --inspect https://api.example.com/paid-endpoint
|
|
360
|
+
ampersend fetch --pay -X POST -H "Content-Type: application/json" -d '{"q":"x"}' https://api.example.com/
|
|
286
361
|
`)
|
|
287
362
|
.action(async (url, options) => {
|
|
288
363
|
await executeFetch(url, options);
|
|
289
364
|
});
|
|
290
365
|
}
|
|
291
|
-
export { buildRequestInit, decodeBase64Header, executeFetch, headersToObject, parseHeaders, runFetch, runInspect };
|
|
366
|
+
export { buildPaymentReceipt, buildReceiptFromResponse, buildRequestInit, createPaidFetch, decodeBase64Header, executeFetch, headersToObject, parseHeaders, runFetch, runInspect, };
|
|
292
367
|
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/cli/commands/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGlD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAqB,MAAM,gBAAgB,CAAA;AAyB3D;;;;GAIG;AACH,SAAS,UAAU;IAMjB,wCAAwC;IACxC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;QAClC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,MAAM,EAAE;gBACN,YAAY,EAAE,SAAS,CAAC,aAA8B;gBACtD,QAAQ,EAAE,SAAS,CAAC,SAA0B;gBAC9C,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D;SACF,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAA;IACrC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YAC1C,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,GAAG,CAAC,kBAAkB,EAAE,oEAAoE,EAAE;oBACnG,MAAM,EAAE,eAAe;iBACxB,CAAC;aACH,CAAA;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACpF,4CAA4C;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,UAAU,CAAC,MAAM,CAAA;YACjE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,UAAU,CAAC,OAAO,IAAI,MAAM,CAAA;YAC7E,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACN,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,OAAO;oBACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC9B;aACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,IAAI,YAAY,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC9C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,CAAC,gBAAgB,EAAE,uDAAuD,EAAE;gBACpF,MAAM,EAAE,iBAAiB;aAC1B,CAAC;SACH,CAAA;IACH,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,GAAG,CAAC,kBAAkB,EAAE,uDAAuD,EAAE;YACtF,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,CAAC;KACH,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,UAAqC;IACzD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAC7B,KAAK,MAAM,CAAC,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,CAAA;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAClB,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAqB,EAAE,OAAgB;IAC/D,MAAM,IAAI,GAAgB;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;KACR,CAAA;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAC1B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,OAAqB;IAC1D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAErE,MAAM,IAAI,GAAgB;QACxB,GAAG;QACH,eAAe,EAAE,QAAQ,CAAC,MAAM,KAAK,GAAG;KACzC,CAAA;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,oCAAoC;QACpC,IAAI,CAAC;YACH,kDAAkD;YAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;YACzD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;YAClD,CAAC;iBAAM,CAAC;gBACN,yBAAyB;gBACzB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAClC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,2CAA2C;YAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,GAAG,CAAC,aAAa,EAAE,yCAAyC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EACzG,IAAI,EACJ,CAAC,CACF,CACF,CAAA;gBACD,OAAM;YACR,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC3G,OAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;YACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;YAC1B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;gBAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;YACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;YAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,QAAkB,EAAE,OAAqB;IACrE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QAC9D,IAAI,UAAU,GAAY,IAAI,CAAA;QAC9B,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAiB;YACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,UAAU;SACjB,CAAA;QAED,oCAAoC;QACpC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;QAED,0FAA0F;QAC1F,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAChE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAA;QACpD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAqB;IACxD,sCAAsC;IACtC,MAAM,YAAY,GAAG,UAAU,EAAE,CAAA;IACjC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAA;IAElC,+BAA+B;IAC/B,MAAM,eAAe,GAAG,yBAAyB,CAAC;QAChD,mBAAmB,EAAE,MAAM,CAAC,YAAY;QACxC,oBAAoB,EAAE,MAAM,CAAC,QAAQ;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,0BAA0B;QACnD,OAAO,EAAE,MAAM,CAAC,OAAkC;KACnD,CAAC,CAAA;IAEF,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;IAErE,gBAAgB;IAChB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAE5C,kBAAkB;IAClB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAEhF,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,OAAqB;IAC5D,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACnF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACpH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,yDAAyD,CAAC;SACtE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;SACnC,MAAM,CAAC,uBAAuB,EAAE,aAAa,EAAE,KAAK,CAAC;SACrD,MAAM,CAAC,0BAA0B,EAAE,oCAAoC,CAAC;SACxE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,WAAW,EAAE,qDAAqD,EAAE,KAAK,CAAC;SACjF,MAAM,CAAC,OAAO,EAAE,0CAA0C,EAAE,KAAK,CAAC;SAClE,MAAM,CAAC,WAAW,EAAE,yCAAyC,EAAE,KAAK,CAAC;SACrE,WAAW,CACV,OAAO,EACP;;;;8CAIwC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;CAMhE,CACI;SACA,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,OAAqB,EAAE,EAAE;QACnD,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACN,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/cli/commands/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fund.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/fund.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB1D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { err } from "../envelope.js";
|
|
2
|
+
import { buildClient, emit } from "./agent.js";
|
|
3
|
+
const VALID_DESTINATIONS = new Set(["agent", "main"]);
|
|
4
|
+
export function registerFundCommand(program) {
|
|
5
|
+
program
|
|
6
|
+
.command("fund")
|
|
7
|
+
.description("Print a dashboard URL the user can open to fund this agent or their main account")
|
|
8
|
+
.option("--amount <usdc>", "Suggested USDC amount, e.g. '25' or '1.5'")
|
|
9
|
+
.option("--destination <where>", "Which account to preselect: 'agent' (default) or 'main'")
|
|
10
|
+
.option("--raw", "Print only the inner data, no JSON envelope", false)
|
|
11
|
+
.action(async (options) => {
|
|
12
|
+
if (options.destination != null && !VALID_DESTINATIONS.has(options.destination)) {
|
|
13
|
+
console.log(JSON.stringify(err("INVALID_FLAG", "--destination must be one of: agent, main"), null, 2));
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
await emit("funding-link", options, () => buildClient().getFundingLink({
|
|
17
|
+
...(options.amount != null && { amount: options.amount }),
|
|
18
|
+
...(options.destination != null && { destination: options.destination }),
|
|
19
|
+
}));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=fund.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fund.js","sourceRoot":"","sources":["../../../src/cli/commands/fund.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AAErD,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kFAAkF,CAAC;SAC/F,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;SACtE,MAAM,CAAC,uBAAuB,EAAE,yDAAyD,CAAC;SAC1F,MAAM,CAAC,OAAO,EAAE,6CAA6C,EAAE,KAAK,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,OAAgE,EAAE,EAAE;QACjF,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,2CAA2C,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,CACvC,WAAW,EAAE,CAAC,cAAc,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACzD,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAA+B,EAAE,CAAC;SAC7F,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
import { MarketplaceClient } from "../../ampersend/index.ts";
|
|
3
|
+
interface ListOptions {
|
|
4
|
+
source?: string;
|
|
5
|
+
category?: string;
|
|
6
|
+
search?: string;
|
|
7
|
+
network?: string;
|
|
8
|
+
raw: boolean;
|
|
9
|
+
}
|
|
10
|
+
interface ShowOptions {
|
|
11
|
+
raw: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function buildClient(): MarketplaceClient;
|
|
14
|
+
export declare function buildReadOnlyClient(): MarketplaceClient;
|
|
15
|
+
declare function executeList(options: ListOptions): Promise<void>;
|
|
16
|
+
declare function executeShow(id: string, options: ShowOptions): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Register the marketplace subcommand on a Commander program
|
|
19
|
+
*/
|
|
20
|
+
export declare function registerMarketplaceCommand(program: Command): void;
|
|
21
|
+
export { executeList, executeShow };
|
|
22
|
+
//# sourceMappingURL=marketplace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/marketplace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,OAAO,EAEL,iBAAiB,EAGlB,MAAM,0BAA0B,CAAA;AAYjC,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,OAAO,CAAA;CACb;AAED,UAAU,WAAW;IACnB,GAAG,EAAE,OAAO,CAAA;CACb;AAyBD,wBAAgB,WAAW,IAAI,iBAAiB,CAY/C;AAKD,wBAAgB,mBAAmB,IAAI,iBAAiB,CAEvD;AAED,iBAAe,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B9D;AAED,iBAAe,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB1E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuBjE;AAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA"}
|