@402flow/sdk 0.1.0-alpha.14 → 0.1.0-alpha.16
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/README.md +171 -27
- package/dist/agent-harness.d.ts +3 -2
- package/dist/agent-harness.js +5 -2
- package/dist/agent-harness.js.map +1 -1
- package/dist/contracts.d.ts +1160 -1168
- package/dist/contracts.js +34 -11
- package/dist/contracts.js.map +1 -1
- package/dist/index.d.ts +14 -2
- package/dist/index.js +161 -49
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @402flow/sdk
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Paid HTTP SDK for AI agents with an inspectable prepare/execute flow.
|
|
4
|
+
|
|
5
|
+
It uses the 402flow control plane as the governance and execution backend, but the main developer surface is a small client for preparing and executing paid HTTP requests.
|
|
4
6
|
|
|
5
7
|
## Install
|
|
6
8
|
|
|
@@ -8,9 +10,11 @@ Node.js SDK for making governed paid HTTP requests through the 402flow control p
|
|
|
8
10
|
npm install @402flow/sdk
|
|
9
11
|
```
|
|
10
12
|
|
|
13
|
+
The published package supports Node 20+.
|
|
14
|
+
|
|
11
15
|
## Overview
|
|
12
16
|
|
|
13
|
-
`@402flow/sdk` is built for AI agents and other callers that need to
|
|
17
|
+
`@402flow/sdk` is built for AI agents and other callers that need to inspect, prepare, and execute paid HTTP requests without embedding payment-protocol or governance logic in the host.
|
|
14
18
|
|
|
15
19
|
The SDK has one core client, `AgentPayClient`, and three main calls:
|
|
16
20
|
|
|
@@ -25,16 +29,46 @@ Use `preparePaidRequest(...)` plus `executePreparedRequest(...)` when the caller
|
|
|
25
29
|
|
|
26
30
|
The package also includes `AgentHarness`, an optional preparedId-based wrapper for tool hosts. It is a convenience layer on top of `AgentPayClient`, not part of the core client API.
|
|
27
31
|
|
|
32
|
+
## Runtime Notes
|
|
33
|
+
|
|
34
|
+
Two constraints matter early in real integrations:
|
|
35
|
+
|
|
36
|
+
1. paid prepare and execute flows require replayable request bodies
|
|
37
|
+
2. the current replayable body types are `string` and `URLSearchParams`
|
|
38
|
+
|
|
39
|
+
That means JSON payloads should be sent as strings, and form-style payloads should be sent as `URLSearchParams`.
|
|
40
|
+
|
|
41
|
+
The SDK exports small helpers for that:
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
import {
|
|
45
|
+
createFormUrlEncodedBody,
|
|
46
|
+
createJsonRequestBody,
|
|
47
|
+
} from '@402flow/sdk';
|
|
48
|
+
|
|
49
|
+
const jsonBody = createJsonRequestBody({
|
|
50
|
+
prompt: 'foggy coastline',
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
const formBody = createFormUrlEncodedBody({
|
|
54
|
+
prompt: 'foggy coastline',
|
|
55
|
+
style: 'noir',
|
|
56
|
+
tags: ['coast', 'mist'],
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
`FormData`, `Blob`, streams, and framework-specific body wrappers are not currently accepted in paid flows because the SDK has to replay the exact request body through preparation and execution. Convert those upstream into a stable string or `URLSearchParams` first.
|
|
61
|
+
|
|
28
62
|
## Create A Client
|
|
29
63
|
|
|
30
|
-
Create one `AgentPayClient` per agent identity. The client binds the
|
|
64
|
+
Create one `AgentPayClient` per agent identity. The client binds the 402flow control-plane location and the organization plus agent selectors up front, and each request only carries request-specific context.
|
|
31
65
|
|
|
32
66
|
### Bootstrap key
|
|
33
67
|
|
|
34
68
|
For most SDK integrations, bootstrap-key auth is the recommended mode. The SDK exchanges it for a short-lived runtime token, caches that token, and refreshes it automatically before expiry.
|
|
35
69
|
|
|
36
70
|
```ts
|
|
37
|
-
import { AgentPayClient } from '@402flow/sdk';
|
|
71
|
+
import { AgentPayClient, createJsonRequestBody } from '@402flow/sdk';
|
|
38
72
|
|
|
39
73
|
const client = new AgentPayClient({
|
|
40
74
|
controlPlaneBaseUrl: 'https://402flow.ai',
|
|
@@ -76,7 +110,7 @@ try {
|
|
|
76
110
|
headers: {
|
|
77
111
|
'content-type': 'application/json',
|
|
78
112
|
},
|
|
79
|
-
body:
|
|
113
|
+
body: createJsonRequestBody({
|
|
80
114
|
date: '2026-03-25',
|
|
81
115
|
}),
|
|
82
116
|
},
|
|
@@ -86,8 +120,8 @@ try {
|
|
|
86
120
|
},
|
|
87
121
|
);
|
|
88
122
|
|
|
89
|
-
const
|
|
90
|
-
console.log('
|
|
123
|
+
const merchantBody = await result.response.json();
|
|
124
|
+
console.log('merchant response body:', merchantBody);
|
|
91
125
|
} catch (error) {
|
|
92
126
|
console.error('paid request failed', error);
|
|
93
127
|
throw error;
|
|
@@ -96,11 +130,87 @@ try {
|
|
|
96
130
|
|
|
97
131
|
If the merchant does not require payment for that exact request, the SDK returns a passthrough response. If the merchant returns a payable challenge, the SDK resolves payment through the control plane and returns a durable paid outcome.
|
|
98
132
|
|
|
133
|
+
`result.response` is the merchant HTTP response body, so its JSON shape is merchant-defined. SDK-owned paid metadata such as `paidRequestId`, `paymentAttemptId`, `receiptId`, and `receipt` stays on the returned SDK result rather than being injected into the merchant JSON body.
|
|
134
|
+
|
|
135
|
+
This means x402 and the SDK give you a stable place for the paid merchant response, but not a universal merchant-independent field name for the fulfilled content itself.
|
|
136
|
+
|
|
137
|
+
For the planned 402flow demo merchant specifically:
|
|
138
|
+
|
|
139
|
+
1. simulated paid content lives under `merchantBody.content`
|
|
140
|
+
2. debugging payment summary fields live under `merchantBody.payment`
|
|
141
|
+
3. echoed accepted request input lives under `merchantBody.request`
|
|
142
|
+
|
|
143
|
+
### How Agents Know What They Paid For
|
|
144
|
+
|
|
145
|
+
Practically, an agent should treat the merchant response in three layers:
|
|
146
|
+
|
|
147
|
+
1. the SDK result carries durable payment metadata such as `receiptId` and `receipt`
|
|
148
|
+
2. `result.response` carries the merchant fulfillment payload
|
|
149
|
+
3. the merchant contract decides where the useful paid content lives inside that fulfillment payload
|
|
150
|
+
|
|
151
|
+
For the 402flow demo merchant, the rule is simple:
|
|
152
|
+
|
|
153
|
+
1. read `merchantBody.content` for the simulated paid content
|
|
154
|
+
2. read `merchantBody.payment` for debugging-oriented payment summary fields
|
|
155
|
+
3. read `merchantBody.request` for the echoed accepted request shape
|
|
156
|
+
|
|
157
|
+
For arbitrary merchants, there is no x402-level guarantee that paid content lives under `content`, `data`, `result`, or any other universal field. The agent needs one of these sources of truth:
|
|
158
|
+
|
|
159
|
+
1. parsed merchant challenge details from `prepared.challengeDetails` when the merchant publishes discovery data in the x402 challenge
|
|
160
|
+
2. merchant-authoritative preparation hints from `prepared.hints`
|
|
161
|
+
3. the merchant's out-of-band documented response contract
|
|
162
|
+
4. caller-supplied `externalMetadata` when the caller already knows the endpoint schema
|
|
163
|
+
|
|
164
|
+
Important distinction:
|
|
165
|
+
|
|
166
|
+
1. today, merchant challenge metadata can give the SDK authoritative request-shape hints such as body type, body fields, query params, examples, and notes
|
|
167
|
+
2. today, it does not give the SDK a universal fulfilled-response schema for where paid content will live in the merchant response body
|
|
168
|
+
|
|
169
|
+
In other words:
|
|
170
|
+
|
|
171
|
+
1. x402 tells the system how to pay
|
|
172
|
+
2. the SDK preserves the resulting merchant response body
|
|
173
|
+
3. the merchant contract tells the agent how to interpret that body
|
|
174
|
+
|
|
175
|
+
If an agent does not have enough contract information to interpret the returned merchant body safely, it should not invent a payload shape. It should surface the raw merchant body and explain what contract detail is still missing.
|
|
176
|
+
|
|
177
|
+
### What The Agent Can See During Preparation
|
|
178
|
+
|
|
179
|
+
Yes, the agent can get merchant-authoritative request-shape hints when the merchant challenge includes them and the host uses `preparePaidRequest()`.
|
|
180
|
+
|
|
181
|
+
The SDK also exposes a parsed challenge summary on ready preparations:
|
|
182
|
+
|
|
183
|
+
1. `prepared.challengeDetails.resource` for spec-level resource metadata like `url`, `description`, and `mimeType`
|
|
184
|
+
2. `prepared.challengeDetails.accepts` for the full advertised payment candidates, not just the normalized primary requirement
|
|
185
|
+
3. `prepared.challengeDetails.extensions` for merchant-published extensions such as Bazaar discovery metadata
|
|
186
|
+
|
|
187
|
+
Those hints are returned on `prepared.hints` and can include:
|
|
188
|
+
|
|
189
|
+
1. `requestBodyType`
|
|
190
|
+
2. `requestBodyExample`
|
|
191
|
+
3. `requestBodyFields`
|
|
192
|
+
4. `requestQueryParams`
|
|
193
|
+
5. `requestPathParams`
|
|
194
|
+
6. `notes`
|
|
195
|
+
|
|
196
|
+
Each hint includes attribution so the agent can tell whether it came from:
|
|
197
|
+
|
|
198
|
+
1. `merchant_challenge` with authoritative status
|
|
199
|
+
2. `external_metadata` with advisory status
|
|
200
|
+
|
|
201
|
+
So, practically:
|
|
202
|
+
|
|
203
|
+
1. if you want the agent to see merchant-provided request-shape guidance, use `preparePaidRequest()` and pass both `prepared.challengeDetails` and `prepared.hints` through your host flow
|
|
204
|
+
2. if the merchant publishes Bazaar discovery data, the host or agent can inspect `prepared.challengeDetails.extensions?.bazaar` for input and output examples straight from the challenge
|
|
205
|
+
3. if you want the agent to know where fulfilled paid content lives in the final merchant response, that still needs a merchant-specific contract such as docs, host knowledge, or a convention like the demo merchant's `content` field
|
|
206
|
+
|
|
99
207
|
## Preparation Flow
|
|
100
208
|
|
|
101
209
|
Use `preparePaidRequest()` when the caller needs a first-class pre-execution result before paying.
|
|
102
210
|
|
|
103
211
|
```ts
|
|
212
|
+
import { createJsonRequestBody } from '@402flow/sdk';
|
|
213
|
+
|
|
104
214
|
const prepared = await client.preparePaidRequest(
|
|
105
215
|
'https://merchant.example.com/images/generate',
|
|
106
216
|
{
|
|
@@ -108,7 +218,7 @@ const prepared = await client.preparePaidRequest(
|
|
|
108
218
|
headers: {
|
|
109
219
|
'content-type': 'application/json',
|
|
110
220
|
},
|
|
111
|
-
body:
|
|
221
|
+
body: createJsonRequestBody({
|
|
112
222
|
prompt: 'foggy coastline',
|
|
113
223
|
}),
|
|
114
224
|
},
|
|
@@ -130,7 +240,7 @@ This flow is useful when:
|
|
|
130
240
|
|
|
131
241
|
1. an agent needs request-shape hints before attempting execution
|
|
132
242
|
2. the caller wants normalized payment terms before paying
|
|
133
|
-
3. the caller wants to merge optional `
|
|
243
|
+
3. the caller wants to merge optional `externalMetadata` it already has from another system
|
|
134
244
|
|
|
135
245
|
The common loop is:
|
|
136
246
|
|
|
@@ -142,6 +252,8 @@ The common loop is:
|
|
|
142
252
|
If your system already has endpoint metadata, you can pass it in as optional context:
|
|
143
253
|
|
|
144
254
|
```ts
|
|
255
|
+
import { createJsonRequestBody } from '@402flow/sdk';
|
|
256
|
+
|
|
145
257
|
const prepared = await client.preparePaidRequest(
|
|
146
258
|
'https://merchant.example.com/images/generate',
|
|
147
259
|
{
|
|
@@ -149,28 +261,26 @@ const prepared = await client.preparePaidRequest(
|
|
|
149
261
|
headers: {
|
|
150
262
|
'content-type': 'application/json',
|
|
151
263
|
},
|
|
152
|
-
body:
|
|
264
|
+
body: createJsonRequestBody({
|
|
153
265
|
prompt: 'foggy coastline',
|
|
154
266
|
}),
|
|
155
267
|
},
|
|
156
268
|
{
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
],
|
|
167
|
-
},
|
|
269
|
+
externalMetadata: {
|
|
270
|
+
requestBodyType: 'json',
|
|
271
|
+
requestBodyFields: [
|
|
272
|
+
{
|
|
273
|
+
name: 'prompt',
|
|
274
|
+
type: 'string',
|
|
275
|
+
required: true,
|
|
276
|
+
},
|
|
277
|
+
],
|
|
168
278
|
},
|
|
169
279
|
},
|
|
170
280
|
);
|
|
171
281
|
```
|
|
172
282
|
|
|
173
|
-
`
|
|
283
|
+
`externalMetadata` is optional caller context. It improves preparation when the caller already has structured endpoint knowledge, but it is not required for normal SDK use.
|
|
174
284
|
|
|
175
285
|
### What `ready` Means
|
|
176
286
|
|
|
@@ -187,6 +297,8 @@ That distinction matters:
|
|
|
187
297
|
If preparation returns `kind === 'ready'`, execute that exact prepared request with `executePreparedRequest(prepared, ...)`.
|
|
188
298
|
|
|
189
299
|
```ts
|
|
300
|
+
import { createJsonRequestBody } from '@402flow/sdk';
|
|
301
|
+
|
|
190
302
|
const prepared = await client.preparePaidRequest(
|
|
191
303
|
'https://merchant.example.com/images/generate',
|
|
192
304
|
{
|
|
@@ -194,7 +306,7 @@ const prepared = await client.preparePaidRequest(
|
|
|
194
306
|
headers: {
|
|
195
307
|
'content-type': 'application/json',
|
|
196
308
|
},
|
|
197
|
-
body:
|
|
309
|
+
body: createJsonRequestBody({
|
|
198
310
|
prompt: 'foggy coastline',
|
|
199
311
|
}),
|
|
200
312
|
},
|
|
@@ -225,6 +337,8 @@ The preparation result distinguishes four important things:
|
|
|
225
337
|
|
|
226
338
|
Each prepared hint carries `attribution` so callers can distinguish live merchant-authoritative data from advisory caller-supplied metadata.
|
|
227
339
|
|
|
340
|
+
In this model, payment terms come from the merchant challenge, optional request-shape enrichment comes from `externalMetadata`, and live confirmation is represented by the prepared `probe` result.
|
|
341
|
+
|
|
228
342
|
## Result And Error Semantics
|
|
229
343
|
|
|
230
344
|
`fetchPaid()` and `executePreparedRequest()` either:
|
|
@@ -265,14 +379,44 @@ Most agent frameworks only need a small orchestration policy:
|
|
|
265
379
|
```text
|
|
266
380
|
When using @402flow/sdk:
|
|
267
381
|
- Always prepare a paid request before executing it.
|
|
268
|
-
-
|
|
269
|
-
-
|
|
270
|
-
-
|
|
271
|
-
-
|
|
382
|
+
- Execute only when preparation returns nextAction as execute.
|
|
383
|
+
- If preparation returns treat_as_passthrough, do not pay and explain that paid execution is not required.
|
|
384
|
+
- If preparation returns revise_request, use validationIssues and hints to revise only when the task provides enough information; otherwise stop and explain what is still missing.
|
|
385
|
+
- Use externalMetadata only when the caller already has it from another system, and treat it as advisory when merchant-challenge hints disagree.
|
|
386
|
+
- Do not invent missing business parameters or execute the same prepared request twice unless the caller explicitly asks for a retry.
|
|
387
|
+
- After execution, read the stored execution result and report denied, pending, failed, or inconclusive outcomes clearly.
|
|
272
388
|
```
|
|
273
389
|
|
|
274
390
|
That is the portable core SDK story. It should work across OpenAI, Claude, LangGraph, MCP, or custom workflows without requiring host-specific packaging in the SDK contract itself.
|
|
275
391
|
|
|
392
|
+
## Tiny OpenAI Tools Host
|
|
393
|
+
|
|
394
|
+
If you want a minimal real host integration instead of the larger evaluation harness, use the tiny OpenAI Responses example in `examples/openai-tools-quickstart.mjs`.
|
|
395
|
+
|
|
396
|
+
For repo-local example runs, create `.env` from `.env.example` in the SDK root. The SDK examples load that file directly, so scenario runs stay self-contained in this repo whether they point at a local control plane or a hosted environment.
|
|
397
|
+
|
|
398
|
+
It keeps the host story narrow:
|
|
399
|
+
|
|
400
|
+
1. create an `AgentPayClient`
|
|
401
|
+
2. wrap it with optional `AgentHarness` so tool calls can pass `preparedId`
|
|
402
|
+
3. expose `prepare_paid_request`, `execute_prepared_request`, and `get_execution_result`
|
|
403
|
+
|
|
404
|
+
Run it with one prompt. Either populate `.env` from `.env.example`, or export the same values in your shell for a one-off run:
|
|
405
|
+
|
|
406
|
+
```bash
|
|
407
|
+
cp .env.example .env
|
|
408
|
+
export OPENAI_API_KEY="..."
|
|
409
|
+
export X402FLOW_CONTROL_PLANE_BASE_URL="https://402flow.ai"
|
|
410
|
+
export X402FLOW_ORGANIZATION="acme-labs"
|
|
411
|
+
export X402FLOW_AGENT="reporting-worker"
|
|
412
|
+
export X402FLOW_BOOTSTRAP_KEY="..."
|
|
413
|
+
|
|
414
|
+
npm run example:openai-tools-quickstart -- \
|
|
415
|
+
"Prepare and execute a paid POST request to https://nickeljoke.vercel.app/api/joke with JSON body {\"topic\":\"sdk integration\",\"tone\":\"dry\",\"audience\":\"platform engineers\"}"
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
Use this when you want the shortest real host integration path. Use the full evaluation harness only when you need scenarios, transcripts, or repeated eval runs.
|
|
419
|
+
|
|
276
420
|
## Optional `AgentHarness`
|
|
277
421
|
|
|
278
422
|
`AgentHarness` is an optional preparedId-based wrapper for tool hosts that do not want to manage in-flight prepared request objects themselves. It is a convenience layer on top of `AgentPayClient`, not a required abstraction.
|
package/dist/agent-harness.d.ts
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* - Execution is rejected locally unless the stored preparation is still active,
|
|
25
25
|
* kind === 'ready', and nextAction === 'execute'.
|
|
26
26
|
*/
|
|
27
|
-
import type { PaidRequestChallenge,
|
|
27
|
+
import type { PaidRequestChallenge, SdkExternalMetadata, SdkMerchantResponse, SdkPreparedChallengeDetails, SdkPreparedNextAction, SdkPreparedPaidRequest, SdkPreparedPaymentRequirement, SdkPreparedRequestHints, SdkPreparedValidationIssue } from './contracts.js';
|
|
28
28
|
import type { AgentPayClient, ExecutePreparedRequest, FetchPaidFailureResponse, PaidResponse } from './index.js';
|
|
29
29
|
export type AgentHarnessPreparedState = 'active' | 'consumed' | 'expired' | 'superseded';
|
|
30
30
|
/** Local rejection reasons produced by the harness before the SDK is called. */
|
|
@@ -41,7 +41,7 @@ export type AgentHarnessPrepareInput = {
|
|
|
41
41
|
method?: string;
|
|
42
42
|
headers?: Record<string, string>;
|
|
43
43
|
body?: string;
|
|
44
|
-
|
|
44
|
+
externalMetadata?: SdkExternalMetadata;
|
|
45
45
|
};
|
|
46
46
|
/** Host-facing input for the harness execute step. */
|
|
47
47
|
export type AgentHarnessExecuteInput = {
|
|
@@ -68,6 +68,7 @@ export type AgentHarnessPreparedSummary = {
|
|
|
68
68
|
state: 'active';
|
|
69
69
|
kind: SdkPreparedPaidRequest['kind'];
|
|
70
70
|
protocol: SdkPreparedPaidRequest['protocol'];
|
|
71
|
+
challengeDetails?: SdkPreparedChallengeDetails;
|
|
71
72
|
paymentRequirement?: SdkPreparedPaymentRequirement;
|
|
72
73
|
hints: SdkPreparedRequestHints;
|
|
73
74
|
probe?: SdkPreparedPaidRequest['probe'];
|
package/dist/agent-harness.js
CHANGED
|
@@ -110,6 +110,9 @@ function summarizePreparedRecord(record) {
|
|
|
110
110
|
state: 'active',
|
|
111
111
|
kind: record.prepared.kind,
|
|
112
112
|
protocol: record.prepared.protocol,
|
|
113
|
+
...(record.prepared.kind === 'ready' && record.prepared.challengeDetails
|
|
114
|
+
? { challengeDetails: record.prepared.challengeDetails }
|
|
115
|
+
: {}),
|
|
113
116
|
...(record.prepared.kind === 'ready' && record.prepared.paymentRequirement
|
|
114
117
|
? { paymentRequirement: record.prepared.paymentRequirement }
|
|
115
118
|
: {}),
|
|
@@ -201,8 +204,8 @@ export class AgentHarness {
|
|
|
201
204
|
...(input.headers ? { headers: input.headers } : {}),
|
|
202
205
|
...(input.body !== undefined ? { body: input.body } : {}),
|
|
203
206
|
}, {
|
|
204
|
-
...(input.
|
|
205
|
-
? {
|
|
207
|
+
...(input.externalMetadata
|
|
208
|
+
? { externalMetadata: input.externalMetadata }
|
|
206
209
|
: {}),
|
|
207
210
|
});
|
|
208
211
|
const createdAt = this.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../src/agent-harness.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../src/agent-harness.ts"],"names":[],"mappings":"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"}
|