@run402/sdk 1.51.0 → 1.52.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 +132 -30
- package/dist/namespaces/allowance.d.ts +3 -0
- package/dist/namespaces/allowance.d.ts.map +1 -1
- package/dist/namespaces/allowance.js +10 -1
- package/dist/namespaces/allowance.js.map +1 -1
- package/dist/namespaces/projects.d.ts +2 -13
- package/dist/namespaces/projects.d.ts.map +1 -1
- package/dist/namespaces/projects.js +1 -34
- package/dist/namespaces/projects.js.map +1 -1
- package/dist/namespaces/projects.types.d.ts +6 -15
- package/dist/namespaces/projects.types.d.ts.map +1 -1
- package/dist/namespaces/sites.d.ts +7 -18
- package/dist/namespaces/sites.d.ts.map +1 -1
- package/dist/namespaces/sites.js +7 -14
- package/dist/namespaces/sites.js.map +1 -1
- package/dist/namespaces/subdomains.d.ts.map +1 -1
- package/dist/namespaces/subdomains.js +4 -1
- package/dist/namespaces/subdomains.js.map +1 -1
- package/dist/node/index.d.ts +4 -5
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +4 -5
- package/dist/node/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,69 +1,171 @@
|
|
|
1
1
|
# @run402/sdk
|
|
2
2
|
|
|
3
|
-
Typed TypeScript client for the [Run402](https://run402.com) API.
|
|
4
|
-
|
|
5
|
-
This package is the kernel shared by the `run402-mcp` MCP server, the `run402` CLI, and user-deployed run402 functions. It exposes every run402 API operation as a method on a resource namespace (`sdk.projects.provision()`, `sdk.blobs.put()`, `sdk.functions.deploy()`, etc.).
|
|
6
|
-
|
|
7
|
-
## Install
|
|
3
|
+
Typed TypeScript client for the [Run402](https://run402.com) API. The kernel shared by `run402-mcp`, the `run402` CLI, and (eventually) user-deployed functions. Every operation is a method on a resource namespace — `r.projects.provision()`, `r.blobs.put()`, `r.deploy.apply()`, `r.functions.deploy()`, …
|
|
8
4
|
|
|
9
5
|
```bash
|
|
10
6
|
npm install @run402/sdk
|
|
11
7
|
```
|
|
12
8
|
|
|
13
|
-
##
|
|
9
|
+
## Two entry points
|
|
14
10
|
|
|
15
|
-
|
|
11
|
+
| Import | Use when |
|
|
12
|
+
|---|---|
|
|
13
|
+
| `@run402/sdk/node` | Running in Node 22 with the local keystore + allowance. Auto-loads `~/.config/run402/projects.json` and signs x402 payments from `~/.config/run402/allowance.json`. Includes the `r.sites.deployDir(dir)` and `fileSetFromDir(dir)` helpers. |
|
|
14
|
+
| `@run402/sdk` | Isomorphic — works in Node, Deno, Bun, V8 isolates. No filesystem access. Bring your own `CredentialsProvider` (a session-token shim, a remote vault, anything that resolves project keys + auth headers). |
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
## Quick start (Node)
|
|
17
|
+
|
|
18
|
+
```ts
|
|
18
19
|
import { run402 } from "@run402/sdk/node";
|
|
19
20
|
|
|
20
21
|
const r = run402();
|
|
21
22
|
const project = await r.projects.provision({ tier: "prototype" });
|
|
22
|
-
await r.blobs.put(project.
|
|
23
|
+
await r.blobs.put(project.project_id, "hello.txt", { content: "hi" });
|
|
23
24
|
```
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
That's it — credentials are read, x402 payments are signed, results are typed.
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
## Quick start (isomorphic)
|
|
28
29
|
|
|
29
|
-
```
|
|
30
|
+
```ts
|
|
30
31
|
import { Run402 } from "@run402/sdk";
|
|
31
32
|
|
|
32
33
|
const r = new Run402({
|
|
33
34
|
apiBase: "https://api.run402.com",
|
|
34
35
|
credentials: {
|
|
35
|
-
async getAuth(
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
async getProject(id) {
|
|
39
|
-
return mySessionProjects[id] ?? null;
|
|
40
|
-
},
|
|
36
|
+
async getAuth() { return { Authorization: `Bearer ${session.token}` }; },
|
|
37
|
+
async getProject(id) { return session.projects[id] ?? null; },
|
|
41
38
|
},
|
|
42
39
|
});
|
|
43
40
|
```
|
|
44
41
|
|
|
45
|
-
|
|
42
|
+
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.
|
|
43
|
+
|
|
44
|
+
## Namespaces (19)
|
|
45
|
+
|
|
46
|
+
| Namespace | Highlights |
|
|
47
|
+
|---|---|
|
|
48
|
+
| `projects` | `provision`, `delete`, `list`, `getUsage`, `getSchema`, `info`, `keys`, `use`, `pin` |
|
|
49
|
+
| `deploy` | **The unified deploy primitive (v1.34+).** `apply` / `start` / `resume` / `status` / `getRelease` / `diff` / `plan` / `upload` / `commit` |
|
|
50
|
+
| `sites` | `deployDir` (Node entry only) — thin wrapper over `r.deploy.apply` |
|
|
51
|
+
| `blobs` | `put` (returns `AssetRef` with `cdn_url`/`sri`/`etag`), `get`, `ls`, `rm`, `sign`, `diagnoseUrl`, `waitFresh` |
|
|
52
|
+
| `functions` | `deploy`, `invoke`, `getLogs`, `update`, `list`, `delete` |
|
|
53
|
+
| `secrets` | `set`, `list`, `delete` |
|
|
54
|
+
| `subdomains` | `claim`, `list`, `delete` |
|
|
55
|
+
| `domains` | `add`, `list`, `status`, `remove` |
|
|
56
|
+
| `email` | `createMailbox`, `sendEmail`, `listEmails`, `getEmail`, `getEmailRaw`, `webhooks.*` |
|
|
57
|
+
| `senderDomain` | `register`, `status`, `remove`, `enableInbound`, `disableInbound` |
|
|
58
|
+
| `auth` | `magicLink`, `verifyMagicLink`, `setUserPassword`, `settings`, `providers` |
|
|
59
|
+
| `apps` | `browse`, `get`, `fork`, `publish`, `versions.*`, `bundleDeploy` (legacy shim → routes through `deploy`) |
|
|
60
|
+
| `tier` | `set`, `status`, `quote` |
|
|
61
|
+
| `billing` | `createEmailAccount`, `linkWallet`, `tierCheckout`, `buyEmailPack`, `setAutoRecharge`, `balance`, `history`, `createCheckout` |
|
|
62
|
+
| `contracts` | `provisionWallet`, `getWallet`, `listWallets`, `setRecoveryAddress`, `setLowBalanceAlert`, `call`, `read`, `getCallStatus`, `drainWallet`, `deleteWallet` |
|
|
63
|
+
| `ai` | `translate`, `moderate`, `usage` |
|
|
64
|
+
| `allowance` | `status`, `create`, `export`, `requestFaucet`, `checkBalance` |
|
|
65
|
+
| `service` | `status`, `health` (no auth, no setup — works on a fresh install) |
|
|
66
|
+
| `admin` | Admin-only endpoints (pinning, lifecycle reactivation, dispute resolution) |
|
|
67
|
+
|
|
68
|
+
## Patterns
|
|
69
|
+
|
|
70
|
+
### Paste-and-go assets — content-addressed URLs with SRI
|
|
71
|
+
|
|
72
|
+
`r.blobs.put` returns an `AssetRef`. The `cdn_url` is content-addressed (`pr-<public_id>.run402.com/_blob/<key>-<8hex>.<ext>`), served through CloudFront, and never needs cache invalidation. The browser refuses execution on byte mismatch via SRI:
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
const logo = await r.blobs.put(projectId, "logo.png", { bytes });
|
|
76
|
+
// logo.cdn_url → drop into <img src="…">
|
|
77
|
+
// logo.sri → "sha256-…" for <script integrity="…">
|
|
78
|
+
// logo.etag → strong "sha256-<hex>"
|
|
79
|
+
// logo.cache_kind → "immutable" | "mutable" | "private"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
`immutable: true` is the default since v1.45 — pass `false` only when you specifically want to skip the SHA-256 pass on a very large upload.
|
|
83
|
+
|
|
84
|
+
### Unified deploy (v1.34+) — `r.deploy.apply`
|
|
85
|
+
|
|
86
|
+
The canonical primitive for any deploy (database + migrations + manifest + secrets + functions + site + subdomain). Three layers:
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
// One-shot — most agents use this.
|
|
90
|
+
const result = await r.deploy.apply(spec);
|
|
91
|
+
|
|
92
|
+
// Long-running with progress events.
|
|
93
|
+
const op = await r.deploy.start(spec);
|
|
94
|
+
for await (const e of op.events()) console.log(e.phase);
|
|
95
|
+
const final = await op.result();
|
|
96
|
+
|
|
97
|
+
// Resume a previously-started deploy by id.
|
|
98
|
+
const resumed = await r.deploy.resume(operationId);
|
|
99
|
+
```
|
|
46
100
|
|
|
47
|
-
|
|
101
|
+
- **All bytes ride through CAS.** The plan request body never carries inline bytes — only `ContentRef` objects. When the spec exceeds 5 MB JSON, the SDK uploads the manifest itself as a CAS object (`manifest_ref` escape hatch).
|
|
102
|
+
- **Replace vs patch semantics per resource.** `site.replace` = "this is the whole site" (files absent are removed); `site.patch.put` / `patch.delete` = surgical updates. Same shape for `functions`, `secrets`, `subdomains`. Top-level absence = leave untouched.
|
|
103
|
+
- **Server-authoritative manifest digest** — no byte-for-byte canonicalize requirement on the client.
|
|
104
|
+
- The Node entry adds `fileSetFromDir(path)` for filesystem byte sources:
|
|
48
105
|
|
|
49
|
-
|
|
106
|
+
```ts
|
|
107
|
+
import { run402, fileSetFromDir } from "@run402/sdk/node";
|
|
108
|
+
const r = run402();
|
|
109
|
+
await r.deploy.apply({
|
|
110
|
+
project_id,
|
|
111
|
+
site: { replace: { files: await fileSetFromDir("./dist") } },
|
|
112
|
+
subdomains: { replace: [{ name: "my-app" }] },
|
|
113
|
+
});
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Errors
|
|
50
117
|
|
|
51
118
|
All failures throw subclasses of `Run402Error`:
|
|
52
119
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
120
|
+
| Class | When | Notable fields |
|
|
121
|
+
|---|---|---|
|
|
122
|
+
| `PaymentRequired` | HTTP 402 | x402 payment requirements |
|
|
123
|
+
| `ProjectNotFound` | Project ID not in the credential provider | — |
|
|
124
|
+
| `Unauthorized` | HTTP 401 / 403 | — |
|
|
125
|
+
| `ApiError` | Other non-2xx responses | `status`, `body` |
|
|
126
|
+
| `NetworkError` | Fetch rejected with no HTTP response | — |
|
|
127
|
+
| `LocalError` | Local-host issues (filesystem, signing) | — |
|
|
128
|
+
| `Run402DeployError` | Structured envelope from the deploy state machine (v1.34+) | `code`, `phase`, `operation_id`, `safe_to_retry`, `mutation_state`, `next_actions` |
|
|
129
|
+
|
|
130
|
+
Branch on the structured fields, not English `message` text:
|
|
58
131
|
|
|
59
|
-
```
|
|
60
|
-
import { PaymentRequired } from "@run402/sdk";
|
|
132
|
+
```ts
|
|
133
|
+
import { PaymentRequired, Run402DeployError } from "@run402/sdk";
|
|
61
134
|
|
|
62
135
|
try {
|
|
63
|
-
await r.
|
|
136
|
+
await r.deploy.apply(spec);
|
|
64
137
|
} catch (e) {
|
|
65
138
|
if (e instanceof PaymentRequired) {
|
|
66
|
-
|
|
139
|
+
// present payment requirements to the user
|
|
140
|
+
} else if (e instanceof Run402DeployError && e.safe_to_retry) {
|
|
141
|
+
// safe to retry — same idempotency key
|
|
67
142
|
} else throw e;
|
|
68
143
|
}
|
|
69
144
|
```
|
|
145
|
+
|
|
146
|
+
The SDK never calls `process.exit`. Each interface (MCP tools, CLI, your code) wraps with its own error behavior.
|
|
147
|
+
|
|
148
|
+
## Stability
|
|
149
|
+
|
|
150
|
+
This package is `0.x` while the API surface stabilizes for `1.0`. Breaking changes may occur between minor versions. Pin an exact version in production dependencies.
|
|
151
|
+
|
|
152
|
+
## Other interfaces
|
|
153
|
+
|
|
154
|
+
`@run402/sdk` is the kernel that powers four sibling packages:
|
|
155
|
+
|
|
156
|
+
- [`run402`](https://www.npmjs.com/package/run402) — CLI (terminal / scripts / CI)
|
|
157
|
+
- [`run402-mcp`](https://www.npmjs.com/package/run402-mcp) — MCP server (Claude Desktop / Cursor / Cline / Claude Code)
|
|
158
|
+
- [`@run402/functions`](https://www.npmjs.com/package/@run402/functions) — in-function helper imported _inside_ deployed functions
|
|
159
|
+
- OpenClaw skill — script-based skill for OpenClaw agents
|
|
160
|
+
|
|
161
|
+
All five release in lockstep.
|
|
162
|
+
|
|
163
|
+
## Links
|
|
164
|
+
|
|
165
|
+
- HTTP API reference: <https://run402.com/llms.txt>
|
|
166
|
+
- CLI reference: <https://run402.com/llms-cli.txt>
|
|
167
|
+
- Run402: <https://run402.com>
|
|
168
|
+
|
|
169
|
+
## License
|
|
170
|
+
|
|
171
|
+
MIT
|
|
@@ -30,7 +30,10 @@ export interface AllowanceCreateResult {
|
|
|
30
30
|
}
|
|
31
31
|
export interface FaucetResult {
|
|
32
32
|
transactionHash: string;
|
|
33
|
+
/** Display-formatted amount, e.g. `"0.25"`. Computed from `amountUsdMicros`. */
|
|
33
34
|
amount: string;
|
|
35
|
+
/** Raw amount in micro-USD (1_000_000 = $1.00). */
|
|
36
|
+
amountUsdMicros: number;
|
|
34
37
|
token: string;
|
|
35
38
|
network: string;
|
|
36
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowance.d.ts","sourceRoot":"","sources":["../../src/namespaces/allowance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"allowance.d.ts","sourceRoot":"","sources":["../../src/namespaces/allowance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AASD,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,8EAA8E;IACxE,MAAM,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAoB9C;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,qBAAqB,CAAC;IA4B9C,kFAAkF;IAC5E,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAY/B;;;;;OAKG;IACG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAkDtD"}
|
|
@@ -90,12 +90,21 @@ export class Allowance {
|
|
|
90
90
|
}
|
|
91
91
|
resolvedAddress = data.address;
|
|
92
92
|
}
|
|
93
|
-
|
|
93
|
+
// Wire shape is snake_case (`transaction_hash`, `amount_usd_micros`);
|
|
94
|
+
// normalize to the typed camelCase surface (regression: GH-163).
|
|
95
|
+
const wire = await this.client.request("/faucet/v1", {
|
|
94
96
|
method: "POST",
|
|
95
97
|
body: { address: resolvedAddress },
|
|
96
98
|
withAuth: false,
|
|
97
99
|
context: "requesting faucet funds",
|
|
98
100
|
});
|
|
101
|
+
const result = {
|
|
102
|
+
transactionHash: wire.transaction_hash,
|
|
103
|
+
amountUsdMicros: wire.amount_usd_micros,
|
|
104
|
+
amount: (wire.amount_usd_micros / 1_000_000).toFixed(2),
|
|
105
|
+
token: wire.token,
|
|
106
|
+
network: wire.network,
|
|
107
|
+
};
|
|
99
108
|
// Best-effort update of the local allowance's funded/lastFaucet fields.
|
|
100
109
|
const reader = this.client.credentials.readAllowance;
|
|
101
110
|
const saver = this.client.credentials.saveAllowance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowance.js","sourceRoot":"","sources":["../../src/namespaces/allowance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"allowance.js","sourceRoot":"","sources":["../../src/namespaces/allowance.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* `projects` namespace — project lifecycle, introspection, and admin.
|
|
3
3
|
*
|
|
4
4
|
* Covers:
|
|
5
|
-
* - remote: provision, delete, list, getUsage, getSchema,
|
|
5
|
+
* - remote: provision, delete, list, getUsage, getSchema, pin, getQuote
|
|
6
6
|
* - local: info, keys, use (require provider support for persistence methods)
|
|
7
7
|
*/
|
|
8
8
|
import type { Client } from "../kernel.js";
|
|
9
9
|
import type { ProjectKeys } from "../credentials.js";
|
|
10
|
-
import type { ListProjectsResult, PinResult, ProjectInfo, ProvisionOptions, ProvisionResult, QuoteResult,
|
|
10
|
+
import type { ListProjectsResult, PinResult, ProjectInfo, ProvisionOptions, ProvisionResult, QuoteResult, SchemaReport, UsageReport } from "./projects.types.js";
|
|
11
11
|
export declare class Projects {
|
|
12
12
|
private readonly client;
|
|
13
13
|
constructor(client: Client);
|
|
@@ -54,17 +54,6 @@ export declare class Projects {
|
|
|
54
54
|
* constraints, and RLS policies.
|
|
55
55
|
*/
|
|
56
56
|
getSchema(id: string): Promise<SchemaReport>;
|
|
57
|
-
/**
|
|
58
|
-
* Apply a row-level-security template to one or more tables.
|
|
59
|
-
*
|
|
60
|
-
* ⚠ The gateway endpoint is deprecated (sunset 2026-05-23). Prefer the
|
|
61
|
-
* manifest-based `apply_expose` flow for new code.
|
|
62
|
-
*
|
|
63
|
-
* @throws {Run402Error} with `context: "setting up RLS"` when
|
|
64
|
-
* `i_understand_this_is_unrestricted` is missing for the
|
|
65
|
-
* `public_read_write_UNRESTRICTED` template.
|
|
66
|
-
*/
|
|
67
|
-
setupRls(id: string, opts: RlsSetupOptions): Promise<RlsSetupResult>;
|
|
68
57
|
/**
|
|
69
58
|
* Pin a project so it is not garbage-collected or expired.
|
|
70
59
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/namespaces/projects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/namespaces/projects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,QAAQ;IACP,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;;;;;OAQG;IACG,SAAS,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyBtE;;;;;;;OAOG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvC;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8BxD;;;OAGG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAUhD;;;OAGG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAUlD;;;;;;;;OAQG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAWzC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAOtC;;;;;OAKG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM5C;;;;;OAKG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM5C;;;;;;OAMG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapC;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAKvC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `projects` namespace — project lifecycle, introspection, and admin.
|
|
3
3
|
*
|
|
4
4
|
* Covers:
|
|
5
|
-
* - remote: provision, delete, list, getUsage, getSchema,
|
|
5
|
+
* - remote: provision, delete, list, getUsage, getSchema, pin, getQuote
|
|
6
6
|
* - local: info, keys, use (require provider support for persistence methods)
|
|
7
7
|
*/
|
|
8
8
|
import { ProjectNotFound, Run402Error } from "../errors.js";
|
|
@@ -125,39 +125,6 @@ export class Projects {
|
|
|
125
125
|
context: "fetching schema",
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
|
-
/**
|
|
129
|
-
* Apply a row-level-security template to one or more tables.
|
|
130
|
-
*
|
|
131
|
-
* ⚠ The gateway endpoint is deprecated (sunset 2026-05-23). Prefer the
|
|
132
|
-
* manifest-based `apply_expose` flow for new code.
|
|
133
|
-
*
|
|
134
|
-
* @throws {Run402Error} with `context: "setting up RLS"` when
|
|
135
|
-
* `i_understand_this_is_unrestricted` is missing for the
|
|
136
|
-
* `public_read_write_UNRESTRICTED` template.
|
|
137
|
-
*/
|
|
138
|
-
async setupRls(id, opts) {
|
|
139
|
-
if (opts.template === "public_read_write_UNRESTRICTED" &&
|
|
140
|
-
opts.i_understand_this_is_unrestricted !== true) {
|
|
141
|
-
throw new (class extends Run402Error {
|
|
142
|
-
})("i_understand_this_is_unrestricted must be true when template is public_read_write_UNRESTRICTED", null, null, "setting up RLS");
|
|
143
|
-
}
|
|
144
|
-
const keys = await this.client.getProject(id);
|
|
145
|
-
if (!keys)
|
|
146
|
-
throw new ProjectNotFound(id, "setting up RLS");
|
|
147
|
-
const body = {
|
|
148
|
-
template: opts.template,
|
|
149
|
-
tables: opts.tables,
|
|
150
|
-
};
|
|
151
|
-
if (opts.i_understand_this_is_unrestricted !== undefined) {
|
|
152
|
-
body.i_understand_this_is_unrestricted = opts.i_understand_this_is_unrestricted;
|
|
153
|
-
}
|
|
154
|
-
return this.client.request(`/projects/v1/admin/${id}/rls`, {
|
|
155
|
-
method: "POST",
|
|
156
|
-
headers: { Authorization: `Bearer ${keys.service_key}` },
|
|
157
|
-
body,
|
|
158
|
-
context: "setting up RLS",
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
128
|
/**
|
|
162
129
|
* Pin a project so it is not garbage-collected or expired.
|
|
163
130
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/namespaces/projects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/namespaces/projects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAY5D,MAAM,OAAO,QAAQ;IACU;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CAAC,OAAyB,EAAE;QACzC,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAkB,cAAc,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO,EAAE,sBAAsB;SAChC,CAAC,CAAC;QAEH,0EAA0E;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE;gBACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAE7D,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAU,gBAAgB,EAAE,EAAE,EAAE;YACvD,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;YACxD,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,KAAK,CAAC,aAAa;YAAE,MAAM,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,CAAC,MAAe;QACxB,IAAI,cAAc,GAAG,MAAM,CAAC;QAC5B,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,KAAM,SAAQ,WAAW;iBAAG,CAAC,CACtC,kJAAkJ,EAClJ,IAAI,EACJ,IAAI,EACJ,kBAAkB,CACnB,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,KAAM,SAAQ,WAAW;iBAAG,CAAC,CACtC,2FAA2F,EAC3F,IAAI,EACJ,IAAI,EACJ,kBAAkB,CACnB,CAAC;YACJ,CAAC;YACD,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAqB,eAAe,CAAC,WAAW,EAAE;YAC1E,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAc,sBAAsB,EAAE,QAAQ,EAAE;YACxE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;YACxD,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAe,sBAAsB,EAAE,SAAS,EAAE;YAC1E,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;YACxD,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAY,sBAAsB,EAAE,MAAM,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;YACxD,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAc,WAAW,EAAE;YACnD,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAClE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC;QACxD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;CACF"}
|
|
@@ -40,7 +40,12 @@ export interface UsageReport {
|
|
|
40
40
|
api_calls_limit: number;
|
|
41
41
|
storage_bytes: number;
|
|
42
42
|
storage_limit_bytes: number;
|
|
43
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Optional: the `/projects/v1/admin/:id/usage` endpoint does not currently
|
|
45
|
+
* include the lease expiry. Read it from `tier.status()` if you need it.
|
|
46
|
+
* `null` is reserved for unleased accounts (see GH-163).
|
|
47
|
+
*/
|
|
48
|
+
lease_expires_at?: string | null;
|
|
44
49
|
status: string;
|
|
45
50
|
}
|
|
46
51
|
export interface ColumnSchema {
|
|
@@ -78,20 +83,6 @@ export interface RlsTableSpec {
|
|
|
78
83
|
/** Column holding the owning user's id. Required when `template: "user_owns_rows"`. */
|
|
79
84
|
owner_column?: string;
|
|
80
85
|
}
|
|
81
|
-
export interface RlsSetupOptions {
|
|
82
|
-
template: RlsTemplate;
|
|
83
|
-
tables: RlsTableSpec[];
|
|
84
|
-
/**
|
|
85
|
-
* Required to be `true` when `template: "public_read_write_UNRESTRICTED"`.
|
|
86
|
-
* Acknowledges that the anon key gains INSERT/UPDATE/DELETE on the listed tables.
|
|
87
|
-
*/
|
|
88
|
-
i_understand_this_is_unrestricted?: boolean;
|
|
89
|
-
}
|
|
90
|
-
export interface RlsSetupResult {
|
|
91
|
-
status: string;
|
|
92
|
-
template: string;
|
|
93
|
-
tables: string[];
|
|
94
|
-
}
|
|
95
86
|
export interface PinResult {
|
|
96
87
|
status: string;
|
|
97
88
|
project_id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/projects.types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,+FAA+F;IAC/F,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAID,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"projects.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/projects.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `sites` namespace — static site deployments.
|
|
3
3
|
*
|
|
4
|
-
* As of v1.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* As of v1.34 every static-site deploy flows through the unified
|
|
5
|
+
* {@link Deploy.apply} primitive. The legacy isomorphic surface is empty
|
|
6
|
+
* here; the Node-only `deployDir` convenience lives in
|
|
7
|
+
* {@link "../node/sites-node".NodeSites}.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* `SiteFile` is preserved for `apps.bundleDeploy` callers that still pass
|
|
10
|
+
* inline file bytes; the bundle shim translates these into a v2
|
|
11
|
+
* {@link ReleaseSpec} before dispatching.
|
|
12
12
|
*/
|
|
13
13
|
import type { Client } from "../kernel.js";
|
|
14
14
|
export interface SiteFile {
|
|
@@ -26,19 +26,8 @@ export interface SiteDeployResult {
|
|
|
26
26
|
/** Bytes uploaded in this deploy (0 on a no-op redeploy). */
|
|
27
27
|
bytes_uploaded?: number;
|
|
28
28
|
}
|
|
29
|
-
export interface DeploymentInfo {
|
|
30
|
-
id: string;
|
|
31
|
-
name: string;
|
|
32
|
-
url: string;
|
|
33
|
-
project_id?: string;
|
|
34
|
-
status: string;
|
|
35
|
-
files_count: number;
|
|
36
|
-
total_size: number;
|
|
37
|
-
}
|
|
38
29
|
export declare class Sites {
|
|
39
30
|
private readonly client;
|
|
40
31
|
constructor(client: Client);
|
|
41
|
-
/** Get deployment metadata by id. Public — no project auth. */
|
|
42
|
-
getDeployment(deploymentId: string): Promise<DeploymentInfo>;
|
|
43
32
|
}
|
|
44
33
|
//# sourceMappingURL=sites.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/namespaces/sites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACvB,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,
|
|
1
|
+
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/namespaces/sites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACvB,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;CAC5C"}
|
package/dist/namespaces/sites.js
CHANGED
|
@@ -1,26 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `sites` namespace — static site deployments.
|
|
3
3
|
*
|
|
4
|
-
* As of v1.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* As of v1.34 every static-site deploy flows through the unified
|
|
5
|
+
* {@link Deploy.apply} primitive. The legacy isomorphic surface is empty
|
|
6
|
+
* here; the Node-only `deployDir` convenience lives in
|
|
7
|
+
* {@link "../node/sites-node".NodeSites}.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* `SiteFile` is preserved for `apps.bundleDeploy` callers that still pass
|
|
10
|
+
* inline file bytes; the bundle shim translates these into a v2
|
|
11
|
+
* {@link ReleaseSpec} before dispatching.
|
|
12
12
|
*/
|
|
13
13
|
export class Sites {
|
|
14
14
|
client;
|
|
15
15
|
constructor(client) {
|
|
16
16
|
this.client = client;
|
|
17
17
|
}
|
|
18
|
-
/** Get deployment metadata by id. Public — no project auth. */
|
|
19
|
-
async getDeployment(deploymentId) {
|
|
20
|
-
return this.client.request(`/deployments/v1/${deploymentId}`, {
|
|
21
|
-
context: "fetching deployment",
|
|
22
|
-
withAuth: false,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
18
|
}
|
|
26
19
|
//# sourceMappingURL=sites.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/namespaces/sites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../src/namespaces/sites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqBH,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;CAChD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subdomains.d.ts","sourceRoot":"","sources":["../../src/namespaces/subdomains.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,qBAAqB;IACpC,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,sDAAsD;IAChD,KAAK,CACT,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,oBAAoB,CAAC;IAgBhC,2BAA2B;IACrB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3E,gDAAgD;IAC1C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"subdomains.d.ts","sourceRoot":"","sources":["../../src/namespaces/subdomains.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,qBAAqB;IACpC,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,sDAAsD;IAChD,KAAK,CACT,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,oBAAoB,CAAC;IAgBhC,2BAA2B;IACrB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3E,gDAAgD;IAC1C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAe3D"}
|
|
@@ -45,10 +45,13 @@ export class Subdomains {
|
|
|
45
45
|
const project = await this.client.getProject(projectId);
|
|
46
46
|
if (!project)
|
|
47
47
|
throw new ProjectNotFound(projectId, "listing subdomains");
|
|
48
|
-
|
|
48
|
+
// Gateway responds `{ subdomains: [...] }`; unwrap so callers get the
|
|
49
|
+
// array shape the type promises (regression: GH-163).
|
|
50
|
+
const body = await this.client.request("/subdomains/v1", {
|
|
49
51
|
headers: { Authorization: `Bearer ${project.service_key}` },
|
|
50
52
|
context: "listing subdomains",
|
|
51
53
|
});
|
|
54
|
+
return body.subdomains ?? [];
|
|
52
55
|
}
|
|
53
56
|
}
|
|
54
57
|
//# sourceMappingURL=subdomains.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subdomains.js","sourceRoot":"","sources":["../../src/namespaces/subdomains.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAwB/C,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,sDAAsD;IACtD,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,YAAoB,EACpB,OAA8B,EAAE;QAEhC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YAC9E,OAAO,CAAC,aAAa,GAAG,UAAU,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAuB,gBAAgB,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE;YAC3C,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAA8B,EAAE;QACzD,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YAC9E,OAAO,CAAC,aAAa,GAAG,UAAU,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAU,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YAC/E,MAAM,EAAE,QAAQ;YAChB,OAAO;YACP,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAEzE,
|
|
1
|
+
{"version":3,"file":"subdomains.js","sourceRoot":"","sources":["../../src/namespaces/subdomains.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAwB/C,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,sDAAsD;IACtD,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,YAAoB,EACpB,OAA8B,EAAE;QAEhC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YAC9E,OAAO,CAAC,aAAa,GAAG,UAAU,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAuB,gBAAgB,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE;YAC3C,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAA8B,EAAE;QACzD,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YAC9E,OAAO,CAAC,aAAa,GAAG,UAAU,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAU,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YAC/E,MAAM,EAAE,QAAQ;YAChB,OAAO;YACP,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,eAAe,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAEzE,sEAAsE;QACtE,sDAAsD;QACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACpC,gBAAgB,EAChB;YACE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE;YAC3D,OAAO,EAAE,oBAAoB;SAC9B,CACF,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
package/dist/node/index.d.ts
CHANGED
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
* await r.sites.deployDir({ project: project.project_id, dir: "./my-site" });
|
|
16
16
|
* ```
|
|
17
17
|
*
|
|
18
|
-
* `deployDir`
|
|
19
|
-
*
|
|
20
|
-
* issues no S3 PUTs.
|
|
18
|
+
* `deployDir` is a thin wrapper over `r.deploy.apply` — bytes ride through
|
|
19
|
+
* the unified CAS substrate, so only files the gateway doesn't already have
|
|
20
|
+
* are uploaded. Re-deploying an unchanged tree issues no S3 PUTs.
|
|
21
21
|
*/
|
|
22
22
|
import { Run402 } from "../index.js";
|
|
23
23
|
import { NodeSites } from "./sites-node.js";
|
|
@@ -48,8 +48,7 @@ export type NodeRun402 = Omit<Run402, "sites"> & {
|
|
|
48
48
|
* `@x402/fetch` when the allowance wallet has USDC balance.
|
|
49
49
|
*
|
|
50
50
|
* The returned instance's `sites` namespace is a {@link NodeSites}, which
|
|
51
|
-
*
|
|
52
|
-
* and `getDeployment()` methods.
|
|
51
|
+
* exposes the `deployDir({ dir })` helper.
|
|
53
52
|
*/
|
|
54
53
|
export declare function run402(opts?: NodeRun402Options): NodeRun402;
|
|
55
54
|
export { NodeSites } from "./sites-node.js";
|
package/dist/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAIzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAIzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,IAAI,GAAE,iBAAsB,GAAG,UAAU,CAqB/D;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,MAAM,EACN,KAAK,GACN,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,MAAM,EACN,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC"}
|
package/dist/node/index.js
CHANGED
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
* await r.sites.deployDir({ project: project.project_id, dir: "./my-site" });
|
|
16
16
|
* ```
|
|
17
17
|
*
|
|
18
|
-
* `deployDir`
|
|
19
|
-
*
|
|
20
|
-
* issues no S3 PUTs.
|
|
18
|
+
* `deployDir` is a thin wrapper over `r.deploy.apply` — bytes ride through
|
|
19
|
+
* the unified CAS substrate, so only files the gateway doesn't already have
|
|
20
|
+
* are uploaded. Re-deploying an unchanged tree issues no S3 PUTs.
|
|
21
21
|
*/
|
|
22
22
|
import { getApiBase } from "../../core-dist/config.js";
|
|
23
23
|
import { Run402 } from "../index.js";
|
|
@@ -32,8 +32,7 @@ import { NodeSites } from "./sites-node.js";
|
|
|
32
32
|
* `@x402/fetch` when the allowance wallet has USDC balance.
|
|
33
33
|
*
|
|
34
34
|
* The returned instance's `sites` namespace is a {@link NodeSites}, which
|
|
35
|
-
*
|
|
36
|
-
* and `getDeployment()` methods.
|
|
35
|
+
* exposes the `deployDir({ dir })` helper.
|
|
37
36
|
*/
|
|
38
37
|
export function run402(opts = {}) {
|
|
39
38
|
const runOpts = {
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAqB5C
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAqB5C;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAAC,OAA0B,EAAE;IACjD,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;QACrC,WAAW,EAAE,IAAI,uBAAuB,CAAC;YACvC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QACF,KAAK,EACH,IAAI,CAAC,KAAK;YACV,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;KACtF,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjC,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAI,IAAI,CAAC,KAAuC,CAAC,MAAM,CAAC;IACnE,IAAwC,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAExE,OAAO,IAA6B,CAAC;AACvC,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtE,6EAA6E;AAC7E,OAAO,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,MAAM,EACN,KAAK,GACN,MAAM,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@run402/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.52.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",
|