@402flow/sdk 0.1.0-alpha.14 → 0.1.0-alpha.15

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 CHANGED
@@ -1,6 +1,8 @@
1
1
  # @402flow/sdk
2
2
 
3
- Node.js SDK for making governed paid HTTP requests through the 402flow control plane.
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 check, prepare, and execute paid HTTP requests without embedding control-plane or protocol-specific logic in the host.
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 organization and agent selectors up front, and each request only carries request-specific context.
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: JSON.stringify({
113
+ body: createJsonRequestBody({
80
114
  date: '2026-03-25',
81
115
  }),
82
116
  },
@@ -101,6 +135,8 @@ If the merchant does not require payment for that exact request, the SDK returns
101
135
  Use `preparePaidRequest()` when the caller needs a first-class pre-execution result before paying.
102
136
 
103
137
  ```ts
138
+ import { createJsonRequestBody } from '@402flow/sdk';
139
+
104
140
  const prepared = await client.preparePaidRequest(
105
141
  'https://merchant.example.com/images/generate',
106
142
  {
@@ -108,7 +144,7 @@ const prepared = await client.preparePaidRequest(
108
144
  headers: {
109
145
  'content-type': 'application/json',
110
146
  },
111
- body: JSON.stringify({
147
+ body: createJsonRequestBody({
112
148
  prompt: 'foggy coastline',
113
149
  }),
114
150
  },
@@ -130,7 +166,7 @@ This flow is useful when:
130
166
 
131
167
  1. an agent needs request-shape hints before attempting execution
132
168
  2. the caller wants normalized payment terms before paying
133
- 3. the caller wants to merge optional `discoveryMetadata` it already has from another system
169
+ 3. the caller wants to merge optional `externalMetadata` it already has from another system
134
170
 
135
171
  The common loop is:
136
172
 
@@ -142,6 +178,8 @@ The common loop is:
142
178
  If your system already has endpoint metadata, you can pass it in as optional context:
143
179
 
144
180
  ```ts
181
+ import { createJsonRequestBody } from '@402flow/sdk';
182
+
145
183
  const prepared = await client.preparePaidRequest(
146
184
  'https://merchant.example.com/images/generate',
147
185
  {
@@ -149,28 +187,26 @@ const prepared = await client.preparePaidRequest(
149
187
  headers: {
150
188
  'content-type': 'application/json',
151
189
  },
152
- body: JSON.stringify({
190
+ body: createJsonRequestBody({
153
191
  prompt: 'foggy coastline',
154
192
  }),
155
193
  },
156
194
  {
157
- discoveryMetadata: {
158
- provider: {
159
- requestBodyType: 'json',
160
- requestBodyFields: [
161
- {
162
- name: 'prompt',
163
- type: 'string',
164
- required: true,
165
- },
166
- ],
167
- },
195
+ externalMetadata: {
196
+ requestBodyType: 'json',
197
+ requestBodyFields: [
198
+ {
199
+ name: 'prompt',
200
+ type: 'string',
201
+ required: true,
202
+ },
203
+ ],
168
204
  },
169
205
  },
170
206
  );
171
207
  ```
172
208
 
173
- `discoveryMetadata` is optional caller context. It improves preparation when the caller already has structured endpoint knowledge, but it is not required for normal SDK use.
209
+ `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
210
 
175
211
  ### What `ready` Means
176
212
 
@@ -187,6 +223,8 @@ That distinction matters:
187
223
  If preparation returns `kind === 'ready'`, execute that exact prepared request with `executePreparedRequest(prepared, ...)`.
188
224
 
189
225
  ```ts
226
+ import { createJsonRequestBody } from '@402flow/sdk';
227
+
190
228
  const prepared = await client.preparePaidRequest(
191
229
  'https://merchant.example.com/images/generate',
192
230
  {
@@ -194,7 +232,7 @@ const prepared = await client.preparePaidRequest(
194
232
  headers: {
195
233
  'content-type': 'application/json',
196
234
  },
197
- body: JSON.stringify({
235
+ body: createJsonRequestBody({
198
236
  prompt: 'foggy coastline',
199
237
  }),
200
238
  },
@@ -225,6 +263,8 @@ The preparation result distinguishes four important things:
225
263
 
226
264
  Each prepared hint carries `attribution` so callers can distinguish live merchant-authoritative data from advisory caller-supplied metadata.
227
265
 
266
+ 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.
267
+
228
268
  ## Result And Error Semantics
229
269
 
230
270
  `fetchPaid()` and `executePreparedRequest()` either:
@@ -265,14 +305,41 @@ Most agent frameworks only need a small orchestration policy:
265
305
  ```text
266
306
  When using @402flow/sdk:
267
307
  - Always prepare a paid request before executing it.
268
- - If preparation returns revise_request, inspect validationIssues and hints, revise the request, and prepare again.
269
- - Do not invent discoveryMetadata unless the caller already has it from another system.
270
- - Use merchant-challenge hints to understand request shape, but use the task and available business context to choose actual parameter values.
271
- - Execute only after preparation shows the request is ready.
308
+ - Execute only when preparation returns nextAction as execute.
309
+ - If preparation returns treat_as_passthrough, do not pay and explain that paid execution is not required.
310
+ - 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.
311
+ - Use externalMetadata only when the caller already has it from another system, and treat it as advisory when merchant-challenge hints disagree.
312
+ - Do not invent missing business parameters or execute the same prepared request twice unless the caller explicitly asks for a retry.
313
+ - After execution, read the stored execution result and report denied, pending, failed, or inconclusive outcomes clearly.
272
314
  ```
273
315
 
274
316
  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
317
 
318
+ ## Tiny OpenAI Tools Host
319
+
320
+ 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`.
321
+
322
+ It keeps the host story narrow:
323
+
324
+ 1. create an `AgentPayClient`
325
+ 2. wrap it with optional `AgentHarness` so tool calls can pass `preparedId`
326
+ 3. expose `prepare_paid_request`, `execute_prepared_request`, and `get_execution_result`
327
+
328
+ Run it with one prompt:
329
+
330
+ ```bash
331
+ export OPENAI_API_KEY="..."
332
+ export X402FLOW_CONTROL_PLANE_BASE_URL="https://402flow.ai"
333
+ export X402FLOW_ORGANIZATION="acme-labs"
334
+ export X402FLOW_AGENT="reporting-worker"
335
+ export X402FLOW_BOOTSTRAP_KEY="..."
336
+
337
+ npm run example:openai-tools-quickstart -- \
338
+ "Prepare and execute a paid POST request to https://merchant.example.com/images/generate with JSON body {\"prompt\":\"foggy coastline\"}"
339
+ ```
340
+
341
+ 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.
342
+
276
343
  ## Optional `AgentHarness`
277
344
 
278
345
  `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.
@@ -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, SdkPreparationDiscoveryMetadata, SdkMerchantResponse, SdkPreparedNextAction, SdkPreparedPaidRequest, SdkPreparedPaymentRequirement, SdkPreparedRequestHints, SdkPreparedValidationIssue } from './contracts.js';
27
+ import type { PaidRequestChallenge, SdkExternalMetadata, SdkMerchantResponse, 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
- discoveryMetadata?: SdkPreparationDiscoveryMetadata;
44
+ externalMetadata?: SdkExternalMetadata;
45
45
  };
46
46
  /** Host-facing input for the harness execute step. */
47
47
  export type AgentHarnessExecuteInput = {
@@ -201,8 +201,8 @@ export class AgentHarness {
201
201
  ...(input.headers ? { headers: input.headers } : {}),
202
202
  ...(input.body !== undefined ? { body: input.body } : {}),
203
203
  }, {
204
- ...(input.discoveryMetadata
205
- ? { discoveryMetadata: input.discoveryMetadata }
204
+ ...(input.externalMetadata
205
+ ? { externalMetadata: input.externalMetadata }
206
206
  : {}),
207
207
  });
208
208
  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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"}