run402-mcp 0.2.0 → 1.3.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 +96 -16
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -2
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +27 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +81 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/archive-project.d.ts.map +1 -1
- package/dist/tools/archive-project.js +5 -19
- package/dist/tools/archive-project.js.map +1 -1
- package/dist/tools/browse-apps.d.ts.map +1 -1
- package/dist/tools/browse-apps.js +3 -8
- package/dist/tools/browse-apps.js.map +1 -1
- package/dist/tools/bundle-deploy.d.ts.map +1 -1
- package/dist/tools/bundle-deploy.js +3 -8
- package/dist/tools/bundle-deploy.js.map +1 -1
- package/dist/tools/check-balance.d.ts.map +1 -1
- package/dist/tools/check-balance.js +3 -8
- package/dist/tools/check-balance.js.map +1 -1
- package/dist/tools/delete-file.d.ts.map +1 -1
- package/dist/tools/delete-file.js +5 -19
- package/dist/tools/delete-file.js.map +1 -1
- package/dist/tools/delete-function.d.ts.map +1 -1
- package/dist/tools/delete-function.js +5 -19
- package/dist/tools/delete-function.js.map +1 -1
- package/dist/tools/delete-secret.d.ts.map +1 -1
- package/dist/tools/delete-secret.js +5 -19
- package/dist/tools/delete-secret.js.map +1 -1
- package/dist/tools/deploy-function.d.ts.map +1 -1
- package/dist/tools/deploy-function.js +5 -19
- package/dist/tools/deploy-function.js.map +1 -1
- package/dist/tools/deploy-site.d.ts.map +1 -1
- package/dist/tools/deploy-site.js +3 -8
- package/dist/tools/deploy-site.js.map +1 -1
- package/dist/tools/download-file.d.ts.map +1 -1
- package/dist/tools/download-file.js +5 -19
- package/dist/tools/download-file.js.map +1 -1
- package/dist/tools/fork-app.d.ts.map +1 -1
- package/dist/tools/fork-app.js +3 -8
- package/dist/tools/fork-app.js.map +1 -1
- package/dist/tools/generate-image.d.ts +20 -0
- package/dist/tools/generate-image.d.ts.map +1 -0
- package/dist/tools/generate-image.js +61 -0
- package/dist/tools/generate-image.js.map +1 -0
- package/dist/tools/get-function-logs.d.ts.map +1 -1
- package/dist/tools/get-function-logs.js +5 -19
- package/dist/tools/get-function-logs.js.map +1 -1
- package/dist/tools/get-quote.d.ts.map +1 -1
- package/dist/tools/get-quote.js +3 -8
- package/dist/tools/get-quote.js.map +1 -1
- package/dist/tools/get-schema.d.ts.map +1 -1
- package/dist/tools/get-schema.js +5 -19
- package/dist/tools/get-schema.js.map +1 -1
- package/dist/tools/get-usage.d.ts.map +1 -1
- package/dist/tools/get-usage.js +5 -19
- package/dist/tools/get-usage.js.map +1 -1
- package/dist/tools/invoke-function.d.ts.map +1 -1
- package/dist/tools/invoke-function.js +5 -19
- package/dist/tools/invoke-function.js.map +1 -1
- package/dist/tools/list-files.d.ts.map +1 -1
- package/dist/tools/list-files.js +5 -19
- package/dist/tools/list-files.js.map +1 -1
- package/dist/tools/list-functions.d.ts.map +1 -1
- package/dist/tools/list-functions.js +5 -19
- package/dist/tools/list-functions.js.map +1 -1
- package/dist/tools/list-projects.d.ts.map +1 -1
- package/dist/tools/list-projects.js +3 -8
- package/dist/tools/list-projects.js.map +1 -1
- package/dist/tools/list-secrets.d.ts.map +1 -1
- package/dist/tools/list-secrets.js +5 -19
- package/dist/tools/list-secrets.js.map +1 -1
- package/dist/tools/list-subdomains.d.ts.map +1 -1
- package/dist/tools/list-subdomains.js +5 -19
- package/dist/tools/list-subdomains.js.map +1 -1
- package/dist/tools/list-versions.d.ts.map +1 -1
- package/dist/tools/list-versions.js +5 -19
- package/dist/tools/list-versions.js.map +1 -1
- package/dist/tools/provision.d.ts.map +1 -1
- package/dist/tools/provision.js +3 -8
- package/dist/tools/provision.js.map +1 -1
- package/dist/tools/publish-app.d.ts.map +1 -1
- package/dist/tools/publish-app.js +5 -19
- package/dist/tools/publish-app.js.map +1 -1
- package/dist/tools/renew.d.ts.map +1 -1
- package/dist/tools/renew.js +5 -19
- package/dist/tools/renew.js.map +1 -1
- package/dist/tools/request-faucet.d.ts +14 -0
- package/dist/tools/request-faucet.d.ts.map +1 -0
- package/dist/tools/request-faucet.js +68 -0
- package/dist/tools/request-faucet.js.map +1 -0
- package/dist/tools/rest-query.d.ts.map +1 -1
- package/dist/tools/rest-query.js +5 -21
- package/dist/tools/rest-query.js.map +1 -1
- package/dist/tools/run-sql.d.ts.map +1 -1
- package/dist/tools/run-sql.js +5 -20
- package/dist/tools/run-sql.js.map +1 -1
- package/dist/tools/set-secret.d.ts.map +1 -1
- package/dist/tools/set-secret.js +5 -19
- package/dist/tools/set-secret.js.map +1 -1
- package/dist/tools/setup-rls.d.ts.map +1 -1
- package/dist/tools/setup-rls.js +5 -19
- package/dist/tools/setup-rls.js.map +1 -1
- package/dist/tools/subdomain.d.ts.map +1 -1
- package/dist/tools/subdomain.js +9 -28
- package/dist/tools/subdomain.js.map +1 -1
- package/dist/tools/upload-file.d.ts.map +1 -1
- package/dist/tools/upload-file.js +5 -19
- package/dist/tools/upload-file.js.map +1 -1
- package/dist/tools/wallet-create.d.ts +9 -0
- package/dist/tools/wallet-create.d.ts.map +1 -0
- package/dist/tools/wallet-create.js +64 -0
- package/dist/tools/wallet-create.js.map +1 -0
- package/dist/tools/wallet-export.d.ts +9 -0
- package/dist/tools/wallet-export.d.ts.map +1 -0
- package/dist/tools/wallet-export.js +35 -0
- package/dist/tools/wallet-export.js.map +1 -0
- package/dist/tools/wallet-status.d.ts +9 -0
- package/dist/tools/wallet-status.d.ts.map +1 -0
- package/dist/tools/wallet-status.js +42 -0
- package/dist/tools/wallet-status.js.map +1 -0
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -1,28 +1,105 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src=".github/logo.svg" width="120" alt="run402 logo">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">run402 — MCP Server, CLI & OpenClaw Skill</h1>
|
|
6
|
+
|
|
7
|
+
[](https://github.com/kychee-com/run402/actions/workflows/test.yml)
|
|
8
|
+
[](https://github.com/kychee-com/run402/actions/workflows/codeql.yml)
|
|
9
|
+
[](https://www.npmjs.com/package/run402-mcp)
|
|
10
|
+
[](https://www.npmjs.com/package/run402)
|
|
11
|
+
[](./LICENSE)
|
|
12
|
+
|
|
13
|
+
Developer tools for [Run402](https://run402.com) — provision Postgres databases, deploy static sites, serverless functions, generate images, and manage x402 wallets. Available as an MCP server, an OpenClaw skill, and a CLI.
|
|
4
14
|
|
|
5
15
|
English | [简体中文](./README.zh-CN.md)
|
|
6
16
|
|
|
17
|
+
## Integrations
|
|
18
|
+
|
|
19
|
+
| Interface | Use when... |
|
|
20
|
+
|-----------|-------------|
|
|
21
|
+
| [`cli/`](./cli/) | Terminal, scripts, CI/CD |
|
|
22
|
+
| [`openclaw/`](./openclaw/) | OpenClaw agent (no MCP required) |
|
|
23
|
+
| MCP server (this package) | Claude Desktop, Cursor, Cline, Claude Code |
|
|
24
|
+
|
|
7
25
|
## Quick Start
|
|
8
26
|
|
|
9
27
|
```bash
|
|
10
28
|
npx run402-mcp
|
|
11
29
|
```
|
|
12
30
|
|
|
13
|
-
## Tools
|
|
31
|
+
## MCP Tools
|
|
14
32
|
|
|
15
33
|
| Tool | Description |
|
|
16
34
|
|------|-------------|
|
|
17
|
-
| `provision_postgres_project` | Provision a
|
|
18
|
-
| `run_sql` | Execute SQL (DDL or queries)
|
|
19
|
-
| `rest_query` | Query/mutate
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
35
|
+
| `provision_postgres_project` | Provision a Postgres database. Handles x402 payment. Saves credentials locally. |
|
|
36
|
+
| `run_sql` | Execute SQL (DDL or queries). Returns markdown table. |
|
|
37
|
+
| `rest_query` | Query/mutate via PostgREST. GET/POST/PATCH/DELETE with query params. |
|
|
38
|
+
| `setup_rls` | Apply row-level security templates to tables. |
|
|
39
|
+
| `get_schema` | Introspect database schema — tables, columns, types, constraints, RLS policies. |
|
|
40
|
+
| `get_usage` | Get project usage report — API calls, storage, limits, lease expiry. |
|
|
41
|
+
| `upload_file` | Upload text content to project storage. |
|
|
42
|
+
| `download_file` | Download a file from project storage. |
|
|
43
|
+
| `delete_file` | Delete a file from project storage. |
|
|
44
|
+
| `list_files` | List files in a storage bucket. |
|
|
45
|
+
| `deploy_function` | Deploy a serverless function (Node 22) to a project. |
|
|
46
|
+
| `invoke_function` | Invoke a deployed function via HTTP. |
|
|
47
|
+
| `get_function_logs` | Get recent logs from a deployed function. |
|
|
48
|
+
| `list_functions` | List all deployed functions for a project. |
|
|
49
|
+
| `delete_function` | Delete a deployed function. |
|
|
50
|
+
| `set_secret` | Set a project secret. Injected as process.env in functions. |
|
|
51
|
+
| `list_secrets` | List secret keys for a project (values not shown). |
|
|
52
|
+
| `delete_secret` | Delete a secret from a project. |
|
|
53
|
+
| `deploy_site` | Deploy static site. $0.05/deployment. Returns live URL. |
|
|
54
|
+
| `claim_subdomain` | Claim custom subdomain (e.g. myapp.run402.com). Free. |
|
|
55
|
+
| `delete_subdomain` | Release a subdomain. |
|
|
56
|
+
| `list_subdomains` | List all subdomains claimed by a project. |
|
|
57
|
+
| `bundle_deploy` | One-call full-stack deploy: database + migrations + RLS + secrets + functions + site + subdomain. |
|
|
58
|
+
| `browse_apps` | Browse public apps available for forking. |
|
|
59
|
+
| `fork_app` | Fork a published app into a new project. |
|
|
60
|
+
| `publish_app` | Publish a project as a forkable app. |
|
|
61
|
+
| `list_versions` | List published versions of a project. |
|
|
62
|
+
| `get_quote` | Get tier pricing. Free, no auth required. |
|
|
63
|
+
| `renew_project` | Renew lease. Handles x402 payment. |
|
|
64
|
+
| `archive_project` | Archive a project and remove from local key store. |
|
|
65
|
+
| `check_balance` | Check billing account balance for a wallet address. |
|
|
66
|
+
| `list_projects` | List all active projects for a wallet address. |
|
|
67
|
+
| `wallet_status` | Check local wallet status — address, network, funding. |
|
|
68
|
+
| `wallet_create` | Create a new local wallet (Base Sepolia testnet). |
|
|
69
|
+
| `wallet_export` | Export the local wallet address. |
|
|
70
|
+
| `request_faucet` | Request free testnet USDC from the Run402 faucet. |
|
|
71
|
+
| `generate_image` | Generate a PNG image from a text prompt. $0.03 via x402. |
|
|
22
72
|
|
|
23
73
|
## Client Configuration
|
|
24
74
|
|
|
25
|
-
###
|
|
75
|
+
### CLI
|
|
76
|
+
|
|
77
|
+
A standalone CLI is available in the [`cli/`](./cli/) directory.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
npm install -g run402
|
|
81
|
+
|
|
82
|
+
run402 wallet create
|
|
83
|
+
run402 wallet fund
|
|
84
|
+
run402 deploy --tier prototype --manifest app.json
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
See [`cli/README.md`](./cli/README.md) for full usage.
|
|
88
|
+
|
|
89
|
+
### OpenClaw
|
|
90
|
+
|
|
91
|
+
A standalone skill is available in the [`openclaw/`](./openclaw/) directory — no MCP server required. It calls the Run402 API directly via Node.js scripts.
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
cp -r openclaw ~/.openclaw/skills/run402
|
|
95
|
+
cd ~/.openclaw/skills/run402/scripts && npm install
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
See [`openclaw/README.md`](./openclaw/README.md) for details.
|
|
99
|
+
|
|
100
|
+
### MCP Clients
|
|
101
|
+
|
|
102
|
+
#### Claude Desktop
|
|
26
103
|
|
|
27
104
|
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
28
105
|
|
|
@@ -37,7 +114,7 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
|
37
114
|
}
|
|
38
115
|
```
|
|
39
116
|
|
|
40
|
-
|
|
117
|
+
#### Cursor
|
|
41
118
|
|
|
42
119
|
Add to `.cursor/mcp.json` in your project:
|
|
43
120
|
|
|
@@ -52,7 +129,7 @@ Add to `.cursor/mcp.json` in your project:
|
|
|
52
129
|
}
|
|
53
130
|
```
|
|
54
131
|
|
|
55
|
-
|
|
132
|
+
#### Cline
|
|
56
133
|
|
|
57
134
|
Add to Cline MCP settings:
|
|
58
135
|
|
|
@@ -67,7 +144,7 @@ Add to Cline MCP settings:
|
|
|
67
144
|
}
|
|
68
145
|
```
|
|
69
146
|
|
|
70
|
-
|
|
147
|
+
#### Claude Code
|
|
71
148
|
|
|
72
149
|
```bash
|
|
73
150
|
claude mcp add run402 -- npx -y run402-mcp
|
|
@@ -77,11 +154,12 @@ claude mcp add run402 -- npx -y run402-mcp
|
|
|
77
154
|
|
|
78
155
|
1. **Provision** — Call `provision_postgres_project` to create a database. The server handles x402 payment negotiation and stores credentials locally.
|
|
79
156
|
2. **Build** — Use `run_sql` to create tables, `rest_query` to insert/query data, and `upload_file` for storage.
|
|
80
|
-
3. **
|
|
157
|
+
3. **Deploy** — Use `deploy_site` for static sites, `deploy_function` for serverless functions, or `bundle_deploy` for a full-stack app in one call.
|
|
158
|
+
4. **Renew** — Call `renew_project` before your lease expires.
|
|
81
159
|
|
|
82
160
|
### Payment Flow
|
|
83
161
|
|
|
84
|
-
Provisioning and
|
|
162
|
+
Provisioning, renewing, site deployment, bundle deploy, and image generation require x402 micropayments. When payment is needed, tools return payment details (not errors) so the LLM can reason about them and guide the user through payment.
|
|
85
163
|
|
|
86
164
|
### Key Storage
|
|
87
165
|
|
|
@@ -101,8 +179,10 @@ Project credentials are saved to `~/.config/run402/projects.json` with `0600` pe
|
|
|
101
179
|
## Development
|
|
102
180
|
|
|
103
181
|
```bash
|
|
104
|
-
npm run build
|
|
105
|
-
npm
|
|
182
|
+
npm run build # tsc → dist/
|
|
183
|
+
npm test # all tests (SKILL + sync + unit)
|
|
184
|
+
npm run test:sync # check MCP/CLI/OpenClaw stay in sync
|
|
185
|
+
npm run test:skill # validate SKILL.md structure
|
|
106
186
|
```
|
|
107
187
|
|
|
108
188
|
## License
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,IAAI,MAAM,CAEnC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAMD,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
package/dist/config.js
CHANGED
|
@@ -3,8 +3,13 @@ import { join } from "node:path";
|
|
|
3
3
|
export function getApiBase() {
|
|
4
4
|
return process.env.RUN402_API_BASE || "https://api.run402.com";
|
|
5
5
|
}
|
|
6
|
+
function getConfigDir() {
|
|
7
|
+
return process.env.RUN402_CONFIG_DIR || join(homedir(), ".config", "run402");
|
|
8
|
+
}
|
|
6
9
|
export function getKeystorePath() {
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
return join(getConfigDir(), "projects.json");
|
|
11
|
+
}
|
|
12
|
+
export function getWalletPath() {
|
|
13
|
+
return join(getConfigDir(), "wallet.json");
|
|
9
14
|
}
|
|
10
15
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,wBAAwB,CAAC;AACjE,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,wBAAwB,CAAC;AACjE,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Shared error formatting for MCP tool handlers. */
|
|
2
|
+
/** Standard return shape for all MCP tool handlers. */
|
|
3
|
+
export interface ToolResult {
|
|
4
|
+
content: Array<{
|
|
5
|
+
type: "text";
|
|
6
|
+
text: string;
|
|
7
|
+
}>;
|
|
8
|
+
isError?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Format an API error response into an agent-friendly MCP tool result.
|
|
12
|
+
*
|
|
13
|
+
* Always includes: HTTP status, API error message, and actionable next-step guidance.
|
|
14
|
+
* Extracts optional fields: hint, retry_after, renew_url, usage, expires_at.
|
|
15
|
+
*
|
|
16
|
+
* @param res The response from apiRequest() — needs `status` and `body`.
|
|
17
|
+
* @param context Short verb phrase: "running SQL", "deploying function", etc.
|
|
18
|
+
*/
|
|
19
|
+
export declare function formatApiError(res: {
|
|
20
|
+
status: number;
|
|
21
|
+
body: unknown;
|
|
22
|
+
}, context: string): ToolResult;
|
|
23
|
+
/**
|
|
24
|
+
* Consistent "project not found in key store" error.
|
|
25
|
+
*/
|
|
26
|
+
export declare function projectNotFound(projectId: string): ToolResult;
|
|
27
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EACtC,OAAO,EAAE,MAAM,GACd,UAAU,CAgEZ;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAY7D"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/** Shared error formatting for MCP tool handlers. */
|
|
2
|
+
/**
|
|
3
|
+
* Format an API error response into an agent-friendly MCP tool result.
|
|
4
|
+
*
|
|
5
|
+
* Always includes: HTTP status, API error message, and actionable next-step guidance.
|
|
6
|
+
* Extracts optional fields: hint, retry_after, renew_url, usage, expires_at.
|
|
7
|
+
*
|
|
8
|
+
* @param res The response from apiRequest() — needs `status` and `body`.
|
|
9
|
+
* @param context Short verb phrase: "running SQL", "deploying function", etc.
|
|
10
|
+
*/
|
|
11
|
+
export function formatApiError(res, context) {
|
|
12
|
+
const body = res.body && typeof res.body === "object"
|
|
13
|
+
? res.body
|
|
14
|
+
: null;
|
|
15
|
+
// Primary message — try message (PostgREST), then error, then fallback
|
|
16
|
+
const primary = body
|
|
17
|
+
? body.message || body.error || "Unknown error"
|
|
18
|
+
: typeof res.body === "string"
|
|
19
|
+
? res.body
|
|
20
|
+
: "Unknown error";
|
|
21
|
+
const lines = [
|
|
22
|
+
`Error ${context}: ${primary} (HTTP ${res.status})`,
|
|
23
|
+
];
|
|
24
|
+
// Supplementary fields from the API response
|
|
25
|
+
if (body) {
|
|
26
|
+
if (body.hint)
|
|
27
|
+
lines.push(`Hint: ${body.hint}`);
|
|
28
|
+
if (body.retry_after)
|
|
29
|
+
lines.push(`Retry after: ${body.retry_after} seconds`);
|
|
30
|
+
if (body.expires_at)
|
|
31
|
+
lines.push(`Expires: ${body.expires_at}`);
|
|
32
|
+
if (body.renew_url)
|
|
33
|
+
lines.push(`Renew URL: ${body.renew_url}`);
|
|
34
|
+
if (body.usage) {
|
|
35
|
+
const u = body.usage;
|
|
36
|
+
const parts = [];
|
|
37
|
+
if (u.api_calls !== undefined)
|
|
38
|
+
parts.push(`API calls: ${u.api_calls}/${u.limit || "?"}`);
|
|
39
|
+
if (u.storage_bytes !== undefined)
|
|
40
|
+
parts.push(`Storage: ${u.storage_bytes}/${u.storage_limit || "?"} bytes`);
|
|
41
|
+
if (parts.length > 0)
|
|
42
|
+
lines.push(`Usage: ${parts.join(", ")}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Actionable guidance based on HTTP status
|
|
46
|
+
switch (res.status) {
|
|
47
|
+
case 401:
|
|
48
|
+
lines.push(`\nNext step: Re-provision the project with \`provision_postgres_project\`, or check that your service key is correct.`);
|
|
49
|
+
break;
|
|
50
|
+
case 403:
|
|
51
|
+
lines.push(`\nNext step: The project lease may have expired. Use \`get_usage\` to check status, or \`renew_project\` to extend the lease.`);
|
|
52
|
+
break;
|
|
53
|
+
case 404:
|
|
54
|
+
lines.push(`\nNext step: Check that the resource name and project ID are correct.`);
|
|
55
|
+
break;
|
|
56
|
+
case 429:
|
|
57
|
+
lines.push(`\nNext step: Rate limit hit. Wait and retry.`);
|
|
58
|
+
break;
|
|
59
|
+
default:
|
|
60
|
+
if (res.status >= 500) {
|
|
61
|
+
lines.push(`\nNext step: Server error. Try again in a moment.`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return { content: [{ type: "text", text: lines.join("\n") }], isError: true };
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Consistent "project not found in key store" error.
|
|
68
|
+
*/
|
|
69
|
+
export function projectNotFound(projectId) {
|
|
70
|
+
return {
|
|
71
|
+
content: [
|
|
72
|
+
{
|
|
73
|
+
type: "text",
|
|
74
|
+
text: `Error: Project \`${projectId}\` not found in key store. ` +
|
|
75
|
+
`Use \`provision_postgres_project\` to create a project first.`,
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
isError: true,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -40,9 +40,15 @@ import { archiveProjectSchema, handleArchiveProject } from "./tools/archive-proj
|
|
|
40
40
|
// New tools — billing
|
|
41
41
|
import { checkBalanceSchema, handleCheckBalance } from "./tools/check-balance.js";
|
|
42
42
|
import { listProjectsSchema, handleListProjects } from "./tools/list-projects.js";
|
|
43
|
+
// New tools — wallet, faucet, image
|
|
44
|
+
import { walletStatusSchema, handleWalletStatus } from "./tools/wallet-status.js";
|
|
45
|
+
import { walletCreateSchema, handleWalletCreate } from "./tools/wallet-create.js";
|
|
46
|
+
import { walletExportSchema, handleWalletExport } from "./tools/wallet-export.js";
|
|
47
|
+
import { requestFaucetSchema, handleRequestFaucet } from "./tools/request-faucet.js";
|
|
48
|
+
import { generateImageSchema, handleGenerateImage } from "./tools/generate-image.js";
|
|
43
49
|
const server = new McpServer({
|
|
44
50
|
name: "run402",
|
|
45
|
-
version: "
|
|
51
|
+
version: "1.2.0",
|
|
46
52
|
});
|
|
47
53
|
// ─── Core database tools ────────────────────────────────────────────────────
|
|
48
54
|
server.tool("provision_postgres_project", "Provision a new Postgres database. Returns project credentials on success, or payment details if x402 payment is needed.", provisionSchema, async (args) => handleProvision(args));
|
|
@@ -84,6 +90,13 @@ server.tool("archive_project", "Archive a project and remove it from the local k
|
|
|
84
90
|
// ─── Billing & wallet tools ─────────────────────────────────────────────────
|
|
85
91
|
server.tool("check_balance", "Check billing account balance for a wallet address. Shows available and held funds.", checkBalanceSchema, async (args) => handleCheckBalance(args));
|
|
86
92
|
server.tool("list_projects", "List all active projects for a wallet address.", listProjectsSchema, async (args) => handleListProjects(args));
|
|
93
|
+
// ─── Wallet & faucet tools ────────────────────────────────────────────────
|
|
94
|
+
server.tool("wallet_status", "Check local wallet status — address, network, and funding status.", walletStatusSchema, async (args) => handleWalletStatus(args));
|
|
95
|
+
server.tool("wallet_create", "Create a new local wallet (Base Sepolia testnet). Generates a private key and derives the Ethereum address. Saved to ~/.config/run402/wallet.json.", walletCreateSchema, async (args) => handleWalletCreate(args));
|
|
96
|
+
server.tool("wallet_export", "Export the local wallet address. Safe to share publicly.", walletExportSchema, async (args) => handleWalletExport(args));
|
|
97
|
+
server.tool("request_faucet", "Request free testnet USDC from the Run402 faucet (Base Sepolia). Rate limit: 1 per IP per 24h. Returns 0.25 USDC — enough for 2 prototype databases.", requestFaucetSchema, async (args) => handleRequestFaucet(args));
|
|
98
|
+
// ─── Image generation tools ──────────────────────────────────────────────
|
|
99
|
+
server.tool("generate_image", "Generate a PNG image from a text prompt. Costs $0.03 USDC via x402. Aspect ratios: square (1:1), landscape (16:9), portrait (9:16).", generateImageSchema, async (args) => handleGenerateImage(args));
|
|
87
100
|
const transport = new StdioServerTransport();
|
|
88
101
|
await server.connect(transport);
|
|
89
102
|
//# sourceMappingURL=index.js.map
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive-project.d.ts","sourceRoot":"","sources":["../../src/tools/archive-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"archive-project.d.ts","sourceRoot":"","sources":["../../src/tools/archive-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA0BjF"}
|
|
@@ -1,36 +1,22 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { apiRequest } from "../client.js";
|
|
3
3
|
import { getProject, loadKeyStore, saveKeyStore } from "../keystore.js";
|
|
4
|
+
import { formatApiError, projectNotFound } from "../errors.js";
|
|
4
5
|
export const archiveProjectSchema = {
|
|
5
6
|
project_id: z.string().describe("The project ID to archive"),
|
|
6
7
|
};
|
|
7
8
|
export async function handleArchiveProject(args) {
|
|
8
9
|
const project = getProject(args.project_id);
|
|
9
|
-
if (!project)
|
|
10
|
-
return
|
|
11
|
-
content: [
|
|
12
|
-
{
|
|
13
|
-
type: "text",
|
|
14
|
-
text: `Error: Project \`${args.project_id}\` not found in key store. Provision a project first.`,
|
|
15
|
-
},
|
|
16
|
-
],
|
|
17
|
-
isError: true,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
10
|
+
if (!project)
|
|
11
|
+
return projectNotFound(args.project_id);
|
|
20
12
|
const res = await apiRequest(`/v1/projects/${args.project_id}`, {
|
|
21
13
|
method: "DELETE",
|
|
22
14
|
headers: {
|
|
23
15
|
Authorization: `Bearer ${project.service_key}`,
|
|
24
16
|
},
|
|
25
17
|
});
|
|
26
|
-
if (!res.ok)
|
|
27
|
-
|
|
28
|
-
const msg = body.error || `HTTP ${res.status}`;
|
|
29
|
-
return {
|
|
30
|
-
content: [{ type: "text", text: `Error: ${msg}` }],
|
|
31
|
-
isError: true,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
18
|
+
if (!res.ok)
|
|
19
|
+
return formatApiError(res, "archiving project");
|
|
34
20
|
// Remove from local key store
|
|
35
21
|
const store = loadKeyStore();
|
|
36
22
|
delete store.projects[args.project_id];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive-project.js","sourceRoot":"","sources":["../../src/tools/archive-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"archive-project.js","sourceRoot":"","sources":["../../src/tools/archive-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CAC7D,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAE1C;IACC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE,EAAE;QAC9D,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE;SAC/C;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE7D,8BAA8B;IAC9B,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,YAAY,CAAC,KAAK,CAAC,CAAC;IAEpB,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa,IAAI,CAAC,UAAU,+CAA+C;aAClF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse-apps.d.ts","sourceRoot":"","sources":["../../src/tools/browse-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"browse-apps.d.ts","sourceRoot":"","sources":["../../src/tools/browse-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;CAK5B,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA+CjF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { apiRequest } from "../client.js";
|
|
3
|
+
import { formatApiError } from "../errors.js";
|
|
3
4
|
export const browseAppsSchema = {
|
|
4
5
|
tags: z
|
|
5
6
|
.array(z.string())
|
|
@@ -13,14 +14,8 @@ export async function handleBrowseApps(args) {
|
|
|
13
14
|
path = `/v1/apps?${params}`;
|
|
14
15
|
}
|
|
15
16
|
const res = await apiRequest(path, { method: "GET" });
|
|
16
|
-
if (!res.ok)
|
|
17
|
-
|
|
18
|
-
const msg = body.error || `HTTP ${res.status}`;
|
|
19
|
-
return {
|
|
20
|
-
content: [{ type: "text", text: `Error: ${msg}` }],
|
|
21
|
-
isError: true,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
17
|
+
if (!res.ok)
|
|
18
|
+
return formatApiError(res, "browsing apps");
|
|
24
19
|
const body = res.body;
|
|
25
20
|
if (body.apps.length === 0) {
|
|
26
21
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse-apps.js","sourceRoot":"","sources":["../../src/tools/browse-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"browse-apps.js","sourceRoot":"","sources":["../../src/tools/browse-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;CACjE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAEtC;IACC,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtD,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,GAAG,CAAC,IAWhB,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC;SAC/E,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,mBAAmB,IAAI,CAAC,KAAK,GAAG;QAChC,EAAE;QACF,0CAA0C;QAC1C,0CAA0C;KAC3C,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,YAAY,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAE/E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-deploy.d.ts","sourceRoot":"","sources":["../../src/tools/bundle-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle-deploy.d.ts","sourceRoot":"","sources":["../../src/tools/bundle-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuD9B,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IACpF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAClG,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA+FjF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { apiRequest } from "../client.js";
|
|
3
3
|
import { saveProject } from "../keystore.js";
|
|
4
|
+
import { formatApiError } from "../errors.js";
|
|
4
5
|
export const bundleDeploySchema = {
|
|
5
6
|
name: z.string().describe("App name (used as project name and default subdomain)"),
|
|
6
7
|
tier: z
|
|
@@ -90,14 +91,8 @@ export async function handleBundleDeploy(args) {
|
|
|
90
91
|
`Once payment is confirmed, retry this tool call.`);
|
|
91
92
|
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
92
93
|
}
|
|
93
|
-
if (!res.ok)
|
|
94
|
-
|
|
95
|
-
const msg = body.error || `HTTP ${res.status}`;
|
|
96
|
-
return {
|
|
97
|
-
content: [{ type: "text", text: `Error: ${msg}` }],
|
|
98
|
-
isError: true,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
94
|
+
if (!res.ok)
|
|
95
|
+
return formatApiError(res, "deploying bundle");
|
|
101
96
|
const body = res.body;
|
|
102
97
|
// Save credentials to local key store
|
|
103
98
|
saveProject(body.project_id, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-deploy.js","sourceRoot":"","sources":["../../src/tools/bundle-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle-deploy.js","sourceRoot":"","sources":["../../src/tools/bundle-deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-balance.d.ts","sourceRoot":"","sources":["../../src/tools/check-balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"check-balance.d.ts","sourceRoot":"","sources":["../../src/tools/check-balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,kBAAkB;;CAI9B,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA0CjF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { apiRequest } from "../client.js";
|
|
3
|
+
import { formatApiError } from "../errors.js";
|
|
3
4
|
export const checkBalanceSchema = {
|
|
4
5
|
wallet: z
|
|
5
6
|
.string()
|
|
@@ -10,14 +11,8 @@ export async function handleCheckBalance(args) {
|
|
|
10
11
|
const res = await apiRequest(`/v1/billing/accounts/${wallet}`, {
|
|
11
12
|
method: "GET",
|
|
12
13
|
});
|
|
13
|
-
if (!res.ok)
|
|
14
|
-
|
|
15
|
-
const msg = body.error || `HTTP ${res.status}`;
|
|
16
|
-
return {
|
|
17
|
-
content: [{ type: "text", text: `Error: ${msg}` }],
|
|
18
|
-
isError: true,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
14
|
+
if (!res.ok)
|
|
15
|
+
return formatApiError(res, "checking balance");
|
|
21
16
|
const body = res.body;
|
|
22
17
|
if (!body.exists) {
|
|
23
18
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-balance.js","sourceRoot":"","sources":["../../src/tools/check-balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"check-balance.js","sourceRoot":"","sources":["../../src/tools/check-balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,qDAAqD,CAAC;CACnE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAExC;IACC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAEzC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,wBAAwB,MAAM,EAAE,EAAE;QAC7D,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAMhB,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,eAAe,MAAM,iFAAiF;iBAC7G;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAM,KAAK,GAAG;QACZ,eAAe,MAAM,EAAE;QACvB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB,YAAY,IAAI;QAClC,aAAa,OAAO,IAAI;QACxB,cAAc,IAAI,CAAC,MAAM,IAAI;KAC9B,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-file.d.ts","sourceRoot":"","sources":["../../src/tools/delete-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"delete-file.d.ts","sourceRoot":"","sources":["../../src/tools/delete-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAwBjF"}
|