@run402/sdk 2.9.0 → 2.11.0
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 +2 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/namespaces/cache.d.ts +100 -0
- package/dist/namespaces/cache.d.ts.map +1 -0
- package/dist/namespaces/cache.js +104 -0
- package/dist/namespaces/cache.js.map +1 -0
- package/dist/node/_paid-stack.d.ts +49 -0
- package/dist/node/_paid-stack.d.ts.map +1 -0
- package/dist/node/_paid-stack.js +89 -0
- package/dist/node/_paid-stack.js.map +1 -0
- package/dist/node/paid-fetch.d.ts +4 -0
- package/dist/node/paid-fetch.d.ts.map +1 -1
- package/dist/node/paid-fetch.js +27 -20
- package/dist/node/paid-fetch.js.map +1 -1
- package/package.json +18 -2
package/README.md
CHANGED
|
@@ -54,7 +54,7 @@ const r = new Run402({
|
|
|
54
54
|
|
|
55
55
|
The `CredentialsProvider` interface has two required methods (`getAuth`, `getProject`) plus optional ones (`saveProject`, `removeProject`, `setActiveProject`, `readAllowance`, `saveAllowance`, …) for hosts that want full sticky-default behavior.
|
|
56
56
|
|
|
57
|
-
## Namespaces (
|
|
57
|
+
## Namespaces (22)
|
|
58
58
|
|
|
59
59
|
| Namespace | Highlights |
|
|
60
60
|
|---|---|
|
|
@@ -64,6 +64,7 @@ The `CredentialsProvider` interface has two required methods (`getAuth`, `getPro
|
|
|
64
64
|
| `ci` | GitHub Actions OIDC federation over `/ci/v1/*`: `createBinding`, `listBindings`, `getBinding`, `revokeBinding`, `exchangeToken`; plus canonical delegation helpers. `createBinding` accepts `asset_key_scopes` for per-key CI write authorization. |
|
|
65
65
|
| `r.project(id).sites` | `deployDir` — Node entry only (`@run402/sdk/node`); thin wrapper over `r.project(id).apply({ site: dir(...) })` |
|
|
66
66
|
| `r.project(id).assets` | `put` (single asset), `putMany`, `uploadDir` (Node, additive), `syncDir` (Node, destructive only with `prune: true` + confirm token), `prepareDir` (returns `{ manifest, applySlice }` for pre-commit URL injection), `get`, `ls`, `rm`, `sign`, `diagnoseUrl`, `waitFresh`, `diff`. Returns `AssetRef` (single) or `AssetManifest` (batch). |
|
|
67
|
+
| `cache` (v1.52+) | SSR origin ISR cache: `invalidate(url)`, `invalidatePrefix({ host, prefix })`, `invalidateAll({ host })`, `invalidateMany(urls)`, `inspect(url)`. Project-scoped (host ownership validated server-side; cross-project hosts throw `R402_CACHE_INVALIDATION_HOST_FORBIDDEN`). Generation-guarded — in-flight MISS renders started before an invalidate cannot overwrite the freshly-cleared state. |
|
|
67
68
|
| `functions` | `deploy`, `invoke`, `logs`, `update`, `list`, `delete` |
|
|
68
69
|
| `jobs` | `submit`, `get`, `logs`, `cancel` for fixed platform-managed jobs |
|
|
69
70
|
| `secrets` | `set`, `list`, `delete` |
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { Projects } from "./namespaces/projects.js";
|
|
|
10
10
|
import { Assets } from "./namespaces/assets.js";
|
|
11
11
|
import { Functions } from "./namespaces/functions.js";
|
|
12
12
|
import { Secrets } from "./namespaces/secrets.js";
|
|
13
|
+
import { Cache } from "./namespaces/cache.js";
|
|
13
14
|
import { Subdomains } from "./namespaces/subdomains.js";
|
|
14
15
|
import { Domains } from "./namespaces/domains.js";
|
|
15
16
|
import { Sites } from "./namespaces/sites.js";
|
|
@@ -47,6 +48,7 @@ export declare class Run402 {
|
|
|
47
48
|
readonly assets: Assets;
|
|
48
49
|
readonly functions: Functions;
|
|
49
50
|
readonly secrets: Secrets;
|
|
51
|
+
readonly cache: Cache;
|
|
50
52
|
readonly subdomains: Subdomains;
|
|
51
53
|
readonly domains: Domains;
|
|
52
54
|
readonly sites: Sites;
|
|
@@ -145,6 +147,7 @@ export type * from "./namespaces/allowance.js";
|
|
|
145
147
|
export type * from "./namespaces/apps.js";
|
|
146
148
|
export type * from "./namespaces/auth.js";
|
|
147
149
|
export type * from "./namespaces/billing.js";
|
|
150
|
+
export type * from "./namespaces/cache.js";
|
|
148
151
|
export type * from "./namespaces/assets.types.js";
|
|
149
152
|
export type * from "./namespaces/ci.types.js";
|
|
150
153
|
export type * from "./namespaces/contracts.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import { Projects } from "./namespaces/projects.js";
|
|
|
10
10
|
import { Assets } from "./namespaces/assets.js";
|
|
11
11
|
import { Functions } from "./namespaces/functions.js";
|
|
12
12
|
import { Secrets } from "./namespaces/secrets.js";
|
|
13
|
+
import { Cache } from "./namespaces/cache.js";
|
|
13
14
|
import { Subdomains } from "./namespaces/subdomains.js";
|
|
14
15
|
import { Domains } from "./namespaces/domains.js";
|
|
15
16
|
import { Sites } from "./namespaces/sites.js";
|
|
@@ -34,6 +35,7 @@ export class Run402 {
|
|
|
34
35
|
assets;
|
|
35
36
|
functions;
|
|
36
37
|
secrets;
|
|
38
|
+
cache;
|
|
37
39
|
subdomains;
|
|
38
40
|
domains;
|
|
39
41
|
sites;
|
|
@@ -85,6 +87,7 @@ export class Run402 {
|
|
|
85
87
|
this.assets = new Assets(client);
|
|
86
88
|
this.functions = new Functions(client);
|
|
87
89
|
this.secrets = new Secrets(client);
|
|
90
|
+
this.cache = new Cache(client);
|
|
88
91
|
this.subdomains = new Subdomains(client);
|
|
89
92
|
this.domains = new Domains(client);
|
|
90
93
|
this.sites = new Sites(client);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cache` namespace — SSR origin cache inspection and invalidation.
|
|
3
|
+
*
|
|
4
|
+
* Capability `ssr-isr-cache` (Run402 v1.52). Used by AI coding agents
|
|
5
|
+
* and CLI tooling to invalidate cached SSR responses after admin
|
|
6
|
+
* content edits, OR to inspect what's currently cached.
|
|
7
|
+
*
|
|
8
|
+
* All operations are project-scoped: the SDK reads the active project
|
|
9
|
+
* from the credentials provider, and the gateway enforces host
|
|
10
|
+
* ownership (cross-project hosts throw
|
|
11
|
+
* `R402_CACHE_INVALIDATION_HOST_FORBIDDEN`).
|
|
12
|
+
*
|
|
13
|
+
* @see https://docs.run402.com/cache/concepts
|
|
14
|
+
*/
|
|
15
|
+
import type { Client } from "../kernel.js";
|
|
16
|
+
export interface CacheInvalidateResult {
|
|
17
|
+
/** Number of cache rows DELETEd by this call. */
|
|
18
|
+
deleted: number;
|
|
19
|
+
/** Post-increment generation for the affected (project, host). Used
|
|
20
|
+
* by the generation guard to prevent in-flight MISS renders from
|
|
21
|
+
* overwriting after invalidation. */
|
|
22
|
+
generation: string;
|
|
23
|
+
/** The host the invalidation targeted. Empty string for bulk calls
|
|
24
|
+
* that span multiple hosts. */
|
|
25
|
+
host: string;
|
|
26
|
+
/** Path targeted (single-URL form only). */
|
|
27
|
+
path?: string;
|
|
28
|
+
/** Per-host results for bulk invalidation. */
|
|
29
|
+
results?: Array<{
|
|
30
|
+
host: string;
|
|
31
|
+
deleted: number;
|
|
32
|
+
generation: string;
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
export interface CacheInspectOptions {
|
|
36
|
+
/** Inspect a non-default-locale row. */
|
|
37
|
+
locale?: string;
|
|
38
|
+
/** Inspect a non-active-release row. */
|
|
39
|
+
releaseId?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface CacheInspectResult {
|
|
42
|
+
/** `HIT` when a fresh row exists; `MISS` when no fresh row.
|
|
43
|
+
* NEVER `BYPASS` — inspect doesn't issue a request. */
|
|
44
|
+
status: "HIT" | "MISS";
|
|
45
|
+
url?: string;
|
|
46
|
+
host?: string;
|
|
47
|
+
path?: string;
|
|
48
|
+
search?: string;
|
|
49
|
+
method?: string;
|
|
50
|
+
locale?: string;
|
|
51
|
+
releaseId?: string;
|
|
52
|
+
cachedAt?: string;
|
|
53
|
+
expiresAt?: string;
|
|
54
|
+
writtenUnderGeneration?: string;
|
|
55
|
+
contentSha256?: string;
|
|
56
|
+
headers?: Record<string, string | string[]>;
|
|
57
|
+
}
|
|
58
|
+
export interface CacheInvalidatePrefixOptions {
|
|
59
|
+
host: string;
|
|
60
|
+
prefix: string;
|
|
61
|
+
}
|
|
62
|
+
export interface CacheInvalidateAllOptions {
|
|
63
|
+
host: string;
|
|
64
|
+
}
|
|
65
|
+
export declare class Cache {
|
|
66
|
+
private readonly client;
|
|
67
|
+
constructor(client: Client);
|
|
68
|
+
/**
|
|
69
|
+
* Invalidate a single cached SSR response.
|
|
70
|
+
*
|
|
71
|
+
* @param url - Absolute URL (e.g., `https://eagles.kychon.com/the-guys`).
|
|
72
|
+
* The host MUST be owned by the SDK's active project;
|
|
73
|
+
* cross-project calls throw `R402_CACHE_INVALIDATION_HOST_FORBIDDEN`.
|
|
74
|
+
*/
|
|
75
|
+
invalidate(url: string | URL): Promise<CacheInvalidateResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Invalidate all cache rows under a path prefix on the given host.
|
|
78
|
+
*/
|
|
79
|
+
invalidatePrefix(opts: CacheInvalidatePrefixOptions): Promise<CacheInvalidateResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Invalidate ALL cache rows for the given host. Use for catastrophic
|
|
82
|
+
* content changes (nav restructure, layout-wide update, etc.) where
|
|
83
|
+
* targeted invalidation would be impractical.
|
|
84
|
+
*/
|
|
85
|
+
invalidateAll(opts: CacheInvalidateAllOptions): Promise<CacheInvalidateResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Bulk-invalidate many absolute URLs in a single round-trip. Groups
|
|
88
|
+
* by host and issues one transaction per host.
|
|
89
|
+
*/
|
|
90
|
+
invalidateMany(urls: Array<string | URL>): Promise<CacheInvalidateResult>;
|
|
91
|
+
/**
|
|
92
|
+
* Inspect the cache row state for a URL. Returns `{ status: 'HIT' | 'MISS', ... }`.
|
|
93
|
+
* Does NOT issue a request to the URL.
|
|
94
|
+
*
|
|
95
|
+
* @param url - Absolute URL.
|
|
96
|
+
* @param options - Optional `--locale` / `--release-id` overrides.
|
|
97
|
+
*/
|
|
98
|
+
inspect(url: string | URL, options?: CacheInspectOptions): Promise<CacheInspectResult>;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/namespaces/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB;;0CAEsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB;oCACgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC;4DACwD;IACxD,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;;;OAMG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAanE;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkB1F;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAWpF;;;OAGG;IACG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAS/E;;;;;;OAMG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAajG"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cache` namespace — SSR origin cache inspection and invalidation.
|
|
3
|
+
*
|
|
4
|
+
* Capability `ssr-isr-cache` (Run402 v1.52). Used by AI coding agents
|
|
5
|
+
* and CLI tooling to invalidate cached SSR responses after admin
|
|
6
|
+
* content edits, OR to inspect what's currently cached.
|
|
7
|
+
*
|
|
8
|
+
* All operations are project-scoped: the SDK reads the active project
|
|
9
|
+
* from the credentials provider, and the gateway enforces host
|
|
10
|
+
* ownership (cross-project hosts throw
|
|
11
|
+
* `R402_CACHE_INVALIDATION_HOST_FORBIDDEN`).
|
|
12
|
+
*
|
|
13
|
+
* @see https://docs.run402.com/cache/concepts
|
|
14
|
+
*/
|
|
15
|
+
import { LocalError } from "../errors.js";
|
|
16
|
+
export class Cache {
|
|
17
|
+
client;
|
|
18
|
+
constructor(client) {
|
|
19
|
+
this.client = client;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Invalidate a single cached SSR response.
|
|
23
|
+
*
|
|
24
|
+
* @param url - Absolute URL (e.g., `https://eagles.kychon.com/the-guys`).
|
|
25
|
+
* The host MUST be owned by the SDK's active project;
|
|
26
|
+
* cross-project calls throw `R402_CACHE_INVALIDATION_HOST_FORBIDDEN`.
|
|
27
|
+
*/
|
|
28
|
+
async invalidate(url) {
|
|
29
|
+
const u = url instanceof URL ? url : new URL(url);
|
|
30
|
+
return this.client.request("/cache/v1/invalidate", {
|
|
31
|
+
method: "POST",
|
|
32
|
+
body: {
|
|
33
|
+
kind: "exact",
|
|
34
|
+
host: u.host.toLowerCase(),
|
|
35
|
+
path: u.pathname + (u.search || ""),
|
|
36
|
+
},
|
|
37
|
+
context: "invalidating cache (exact URL)",
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Invalidate all cache rows under a path prefix on the given host.
|
|
42
|
+
*/
|
|
43
|
+
async invalidatePrefix(opts) {
|
|
44
|
+
if (!opts.prefix.startsWith("/")) {
|
|
45
|
+
throw new LocalError("cache.invalidatePrefix: prefix must start with '/'", "invalidating cache (prefix)");
|
|
46
|
+
}
|
|
47
|
+
return this.client.request("/cache/v1/invalidate", {
|
|
48
|
+
method: "POST",
|
|
49
|
+
body: {
|
|
50
|
+
kind: "prefix",
|
|
51
|
+
host: opts.host.toLowerCase(),
|
|
52
|
+
prefix: opts.prefix,
|
|
53
|
+
},
|
|
54
|
+
context: "invalidating cache (prefix)",
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Invalidate ALL cache rows for the given host. Use for catastrophic
|
|
59
|
+
* content changes (nav restructure, layout-wide update, etc.) where
|
|
60
|
+
* targeted invalidation would be impractical.
|
|
61
|
+
*/
|
|
62
|
+
async invalidateAll(opts) {
|
|
63
|
+
return this.client.request("/cache/v1/invalidate", {
|
|
64
|
+
method: "POST",
|
|
65
|
+
body: {
|
|
66
|
+
kind: "all",
|
|
67
|
+
host: opts.host.toLowerCase(),
|
|
68
|
+
},
|
|
69
|
+
context: "invalidating cache (all)",
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Bulk-invalidate many absolute URLs in a single round-trip. Groups
|
|
74
|
+
* by host and issues one transaction per host.
|
|
75
|
+
*/
|
|
76
|
+
async invalidateMany(urls) {
|
|
77
|
+
const normalized = urls.map((u) => (u instanceof URL ? u.toString() : u));
|
|
78
|
+
return this.client.request("/cache/v1/invalidate", {
|
|
79
|
+
method: "POST",
|
|
80
|
+
body: { kind: "many", urls: normalized },
|
|
81
|
+
context: "invalidating cache (many)",
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Inspect the cache row state for a URL. Returns `{ status: 'HIT' | 'MISS', ... }`.
|
|
86
|
+
* Does NOT issue a request to the URL.
|
|
87
|
+
*
|
|
88
|
+
* @param url - Absolute URL.
|
|
89
|
+
* @param options - Optional `--locale` / `--release-id` overrides.
|
|
90
|
+
*/
|
|
91
|
+
async inspect(url, options = {}) {
|
|
92
|
+
const u = url instanceof URL ? url : new URL(url);
|
|
93
|
+
const params = new URLSearchParams();
|
|
94
|
+
params.set("host", u.host.toLowerCase());
|
|
95
|
+
params.set("path", u.pathname + (u.search || ""));
|
|
96
|
+
if (options.locale)
|
|
97
|
+
params.set("locale", options.locale);
|
|
98
|
+
if (options.releaseId)
|
|
99
|
+
params.set("release_id", options.releaseId);
|
|
100
|
+
const result = await this.client.request(`/cache/v1/inspect?${params.toString()}`, { context: "inspecting cache" });
|
|
101
|
+
return { ...result, url: url.toString() };
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/namespaces/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single audit surface for the optional paid-fetch dependency stack.
|
|
3
|
+
*
|
|
4
|
+
* Every `viem` / `@x402/*` / `mppx` import the SDK performs flows through
|
|
5
|
+
* this file. Concentrating the imports here lets a reviewer enumerate the
|
|
6
|
+
* SDK's direct attack surface to those packages from one place, and lets
|
|
7
|
+
* the package.json declare them as `optionalPeerDependencies` — consumers
|
|
8
|
+
* who never make on-chain paid requests do not need to install them.
|
|
9
|
+
*
|
|
10
|
+
* Adding a new import here is the only way to grow the surface; doing so
|
|
11
|
+
* also widens what consumers must install to enable paid fetch. Keep this
|
|
12
|
+
* list minimal. When a symbol is small enough to inline (e.g. the
|
|
13
|
+
* `viem/chains` constants are ~5-line objects), prefer inlining over
|
|
14
|
+
* adding a new dependency edge.
|
|
15
|
+
*/
|
|
16
|
+
type FetchFn = typeof globalThis.fetch;
|
|
17
|
+
export declare class PaidStackUnavailable extends Error {
|
|
18
|
+
readonly missingPackages: readonly string[];
|
|
19
|
+
constructor(missing: readonly string[]);
|
|
20
|
+
}
|
|
21
|
+
export interface X402Stack {
|
|
22
|
+
privateKeyToAccount: (pk: `0x${string}`) => unknown;
|
|
23
|
+
createPublicClient: (opts: unknown) => {
|
|
24
|
+
readContract: (args: unknown) => Promise<bigint>;
|
|
25
|
+
};
|
|
26
|
+
http: () => unknown;
|
|
27
|
+
base: unknown;
|
|
28
|
+
baseSepolia: unknown;
|
|
29
|
+
x402Client: new () => {
|
|
30
|
+
register: (network: string, scheme: unknown) => void;
|
|
31
|
+
registerPolicy: (fn: (version: number, reqs: unknown[]) => unknown[]) => void;
|
|
32
|
+
};
|
|
33
|
+
wrapFetchWithPayment: (fetch: FetchFn, client: unknown) => FetchFn;
|
|
34
|
+
ExactEvmScheme: new (signer: unknown) => unknown;
|
|
35
|
+
toClientEvmSigner: (account: unknown, client: unknown) => unknown;
|
|
36
|
+
}
|
|
37
|
+
export interface MppStack {
|
|
38
|
+
privateKeyToAccount: (pk: `0x${string}`) => unknown;
|
|
39
|
+
Mppx: {
|
|
40
|
+
create: (opts: unknown) => {
|
|
41
|
+
fetch: FetchFn;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
tempo: (opts: unknown) => unknown;
|
|
45
|
+
}
|
|
46
|
+
export declare function loadX402Stack(): Promise<X402Stack>;
|
|
47
|
+
export declare function loadMppStack(): Promise<MppStack>;
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=_paid-stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_paid-stack.d.ts","sourceRoot":"","sources":["../../src/node/_paid-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,KAAK,OAAO,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAEvC,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;gBAChC,OAAO,EAAE,SAAS,MAAM,EAAE;CAQvC;AA+BD,MAAM,WAAW,SAAS;IACxB,mBAAmB,EAAE,CAAC,EAAE,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,CAAC;IACpD,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK;QAAE,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAC5F,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,UAAU;QACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrD,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,CAAC;KAC/E,CAAC;IACF,oBAAoB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IACnE,cAAc,EAAE,KAAK,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IACjD,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;CACnE;AAED,MAAM,WAAW,QAAQ;IACvB,mBAAmB,EAAE,CAAC,EAAE,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,CAAC;IACpD,IAAI,EAAE;QAAE,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK;YAAE,KAAK,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IACxD,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;CACnC;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,CAoBxD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,CAgBtD"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single audit surface for the optional paid-fetch dependency stack.
|
|
3
|
+
*
|
|
4
|
+
* Every `viem` / `@x402/*` / `mppx` import the SDK performs flows through
|
|
5
|
+
* this file. Concentrating the imports here lets a reviewer enumerate the
|
|
6
|
+
* SDK's direct attack surface to those packages from one place, and lets
|
|
7
|
+
* the package.json declare them as `optionalPeerDependencies` — consumers
|
|
8
|
+
* who never make on-chain paid requests do not need to install them.
|
|
9
|
+
*
|
|
10
|
+
* Adding a new import here is the only way to grow the surface; doing so
|
|
11
|
+
* also widens what consumers must install to enable paid fetch. Keep this
|
|
12
|
+
* list minimal. When a symbol is small enough to inline (e.g. the
|
|
13
|
+
* `viem/chains` constants are ~5-line objects), prefer inlining over
|
|
14
|
+
* adding a new dependency edge.
|
|
15
|
+
*/
|
|
16
|
+
export class PaidStackUnavailable extends Error {
|
|
17
|
+
missingPackages;
|
|
18
|
+
constructor(missing) {
|
|
19
|
+
super(`run402: paid requests require optional peer dependencies that are not installed: ${missing.join(", ")}. ` +
|
|
20
|
+
`Install them with: npm install ${missing.join(" ")}`);
|
|
21
|
+
this.name = "PaidStackUnavailable";
|
|
22
|
+
this.missingPackages = missing;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function isModuleNotFound(err) {
|
|
26
|
+
if (!(err instanceof Error))
|
|
27
|
+
return false;
|
|
28
|
+
const code = err.code;
|
|
29
|
+
if (code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND")
|
|
30
|
+
return true;
|
|
31
|
+
return /Cannot find (package|module)/.test(err.message);
|
|
32
|
+
}
|
|
33
|
+
class LoadCollector {
|
|
34
|
+
missing = new Set();
|
|
35
|
+
firstOtherError = null;
|
|
36
|
+
async load(pkg, load) {
|
|
37
|
+
try {
|
|
38
|
+
return await load();
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
if (isModuleNotFound(err))
|
|
42
|
+
this.missing.add(pkg);
|
|
43
|
+
else if (this.firstOtherError === null)
|
|
44
|
+
this.firstOtherError = err;
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
throwIfFailed() {
|
|
49
|
+
if (this.missing.size > 0) {
|
|
50
|
+
throw new PaidStackUnavailable([...this.missing].sort());
|
|
51
|
+
}
|
|
52
|
+
if (this.firstOtherError !== null)
|
|
53
|
+
throw this.firstOtherError;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export async function loadX402Stack() {
|
|
57
|
+
const c = new LoadCollector();
|
|
58
|
+
const accounts = await c.load("viem", () => import("viem/accounts"));
|
|
59
|
+
const viemMod = await c.load("viem", () => import("viem"));
|
|
60
|
+
const chains = await c.load("viem", () => import("viem/chains"));
|
|
61
|
+
const x402Fetch = await c.load("@x402/fetch", () => import("@x402/fetch"));
|
|
62
|
+
const x402EvmClient = await c.load("@x402/evm", () => import("@x402/evm/exact/client"));
|
|
63
|
+
const x402Evm = await c.load("@x402/evm", () => import("@x402/evm"));
|
|
64
|
+
c.throwIfFailed();
|
|
65
|
+
return {
|
|
66
|
+
privateKeyToAccount: accounts.privateKeyToAccount,
|
|
67
|
+
createPublicClient: viemMod.createPublicClient,
|
|
68
|
+
http: viemMod.http,
|
|
69
|
+
base: chains.base,
|
|
70
|
+
baseSepolia: chains.baseSepolia,
|
|
71
|
+
x402Client: x402Fetch.x402Client,
|
|
72
|
+
wrapFetchWithPayment: x402Fetch.wrapFetchWithPayment,
|
|
73
|
+
ExactEvmScheme: x402EvmClient.ExactEvmScheme,
|
|
74
|
+
toClientEvmSigner: x402Evm.toClientEvmSigner,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export async function loadMppStack() {
|
|
78
|
+
const c = new LoadCollector();
|
|
79
|
+
const mppxSpecifier = "mppx/client";
|
|
80
|
+
const mppx = await c.load("mppx", () => import(/* webpackIgnore: true */ mppxSpecifier));
|
|
81
|
+
const accounts = await c.load("viem", () => import("viem/accounts"));
|
|
82
|
+
c.throwIfFailed();
|
|
83
|
+
return {
|
|
84
|
+
privateKeyToAccount: accounts.privateKeyToAccount,
|
|
85
|
+
Mppx: mppx.Mppx,
|
|
86
|
+
tempo: mppx.tempo,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=_paid-stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_paid-stack.js","sourceRoot":"","sources":["../../src/node/_paid-stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
* optional payment libraries fail to load. Callers can fall back to an
|
|
8
8
|
* unwrapped fetch and let 402s surface as `PaymentRequired` errors.
|
|
9
9
|
*
|
|
10
|
+
* The viem / @x402/* / mppx imports live behind `./_paid-stack.ts` so the
|
|
11
|
+
* SDK's direct surface to those packages is auditable from one file and the
|
|
12
|
+
* packages can be declared as optional peer dependencies in package.json.
|
|
13
|
+
*
|
|
10
14
|
* Never calls `process.exit` — the SDK leaves exit-code decisions to the
|
|
11
15
|
* CLI edge.
|
|
12
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paid-fetch.d.ts","sourceRoot":"","sources":["../../src/node/paid-fetch.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"paid-fetch.d.ts","sourceRoot":"","sources":["../../src/node/paid-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,KAAK,OAAO,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAkCvC,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAuE9D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAW7C"}
|
package/dist/node/paid-fetch.js
CHANGED
|
@@ -7,10 +7,15 @@
|
|
|
7
7
|
* optional payment libraries fail to load. Callers can fall back to an
|
|
8
8
|
* unwrapped fetch and let 402s surface as `PaymentRequired` errors.
|
|
9
9
|
*
|
|
10
|
+
* The viem / @x402/* / mppx imports live behind `./_paid-stack.ts` so the
|
|
11
|
+
* SDK's direct surface to those packages is auditable from one file and the
|
|
12
|
+
* packages can be declared as optional peer dependencies in package.json.
|
|
13
|
+
*
|
|
10
14
|
* Never calls `process.exit` — the SDK leaves exit-code decisions to the
|
|
11
15
|
* CLI edge.
|
|
12
16
|
*/
|
|
13
17
|
import { readAllowance } from "../../core-dist/allowance.js";
|
|
18
|
+
import { PaidStackUnavailable, loadMppStack, loadX402Stack } from "./_paid-stack.js";
|
|
14
19
|
const USDC_ABI = [
|
|
15
20
|
{
|
|
16
21
|
name: "balanceOf",
|
|
@@ -22,6 +27,7 @@ const USDC_ABI = [
|
|
|
22
27
|
];
|
|
23
28
|
const USDC_MAINNET = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
24
29
|
const USDC_SEPOLIA = "0x036CbD53842c5426634e7929541eC2318f3dCF7e";
|
|
30
|
+
let warnedMissingDeps = false;
|
|
25
31
|
async function checkBalance(publicClient, tokenAddress, walletAddress) {
|
|
26
32
|
try {
|
|
27
33
|
const raw = await publicClient.readContract({
|
|
@@ -53,33 +59,26 @@ export async function setupPaidFetch() {
|
|
|
53
59
|
return null;
|
|
54
60
|
try {
|
|
55
61
|
if (allowance.rail === "mpp") {
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
const account = privateKeyToAccount(allowance.privateKey);
|
|
60
|
-
const mppx = Mppx.create({
|
|
62
|
+
const stack = await loadMppStack();
|
|
63
|
+
const account = stack.privateKeyToAccount(allowance.privateKey);
|
|
64
|
+
const mppx = stack.Mppx.create({
|
|
61
65
|
polyfill: false,
|
|
62
|
-
methods: [tempo({ account })],
|
|
66
|
+
methods: [stack.tempo({ account })],
|
|
63
67
|
});
|
|
64
68
|
return mppx.fetch;
|
|
65
69
|
}
|
|
66
70
|
// Default: x402 on Base + Base Sepolia
|
|
67
|
-
const
|
|
68
|
-
const
|
|
69
|
-
const { base,
|
|
70
|
-
const
|
|
71
|
-
const { ExactEvmScheme } = await import("@x402/evm/exact/client");
|
|
72
|
-
const { toClientEvmSigner } = await import("@x402/evm");
|
|
73
|
-
const account = privateKeyToAccount(allowance.privateKey);
|
|
74
|
-
const mainnetClient = createPublicClient({ chain: base, transport: http() });
|
|
75
|
-
const sepoliaClient = createPublicClient({ chain: baseSepolia, transport: http() });
|
|
71
|
+
const stack = await loadX402Stack();
|
|
72
|
+
const account = stack.privateKeyToAccount(allowance.privateKey);
|
|
73
|
+
const mainnetClient = stack.createPublicClient({ chain: stack.base, transport: stack.http() });
|
|
74
|
+
const sepoliaClient = stack.createPublicClient({ chain: stack.baseSepolia, transport: stack.http() });
|
|
76
75
|
const [mainnetBalance, sepoliaBalance] = await Promise.all([
|
|
77
76
|
checkBalance(mainnetClient, USDC_MAINNET, allowance.address),
|
|
78
77
|
checkBalance(sepoliaClient, USDC_SEPOLIA, allowance.address),
|
|
79
78
|
]);
|
|
80
|
-
const client = new x402Client();
|
|
81
|
-
client.register("eip155:8453", new ExactEvmScheme(toClientEvmSigner(account, mainnetClient)));
|
|
82
|
-
client.register("eip155:84532", new ExactEvmScheme(toClientEvmSigner(account, sepoliaClient)));
|
|
79
|
+
const client = new stack.x402Client();
|
|
80
|
+
client.register("eip155:8453", new stack.ExactEvmScheme(stack.toClientEvmSigner(account, mainnetClient)));
|
|
81
|
+
client.register("eip155:84532", new stack.ExactEvmScheme(stack.toClientEvmSigner(account, sepoliaClient)));
|
|
83
82
|
if (mainnetBalance > 0 || sepoliaBalance > 0) {
|
|
84
83
|
// Compare against the requested amount, not > 0. A chain with dust below
|
|
85
84
|
// the request amount would otherwise be picked by x402Client and fail
|
|
@@ -100,9 +99,17 @@ export async function setupPaidFetch() {
|
|
|
100
99
|
// Read `globalThis.fetch` fresh each call so test suites that swap the
|
|
101
100
|
// global fetch after setupPaidFetch has already run still see their mocks.
|
|
102
101
|
const dynamicFetch = (input, init) => globalThis.fetch(input, init);
|
|
103
|
-
return wrapFetchWithPayment(dynamicFetch, client);
|
|
102
|
+
return stack.wrapFetchWithPayment(dynamicFetch, client);
|
|
104
103
|
}
|
|
105
|
-
catch {
|
|
104
|
+
catch (err) {
|
|
105
|
+
// Emit a clear one-time warning when the failure is "optional peer deps
|
|
106
|
+
// not installed" — otherwise the caller silently falls back to unwrapped
|
|
107
|
+
// fetch and the user has no way to know they need to `npm install viem`.
|
|
108
|
+
// Other errors stay silent to preserve the graceful-degradation contract.
|
|
109
|
+
if (err instanceof PaidStackUnavailable && !warnedMissingDeps) {
|
|
110
|
+
warnedMissingDeps = true;
|
|
111
|
+
console.warn(`[run402] ${err.message}`);
|
|
112
|
+
}
|
|
106
113
|
return null;
|
|
107
114
|
}
|
|
108
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paid-fetch.js","sourceRoot":"","sources":["../../src/node/paid-fetch.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"paid-fetch.js","sourceRoot":"","sources":["../../src/node/paid-fetch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@run402/sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "Typed TypeScript client for the Run402 API. Kernel shared by the run402-mcp server, the run402 CLI, and user-deployed run402 functions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,12 +28,28 @@
|
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@noble/curves": "^2.0.1",
|
|
31
|
-
"@noble/hashes": "^2.0.1"
|
|
31
|
+
"@noble/hashes": "^2.0.1"
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
32
34
|
"@x402/evm": "^2.6.0",
|
|
33
35
|
"@x402/fetch": "^2.6.0",
|
|
34
36
|
"mppx": "^0.4.7",
|
|
35
37
|
"viem": "^2.47.1"
|
|
36
38
|
},
|
|
39
|
+
"peerDependenciesMeta": {
|
|
40
|
+
"@x402/evm": {
|
|
41
|
+
"optional": true
|
|
42
|
+
},
|
|
43
|
+
"@x402/fetch": {
|
|
44
|
+
"optional": true
|
|
45
|
+
},
|
|
46
|
+
"mppx": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
49
|
+
"viem": {
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
37
53
|
"engines": {
|
|
38
54
|
"node": ">=22"
|
|
39
55
|
},
|