run402 1.51.0 → 1.51.1
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 +117 -58
- package/package.json +1 -1
- package/sdk/dist/namespaces/allowance.d.ts +3 -0
- package/sdk/dist/namespaces/allowance.d.ts.map +1 -1
- package/sdk/dist/namespaces/allowance.js +10 -1
- package/sdk/dist/namespaces/allowance.js.map +1 -1
- package/sdk/dist/namespaces/projects.types.d.ts +6 -1
- package/sdk/dist/namespaces/projects.types.d.ts.map +1 -1
- package/sdk/dist/namespaces/subdomains.d.ts.map +1 -1
- package/sdk/dist/namespaces/subdomains.js +4 -1
- package/sdk/dist/namespaces/subdomains.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# run402 CLI
|
|
2
2
|
|
|
3
|
-
Command-line interface for [Run402](https://run402.com) — provision Postgres databases, deploy static sites,
|
|
3
|
+
Command-line interface for [Run402](https://run402.com) — provision Postgres databases, deploy static sites, run Node 22 serverless functions, host content-addressed CDN assets, send email, sign on-chain. Paid autonomously with x402 USDC on Base. **Prototype tier is free on testnet.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
For the full CLI reference (every flag, every subcommand) see **<https://run402.com/llms-cli.txt>**.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
10
|
npm install -g run402
|
|
@@ -14,83 +16,128 @@ Or run without installing:
|
|
|
14
16
|
npx run402 <command>
|
|
15
17
|
```
|
|
16
18
|
|
|
17
|
-
##
|
|
19
|
+
## 30-second start
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
run402 init # one-shot: allowance + faucet + tier check
|
|
23
|
+
run402 tier set prototype # FREE on testnet (verifies x402 setup)
|
|
24
|
+
run402 projects provision --name my-app # → anon_key, service_key, project_id
|
|
25
|
+
run402 sites deploy-dir ./dist # incremental upload
|
|
26
|
+
run402 subdomains claim my-app # → https://my-app.run402.com
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
That's a real Postgres database + a deployed static site, paid for autonomously with testnet USDC.
|
|
30
|
+
|
|
31
|
+
## Output contract
|
|
32
|
+
|
|
33
|
+
Every command prints **JSON to stdout**, **JSON errors to stderr**, and exits **0 on success / 1 on failure**. Designed for shells, scripts, and agent loops — pipe everything to `jq`.
|
|
34
|
+
|
|
35
|
+
## Common commands
|
|
36
|
+
|
|
37
|
+
### Allowance
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
run402 allowance create # generate the local allowance
|
|
41
|
+
run402 allowance fund # request testnet USDC from the faucet
|
|
42
|
+
run402 allowance balance # mainnet + testnet + billing balance
|
|
43
|
+
run402 allowance export # print address (for funding)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Database
|
|
18
47
|
|
|
19
48
|
```bash
|
|
20
|
-
|
|
21
|
-
run402
|
|
49
|
+
run402 projects sql <id> "CREATE TABLE items (id serial PRIMARY KEY, …)"
|
|
50
|
+
run402 projects apply-expose <id> --file manifest.json # declare what's reachable
|
|
51
|
+
run402 projects rest <id> items "select=*&order=id.desc&limit=10"
|
|
52
|
+
run402 projects schema <id> # introspect tables + RLS
|
|
53
|
+
```
|
|
22
54
|
|
|
23
|
-
|
|
24
|
-
run402 allowance fund
|
|
55
|
+
### Static sites
|
|
25
56
|
|
|
26
|
-
|
|
27
|
-
run402 deploy
|
|
57
|
+
```bash
|
|
58
|
+
run402 sites deploy-dir ./dist # incremental upload (plan/commit transport)
|
|
59
|
+
run402 deploy --manifest app.json # one-call full stack deploy
|
|
60
|
+
run402 subdomains claim my-app # → my-app.run402.com (auto-reassigns on next deploy)
|
|
28
61
|
```
|
|
29
62
|
|
|
30
|
-
|
|
63
|
+
`deploy-dir` hashes each file client-side and only uploads bytes the gateway doesn't already have. Re-deploying an unchanged tree returns immediately with `bytes_uploaded: 0`. Progress events stream to stderr.
|
|
64
|
+
|
|
65
|
+
### Storage (paste-and-go CDN assets)
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
run402 blob put ./logo.png # → AssetRef with cdn_url, sri, etag
|
|
69
|
+
run402 blob get <key> --output /tmp/logo.png
|
|
70
|
+
run402 blob diagnose <url> # exit 0 if fresh, 1 if stale
|
|
71
|
+
```
|
|
31
72
|
|
|
32
|
-
|
|
73
|
+
The returned `cdn_url` is content-addressed (`pr-<public_id>.run402.com/_blob/<key>-<8hex>.<ext>`) — paste it straight into HTML. SRI is bundled in `sri`.
|
|
33
74
|
|
|
34
|
-
|
|
75
|
+
### Functions
|
|
35
76
|
|
|
36
77
|
```bash
|
|
37
|
-
run402
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
78
|
+
run402 functions deploy <id> my-fn --file fn.ts \
|
|
79
|
+
--timeout 30 --memory 256 \
|
|
80
|
+
--schedule "*/15 * * * *" \
|
|
81
|
+
--deps "stripe,zod@^3"
|
|
82
|
+
run402 functions logs <id> my-fn --tail 100 --follow
|
|
83
|
+
run402 functions invoke <id> my-fn --body '{"hello":"world"}'
|
|
41
84
|
```
|
|
42
85
|
|
|
43
|
-
|
|
86
|
+
Functions run on Node 22 with `@run402/functions` auto-bundled. Inside the handler:
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
import { db, adminDb, getUser, email, ai } from "@run402/functions";
|
|
90
|
+
```
|
|
44
91
|
|
|
45
|
-
|
|
92
|
+
`db(req)` is the caller-context client (RLS applies); `adminDb()` bypasses RLS for platform-authored writes.
|
|
93
|
+
|
|
94
|
+
### Email
|
|
46
95
|
|
|
47
96
|
```bash
|
|
48
|
-
run402
|
|
49
|
-
run402
|
|
50
|
-
|
|
97
|
+
run402 email create my-app
|
|
98
|
+
run402 email send --to user@example.com --subject "Welcome" --html "<h1>Hi</h1>"
|
|
99
|
+
run402 email send --to user@example.com --template notification --var project_name="My App"
|
|
51
100
|
```
|
|
52
101
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
{
|
|
58
|
-
"name": "my-app",
|
|
59
|
-
"files": {
|
|
60
|
-
"index.html": "<html>...</html>",
|
|
61
|
-
"style.css": "body { margin: 0; }"
|
|
62
|
-
},
|
|
63
|
-
"env": {
|
|
64
|
-
"MY_VAR": "value"
|
|
65
|
-
}
|
|
66
|
-
}
|
|
102
|
+
### Image generation
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
run402 image generate "a serif logo" --aspect square --output logo.png
|
|
67
106
|
```
|
|
68
107
|
|
|
69
|
-
|
|
108
|
+
$0.03 per image via x402.
|
|
70
109
|
|
|
71
|
-
|
|
110
|
+
### On-chain (KMS contract wallets)
|
|
72
111
|
|
|
73
112
|
```bash
|
|
74
|
-
run402
|
|
75
|
-
run402
|
|
76
|
-
run402 projects rest <id> users "limit=10" # REST API query
|
|
77
|
-
run402 projects usage <id> # Compute/storage usage
|
|
78
|
-
run402 projects schema <id> # Database schema
|
|
79
|
-
run402 projects renew <id> # Extend lease (pays via x402)
|
|
80
|
-
run402 projects delete <id> # Delete project
|
|
113
|
+
run402 contracts provision-wallet --chain base-mainnet
|
|
114
|
+
run402 contracts call --wallet <id> --to 0x… --abi @abi.json --fn transfer --args '["0x…","1000000"]'
|
|
81
115
|
```
|
|
82
116
|
|
|
83
|
-
|
|
117
|
+
Private keys never leave AWS KMS. $0.04/day rental + $0.000005/call.
|
|
84
118
|
|
|
85
|
-
|
|
119
|
+
### Tier and billing
|
|
86
120
|
|
|
87
121
|
```bash
|
|
88
|
-
run402
|
|
89
|
-
run402
|
|
90
|
-
run402
|
|
122
|
+
run402 tier set prototype # free on testnet
|
|
123
|
+
run402 tier set hobby # $5 / 30 days
|
|
124
|
+
run402 billing tier-checkout hobby --email me@example.com # Stripe alternative
|
|
91
125
|
```
|
|
92
126
|
|
|
93
|
-
|
|
127
|
+
## State
|
|
128
|
+
|
|
129
|
+
Local state lives at:
|
|
130
|
+
|
|
131
|
+
- `~/.config/run402/projects.json` (`0600`) — project credentials (`anon_key`, `service_key`, `tier`, `lease_expires_at`)
|
|
132
|
+
- `~/.config/run402/allowance.json` (`0600`) — wallet for x402 signing
|
|
133
|
+
|
|
134
|
+
Override with `RUN402_CONFIG_DIR` or `RUN402_ALLOWANCE_PATH`. Override the API base with `RUN402_API_BASE`.
|
|
135
|
+
|
|
136
|
+
The CLI handles all x402 payment signing automatically — never ask the human for a private key or set up payment libraries by hand.
|
|
137
|
+
|
|
138
|
+
## Active project (sticky default)
|
|
139
|
+
|
|
140
|
+
After `provision`, the new project becomes the active one. `run402 projects use <id>` switches it. Most commands that take `<id>` default to the active project when omitted.
|
|
94
141
|
|
|
95
142
|
## Help
|
|
96
143
|
|
|
@@ -98,18 +145,30 @@ Every command supports `--help` / `-h`:
|
|
|
98
145
|
|
|
99
146
|
```bash
|
|
100
147
|
run402 --help
|
|
101
|
-
run402 allowance --help
|
|
102
|
-
run402 deploy --help
|
|
103
148
|
run402 projects --help
|
|
104
|
-
run402
|
|
149
|
+
run402 sites --help
|
|
150
|
+
run402 blob --help
|
|
151
|
+
run402 functions --help
|
|
105
152
|
```
|
|
106
153
|
|
|
107
|
-
##
|
|
154
|
+
## Full reference
|
|
155
|
+
|
|
156
|
+
The canonical, comprehensive CLI reference — every flag, every subcommand, edge cases, troubleshooting — lives at:
|
|
157
|
+
|
|
158
|
+
**<https://run402.com/llms-cli.txt>**
|
|
159
|
+
|
|
160
|
+
Same content also at [`cli/llms-cli.txt`](./llms-cli.txt) in the repo. Treat that file as authoritative; this README is a quick-orientation landing page.
|
|
161
|
+
|
|
162
|
+
## Other interfaces
|
|
163
|
+
|
|
164
|
+
`run402` is one of five surfaces:
|
|
165
|
+
|
|
166
|
+
- [`@run402/sdk`](https://www.npmjs.com/package/@run402/sdk) — typed TypeScript client (isomorphic + Node entry)
|
|
167
|
+
- [`run402-mcp`](https://www.npmjs.com/package/run402-mcp) — MCP server (Claude Desktop, Cursor, Cline, Claude Code)
|
|
168
|
+
- [`@run402/functions`](https://www.npmjs.com/package/@run402/functions) — in-function helper imported inside deployed functions
|
|
169
|
+
- OpenClaw skill — script-based skill for OpenClaw agents
|
|
108
170
|
|
|
109
|
-
|
|
110
|
-
- Project credentials stored at `~/.run402/projects.json`
|
|
111
|
-
- Network: Base Sepolia (testnet) for prototype tier (free). Base mainnet or Stripe for paid tiers (hobby/team).
|
|
112
|
-
- Payments are handled automatically — no manual signing required
|
|
171
|
+
All five release in lockstep at the same version and share `@run402/sdk` as the kernel.
|
|
113
172
|
|
|
114
173
|
## License
|
|
115
174
|
|
package/package.json
CHANGED
|
@@ -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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"}
|
|
@@ -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 {
|
|
@@ -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 +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"}
|