run402-mcp 1.9.0 → 1.9.2

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.
Files changed (61) hide show
  1. package/README.md +10 -10
  2. package/README.zh-CN.md +2 -2
  3. package/core/dist/allowance-auth.d.ts +15 -0
  4. package/core/dist/allowance-auth.d.ts.map +1 -0
  5. package/core/dist/allowance-auth.js +62 -0
  6. package/core/dist/allowance-auth.js.map +1 -0
  7. package/core/dist/allowance.d.ts +10 -0
  8. package/core/dist/allowance.d.ts.map +1 -0
  9. package/core/dist/allowance.js +25 -0
  10. package/core/dist/allowance.js.map +1 -0
  11. package/core/dist/config.d.ts +1 -1
  12. package/core/dist/config.d.ts.map +1 -1
  13. package/core/dist/config.js +11 -2
  14. package/core/dist/config.js.map +1 -1
  15. package/dist/allowance-auth.d.ts +21 -0
  16. package/dist/allowance-auth.d.ts.map +1 -0
  17. package/dist/allowance-auth.js +26 -0
  18. package/dist/allowance-auth.js.map +1 -0
  19. package/dist/allowance.d.ts +3 -0
  20. package/dist/allowance.d.ts.map +1 -0
  21. package/dist/allowance.js +2 -0
  22. package/dist/allowance.js.map +1 -0
  23. package/dist/config.d.ts +1 -1
  24. package/dist/config.d.ts.map +1 -1
  25. package/dist/config.js +1 -1
  26. package/dist/config.js.map +1 -1
  27. package/dist/index.js +17 -17
  28. package/dist/index.js.map +1 -1
  29. package/dist/tools/allowance-create.d.ts +9 -0
  30. package/dist/tools/allowance-create.d.ts.map +1 -0
  31. package/dist/tools/allowance-create.js +52 -0
  32. package/dist/tools/allowance-create.js.map +1 -0
  33. package/dist/tools/allowance-export.d.ts +9 -0
  34. package/dist/tools/allowance-export.d.ts.map +1 -0
  35. package/dist/tools/allowance-export.js +20 -0
  36. package/dist/tools/allowance-export.js.map +1 -0
  37. package/dist/tools/allowance-status.d.ts +9 -0
  38. package/dist/tools/allowance-status.d.ts.map +1 -0
  39. package/dist/tools/allowance-status.js +28 -0
  40. package/dist/tools/allowance-status.js.map +1 -0
  41. package/dist/tools/bundle-deploy.js +2 -2
  42. package/dist/tools/bundle-deploy.js.map +1 -1
  43. package/dist/tools/deploy-site.js +2 -2
  44. package/dist/tools/deploy-site.js.map +1 -1
  45. package/dist/tools/fork-app.js +2 -2
  46. package/dist/tools/fork-app.js.map +1 -1
  47. package/dist/tools/generate-image.js +1 -1
  48. package/dist/tools/generate-image.js.map +1 -1
  49. package/dist/tools/provision.js +3 -3
  50. package/dist/tools/provision.js.map +1 -1
  51. package/dist/tools/request-faucet.js +15 -15
  52. package/dist/tools/request-faucet.js.map +1 -1
  53. package/dist/tools/send-message.js +2 -2
  54. package/dist/tools/send-message.js.map +1 -1
  55. package/dist/tools/set-agent-contact.js +2 -2
  56. package/dist/tools/set-agent-contact.js.map +1 -1
  57. package/dist/tools/set-tier.js +1 -1
  58. package/dist/tools/set-tier.js.map +1 -1
  59. package/dist/tools/tier-status.js +2 -2
  60. package/dist/tools/tier-status.js.map +1 -1
  61. package/package.json +2 -2
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  [![npm: run402](https://img.shields.io/npm/v/run402?label=run402)](https://www.npmjs.com/package/run402)
11
11
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
12
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.
13
+ Developer tools for [Run402](https://run402.com) — provision Postgres databases, deploy static sites, serverless functions, generate images, and manage agent allowances. Available as an MCP server, an OpenClaw skill, and a CLI.
14
14
 
15
15
  English | [简体中文](./README.zh-CN.md)
16
16
 
@@ -60,13 +60,13 @@ npx run402-mcp
60
60
  | `publish_app` | Publish a project as a forkable app. |
61
61
  | `list_versions` | List published versions of a project. |
62
62
  | `get_quote` | Get tier pricing. Free, no auth required. |
63
- | `set_tier` | Subscribe, renew, or upgrade wallet tier. Auto-detects action. Handles x402 payment. |
63
+ | `set_tier` | Subscribe, renew, or upgrade tier. Auto-detects action. Handles x402 payment. |
64
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. |
65
+ | `check_balance` | Check billing account balance for an agent allowance address. |
66
+ | `list_projects` | List all active projects for an agent allowance address. |
67
+ | `allowance_status` | Check local agent allowance status — address, network, funding. |
68
+ | `allowance_create` | Create a new local agent allowance (Base Sepolia testnet). |
69
+ | `allowance_export` | Export the local agent allowance address. |
70
70
  | `request_faucet` | Request free testnet USDC from the Run402 faucet. |
71
71
  | `generate_image` | Generate a PNG image from a text prompt. $0.03 via x402. |
72
72
 
@@ -79,8 +79,8 @@ A standalone CLI is available in the [`cli/`](./cli/) directory.
79
79
  ```bash
80
80
  npm install -g run402
81
81
 
82
- run402 wallet create
83
- run402 wallet fund
82
+ run402 allowance create
83
+ run402 allowance fund
84
84
  run402 deploy --tier prototype --manifest app.json
85
85
  ```
86
86
 
@@ -159,7 +159,7 @@ claude mcp add run402 -- npx -y run402-mcp
159
159
 
160
160
  ### Payment Flow
161
161
 
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.
162
+ The prototype tier is free — it uses testnet USDC to test the x402 payment flow end-to-end (no real money). Hobby and team tiers, renewals, and image generation require real x402 micropayments (USDC on Base or Stripe credits). When payment is needed, tools return payment details (not errors) so the LLM can reason about them and guide the user through payment.
163
163
 
164
164
  ### Key Storage
165
165
 
package/README.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [Run402](https://run402.com) 的 MCP 服务器 — 从任何 MCP 兼容客户端创建和管理 AI 原生 Postgres 数据库。
4
4
 
5
- > **不到 ¥1,让 OpenClaw 上线完整后端 7 天。**
5
+ > **免费试用 7 天完整后端(测试网)。进阶/团队版可用 USDC Stripe 支付。**
6
6
  > 数据库 + REST API + 鉴权 + 存储 + 静态站点 + 函数。无需云账号。
7
7
 
8
8
  [English](./README.md) | 简体中文
@@ -32,7 +32,7 @@ npx run402-mcp
32
32
 
33
33
  | 等级 | 价格 | 租期 | 存储 | API 调用 |
34
34
  |------|------|------|------|----------|
35
- | Prototype 原型 | $0.10 / ¥0.7 | 7 天 | 250 MB | 50 万次 |
35
+ | Prototype 原型 | 免费(测试网) | 7 天 | 250 MB | 50 万次 |
36
36
  | Hobby 进阶 | $5 / ¥36 | 30 天 | 1 GB | 500 万次 |
37
37
  | Team 团队 | $20 / ¥145 | 30 天 | 10 GB | 5000 万次 |
38
38
 
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Allowance auth helper — generates EIP-191 signature headers for Run402 API.
3
+ * Uses @noble/curves (lighter than viem) for signing.
4
+ */
5
+ export interface AllowanceAuthHeaders {
6
+ "X-Run402-Wallet": string;
7
+ "X-Run402-Signature": string;
8
+ "X-Run402-Timestamp": string;
9
+ }
10
+ /**
11
+ * Get allowance auth headers for the Run402 API.
12
+ * Returns null if no allowance is configured.
13
+ */
14
+ export declare function getAllowanceAuthHeaders(allowancePath?: string): AllowanceAuthHeaders | null;
15
+ //# sourceMappingURL=allowance-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-auth.d.ts","sourceRoot":"","sources":["../src/allowance-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AA4CD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAY3F"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Allowance auth helper — generates EIP-191 signature headers for Run402 API.
3
+ * Uses @noble/curves (lighter than viem) for signing.
4
+ */
5
+ import { secp256k1 } from "@noble/curves/secp256k1.js";
6
+ import { keccak_256 } from "@noble/hashes/sha3.js";
7
+ import { bytesToHex } from "@noble/hashes/utils.js";
8
+ import { readAllowance } from "./allowance.js";
9
+ /**
10
+ * EIP-191 personal_sign: sign a message with the allowance's private key.
11
+ */
12
+ function personalSign(privateKeyHex, address, message) {
13
+ const msgBytes = new TextEncoder().encode(message);
14
+ const prefix = new TextEncoder().encode(`\x19Ethereum Signed Message:\n${msgBytes.length}`);
15
+ const prefixed = new Uint8Array(prefix.length + msgBytes.length);
16
+ prefixed.set(prefix);
17
+ prefixed.set(msgBytes, prefix.length);
18
+ const hash = keccak_256(prefixed);
19
+ const pkHex = privateKeyHex.startsWith("0x")
20
+ ? privateKeyHex.slice(2)
21
+ : privateKeyHex;
22
+ const pkBytes = Uint8Array.from(Buffer.from(pkHex, "hex"));
23
+ const rawSig = secp256k1.sign(hash, pkBytes);
24
+ const sig = secp256k1.Signature.fromBytes(rawSig);
25
+ // Determine recovery bit by trying both and matching the address
26
+ let recovery = 0;
27
+ for (const v of [0, 1]) {
28
+ try {
29
+ const recovered = sig.addRecoveryBit(v).recoverPublicKey(hash);
30
+ const pubBytes = recovered.toBytes(false).slice(1); // uncompressed, drop 04 prefix
31
+ const addrBytes = keccak_256(pubBytes).slice(-20);
32
+ if ("0x" + bytesToHex(addrBytes) === address.toLowerCase()) {
33
+ recovery = v;
34
+ break;
35
+ }
36
+ }
37
+ catch {
38
+ continue;
39
+ }
40
+ }
41
+ const r = sig.r.toString(16).padStart(64, "0");
42
+ const s = sig.s.toString(16).padStart(64, "0");
43
+ const vHex = (recovery + 27).toString(16).padStart(2, "0");
44
+ return "0x" + r + s + vHex;
45
+ }
46
+ /**
47
+ * Get allowance auth headers for the Run402 API.
48
+ * Returns null if no allowance is configured.
49
+ */
50
+ export function getAllowanceAuthHeaders(allowancePath) {
51
+ const allowance = readAllowance(allowancePath);
52
+ if (!allowance || !allowance.address || !allowance.privateKey)
53
+ return null;
54
+ const timestamp = Math.floor(Date.now() / 1000).toString();
55
+ const signature = personalSign(allowance.privateKey, allowance.address, `run402:${timestamp}`);
56
+ return {
57
+ "X-Run402-Wallet": allowance.address,
58
+ "X-Run402-Signature": signature,
59
+ "X-Run402-Timestamp": timestamp,
60
+ };
61
+ }
62
+ //# sourceMappingURL=allowance-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-auth.js","sourceRoot":"","sources":["../src/allowance-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface AllowanceData {
2
+ address: string;
3
+ privateKey: string;
4
+ created?: string;
5
+ funded?: boolean;
6
+ lastFaucet?: string;
7
+ }
8
+ export declare function readAllowance(path?: string): AllowanceData | null;
9
+ export declare function saveAllowance(data: AllowanceData, path?: string): void;
10
+ //# sourceMappingURL=allowance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance.d.ts","sourceRoot":"","sources":["../src/allowance.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQjE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAQtE"}
@@ -0,0 +1,25 @@
1
+ import { readFileSync, writeFileSync, mkdirSync, existsSync, chmodSync, renameSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { randomBytes } from "node:crypto";
4
+ import { getAllowancePath } from "./config.js";
5
+ export function readAllowance(path) {
6
+ const p = path ?? getAllowancePath();
7
+ if (!existsSync(p))
8
+ return null;
9
+ try {
10
+ return JSON.parse(readFileSync(p, "utf-8"));
11
+ }
12
+ catch {
13
+ return null;
14
+ }
15
+ }
16
+ export function saveAllowance(data, path) {
17
+ const p = path ?? getAllowancePath();
18
+ const dir = dirname(p);
19
+ mkdirSync(dir, { recursive: true });
20
+ const tmp = join(dir, `.allowance.${randomBytes(4).toString("hex")}.tmp`);
21
+ writeFileSync(tmp, JSON.stringify(data, null, 2), { mode: 0o600 });
22
+ renameSync(tmp, p);
23
+ chmodSync(p, 0o600);
24
+ }
25
+ //# sourceMappingURL=allowance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance.js","sourceRoot":"","sources":["../src/allowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAU/C,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,MAAM,CAAC,GAAG,IAAI,IAAI,gBAAgB,EAAE,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAmB,EAAE,IAAa;IAC9D,MAAM,CAAC,GAAG,IAAI,IAAI,gBAAgB,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1E,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnB,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare function getApiBase(): string;
2
2
  export declare function getConfigDir(): string;
3
3
  export declare function getKeystorePath(): string;
4
- export declare function getWalletPath(): string;
4
+ export declare function getAllowancePath(): string;
5
5
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAUzC"}
@@ -1,5 +1,6 @@
1
1
  import { homedir } from "node:os";
2
2
  import { join } from "node:path";
3
+ import { existsSync, renameSync, mkdirSync } from "node:fs";
3
4
  export function getApiBase() {
4
5
  return process.env.RUN402_API_BASE || "https://api.run402.com";
5
6
  }
@@ -9,7 +10,15 @@ export function getConfigDir() {
9
10
  export function getKeystorePath() {
10
11
  return join(getConfigDir(), "projects.json");
11
12
  }
12
- export function getWalletPath() {
13
- return join(getConfigDir(), "wallet.json");
13
+ export function getAllowancePath() {
14
+ const dir = getConfigDir();
15
+ const newPath = join(dir, "allowance.json");
16
+ const oldPath = join(dir, "wallet.json");
17
+ // Auto-migrate from wallet.json → allowance.json
18
+ if (!existsSync(newPath) && existsSync(oldPath)) {
19
+ mkdirSync(dir, { recursive: true });
20
+ renameSync(oldPath, newPath);
21
+ }
22
+ return newPath;
14
23
  }
15
24
  //# sourceMappingURL=config.js.map
@@ -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,MAAM,UAAU,YAAY;IAC1B,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"}
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;AACjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE5D,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,wBAAwB,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,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,gBAAgB;IAC9B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACzC,iDAAiD;IACjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Allowance auth helper — re-exports core signing + adds MCP-specific error wrapper.
3
+ */
4
+ import { getAllowanceAuthHeaders as _getAllowanceAuthHeaders, type AllowanceAuthHeaders } from "../core/dist/allowance-auth.js";
5
+ export type { AllowanceAuthHeaders };
6
+ export declare const getAllowanceAuthHeaders: typeof _getAllowanceAuthHeaders;
7
+ /**
8
+ * Get allowance auth headers or return an MCP error result.
9
+ */
10
+ export declare function requireAllowanceAuth(): {
11
+ headers: AllowanceAuthHeaders;
12
+ } | {
13
+ error: {
14
+ content: Array<{
15
+ type: "text";
16
+ text: string;
17
+ }>;
18
+ isError: true;
19
+ };
20
+ };
21
+ //# sourceMappingURL=allowance-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-auth.d.ts","sourceRoot":"","sources":["../src/allowance-auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,IAAI,wBAAwB,EAAE,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEhI,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,eAAO,MAAM,uBAAuB,iCAA2B,CAAC;AAEhE;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IACtC,OAAO,EAAE,oBAAoB,CAAC;CAC/B,GAAG;IACF,KAAK,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;CAC1E,CAgBA"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Allowance auth helper — re-exports core signing + adds MCP-specific error wrapper.
3
+ */
4
+ import { getAllowanceAuthHeaders as _getAllowanceAuthHeaders } from "../core/dist/allowance-auth.js";
5
+ export const getAllowanceAuthHeaders = _getAllowanceAuthHeaders;
6
+ /**
7
+ * Get allowance auth headers or return an MCP error result.
8
+ */
9
+ export function requireAllowanceAuth() {
10
+ const headers = getAllowanceAuthHeaders();
11
+ if (!headers) {
12
+ return {
13
+ error: {
14
+ content: [
15
+ {
16
+ type: "text",
17
+ text: "Error: No agent allowance configured. Use `allowance_create` to create an allowance first, then `request_faucet` to fund it.",
18
+ },
19
+ ],
20
+ isError: true,
21
+ },
22
+ };
23
+ }
24
+ return { headers };
25
+ }
26
+ //# sourceMappingURL=allowance-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-auth.js","sourceRoot":"","sources":["../src/allowance-auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,IAAI,wBAAwB,EAA6B,MAAM,gCAAgC,CAAC;AAIhI,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAKlC,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8HAA8H;qBACrI;iBACF;gBACD,OAAO,EAAE,IAAI;aACd;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { readAllowance, saveAllowance } from "../core/dist/allowance.js";
2
+ export type { AllowanceData } from "../core/dist/allowance.js";
3
+ //# sourceMappingURL=allowance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance.d.ts","sourceRoot":"","sources":["../src/allowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { readAllowance, saveAllowance } from "../core/dist/allowance.js";
2
+ //# sourceMappingURL=allowance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance.js","sourceRoot":"","sources":["../src/allowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/config.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { getApiBase, getConfigDir, getKeystorePath, getWalletPath } from "../core/dist/config.js";
1
+ export { getApiBase, getConfigDir, getKeystorePath, getAllowancePath } from "../core/dist/config.js";
2
2
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/config.js CHANGED
@@ -1,2 +1,2 @@
1
- export { getApiBase, getConfigDir, getKeystorePath, getWalletPath } from "../core/dist/config.js";
1
+ export { getApiBase, getConfigDir, getKeystorePath, getAllowancePath } from "../core/dist/config.js";
2
2
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -40,10 +40,10 @@ 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";
43
+ // New tools — allowance, faucet, image
44
+ import { allowanceStatusSchema, handleAllowanceStatus } from "./tools/allowance-status.js";
45
+ import { allowanceCreateSchema, handleAllowanceCreate } from "./tools/allowance-create.js";
46
+ import { allowanceExportSchema, handleAllowanceExport } from "./tools/allowance-export.js";
47
47
  import { requestFaucetSchema, handleRequestFaucet } from "./tools/request-faucet.js";
48
48
  import { generateImageSchema, handleGenerateImage } from "./tools/generate-image.js";
49
49
  // New tools — messaging, agent contact, billing, deployments, versions
@@ -95,25 +95,25 @@ server.tool("publish_app", "Publish a project as a forkable app. Set visibility
95
95
  server.tool("list_versions", "List published versions of a project.", listVersionsSchema, async (args) => handleListVersions(args));
96
96
  // ─── Project lifecycle tools ────────────────────────────────────────────────
97
97
  server.tool("get_quote", "Get tier pricing for Run402 projects. Free, no auth required. Shows prices, lease durations, storage limits, and API call limits.", getQuoteSchema, async (args) => handleGetQuote(args));
98
- server.tool("tier_status", "Check wallet's current tier subscription — tier name, status, and expiry. Requires wallet auth.", tierStatusSchema, async (args) => handleTierStatus(args));
99
- server.tool("set_tier", "Subscribe, renew, or upgrade a wallet's tier. Auto-detects action based on wallet state. Returns success or payment details if x402 payment is needed.", setTierSchema, async (args) => handleSetTier(args));
98
+ server.tool("tier_status", "Check current tier subscription — tier name, status, and expiry. Requires allowance auth.", tierStatusSchema, async (args) => handleTierStatus(args));
99
+ server.tool("set_tier", "Subscribe, renew, or upgrade tier. Auto-detects action based on allowance state. Returns success or payment details if x402 payment is needed.", setTierSchema, async (args) => handleSetTier(args));
100
100
  server.tool("archive_project", "Archive a project and remove it from the local key store. This action cannot be undone.", archiveProjectSchema, async (args) => handleArchiveProject(args));
101
- // ─── Billing & wallet tools ─────────────────────────────────────────────────
102
- server.tool("check_balance", "Check billing account balance for a wallet address. Shows available and held funds.", checkBalanceSchema, async (args) => handleCheckBalance(args));
103
- server.tool("list_projects", "List all active projects for a wallet address.", listProjectsSchema, async (args) => handleListProjects(args));
104
- // ─── Wallet & faucet tools ────────────────────────────────────────────────
105
- server.tool("wallet_status", "Check local wallet status — address, network, and funding status.", walletStatusSchema, async (args) => handleWalletStatus(args));
106
- 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));
107
- server.tool("wallet_export", "Export the local wallet address. Safe to share publicly.", walletExportSchema, async (args) => handleWalletExport(args));
101
+ // ─── Billing & allowance tools ───────────────────────────────────────────────
102
+ server.tool("check_balance", "Check billing account balance for an agent allowance address. Shows available and held funds.", checkBalanceSchema, async (args) => handleCheckBalance(args));
103
+ server.tool("list_projects", "List all active projects for an agent allowance address.", listProjectsSchema, async (args) => handleListProjects(args));
104
+ // ─── Allowance & faucet tools ─────────────────────────────────────────────
105
+ server.tool("allowance_status", "Check local agent allowance status — address, network, and funding status.", allowanceStatusSchema, async (args) => handleAllowanceStatus(args));
106
+ server.tool("allowance_create", "Create a new local agent allowance (Base Sepolia testnet). Generates a private key and derives the Ethereum address. Saved to ~/.config/run402/allowance.json.", allowanceCreateSchema, async (args) => handleAllowanceCreate(args));
107
+ server.tool("allowance_export", "Export the local agent allowance address. Safe to share publicly.", allowanceExportSchema, async (args) => handleAllowanceExport(args));
108
108
  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));
109
109
  // ─── Image generation tools ──────────────────────────────────────────────
110
110
  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));
111
111
  // ─── Messaging & agent contact tools ───────────────────────────────────────
112
- server.tool("send_message", "Send a message to the Run402 developers. Free with wallet auth.", sendMessageSchema, async (args) => handleSendMessage(args));
113
- server.tool("set_agent_contact", "Register agent contact info (name, email, webhook) so Run402 can reach you. Free with wallet auth.", setAgentContactSchema, async (args) => handleSetAgentContact(args));
112
+ server.tool("send_message", "Send a message to the Run402 developers. Free with allowance auth.", sendMessageSchema, async (args) => handleSendMessage(args));
113
+ server.tool("set_agent_contact", "Register agent contact info (name, email, webhook) so Run402 can reach you. Free with allowance auth.", setAgentContactSchema, async (args) => handleSetAgentContact(args));
114
114
  // ─── Billing tools ─────────────────────────────────────────────────────────
115
- server.tool("create_checkout", "Create a Stripe checkout URL for your human to fund your wallet with a credit card.", createCheckoutSchema, async (args) => handleCreateCheckout(args));
116
- server.tool("billing_history", "View billing transaction history for a wallet address.", billingHistorySchema, async (args) => handleBillingHistory(args));
115
+ server.tool("create_checkout", "Create a Stripe checkout URL for your human to fund your agent allowance with a credit card.", createCheckoutSchema, async (args) => handleCreateCheckout(args));
116
+ server.tool("billing_history", "View billing transaction history for an agent allowance address.", billingHistorySchema, async (args) => handleBillingHistory(args));
117
117
  // ─── Deployment status tool ────────────────────────────────────────────────
118
118
  server.tool("get_deployment", "Get deployment status and URL for a static site deployment.", getDeploymentSchema, async (args) => handleGetDeployment(args));
119
119
  // ─── Version management tools ──────────────────────────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,iBAAiB;AACjB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE,mCAAmC;AACnC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAElF,2BAA2B;AAC3B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,uCAAuC;AACvC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAElF,oCAAoC;AACpC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAExF,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAElF,oCAAoC;AACpC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErF,uEAAuE;AACvE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,+EAA+E;AAE/E,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,0HAA0H,EAC1H,eAAe,EACf,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CACtC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,SAAS,EACT,kGAAkG,EAClG,YAAY,EACZ,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CACnC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,oGAAoG,EACpG,eAAe,EACf,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CACtC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,WAAW,EACX,gLAAgL,EAChL,cAAc,EACd,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CACrC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,iKAAiK,EACjK,eAAe,EACf,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CACtC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,WAAW,EACX,gFAAgF,EAChF,cAAc,EACd,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CACrC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,IAAI,CACT,aAAa,EACb,2EAA2E,EAC3E,gBAAgB,EAChB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACvC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,iEAAiE,EACjE,kBAAkB,EAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACzC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,qCAAqC,EACrC,gBAAgB,EAChB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACvC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,mFAAmF,EACnF,eAAe,EACf,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CACtC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,kPAAkP,EAClP,oBAAoB,EACpB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAC3C,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,sJAAsJ,EACtJ,oBAAoB,EACpB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAC3C,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,kHAAkH,EAClH,qBAAqB,EACrB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAC5C,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,6FAA6F,EAC7F,mBAAmB,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAC1C,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,4CAA4C,EAC5C,oBAAoB,EACpB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAC3C,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,mJAAmJ,EACnJ,eAAe,EACf,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CACtC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,0GAA0G,EAC1G,iBAAiB,EACjB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CACxC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,iCAAiC,EACjC,kBAAkB,EAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACzC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,IAAI,CACT,aAAa,EACb,gIAAgI,EAChI,gBAAgB,EAChB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACvC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,2HAA2H,EAC3H,oBAAoB,EACpB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAC3C,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,gEAAgE,EAChE,qBAAqB,EACrB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAC5C,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,2CAA2C,EAC3C,oBAAoB,EACpB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAC3C,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,IAAI,CACT,eAAe,EACf,+MAA+M,EAC/M,kBAAkB,EAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACzC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,sEAAsE,EACtE,gBAAgB,EAChB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACvC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,UAAU,EACV,sIAAsI,EACtI,aAAa,EACb,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CACpC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,mFAAmF,EACnF,gBAAgB,EAChB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACvC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,uCAAuC,EACvC,kBAAkB,EAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACzC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,IAAI,CACT,WAAW,EACX,mIAAmI,EACnI,cAAc,EACd,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CACrC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,iGAAiG,EACjG,gBAAgB,EAChB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACvC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,UAAU,EACV,wJAAwJ,EACxJ,aAAa,EACb,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CACpC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,yFAAyF,EACzF,oBAAoB,EACpB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAC3C,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,IAAI,CACT,eAAe,EACf,qFAAqF,EACrF,kBAAkB,EAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACzC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,gDAAgD,EAChD,kBAAkB,EAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACzC,CAAC;AAEF,6EAA6E;AAE7E,MAAM,CAAC,IAAI,CACT,eAAe,EACf,mEAAmE,EACnE,kBAAkB,EAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACzC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,oJAAoJ,EACpJ,kBAAkB,EAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACzC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,0DAA0D,EAC1D,kBAAkB,EAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACzC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,sJAAsJ,EACtJ,mBAAmB,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAC1C,CAAC;AAEF,4EAA4E;AAE5E,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,qIAAqI,EACrI,mBAAmB,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAC1C,CAAC;AAEF,8EAA8E;AAE9E,MAAM,CAAC,IAAI,CACT,cAAc,EACd,iEAAiE,EACjE,iBAAiB,EACjB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CACxC,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,oGAAoG,EACpG,qBAAqB,EACrB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAC5C,CAAC;AAEF,8EAA8E;AAE9E,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,qFAAqF,EACrF,oBAAoB,EACpB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAC3C,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,wDAAwD,EACxD,oBAAoB,EACpB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAC3C,CAAC;AAEF,8EAA8E;AAE9E,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,6DAA6D,EAC7D,mBAAmB,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAC1C,CAAC;AAEF,8EAA8E;AAE9E,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,2FAA2F,EAC3F,mBAAmB,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAC1C,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,iCAAiC,EACjC,mBAAmB,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAC1C,CAAC;AAEF,MAAM,CAAC,IAAI,CACT,SAAS,EACT,6EAA6E,EAC7E,YAAY,EACZ,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CACnC,CAAC;AAEF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const allowanceCreateSchema: {};
2
+ export declare function handleAllowanceCreate(_args: Record<string, never>): Promise<{
3
+ content: Array<{
4
+ type: "text";
5
+ text: string;
6
+ }>;
7
+ isError?: boolean;
8
+ }>;
9
+ //# sourceMappingURL=allowance-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-create.d.ts","sourceRoot":"","sources":["../../src/tools/allowance-create.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB,IAAK,CAAC;AAExC,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC3B,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,CAoDhF"}
@@ -0,0 +1,52 @@
1
+ import { getAllowancePath } from "../config.js";
2
+ import { readAllowance, saveAllowance } from "../allowance.js";
3
+ import { randomBytes, createECDH } from "node:crypto";
4
+ import { keccak_256 } from "@noble/hashes/sha3.js";
5
+ export const allowanceCreateSchema = {};
6
+ export async function handleAllowanceCreate(_args) {
7
+ const allowancePath = getAllowancePath();
8
+ const existing = readAllowance();
9
+ if (existing) {
10
+ return {
11
+ content: [
12
+ {
13
+ type: "text",
14
+ text: `Agent allowance already exists at \`${allowancePath}\`.\n\nAddress: \`${existing.address}\`\n\nUse \`allowance_status\` to check details.`,
15
+ },
16
+ ],
17
+ isError: true,
18
+ };
19
+ }
20
+ // Generate private key
21
+ const privateKeyBytes = randomBytes(32);
22
+ const privateKey = `0x${privateKeyBytes.toString("hex")}`;
23
+ // Derive public key using secp256k1
24
+ const ecdh = createECDH("secp256k1");
25
+ ecdh.setPrivateKey(privateKeyBytes);
26
+ const uncompressedPubKey = ecdh.getPublicKey();
27
+ // Remove the 04 prefix (uncompressed point marker)
28
+ const pubKeyBody = uncompressedPubKey.subarray(1);
29
+ // Ethereum address = last 20 bytes of keccak256(publicKey)
30
+ const hash = keccak_256(pubKeyBody);
31
+ const addressBytes = hash.slice(-20);
32
+ const address = `0x${Buffer.from(addressBytes).toString("hex")}`;
33
+ // Save allowance using core's atomic write
34
+ saveAllowance({
35
+ address,
36
+ privateKey,
37
+ created: new Date().toISOString(),
38
+ funded: false,
39
+ });
40
+ const lines = [
41
+ `## Agent Allowance Created`,
42
+ ``,
43
+ `| Field | Value |`,
44
+ `|-------|-------|`,
45
+ `| address | \`${address}\` |`,
46
+ `| saved to | \`${allowancePath}\` |`,
47
+ ``,
48
+ `Use \`request_faucet\` to fund it with testnet USDC, or send USDC on any supported chain.`,
49
+ ];
50
+ return { content: [{ type: "text", text: lines.join("\n") }] };
51
+ }
52
+ //# sourceMappingURL=allowance-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-create.js","sourceRoot":"","sources":["../../src/tools/allowance-create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAA4B;IAE5B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;IACjC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,uCAAuC,aAAa,qBAAqB,QAAQ,CAAC,OAAO,kDAAkD;iBAClJ;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,MAAM,eAAe,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAE1D,oCAAoC;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAC/C,mDAAmD;IACnD,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElD,2DAA2D;IAC3D,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAEjE,2CAA2C;IAC3C,aAAa,CAAC;QACZ,OAAO;QACP,UAAU;QACV,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACjC,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,4BAA4B;QAC5B,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,iBAAiB,OAAO,MAAM;QAC9B,kBAAkB,aAAa,MAAM;QACrC,EAAE;QACF,2FAA2F;KAC5F,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"}
@@ -0,0 +1,9 @@
1
+ export declare const allowanceExportSchema: {};
2
+ export declare function handleAllowanceExport(_args: Record<string, never>): Promise<{
3
+ content: Array<{
4
+ type: "text";
5
+ text: string;
6
+ }>;
7
+ isError?: boolean;
8
+ }>;
9
+ //# sourceMappingURL=allowance-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-export.d.ts","sourceRoot":"","sources":["../../src/tools/allowance-export.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,IAAK,CAAC;AAExC,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC3B,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,CAkBhF"}
@@ -0,0 +1,20 @@
1
+ import { readAllowance } from "../allowance.js";
2
+ export const allowanceExportSchema = {};
3
+ export async function handleAllowanceExport(_args) {
4
+ const allowance = readAllowance();
5
+ if (!allowance) {
6
+ return {
7
+ content: [
8
+ {
9
+ type: "text",
10
+ text: "No agent allowance found. Use `allowance_create` to create one.",
11
+ },
12
+ ],
13
+ isError: true,
14
+ };
15
+ }
16
+ return {
17
+ content: [{ type: "text", text: allowance.address }],
18
+ };
19
+ }
20
+ //# sourceMappingURL=allowance-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-export.js","sourceRoot":"","sources":["../../src/tools/allowance-export.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAA4B;IAE5B,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAElC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iEAAiE;iBACxE;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;KACrD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const allowanceStatusSchema: {};
2
+ export declare function handleAllowanceStatus(_args: Record<string, never>): Promise<{
3
+ content: Array<{
4
+ type: "text";
5
+ text: string;
6
+ }>;
7
+ isError?: boolean;
8
+ }>;
9
+ //# sourceMappingURL=allowance-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-status.d.ts","sourceRoot":"","sources":["../../src/tools/allowance-status.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,IAAK,CAAC;AAExC,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC3B,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,CA0BhF"}
@@ -0,0 +1,28 @@
1
+ import { getAllowancePath } from "../config.js";
2
+ import { readAllowance } from "../allowance.js";
3
+ export const allowanceStatusSchema = {};
4
+ export async function handleAllowanceStatus(_args) {
5
+ const allowancePath = getAllowancePath();
6
+ const allowance = readAllowance();
7
+ if (!allowance) {
8
+ return {
9
+ content: [
10
+ {
11
+ type: "text",
12
+ text: "No agent allowance found. Use `allowance_create` to create one.",
13
+ },
14
+ ],
15
+ };
16
+ }
17
+ const lines = [
18
+ `## Agent Allowance Status`,
19
+ ``,
20
+ `| Field | Value |`,
21
+ `|-------|-------|`,
22
+ `| address | \`${allowance.address}\` |`,
23
+ `| created | ${allowance.created || "unknown"} |`,
24
+ `| funded | ${allowance.funded ? "yes" : "no"} |`,
25
+ ];
26
+ return { content: [{ type: "text", text: lines.join("\n") }] };
27
+ }
28
+ //# sourceMappingURL=allowance-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance-status.js","sourceRoot":"","sources":["../../src/tools/allowance-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAA4B;IAE5B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAElC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iEAAiE;iBACxE;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,2BAA2B;QAC3B,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,iBAAiB,SAAS,CAAC,OAAO,MAAM;QACxC,eAAe,SAAS,CAAC,OAAO,IAAI,SAAS,IAAI;QACjD,cAAc,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;KAClD,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"}
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { apiRequest } from "../client.js";
3
3
  import { saveProject } from "../keystore.js";
4
4
  import { formatApiError } from "../errors.js";
5
- import { requireWalletAuth } from "../wallet-auth.js";
5
+ import { requireAllowanceAuth } from "../allowance-auth.js";
6
6
  export const bundleDeploySchema = {
7
7
  name: z.string().describe("App name (used as project name and default subdomain)"),
8
8
  migrations: z
@@ -50,7 +50,7 @@ export const bundleDeploySchema = {
50
50
  .describe("Custom subdomain to claim (e.g. 'myapp' → myapp.run402.com)"),
51
51
  };
52
52
  export async function handleBundleDeploy(args) {
53
- const auth = requireWalletAuth();
53
+ const auth = requireAllowanceAuth();
54
54
  if ("error" in auth)
55
55
  return auth.error;
56
56
  const res = await apiRequest("/deploy/v1", {
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-deploy.js","sourceRoot":"","sources":["../../src/tools/bundle-deploy.ts"],"names":[],"mappings":"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"}
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;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAClF,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,GAAG,EAAE,CAAC;SACH,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACxE,MAAM,EAAE,CAAC,CAAC,KAAK,CACb,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACpC,CAAC,CACH;KACF,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACvD,QAAQ,EAAE;SACV,QAAQ,CAAC,qEAAqE,CAAC;IAClF,SAAS,EAAE,CAAC;SACT,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC;aACD,QAAQ,EAAE;KACd,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,qBAAqB,CAAC;IAClC,IAAI,EAAE,CAAC;SACJ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;KACjD,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;IACpE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;CAC3E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAQxC;IACC,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAUhB,CAAC;IAEF,sCAAsC;IACtC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACxC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,uBAAuB,IAAI,CAAC,IAAI,EAAE;QAClC,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB,IAAI,CAAC,UAAU,MAAM;QACzC,YAAY,IAAI,CAAC,IAAI,IAAI;QACzB,cAAc,IAAI,CAAC,WAAW,IAAI;QAClC,eAAe,IAAI,CAAC,gBAAgB,IAAI;KACzC,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAE7C,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,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { apiRequest } from "../client.js";
3
3
  import { formatApiError } from "../errors.js";
4
- import { requireWalletAuth } from "../wallet-auth.js";
4
+ import { requireAllowanceAuth } from "../allowance-auth.js";
5
5
  export const deploySiteSchema = {
6
6
  name: z
7
7
  .string()
@@ -26,7 +26,7 @@ export const deploySiteSchema = {
26
26
  .describe("Array of files to deploy. Must include at least index.html."),
27
27
  };
28
28
  export async function handleDeploySite(args) {
29
- const auth = requireWalletAuth();
29
+ const auth = requireAllowanceAuth();
30
30
  if ("error" in auth)
31
31
  return auth.error;
32
32
  const res = await apiRequest("/deployments/v1", {
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-site.js","sourceRoot":"","sources":["../../src/tools/deploy-site.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;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2EAA2E,CAAC;IACxF,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAClE,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aACzB,QAAQ,EAAE;aACV,QAAQ,CAAC,iEAAiE,CAAC;KAC/E,CAAC,CACH;SACA,QAAQ,CAAC,6DAA6D,CAAC;CAC3E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAKtC;IACC,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE;QAC9C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAG,GAAG,CAAC,IAShB,CAAC;IAEF,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,YAAY,IAAI,CAAC,EAAE,MAAM;QACzB,WAAW,IAAI,CAAC,GAAG,IAAI;QACvB,cAAc,IAAI,CAAC,MAAM,IAAI;QAC7B,aAAa,IAAI,CAAC,WAAW,IAAI;QACjC,YAAY,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;QACtD,EAAE;QACF,yBAAyB,IAAI,CAAC,GAAG,IAAI;KACtC,CAAC;IAEF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,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
+ {"version":3,"file":"deploy-site.js","sourceRoot":"","sources":["../../src/tools/deploy-site.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;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2EAA2E,CAAC;IACxF,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAClE,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;aACzB,QAAQ,EAAE;aACV,QAAQ,CAAC,iEAAiE,CAAC;KAC/E,CAAC,CACH;SACA,QAAQ,CAAC,6DAA6D,CAAC;CAC3E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAKtC;IACC,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE;QAC9C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAG,GAAG,CAAC,IAShB,CAAC;IAEF,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,YAAY,IAAI,CAAC,EAAE,MAAM;QACzB,WAAW,IAAI,CAAC,GAAG,IAAI;QACvB,cAAc,IAAI,CAAC,MAAM,IAAI;QAC7B,aAAa,IAAI,CAAC,WAAW,IAAI;QACjC,YAAY,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;QACtD,EAAE;QACF,yBAAyB,IAAI,CAAC,GAAG,IAAI;KACtC,CAAC;IAEF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC"}
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { apiRequest } from "../client.js";
3
3
  import { saveProject } from "../keystore.js";
4
4
  import { formatApiError } from "../errors.js";
5
- import { requireWalletAuth } from "../wallet-auth.js";
5
+ import { requireAllowanceAuth } from "../allowance-auth.js";
6
6
  export const forkAppSchema = {
7
7
  version_id: z.string().describe("The app version ID to fork (from browse_apps)"),
8
8
  name: z.string().describe("Name for the new forked project"),
@@ -12,7 +12,7 @@ export const forkAppSchema = {
12
12
  .describe("Optional subdomain to claim for the forked app"),
13
13
  };
14
14
  export async function handleForkApp(args) {
15
- const auth = requireWalletAuth();
15
+ const auth = requireAllowanceAuth();
16
16
  if ("error" in auth)
17
17
  return auth.error;
18
18
  const res = await apiRequest("/fork/v1", {
@@ -1 +1 @@
1
- {"version":3,"file":"fork-app.js","sourceRoot":"","sources":["../../src/tools/fork-app.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;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC5D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC9D,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAInC;IACC,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE;YACJ,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,GAAG,CAAC,IAUhB,CAAC;IAEF,sCAAsC;IACtC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACxC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,kBAAkB,IAAI,CAAC,IAAI,EAAE;QAC7B,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB,IAAI,CAAC,UAAU,MAAM;QACzC,YAAY,IAAI,CAAC,IAAI,IAAI;QACzB,cAAc,IAAI,CAAC,WAAW,IAAI;QAClC,eAAe,IAAI,CAAC,gBAAgB,IAAI;KACzC,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAE7C,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
+ {"version":3,"file":"fork-app.js","sourceRoot":"","sources":["../../src/tools/fork-app.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;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC5D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC9D,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAInC;IACC,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE;YACJ,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,GAAG,CAAC,IAUhB,CAAC;IAEF,sCAAsC;IACtC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACxC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,kBAAkB,IAAI,CAAC,IAAI,EAAE;QAC7B,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB,IAAI,CAAC,UAAU,MAAM;QACzC,YAAY,IAAI,CAAC,IAAI,IAAI;QACzB,cAAc,IAAI,CAAC,WAAW,IAAI;QAClC,eAAe,IAAI,CAAC,gBAAgB,IAAI;KACzC,CAAC;IAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAE7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC"}
@@ -37,7 +37,7 @@ export async function handleGenerateImage(args) {
37
37
  lines.push("```");
38
38
  }
39
39
  lines.push(``);
40
- lines.push(`The user's wallet or payment agent must send the required amount. ` +
40
+ lines.push(`The user's agent allowance or payment agent must send the required amount. ` +
41
41
  `Once payment is confirmed, retry this tool call.`);
42
42
  return { content: [{ type: "text", text: lines.join("\n") }] };
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-image.js","sourceRoot":"","sources":["../../src/tools/generate-image.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,mBAAmB,GAAG;IACjC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,yCAAyC,CAAC;IACtD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;SACzC,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAGzC;IAIC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;KACtC,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,GAAG,CAAC,IAA+B,CAAC;QACjD,MAAM,KAAK,GAAG;YACZ,qBAAqB;YACrB,EAAE;YACF,oEAAoE;YACpE,EAAE;SACH,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,oEAAoE;YAClE,kDAAkD,CACrD,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAIhB,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,YAAY,GAAG;aAC9D;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,IAAI,WAAW;aAC3C;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"generate-image.js","sourceRoot":"","sources":["../../src/tools/generate-image.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,mBAAmB,GAAG;IACjC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,yCAAyC,CAAC;IACtD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;SACzC,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAGzC;IAIC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;KACtC,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,GAAG,CAAC,IAA+B,CAAC;QACjD,MAAM,KAAK,GAAG;YACZ,qBAAqB;YACrB,EAAE;YACF,oEAAoE;YACpE,EAAE;SACH,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,6EAA6E;YAC3E,kDAAkD,CACrD,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAIhB,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,YAAY,GAAG;aAC9D;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,IAAI,WAAW;aAC3C;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -2,19 +2,19 @@ import { z } from "zod";
2
2
  import { apiRequest } from "../client.js";
3
3
  import { saveProject } from "../keystore.js";
4
4
  import { formatApiError } from "../errors.js";
5
- import { requireWalletAuth } from "../wallet-auth.js";
5
+ import { requireAllowanceAuth } from "../allowance-auth.js";
6
6
  export const provisionSchema = {
7
7
  tier: z
8
8
  .enum(["prototype", "hobby", "team"])
9
9
  .default("prototype")
10
- .describe("Database tier: prototype ($0.10/7d), hobby ($5/30d), team ($20/30d)"),
10
+ .describe("Database tier: prototype (free/testnet, 7d), hobby ($5/30d), team ($20/30d)"),
11
11
  name: z
12
12
  .string()
13
13
  .optional()
14
14
  .describe("Optional project name (auto-generated if omitted)"),
15
15
  };
16
16
  export async function handleProvision(args) {
17
- const auth = requireWalletAuth();
17
+ const auth = requireAllowanceAuth();
18
18
  if ("error" in auth)
19
19
  return auth.error;
20
20
  const tier = args.tier || "prototype";
@@ -1 +1 @@
1
- {"version":3,"file":"provision.js","sourceRoot":"","sources":["../../src/tools/provision.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;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SACpC,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,qEAAqE,CAAC;IAClF,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;CACjE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAGrC;IACC,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE;QAC3C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG,GAAG,CAAC,IAOhB,CAAC;IAEF,sCAAsC;IACtC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACxC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,wBAAwB;QACxB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB,IAAI,CAAC,UAAU,MAAM;QACzC,YAAY,IAAI,CAAC,IAAI,IAAI;QACzB,cAAc,IAAI,CAAC,WAAW,IAAI;QAClC,eAAe,IAAI,CAAC,gBAAgB,IAAI;QACxC,EAAE;QACF,oHAAoH;KACrH,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
+ {"version":3,"file":"provision.js","sourceRoot":"","sources":["../../src/tools/provision.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;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SACpC,OAAO,CAAC,WAAW,CAAC;SACpB,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;CACjE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAGrC;IACC,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE;QAC3C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG,GAAG,CAAC,IAOhB,CAAC;IAEF,sCAAsC;IACtC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACxC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,wBAAwB;QACxB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB,IAAI,CAAC,UAAU,MAAM;QACzC,YAAY,IAAI,CAAC,IAAI,IAAI;QACzB,cAAc,IAAI,CAAC,WAAW,IAAI;QAClC,eAAe,IAAI,CAAC,gBAAgB,IAAI;QACxC,EAAE;QACF,oHAAoH;KACrH,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,29 +1,29 @@
1
1
  import { z } from "zod";
2
2
  import { apiRequest } from "../client.js";
3
3
  import { formatApiError } from "../errors.js";
4
- import { getWalletPath } from "../config.js";
4
+ import { getAllowancePath } from "../config.js";
5
5
  import { readFileSync, writeFileSync, existsSync } from "node:fs";
6
6
  export const requestFaucetSchema = {
7
7
  address: z
8
8
  .string()
9
9
  .optional()
10
- .describe("Wallet address (0x...) to fund. If omitted, reads from local wallet file."),
10
+ .describe("Wallet address (0x...) to fund. If omitted, reads from local agent allowance file."),
11
11
  };
12
12
  export async function handleRequestFaucet(args) {
13
13
  let address = args.address;
14
- const walletPath = getWalletPath();
14
+ const allowancePath = getAllowancePath();
15
15
  if (!address) {
16
16
  try {
17
- const wallet = JSON.parse(readFileSync(walletPath, "utf-8"));
18
- address = wallet.address;
17
+ const allowance = JSON.parse(readFileSync(allowancePath, "utf-8"));
18
+ address = allowance.address;
19
19
  }
20
20
  catch {
21
21
  return {
22
22
  content: [
23
23
  {
24
24
  type: "text",
25
- text: "Error: No wallet address provided and no local wallet found. " +
26
- "Use `wallet_create` to create a wallet first, or pass an `address` parameter.",
25
+ text: "Error: No address provided and no local agent allowance found. " +
26
+ "Use `allowance_create` to create an allowance first, or pass an `address` parameter.",
27
27
  },
28
28
  ],
29
29
  isError: true,
@@ -37,18 +37,18 @@ export async function handleRequestFaucet(args) {
37
37
  if (!res.ok)
38
38
  return formatApiError(res, "requesting faucet funds");
39
39
  const body = res.body;
40
- // Update wallet file with funded status
41
- if (existsSync(walletPath)) {
40
+ // Update allowance file with funded status
41
+ if (existsSync(allowancePath)) {
42
42
  try {
43
- const wallet = JSON.parse(readFileSync(walletPath, "utf-8"));
44
- wallet.funded = true;
45
- wallet.lastFaucet = new Date().toISOString();
46
- writeFileSync(walletPath, JSON.stringify(wallet, null, 2), {
43
+ const allowance = JSON.parse(readFileSync(allowancePath, "utf-8"));
44
+ allowance.funded = true;
45
+ allowance.lastFaucet = new Date().toISOString();
46
+ writeFileSync(allowancePath, JSON.stringify(allowance, null, 2), {
47
47
  mode: 0o600,
48
48
  });
49
49
  }
50
50
  catch {
51
- // non-fatal — wallet update is best-effort
51
+ // non-fatal — allowance update is best-effort
52
52
  }
53
53
  }
54
54
  const lines = [
@@ -61,7 +61,7 @@ export async function handleRequestFaucet(args) {
61
61
  `| network | ${body.network} |`,
62
62
  `| tx | \`${body.transactionHash}\` |`,
63
63
  ``,
64
- `Wallet funded with testnet USDC. You can now provision databases and deploy sites.`,
64
+ `Agent allowance funded with testnet USDC. You can now provision databases and deploy sites.`,
65
65
  ];
66
66
  return { content: [{ type: "text", text: lines.join("\n") }] };
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"request-faucet.js","sourceRoot":"","sources":["../../src/tools/request-faucet.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;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,2EAA2E,CAC5E;CACJ,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAEzC;IACC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+DAA+D;4BACnE,+EAA+E;qBAClF;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,OAAO,EAAE;KAClB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,GAAG,CAAC,IAKhB,CAAC;IAEF,wCAAwC;IACxC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBACzD,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,iBAAiB,OAAO,MAAM;QAC9B,cAAc,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI;QAC3C,eAAe,IAAI,CAAC,OAAO,IAAI;QAC/B,YAAY,IAAI,CAAC,eAAe,MAAM;QACtC,EAAE;QACF,oFAAoF;KACrF,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
+ {"version":3,"file":"request-faucet.js","sourceRoot":"","sources":["../../src/tools/request-faucet.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;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oFAAoF,CACrF;CACJ,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAEzC;IACC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iEAAiE;4BACrE,sFAAsF;qBACzF;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,OAAO,EAAE;KAClB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,GAAG,CAAC,IAKhB,CAAC;IAEF,2CAA2C;IAC3C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;YACxB,SAAS,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAChD,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC/D,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,iBAAiB,OAAO,MAAM;QAC9B,cAAc,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI;QAC3C,eAAe,IAAI,CAAC,OAAO,IAAI;QAC/B,YAAY,IAAI,CAAC,eAAe,MAAM;QACtC,EAAE;QACF,6FAA6F;KAC9F,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,12 +1,12 @@
1
1
  import { z } from "zod";
2
2
  import { apiRequest } from "../client.js";
3
3
  import { formatApiError } from "../errors.js";
4
- import { requireWalletAuth } from "../wallet-auth.js";
4
+ import { requireAllowanceAuth } from "../allowance-auth.js";
5
5
  export const sendMessageSchema = {
6
6
  message: z.string().describe("Message to send to the Run402 developers"),
7
7
  };
8
8
  export async function handleSendMessage(args) {
9
- const auth = requireWalletAuth();
9
+ const auth = requireAllowanceAuth();
10
10
  if ("error" in auth)
11
11
  return auth.error;
12
12
  const res = await apiRequest("/message/v1", {
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.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;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACzE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAEvC;IACC,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE;QAC1C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;KAChC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.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;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACzE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAEvC;IACC,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE;QAC1C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;KAChC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { apiRequest } from "../client.js";
3
3
  import { formatApiError } from "../errors.js";
4
- import { requireWalletAuth } from "../wallet-auth.js";
4
+ import { requireAllowanceAuth } from "../allowance-auth.js";
5
5
  export const setAgentContactSchema = {
6
6
  name: z.string().describe("Agent name"),
7
7
  email: z.string().optional().describe("Contact email (optional)"),
@@ -13,7 +13,7 @@ export async function handleSetAgentContact(args) {
13
13
  body.email = args.email;
14
14
  if (args.webhook)
15
15
  body.webhook = args.webhook;
16
- const auth = requireWalletAuth();
16
+ const auth = requireAllowanceAuth();
17
17
  if ("error" in auth)
18
18
  return auth.error;
19
19
  const res = await apiRequest("/agent/v1/contact", {
@@ -1 +1 @@
1
- {"version":3,"file":"set-agent-contact.js","sourceRoot":"","sources":["../../src/tools/set-agent-contact.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;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACpF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAI3C;IACC,MAAM,IAAI,GAA2B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACxC,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE9C,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,mBAAmB,EAAE;QAChD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,GAAG,CAAC,IAA8F,CAAC;IAElH,MAAM,KAAK,GAAG;QACZ,0BAA0B;QAC1B,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,cAAc,MAAM,CAAC,MAAM,IAAI;QAC/B,YAAY,MAAM,CAAC,IAAI,IAAI;QAC3B,aAAa,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI;QACpC,eAAe,MAAM,CAAC,OAAO,IAAI,GAAG,IAAI;QACxC,kBAAkB,MAAM,CAAC,UAAU,IAAI;KACxC,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
+ {"version":3,"file":"set-agent-contact.js","sourceRoot":"","sources":["../../src/tools/set-agent-contact.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;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACpF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAI3C;IACC,MAAM,IAAI,GAA2B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACxC,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE9C,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,mBAAmB,EAAE;QAChD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,GAAG,CAAC,IAA8F,CAAC;IAElH,MAAM,KAAK,GAAG;QACZ,0BAA0B;QAC1B,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,cAAc,MAAM,CAAC,MAAM,IAAI;QAC/B,YAAY,MAAM,CAAC,IAAI,IAAI;QAC3B,aAAa,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI;QACpC,eAAe,MAAM,CAAC,OAAO,IAAI,GAAG,IAAI;QACxC,kBAAkB,MAAM,CAAC,UAAU,IAAI;KACxC,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"}
@@ -32,7 +32,7 @@ export async function handleSetTier(args) {
32
32
  lines.push("```");
33
33
  }
34
34
  lines.push(``);
35
- lines.push(`The user's wallet or payment agent must send the required amount. ` +
35
+ lines.push(`The user's agent allowance or payment agent must send the required amount. ` +
36
36
  `Once payment is confirmed, retry this tool call.`);
37
37
  return { content: [{ type: "text", text: lines.join("\n") }] };
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"set-tier.js","sourceRoot":"","sources":["../../src/tools/set-tier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set-tier.js","sourceRoot":"","sources":["../../src/tools/set-tier.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { apiRequest } from "../client.js";
2
2
  import { formatApiError } from "../errors.js";
3
- import { requireWalletAuth } from "../wallet-auth.js";
3
+ import { requireAllowanceAuth } from "../allowance-auth.js";
4
4
  export const tierStatusSchema = {};
5
5
  export async function handleTierStatus(_args) {
6
- const auth = requireWalletAuth();
6
+ const auth = requireAllowanceAuth();
7
7
  if ("error" in auth)
8
8
  return auth.error;
9
9
  const res = await apiRequest("/tiers/v1/status", {
@@ -1 +1 @@
1
- {"version":3,"file":"tier-status.js","sourceRoot":"","sources":["../../src/tools/tier-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAA4B;IAE5B,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE;QAC/C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG,GAAG,CAAC,IAKhB,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gIAAgI;iBACvI;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,gBAAgB;QAChB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,gBAAgB,IAAI,CAAC,MAAM,MAAM;QACjC,YAAY,IAAI,CAAC,IAAI,IAAI;QACzB,cAAc,IAAI,CAAC,MAAM,IAAI;QAC7B,eAAe,IAAI,CAAC,gBAAgB,IAAI;KACzC,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
+ {"version":3,"file":"tier-status.js","sourceRoot":"","sources":["../../src/tools/tier-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAA4B;IAE5B,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE;QAC/C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG,GAAG,CAAC,IAKhB,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gIAAgI;iBACvI;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,gBAAgB;QAChB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,gBAAgB,IAAI,CAAC,MAAM,MAAM;QACjC,YAAY,IAAI,CAAC,IAAI,IAAI;QACzB,cAAc,IAAI,CAAC,MAAM,IAAI;QAC7B,eAAe,IAAI,CAAC,gBAAgB,IAAI;KACzC,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "run402-mcp",
3
- "version": "1.9.0",
3
+ "version": "1.9.2",
4
4
  "description": "MCP server for Run402 — AI-native Postgres databases with REST API, auth, storage, and row-level security. Pay with x402 USDC micropayments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,7 +15,7 @@
15
15
  ],
16
16
  "scripts": {
17
17
  "build:core": "tsc -p core/tsconfig.json",
18
- "build": "npm run build:core && tsc",
18
+ "build": "npm run build:core && tsc && mkdir -p cli/core-dist && cp core/dist/*.js cli/core-dist/",
19
19
  "start": "node dist/index.js",
20
20
  "test:skill": "node --test --import tsx SKILL.test.ts",
21
21
  "test:sync": "node --test --import tsx sync.test.ts",