run402-mcp 1.39.0 → 1.40.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.
Files changed (307) hide show
  1. package/README.md +26 -2
  2. package/dist/errors.d.ts +13 -0
  3. package/dist/errors.d.ts.map +1 -1
  4. package/dist/errors.js +42 -0
  5. package/dist/errors.js.map +1 -1
  6. package/dist/sdk.d.ts +14 -0
  7. package/dist/sdk.d.ts.map +1 -0
  8. package/dist/sdk.js +21 -0
  9. package/dist/sdk.js.map +1 -0
  10. package/dist/tools/add-custom-domain.d.ts.map +1 -1
  11. package/dist/tools/add-custom-domain.js +28 -36
  12. package/dist/tools/add-custom-domain.js.map +1 -1
  13. package/dist/tools/ai-moderate.d.ts.map +1 -1
  14. package/dist/tools/ai-moderate.js +20 -26
  15. package/dist/tools/ai-moderate.js.map +1 -1
  16. package/dist/tools/ai-translate.d.ts.map +1 -1
  17. package/dist/tools/ai-translate.js +33 -38
  18. package/dist/tools/ai-translate.js.map +1 -1
  19. package/dist/tools/ai-usage.d.ts.map +1 -1
  20. package/dist/tools/ai-usage.js +26 -31
  21. package/dist/tools/ai-usage.js.map +1 -1
  22. package/dist/tools/allowance-create.d.ts.map +1 -1
  23. package/dist/tools/allowance-create.js +31 -47
  24. package/dist/tools/allowance-create.js.map +1 -1
  25. package/dist/tools/allowance-export.d.ts.map +1 -1
  26. package/dist/tools/allowance-export.js +6 -6
  27. package/dist/tools/allowance-export.js.map +1 -1
  28. package/dist/tools/allowance-status.d.ts.map +1 -1
  29. package/dist/tools/allowance-status.js +27 -23
  30. package/dist/tools/allowance-status.js.map +1 -1
  31. package/dist/tools/apply-expose.d.ts +6 -6
  32. package/dist/tools/auth-settings.d.ts.map +1 -1
  33. package/dist/tools/auth-settings.js +17 -25
  34. package/dist/tools/auth-settings.js.map +1 -1
  35. package/dist/tools/billing-history.d.ts.map +1 -1
  36. package/dist/tools/billing-history.js +23 -24
  37. package/dist/tools/billing-history.js.map +1 -1
  38. package/dist/tools/blob-get.d.ts.map +1 -1
  39. package/dist/tools/blob-get.js +8 -15
  40. package/dist/tools/blob-get.js.map +1 -1
  41. package/dist/tools/blob-ls.d.ts.map +1 -1
  42. package/dist/tools/blob-ls.js +18 -25
  43. package/dist/tools/blob-ls.js.map +1 -1
  44. package/dist/tools/blob-put.d.ts.map +1 -1
  45. package/dist/tools/blob-put.js +30 -116
  46. package/dist/tools/blob-put.js.map +1 -1
  47. package/dist/tools/blob-rm.d.ts.map +1 -1
  48. package/dist/tools/blob-rm.js +9 -16
  49. package/dist/tools/blob-rm.js.map +1 -1
  50. package/dist/tools/blob-sign.d.ts.map +1 -1
  51. package/dist/tools/blob-sign.js +16 -23
  52. package/dist/tools/blob-sign.js.map +1 -1
  53. package/dist/tools/browse-apps.d.ts.map +1 -1
  54. package/dist/tools/browse-apps.js +25 -28
  55. package/dist/tools/browse-apps.js.map +1 -1
  56. package/dist/tools/bundle-deploy.d.ts +4 -4
  57. package/dist/tools/bundle-deploy.d.ts.map +1 -1
  58. package/dist/tools/bundle-deploy.js +72 -72
  59. package/dist/tools/bundle-deploy.js.map +1 -1
  60. package/dist/tools/buy-email-pack.d.ts.map +1 -1
  61. package/dist/tools/buy-email-pack.js +14 -20
  62. package/dist/tools/buy-email-pack.js.map +1 -1
  63. package/dist/tools/check-balance.d.ts.map +1 -1
  64. package/dist/tools/check-balance.js +29 -29
  65. package/dist/tools/check-balance.js.map +1 -1
  66. package/dist/tools/check-domain-status.d.ts.map +1 -1
  67. package/dist/tools/check-domain-status.js +30 -37
  68. package/dist/tools/check-domain-status.js.map +1 -1
  69. package/dist/tools/contract-call.d.ts.map +1 -1
  70. package/dist/tools/contract-call.js +18 -23
  71. package/dist/tools/contract-call.js.map +1 -1
  72. package/dist/tools/contract-read.d.ts.map +1 -1
  73. package/dist/tools/contract-read.js +13 -14
  74. package/dist/tools/contract-read.js.map +1 -1
  75. package/dist/tools/create-checkout.d.ts.map +1 -1
  76. package/dist/tools/create-checkout.js +21 -22
  77. package/dist/tools/create-checkout.js.map +1 -1
  78. package/dist/tools/create-email-billing-account.d.ts.map +1 -1
  79. package/dist/tools/create-email-billing-account.js +14 -15
  80. package/dist/tools/create-email-billing-account.js.map +1 -1
  81. package/dist/tools/create-mailbox.d.ts.map +1 -1
  82. package/dist/tools/create-mailbox.js +31 -77
  83. package/dist/tools/create-mailbox.js.map +1 -1
  84. package/dist/tools/delete-contract-wallet.d.ts.map +1 -1
  85. package/dist/tools/delete-contract-wallet.js +9 -16
  86. package/dist/tools/delete-contract-wallet.js.map +1 -1
  87. package/dist/tools/delete-function.d.ts.map +1 -1
  88. package/dist/tools/delete-function.js +16 -22
  89. package/dist/tools/delete-function.js.map +1 -1
  90. package/dist/tools/delete-mailbox-webhook.d.ts.map +1 -1
  91. package/dist/tools/delete-mailbox-webhook.js +12 -31
  92. package/dist/tools/delete-mailbox-webhook.js.map +1 -1
  93. package/dist/tools/delete-mailbox.d.ts.map +1 -1
  94. package/dist/tools/delete-mailbox.js +18 -55
  95. package/dist/tools/delete-mailbox.js.map +1 -1
  96. package/dist/tools/delete-project.d.ts.map +1 -1
  97. package/dist/tools/delete-project.js +16 -25
  98. package/dist/tools/delete-project.js.map +1 -1
  99. package/dist/tools/delete-secret.d.ts.map +1 -1
  100. package/dist/tools/delete-secret.js +16 -22
  101. package/dist/tools/delete-secret.js.map +1 -1
  102. package/dist/tools/delete-version.d.ts.map +1 -1
  103. package/dist/tools/delete-version.js +9 -15
  104. package/dist/tools/delete-version.js.map +1 -1
  105. package/dist/tools/demote-user.d.ts.map +1 -1
  106. package/dist/tools/demote-user.js +16 -25
  107. package/dist/tools/demote-user.js.map +1 -1
  108. package/dist/tools/deploy-function.d.ts.map +1 -1
  109. package/dist/tools/deploy-function.js +39 -46
  110. package/dist/tools/deploy-function.js.map +1 -1
  111. package/dist/tools/deploy-site.d.ts +2 -2
  112. package/dist/tools/deploy-site.d.ts.map +1 -1
  113. package/dist/tools/deploy-site.js +22 -29
  114. package/dist/tools/deploy-site.js.map +1 -1
  115. package/dist/tools/disable-inbound.d.ts.map +1 -1
  116. package/dist/tools/disable-inbound.js +14 -19
  117. package/dist/tools/disable-inbound.js.map +1 -1
  118. package/dist/tools/drain-contract-wallet.d.ts.map +1 -1
  119. package/dist/tools/drain-contract-wallet.js +9 -17
  120. package/dist/tools/drain-contract-wallet.js.map +1 -1
  121. package/dist/tools/enable-inbound.d.ts.map +1 -1
  122. package/dist/tools/enable-inbound.js +17 -23
  123. package/dist/tools/enable-inbound.js.map +1 -1
  124. package/dist/tools/fork-app.d.ts.map +1 -1
  125. package/dist/tools/fork-app.js +25 -34
  126. package/dist/tools/fork-app.js.map +1 -1
  127. package/dist/tools/generate-image.d.ts.map +1 -1
  128. package/dist/tools/generate-image.js +48 -46
  129. package/dist/tools/generate-image.js.map +1 -1
  130. package/dist/tools/get-app.d.ts.map +1 -1
  131. package/dist/tools/get-app.js +32 -32
  132. package/dist/tools/get-app.js.map +1 -1
  133. package/dist/tools/get-contract-call-status.d.ts.map +1 -1
  134. package/dist/tools/get-contract-call-status.js +9 -13
  135. package/dist/tools/get-contract-call-status.js.map +1 -1
  136. package/dist/tools/get-contract-wallet.d.ts.map +1 -1
  137. package/dist/tools/get-contract-wallet.js +9 -13
  138. package/dist/tools/get-contract-wallet.js.map +1 -1
  139. package/dist/tools/get-deployment.d.ts.map +1 -1
  140. package/dist/tools/get-deployment.js +22 -22
  141. package/dist/tools/get-deployment.js.map +1 -1
  142. package/dist/tools/get-email-raw.d.ts.map +1 -1
  143. package/dist/tools/get-email-raw.js +26 -50
  144. package/dist/tools/get-email-raw.js.map +1 -1
  145. package/dist/tools/get-email.d.ts.map +1 -1
  146. package/dist/tools/get-email.js +29 -33
  147. package/dist/tools/get-email.js.map +1 -1
  148. package/dist/tools/get-function-logs.d.ts.map +1 -1
  149. package/dist/tools/get-function-logs.js +31 -42
  150. package/dist/tools/get-function-logs.js.map +1 -1
  151. package/dist/tools/get-mailbox-webhook.d.ts.map +1 -1
  152. package/dist/tools/get-mailbox-webhook.js +15 -32
  153. package/dist/tools/get-mailbox-webhook.js.map +1 -1
  154. package/dist/tools/get-mailbox.d.ts.map +1 -1
  155. package/dist/tools/get-mailbox.js +17 -37
  156. package/dist/tools/get-mailbox.js.map +1 -1
  157. package/dist/tools/get-quote.d.ts.map +1 -1
  158. package/dist/tools/get-quote.js +19 -17
  159. package/dist/tools/get-quote.js.map +1 -1
  160. package/dist/tools/get-schema.d.ts.map +1 -1
  161. package/dist/tools/get-schema.js +36 -43
  162. package/dist/tools/get-schema.js.map +1 -1
  163. package/dist/tools/get-usage.d.ts.map +1 -1
  164. package/dist/tools/get-usage.js +27 -34
  165. package/dist/tools/get-usage.js.map +1 -1
  166. package/dist/tools/init.d.ts.map +1 -1
  167. package/dist/tools/init.js +39 -52
  168. package/dist/tools/init.js.map +1 -1
  169. package/dist/tools/invoke-function.d.ts.map +1 -1
  170. package/dist/tools/invoke-function.js +40 -47
  171. package/dist/tools/invoke-function.js.map +1 -1
  172. package/dist/tools/link-wallet-to-account.d.ts.map +1 -1
  173. package/dist/tools/link-wallet-to-account.js +14 -14
  174. package/dist/tools/link-wallet-to-account.js.map +1 -1
  175. package/dist/tools/list-contract-wallets.d.ts.map +1 -1
  176. package/dist/tools/list-contract-wallets.js +9 -13
  177. package/dist/tools/list-contract-wallets.js.map +1 -1
  178. package/dist/tools/list-custom-domains.d.ts.map +1 -1
  179. package/dist/tools/list-custom-domains.js +27 -34
  180. package/dist/tools/list-custom-domains.js.map +1 -1
  181. package/dist/tools/list-emails.d.ts.map +1 -1
  182. package/dist/tools/list-emails.js +26 -43
  183. package/dist/tools/list-emails.js.map +1 -1
  184. package/dist/tools/list-functions.d.ts.map +1 -1
  185. package/dist/tools/list-functions.js +42 -49
  186. package/dist/tools/list-functions.js.map +1 -1
  187. package/dist/tools/list-mailbox-webhooks.d.ts.map +1 -1
  188. package/dist/tools/list-mailbox-webhooks.js +15 -32
  189. package/dist/tools/list-mailbox-webhooks.js.map +1 -1
  190. package/dist/tools/list-projects.d.ts.map +1 -1
  191. package/dist/tools/list-projects.js +26 -26
  192. package/dist/tools/list-projects.js.map +1 -1
  193. package/dist/tools/list-secrets.d.ts.map +1 -1
  194. package/dist/tools/list-secrets.js +27 -34
  195. package/dist/tools/list-secrets.js.map +1 -1
  196. package/dist/tools/list-subdomains.d.ts.map +1 -1
  197. package/dist/tools/list-subdomains.js +26 -33
  198. package/dist/tools/list-subdomains.js.map +1 -1
  199. package/dist/tools/list-versions.d.ts.map +1 -1
  200. package/dist/tools/list-versions.js +27 -34
  201. package/dist/tools/list-versions.js.map +1 -1
  202. package/dist/tools/pin-project.d.ts.map +1 -1
  203. package/dist/tools/pin-project.js +16 -23
  204. package/dist/tools/pin-project.js.map +1 -1
  205. package/dist/tools/project-info.d.ts.map +1 -1
  206. package/dist/tools/project-info.js +22 -19
  207. package/dist/tools/project-info.js.map +1 -1
  208. package/dist/tools/project-keys.d.ts.map +1 -1
  209. package/dist/tools/project-keys.js +17 -14
  210. package/dist/tools/project-keys.js.map +1 -1
  211. package/dist/tools/project-use.js +16 -14
  212. package/dist/tools/project-use.js.map +1 -1
  213. package/dist/tools/promote-user.d.ts.map +1 -1
  214. package/dist/tools/promote-user.js +16 -25
  215. package/dist/tools/promote-user.js.map +1 -1
  216. package/dist/tools/provision-contract-wallet.d.ts.map +1 -1
  217. package/dist/tools/provision-contract-wallet.js +12 -17
  218. package/dist/tools/provision-contract-wallet.js.map +1 -1
  219. package/dist/tools/provision.d.ts.map +1 -1
  220. package/dist/tools/provision.js +42 -47
  221. package/dist/tools/provision.js.map +1 -1
  222. package/dist/tools/publish-app.d.ts.map +1 -1
  223. package/dist/tools/publish-app.js +25 -33
  224. package/dist/tools/publish-app.js.map +1 -1
  225. package/dist/tools/register-mailbox-webhook.d.ts.map +1 -1
  226. package/dist/tools/register-mailbox-webhook.js +18 -36
  227. package/dist/tools/register-mailbox-webhook.js.map +1 -1
  228. package/dist/tools/register-sender-domain.d.ts.map +1 -1
  229. package/dist/tools/register-sender-domain.js +15 -21
  230. package/dist/tools/register-sender-domain.js.map +1 -1
  231. package/dist/tools/remove-custom-domain.d.ts.map +1 -1
  232. package/dist/tools/remove-custom-domain.js +15 -23
  233. package/dist/tools/remove-custom-domain.js.map +1 -1
  234. package/dist/tools/remove-sender-domain.d.ts.map +1 -1
  235. package/dist/tools/remove-sender-domain.js +14 -18
  236. package/dist/tools/remove-sender-domain.js.map +1 -1
  237. package/dist/tools/request-faucet.d.ts.map +1 -1
  238. package/dist/tools/request-faucet.js +25 -46
  239. package/dist/tools/request-faucet.js.map +1 -1
  240. package/dist/tools/request-magic-link.d.ts.map +1 -1
  241. package/dist/tools/request-magic-link.js +18 -26
  242. package/dist/tools/request-magic-link.js.map +1 -1
  243. package/dist/tools/send-email.d.ts +0 -12
  244. package/dist/tools/send-email.d.ts.map +1 -1
  245. package/dist/tools/send-email.js +30 -96
  246. package/dist/tools/send-email.js.map +1 -1
  247. package/dist/tools/send-message.d.ts.map +1 -1
  248. package/dist/tools/send-message.js +9 -12
  249. package/dist/tools/send-message.js.map +1 -1
  250. package/dist/tools/sender-domain-status.d.ts.map +1 -1
  251. package/dist/tools/sender-domain-status.js +16 -21
  252. package/dist/tools/sender-domain-status.js.map +1 -1
  253. package/dist/tools/service-health.d.ts.map +1 -1
  254. package/dist/tools/service-health.js +17 -8
  255. package/dist/tools/service-health.js.map +1 -1
  256. package/dist/tools/service-status.d.ts.map +1 -1
  257. package/dist/tools/service-status.js +17 -8
  258. package/dist/tools/service-status.js.map +1 -1
  259. package/dist/tools/set-agent-contact.d.ts.map +1 -1
  260. package/dist/tools/set-agent-contact.js +24 -27
  261. package/dist/tools/set-agent-contact.js.map +1 -1
  262. package/dist/tools/set-auto-recharge.d.ts.map +1 -1
  263. package/dist/tools/set-auto-recharge.js +18 -20
  264. package/dist/tools/set-auto-recharge.js.map +1 -1
  265. package/dist/tools/set-low-balance-alert.d.ts.map +1 -1
  266. package/dist/tools/set-low-balance-alert.js +9 -14
  267. package/dist/tools/set-low-balance-alert.js.map +1 -1
  268. package/dist/tools/set-recovery-address.d.ts.map +1 -1
  269. package/dist/tools/set-recovery-address.js +9 -14
  270. package/dist/tools/set-recovery-address.js.map +1 -1
  271. package/dist/tools/set-secret.d.ts.map +1 -1
  272. package/dist/tools/set-secret.js +16 -26
  273. package/dist/tools/set-secret.js.map +1 -1
  274. package/dist/tools/set-tier.d.ts.map +1 -1
  275. package/dist/tools/set-tier.js +40 -40
  276. package/dist/tools/set-tier.js.map +1 -1
  277. package/dist/tools/set-user-password.d.ts.map +1 -1
  278. package/dist/tools/set-user-password.js +21 -28
  279. package/dist/tools/set-user-password.js.map +1 -1
  280. package/dist/tools/setup-rls.d.ts.map +1 -1
  281. package/dist/tools/setup-rls.js +21 -32
  282. package/dist/tools/setup-rls.js.map +1 -1
  283. package/dist/tools/status.d.ts.map +1 -1
  284. package/dist/tools/status.js +8 -20
  285. package/dist/tools/status.js.map +1 -1
  286. package/dist/tools/subdomain.d.ts.map +1 -1
  287. package/dist/tools/subdomain.js +30 -45
  288. package/dist/tools/subdomain.js.map +1 -1
  289. package/dist/tools/tier-checkout.d.ts.map +1 -1
  290. package/dist/tools/tier-checkout.js +17 -20
  291. package/dist/tools/tier-checkout.js.map +1 -1
  292. package/dist/tools/tier-status.d.ts.map +1 -1
  293. package/dist/tools/tier-status.js +28 -29
  294. package/dist/tools/tier-status.js.map +1 -1
  295. package/dist/tools/update-function.d.ts.map +1 -1
  296. package/dist/tools/update-function.js +24 -39
  297. package/dist/tools/update-function.js.map +1 -1
  298. package/dist/tools/update-mailbox-webhook.d.ts.map +1 -1
  299. package/dist/tools/update-mailbox-webhook.js +20 -46
  300. package/dist/tools/update-mailbox-webhook.js.map +1 -1
  301. package/dist/tools/update-version.d.ts.map +1 -1
  302. package/dist/tools/update-version.js +14 -25
  303. package/dist/tools/update-version.js.map +1 -1
  304. package/dist/tools/verify-magic-link.d.ts.map +1 -1
  305. package/dist/tools/verify-magic-link.js +16 -27
  306. package/dist/tools/verify-magic-link.js.map +1 -1
  307. package/package.json +4 -3
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  <img src=".github/logo.svg" width="120" alt="run402 logo">
3
3
  </p>
4
4
 
5
- <h1 align="center">run402 — MCP Server, CLI & OpenClaw Skill</h1>
5
+ <h1 align="center">run402 — SDK, MCP Server, CLI & OpenClaw Skill</h1>
6
6
 
7
7
  [![Tests](https://github.com/kychee-com/run402/actions/workflows/test.yml/badge.svg)](https://github.com/kychee-com/run402/actions/workflows/test.yml)
8
8
  [![CodeQL](https://github.com/kychee-com/run402/actions/workflows/codeql.yml/badge.svg)](https://github.com/kychee-com/run402/actions/workflows/codeql.yml)
@@ -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 agent allowances. 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 a typed TypeScript SDK, an MCP server, an OpenClaw skill, and a CLI.
14
14
 
15
15
  English | [简体中文](./README.zh-CN.md)
16
16
 
@@ -18,10 +18,34 @@ English | [简体中文](./README.zh-CN.md)
18
18
 
19
19
  | Interface | Use when... |
20
20
  |-----------|-------------|
21
+ | [`sdk/`](./sdk/) (`@run402/sdk`) | Calling run402 from code — inside user-deployed functions, custom agents, or future code-mode sandboxes |
21
22
  | [`cli/`](./cli/) | Terminal, scripts, CI/CD |
22
23
  | [`openclaw/`](./openclaw/) | OpenClaw agent (no MCP required) |
23
24
  | MCP server (this package) | Claude Desktop, Cursor, Cline, Claude Code |
24
25
 
26
+ ## SDK
27
+
28
+ ```bash
29
+ npm install @run402/sdk
30
+ ```
31
+
32
+ Two entry points: `@run402/sdk` (isomorphic — works in Node 22, Deno, Bun, V8 isolates) and `@run402/sdk/node` (zero-config Node defaults: keystore + allowance + x402):
33
+
34
+ ```ts
35
+ import { run402 } from "@run402/sdk/node";
36
+
37
+ const r = run402();
38
+ const project = await r.projects.provision({ tier: "prototype" });
39
+ await r.blobs.put(project.project_id, "hello.txt", { content: "hi" });
40
+ await r.sites.deploy(project.project_id, [
41
+ { file: "index.html", data: "<h1>hello</h1>" },
42
+ ]);
43
+ ```
44
+
45
+ 17 namespaces: `projects`, `blobs`, `functions`, `secrets`, `subdomains`, `domains`, `sites`, `service`, `tier`, `allowance`, `ai`, `auth`, `senderDomain`, `billing`, `apps`, `email` (+ `webhooks`), `contracts`, `admin`.
46
+
47
+ All failures throw typed errors (`PaymentRequired`, `ProjectNotFound`, `Unauthorized`, `ApiError`, `NetworkError`). See [`sdk/README.md`](./sdk/README.md) for details.
48
+
25
49
  ## Quick Start
26
50
 
27
51
  ```bash
package/dist/errors.d.ts CHANGED
@@ -26,4 +26,17 @@ export declare function formatApiError(res: {
26
26
  * Consistent "project not found in key store" error.
27
27
  */
28
28
  export declare function projectNotFound(projectId: string): ToolResult;
29
+ /**
30
+ * Translate an SDK error into the MCP tool-result shape.
31
+ *
32
+ * Routing:
33
+ * - `ProjectNotFound` → {@link projectNotFound} (preserves existing text)
34
+ * - HTTP-backed errors (status !== null) → {@link formatApiError}
35
+ * - `NetworkError` / other `Run402Error` with no status → plain isError text
36
+ * - Unknown throwables → plain isError text
37
+ *
38
+ * Call this in the catch branch of a thin MCP shim that otherwise does
39
+ * nothing but delegate to an SDK method and format the successful result.
40
+ */
41
+ export declare function mapSdkError(err: unknown, context: string): ToolResult;
29
42
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +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;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EACtC,OAAO,EAAE,MAAM,GACd,UAAU,CA2FZ;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAY7D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAQrD,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;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EACtC,OAAO,EAAE,MAAM,GACd,UAAU,CA2FZ;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAY7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CA4BrE"}
package/dist/errors.js CHANGED
@@ -1,4 +1,5 @@
1
1
  /** Shared error formatting for MCP tool handlers. */
2
+ import { Run402Error, NetworkError, ProjectNotFound as SdkProjectNotFound, } from "../sdk/dist/index.js";
2
3
  /**
3
4
  * Format an API error response into an agent-friendly MCP tool result.
4
5
  *
@@ -104,4 +105,45 @@ export function projectNotFound(projectId) {
104
105
  isError: true,
105
106
  };
106
107
  }
108
+ /**
109
+ * Translate an SDK error into the MCP tool-result shape.
110
+ *
111
+ * Routing:
112
+ * - `ProjectNotFound` → {@link projectNotFound} (preserves existing text)
113
+ * - HTTP-backed errors (status !== null) → {@link formatApiError}
114
+ * - `NetworkError` / other `Run402Error` with no status → plain isError text
115
+ * - Unknown throwables → plain isError text
116
+ *
117
+ * Call this in the catch branch of a thin MCP shim that otherwise does
118
+ * nothing but delegate to an SDK method and format the successful result.
119
+ */
120
+ export function mapSdkError(err, context) {
121
+ if (err instanceof SdkProjectNotFound) {
122
+ return projectNotFound(err.projectId);
123
+ }
124
+ if (err instanceof Run402Error) {
125
+ if (err.status !== null) {
126
+ return formatApiError({ status: err.status, body: err.body }, context);
127
+ }
128
+ if (err instanceof NetworkError) {
129
+ return {
130
+ content: [{ type: "text", text: `Error ${context}: ${err.message}` }],
131
+ isError: true,
132
+ };
133
+ }
134
+ return {
135
+ content: [{ type: "text", text: `Error ${context}: ${err.message}` }],
136
+ isError: true,
137
+ };
138
+ }
139
+ return {
140
+ content: [
141
+ {
142
+ type: "text",
143
+ text: `Error ${context}: ${err?.message ?? String(err)}`,
144
+ },
145
+ ],
146
+ isError: true,
147
+ };
148
+ }
107
149
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,eAAe,IAAI,kBAAkB,GACtC,MAAM,sBAAsB,CAAC;AAQ9B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAsC,EACtC,OAAe;IAEf,MAAM,IAAI,GACR,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QACtC,CAAC,CAAE,GAAG,CAAC,IAAgC;QACvC,CAAC,CAAC,IAAI,CAAC;IAEX,uEAAuE;IACvE,MAAM,OAAO,GAAG,IAAI;QAClB,CAAC,CAAE,IAAI,CAAC,OAAkB,IAAK,IAAI,CAAC,KAAgB,IAAI,eAAe;QACvE,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC5B,CAAC,CAAE,GAAG,CAAC,IAAe;YACtB,CAAC,CAAC,eAAe,CAAC;IAEtB,MAAM,KAAK,GAAa;QACtB,SAAS,OAAO,KAAK,OAAO,UAAU,GAAG,CAAC,MAAM,GAAG;KACpD,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;IAEtD,6CAA6C;IAC7C,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,IAAI,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,WAAW;YAClB,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,UAAU,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,IAAI,CAAC,KAAgC,CAAC;YAChD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;gBAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS;gBAC/B,KAAK,CAAC,IAAI,CACR,YAAY,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,IAAI,GAAG,QAAQ,CAC9D,CAAC;YACJ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,EAAE,GAAa,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,gBAAgB;gBAAE,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,kBAAkB;gBACzB,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,kBAAkB;gBACzB,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,GAAG;YACN,KAAK,CAAC,IAAI,CACR,uHAAuH,CACxH,CAAC;YACF,MAAM;QACR,KAAK,GAAG;YACN,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CACR,iLAAiL,CAClL,CAAC;YACJ,CAAC;YACD,MAAM;QACR,KAAK,GAAG;YACN,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CACR,yHAAyH,CAC1H,CAAC;YACJ,CAAC;YACD,MAAM;QACR,KAAK,GAAG;YACN,KAAK,CAAC,IAAI,CACR,uEAAuE,CACxE,CAAC;YACF,MAAM;QACR,KAAK,GAAG;YACN,KAAK,CAAC,IAAI,CACR,gMAAgM,CACjM,CAAC;YACF,MAAM;QACR,KAAK,GAAG;YACN,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC3D,MAAM;QACR;YACE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,oBAAoB,SAAS,6BAA6B;oBAC1D,+DAA+D;aAClE;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,OAAe;IACvD,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;QACtC,OAAO,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YACrE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS,OAAO,KAAM,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;aACpE;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
package/dist/sdk.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * MCP-side SDK singleton.
3
+ *
4
+ * All MCP tool handlers obtain their API client via {@link getSdk}. The
5
+ * instance is lazily constructed on first use and cached for the lifetime
6
+ * of the process. Tests that mutate `RUN402_API_BASE` / `RUN402_CONFIG_DIR`
7
+ * between runs must call {@link _resetSdk} in their setup hook to discard
8
+ * the cached apiBase and credentials provider.
9
+ */
10
+ import { type Run402 } from "../sdk/dist/node/index.js";
11
+ export declare function getSdk(): Run402;
12
+ /** Reset the cached SDK instance. Test-only. */
13
+ export declare function _resetSdk(): void;
14
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAA2B,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIjF,wBAAgB,MAAM,IAAI,MAAM,CAG/B;AAED,gDAAgD;AAChD,wBAAgB,SAAS,IAAI,IAAI,CAEhC"}
package/dist/sdk.js ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * MCP-side SDK singleton.
3
+ *
4
+ * All MCP tool handlers obtain their API client via {@link getSdk}. The
5
+ * instance is lazily constructed on first use and cached for the lifetime
6
+ * of the process. Tests that mutate `RUN402_API_BASE` / `RUN402_CONFIG_DIR`
7
+ * between runs must call {@link _resetSdk} in their setup hook to discard
8
+ * the cached apiBase and credentials provider.
9
+ */
10
+ import { run402 as createNodeSdk } from "../sdk/dist/node/index.js";
11
+ let cached = null;
12
+ export function getSdk() {
13
+ if (!cached)
14
+ cached = createNodeSdk();
15
+ return cached;
16
+ }
17
+ /** Reset the cached SDK instance. Test-only. */
18
+ export function _resetSdk() {
19
+ cached = null;
20
+ }
21
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,IAAI,aAAa,EAAe,MAAM,2BAA2B,CAAC;AAEjF,IAAI,MAAM,GAAkB,IAAI,CAAC;AAEjC,MAAM,UAAU,MAAM;IACpB,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"add-custom-domain.d.ts","sourceRoot":"","sources":["../../src/tools/add-custom-domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,qBAAqB;;;;CAUjC,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,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,CAyDjF"}
1
+ {"version":3,"file":"add-custom-domain.d.ts","sourceRoot":"","sources":["../../src/tools/add-custom-domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qBAAqB;;;;CAUjC,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,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,CAuCjF"}
@@ -1,7 +1,6 @@
1
1
  import { z } from "zod";
2
- import { apiRequest } from "../client.js";
3
- import { getProject } from "../keystore.js";
4
- import { formatApiError, projectNotFound } from "../errors.js";
2
+ import { getSdk } from "../sdk.js";
3
+ import { mapSdkError } from "../errors.js";
5
4
  export const addCustomDomainSchema = {
6
5
  domain: z
7
6
  .string()
@@ -14,40 +13,33 @@ export const addCustomDomainSchema = {
14
13
  .describe("The project ID that owns the subdomain"),
15
14
  };
16
15
  export async function handleAddCustomDomain(args) {
17
- const project = getProject(args.project_id);
18
- if (!project)
19
- return projectNotFound(args.project_id);
20
- const res = await apiRequest("/domains/v1", {
21
- method: "POST",
22
- headers: {
23
- Authorization: `Bearer ${project.service_key}`,
24
- },
25
- body: { domain: args.domain, subdomain_name: args.subdomain_name },
26
- });
27
- if (!res.ok)
28
- return formatApiError(res, "registering custom domain");
29
- const body = res.body;
30
- const lines = [
31
- `## Custom Domain Registered`,
32
- ``,
33
- `| Field | Value |`,
34
- `|-------|-------|`,
35
- `| domain | \`${body.domain}\` |`,
36
- `| url | ${body.url} |`,
37
- `| subdomain | ${body.subdomain_url} |`,
38
- `| status | ${body.status} |`,
39
- ];
40
- if (body.dns_instructions) {
41
- const dns = body.dns_instructions;
42
- lines.push(``, `## DNS Configuration Required`, ``, `Add the following DNS records at your domain registrar:`);
43
- if (dns.cname_target) {
44
- lines.push(`- **CNAME**: \`${body.domain}\` → \`${dns.cname_target}\``);
16
+ try {
17
+ const body = await getSdk().domains.add(args.project_id, args.domain, args.subdomain_name);
18
+ const lines = [
19
+ `## Custom Domain Registered`,
20
+ ``,
21
+ `| Field | Value |`,
22
+ `|-------|-------|`,
23
+ `| domain | \`${body.domain}\` |`,
24
+ `| url | ${body.url} |`,
25
+ `| subdomain | ${body.subdomain_url} |`,
26
+ `| status | ${body.status} |`,
27
+ ];
28
+ if (body.dns_instructions) {
29
+ const dns = body.dns_instructions;
30
+ lines.push(``, `## DNS Configuration Required`, ``, `Add the following DNS records at your domain registrar:`);
31
+ if (dns.cname_target) {
32
+ lines.push(`- **CNAME**: \`${body.domain}\` \`${dns.cname_target}\``);
33
+ }
34
+ if (dns.txt_name && dns.txt_value) {
35
+ lines.push(`- **TXT**: \`${dns.txt_name}\` → \`${dns.txt_value}\``);
36
+ }
37
+ lines.push(``, `After DNS propagates (up to 60 seconds), check status with \`check_domain_status\`.`);
45
38
  }
46
- if (dns.txt_name && dns.txt_value) {
47
- lines.push(`- **TXT**: \`${dns.txt_name}\` → \`${dns.txt_value}\``);
48
- }
49
- lines.push(``, `After DNS propagates (up to 60 seconds), check status with \`check_domain_status\`.`);
39
+ return { content: [{ type: "text", text: lines.join("\n") }] };
40
+ }
41
+ catch (err) {
42
+ return mapSdkError(err, "registering custom domain");
50
43
  }
51
- return { content: [{ type: "text", text: lines.join("\n") }] };
52
44
  }
53
45
  //# sourceMappingURL=add-custom-domain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-custom-domain.js","sourceRoot":"","sources":["../../src/tools/add-custom-domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,0EAA0E,CAAC;IACvF,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,CAAC,wCAAwC,CAAC;CACtD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAI3C;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,aAAa,EAAE;QAC1C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE;SAC/C;QACD,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;KACnE,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAErE,MAAM,IAAI,GAAG,GAAG,CAAC,IAShB,CAAC;IAEF,MAAM,KAAK,GAAG;QACZ,6BAA6B;QAC7B,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,gBAAgB,IAAI,CAAC,MAAM,MAAM;QACjC,WAAW,IAAI,CAAC,GAAG,IAAI;QACvB,iBAAiB,IAAI,CAAC,aAAa,IAAI;QACvC,cAAc,IAAI,CAAC,MAAM,IAAI;KAC9B,CAAC;IAEF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,+BAA+B,EAC/B,EAAE,EACF,yDAAyD,CAC1D,CAAC;QACF,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,UAAU,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,qFAAqF,CACtF,CAAC;IACJ,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":"add-custom-domain.js","sourceRoot":"","sources":["../../src/tools/add-custom-domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,0EAA0E,CAAC;IACvF,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,CAAC,wCAAwC,CAAC;CACtD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAI3C;IACC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAE3F,MAAM,KAAK,GAAG;YACZ,6BAA6B;YAC7B,EAAE;YACF,mBAAmB;YACnB,mBAAmB;YACnB,gBAAgB,IAAI,CAAC,MAAM,MAAM;YACjC,WAAW,IAAI,CAAC,GAAG,IAAI;YACvB,iBAAiB,IAAI,CAAC,aAAa,IAAI;YACvC,cAAc,IAAI,CAAC,MAAM,IAAI;SAC9B,CAAC;QAEF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAClC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,+BAA+B,EAC/B,EAAE,EACF,yDAAyD,CAC1D,CAAC;YACF,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,UAAU,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,qFAAqF,CACtF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-moderate.d.ts","sourceRoot":"","sources":["../../src/tools/ai-moderate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,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,CAiCjF"}
1
+ {"version":3,"file":"ai-moderate.d.ts","sourceRoot":"","sources":["../../src/tools/ai-moderate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,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,CAsBjF"}
@@ -1,35 +1,29 @@
1
1
  import { z } from "zod";
2
- import { apiRequest } from "../client.js";
3
- import { getProject } from "../keystore.js";
4
- import { formatApiError, projectNotFound } from "../errors.js";
2
+ import { getSdk } from "../sdk.js";
3
+ import { mapSdkError } from "../errors.js";
5
4
  export const aiModerateSchema = {
6
5
  project_id: z.string().describe("The project ID"),
7
6
  text: z.string().describe("Text content to check for moderation"),
8
7
  };
9
8
  export async function handleAiModerate(args) {
10
- const project = getProject(args.project_id);
11
- if (!project)
12
- return projectNotFound(args.project_id);
13
- const res = await apiRequest(`/ai/v1/moderate`, {
14
- method: "POST",
15
- headers: { Authorization: `Bearer ${project.service_key}` },
16
- body: { text: args.text },
17
- });
18
- if (!res.ok)
19
- return formatApiError(res, "moderating content");
20
- const body = res.body;
21
- const status = body.flagged ? "FLAGGED" : "OK";
22
- const lines = [
23
- `## Moderation Result: ${status}`,
24
- ``,
25
- `| Category | Flagged | Score |`,
26
- `|----------|---------|-------|`,
27
- ];
28
- for (const [category, flagged] of Object.entries(body.categories)) {
29
- const score = body.category_scores[category] ?? 0;
30
- const flag = flagged ? "YES" : "no";
31
- lines.push(`| ${category} | ${flag} | ${score.toFixed(4)} |`);
9
+ try {
10
+ const body = await getSdk().ai.moderate(args.project_id, args.text);
11
+ const status = body.flagged ? "FLAGGED" : "OK";
12
+ const lines = [
13
+ `## Moderation Result: ${status}`,
14
+ ``,
15
+ `| Category | Flagged | Score |`,
16
+ `|----------|---------|-------|`,
17
+ ];
18
+ for (const [category, flagged] of Object.entries(body.categories)) {
19
+ const score = body.category_scores[category] ?? 0;
20
+ const flag = flagged ? "YES" : "no";
21
+ lines.push(`| ${category} | ${flag} | ${score.toFixed(4)} |`);
22
+ }
23
+ return { content: [{ type: "text", text: lines.join("\n") }] };
24
+ }
25
+ catch (err) {
26
+ return mapSdkError(err, "moderating content");
32
27
  }
33
- return { content: [{ type: "text", text: lines.join("\n") }] };
34
28
  }
35
29
  //# sourceMappingURL=ai-moderate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-moderate.js","sourceRoot":"","sources":["../../src/tools/ai-moderate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAClE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAGtC;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,iBAAiB,EAAE;QAC9C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE;QAC3D,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;KAC1B,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAE9D,MAAM,IAAI,GAAG,GAAG,CAAC,IAIhB,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,MAAM,KAAK,GAAG;QACZ,yBAAyB,MAAM,EAAE;QACjC,EAAE;QACF,gCAAgC;QAChC,gCAAgC;KACjC,CAAC;IAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,MAAM,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,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":"ai-moderate.js","sourceRoot":"","sources":["../../src/tools/ai-moderate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAClE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAGtC;IACC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,MAAM,KAAK,GAAG;YACZ,yBAAyB,MAAM,EAAE;YACjC,EAAE;YACF,gCAAgC;YAChC,gCAAgC;SACjC,CAAC;QAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,MAAM,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-translate.d.ts","sourceRoot":"","sources":["../../src/tools/ai-translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,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,CA6CjF"}
1
+ {"version":3,"file":"ai-translate.d.ts","sourceRoot":"","sources":["../../src/tools/ai-translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,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,CAsCjF"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
- import { apiRequest } from "../client.js";
3
- import { getProject } from "../keystore.js";
4
- import { formatApiError, projectNotFound } from "../errors.js";
2
+ import { getSdk } from "../sdk.js";
3
+ import { mapSdkError } from "../errors.js";
4
+ import { PaymentRequired } from "../../sdk/dist/index.js";
5
5
  export const aiTranslateSchema = {
6
6
  project_id: z.string().describe("The project ID"),
7
7
  text: z.string().max(10000).describe("Text to translate (max 10,000 characters)"),
@@ -10,46 +10,41 @@ export const aiTranslateSchema = {
10
10
  context: z.string().max(200).optional().describe("Context hint for tone/register (max 200 chars, e.g. 'formal business email')"),
11
11
  };
12
12
  export async function handleAiTranslate(args) {
13
- const project = getProject(args.project_id);
14
- if (!project)
15
- return projectNotFound(args.project_id);
16
- const body = { text: args.text, to: args.to };
17
- if (args.from)
18
- body.from = args.from;
19
- if (args.context)
20
- body.context = args.context;
21
- const res = await apiRequest(`/ai/v1/translate`, {
22
- method: "POST",
23
- headers: { Authorization: `Bearer ${project.service_key}` },
24
- body,
25
- });
26
- if (res.status === 402) {
27
- const resBody = res.body;
28
- const message = resBody.message || "AI Translation add-on required or quota exceeded";
13
+ try {
14
+ const body = await getSdk().ai.translate(args.project_id, {
15
+ text: args.text,
16
+ to: args.to,
17
+ from: args.from,
18
+ context: args.context,
19
+ });
29
20
  const lines = [
30
- `## Translation Unavailable`,
21
+ `## Translation`,
31
22
  ``,
32
- `${message}`,
23
+ `| Field | Value |`,
24
+ `|-------|-------|`,
25
+ `| from | ${body.from} |`,
26
+ `| to | ${body.to} |`,
33
27
  ``,
34
- `This is not a payment — the AI Translation add-on must be enabled on the project, or the word quota for the current billing cycle has been exceeded.`,
35
- ``,
36
- `Use \`ai_usage\` to check current quota, or enable the add-on from the project dashboard.`,
28
+ body.text,
37
29
  ];
38
30
  return { content: [{ type: "text", text: lines.join("\n") }] };
39
31
  }
40
- if (!res.ok)
41
- return formatApiError(res, "translating text");
42
- const resBody = res.body;
43
- const lines = [
44
- `## Translation`,
45
- ``,
46
- `| Field | Value |`,
47
- `|-------|-------|`,
48
- `| from | ${resBody.from} |`,
49
- `| to | ${resBody.to} |`,
50
- ``,
51
- resBody.text,
52
- ];
53
- return { content: [{ type: "text", text: lines.join("\n") }] };
32
+ catch (err) {
33
+ if (err instanceof PaymentRequired) {
34
+ const resBody = (err.body ?? {});
35
+ const message = resBody.message || "AI Translation add-on required or quota exceeded";
36
+ const lines = [
37
+ `## Translation Unavailable`,
38
+ ``,
39
+ `${message}`,
40
+ ``,
41
+ `This is not a payment — the AI Translation add-on must be enabled on the project, or the word quota for the current billing cycle has been exceeded.`,
42
+ ``,
43
+ `Use \`ai_usage\` to check current quota, or enable the add-on from the project dashboard.`,
44
+ ];
45
+ return { content: [{ type: "text", text: lines.join("\n") }] };
46
+ }
47
+ return mapSdkError(err, "translating text");
48
+ }
54
49
  }
55
50
  //# sourceMappingURL=ai-translate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-translate.js","sourceRoot":"","sources":["../../src/tools/ai-translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACjF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAClF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IAClG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;CACjI,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAMvC;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,IAAI,GAA2B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACtE,IAAI,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrC,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE9C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE;QAC/C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE;QAC3D,IAAI;KACL,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,GAAG,CAAC,IAA+B,CAAC;QACpD,MAAM,OAAO,GAAI,OAAO,CAAC,OAAkB,IAAI,kDAAkD,CAAC;QAClG,MAAM,KAAK,GAAG;YACZ,4BAA4B;YAC5B,EAAE;YACF,GAAG,OAAO,EAAE;YACZ,EAAE;YACF,sJAAsJ;YACtJ,EAAE;YACF,2FAA2F;SAC5F,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,OAAO,GAAG,GAAG,CAAC,IAAkD,CAAC;IAEvE,MAAM,KAAK,GAAG;QACZ,gBAAgB;QAChB,EAAE;QACF,mBAAmB;QACnB,mBAAmB;QACnB,YAAY,OAAO,CAAC,IAAI,IAAI;QAC5B,UAAU,OAAO,CAAC,EAAE,IAAI;QACxB,EAAE;QACF,OAAO,CAAC,IAAI;KACb,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":"ai-translate.js","sourceRoot":"","sources":["../../src/tools/ai-translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACjF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAClF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IAClG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;CACjI,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAMvC;IACC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE;YACxD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG;YACZ,gBAAgB;YAChB,EAAE;YACF,mBAAmB;YACnB,mBAAmB;YACnB,YAAY,IAAI,CAAC,IAAI,IAAI;YACzB,UAAU,IAAI,CAAC,EAAE,IAAI;YACrB,EAAE;YACF,IAAI,CAAC,IAAI;SACV,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;YAC5D,MAAM,OAAO,GAAI,OAAO,CAAC,OAAkB,IAAI,kDAAkD,CAAC;YAClG,MAAM,KAAK,GAAG;gBACZ,4BAA4B;gBAC5B,EAAE;gBACF,GAAG,OAAO,EAAE;gBACZ,EAAE;gBACF,sJAAsJ;gBACtJ,EAAE;gBACF,2FAA2F;aAC5F,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-usage.d.ts","sourceRoot":"","sources":["../../src/tools/ai-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,aAAa;;CAEzB,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,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,CAyCjF"}
1
+ {"version":3,"file":"ai-usage.d.ts","sourceRoot":"","sources":["../../src/tools/ai-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;CAEzB,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,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,CA2BjF"}
@@ -1,38 +1,33 @@
1
1
  import { z } from "zod";
2
- import { apiRequest } from "../client.js";
3
- import { getProject } from "../keystore.js";
4
- import { formatApiError, projectNotFound } from "../errors.js";
2
+ import { getSdk } from "../sdk.js";
3
+ import { mapSdkError } from "../errors.js";
5
4
  export const aiUsageSchema = {
6
5
  project_id: z.string().describe("The project ID"),
7
6
  };
8
7
  export async function handleAiUsage(args) {
9
- const project = getProject(args.project_id);
10
- if (!project)
11
- return projectNotFound(args.project_id);
12
- const res = await apiRequest(`/ai/v1/usage`, {
13
- method: "GET",
14
- headers: { Authorization: `Bearer ${project.service_key}` },
15
- });
16
- if (!res.ok)
17
- return formatApiError(res, "fetching AI usage");
18
- const body = res.body;
19
- const t = body.translation;
20
- const usedPct = t.included_words > 0
21
- ? ((t.used_words / t.included_words) * 100).toFixed(1)
22
- : "0.0";
23
- const lines = [
24
- `## AI Translation Usage`,
25
- ``,
26
- `**Status:** ${t.active ? "Active" : "Inactive"}`,
27
- ``,
28
- `| Metric | Value |`,
29
- `|--------|-------|`,
30
- `| Used words | ${t.used_words.toLocaleString()} |`,
31
- `| Included words | ${t.included_words.toLocaleString()} |`,
32
- `| Remaining words | ${t.remaining_words.toLocaleString()} |`,
33
- `| Usage | ${usedPct}% |`,
34
- `| Billing cycle start | ${t.billing_cycle_start} |`,
35
- ];
36
- return { content: [{ type: "text", text: lines.join("\n") }] };
8
+ try {
9
+ const body = await getSdk().ai.usage(args.project_id);
10
+ const t = body.translation;
11
+ const usedPct = t.included_words > 0
12
+ ? ((t.used_words / t.included_words) * 100).toFixed(1)
13
+ : "0.0";
14
+ const lines = [
15
+ `## AI Translation Usage`,
16
+ ``,
17
+ `**Status:** ${t.active ? "Active" : "Inactive"}`,
18
+ ``,
19
+ `| Metric | Value |`,
20
+ `|--------|-------|`,
21
+ `| Used words | ${t.used_words.toLocaleString()} |`,
22
+ `| Included words | ${t.included_words.toLocaleString()} |`,
23
+ `| Remaining words | ${t.remaining_words.toLocaleString()} |`,
24
+ `| Usage | ${usedPct}% |`,
25
+ `| Billing cycle start | ${t.billing_cycle_start} |`,
26
+ ];
27
+ return { content: [{ type: "text", text: lines.join("\n") }] };
28
+ }
29
+ catch (err) {
30
+ return mapSdkError(err, "fetching AI usage");
31
+ }
37
32
  }
38
33
  //# sourceMappingURL=ai-usage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-usage.js","sourceRoot":"","sources":["../../src/tools/ai-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;CAClD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAEnC;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,cAAc,EAAE;QAC3C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE,EAAE;KAC5D,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG,GAAG,CAAC,IAQhB,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;IAC3B,MAAM,OAAO,GAAG,CAAC,CAAC,cAAc,GAAG,CAAC;QAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG;QACZ,yBAAyB;QACzB,EAAE;QACF,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE;QACjD,EAAE;QACF,oBAAoB;QACpB,oBAAoB;QACpB,kBAAkB,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI;QACnD,sBAAsB,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI;QAC3D,uBAAuB,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI;QAC7D,aAAa,OAAO,KAAK;QACzB,2BAA2B,CAAC,CAAC,mBAAmB,IAAI;KACrD,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":"ai-usage.js","sourceRoot":"","sources":["../../src/tools/ai-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;CAClD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAEnC;IACC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtD,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,MAAM,OAAO,GAAG,CAAC,CAAC,cAAc,GAAG,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,KAAK,CAAC;QAEV,MAAM,KAAK,GAAG;YACZ,yBAAyB;YACzB,EAAE;YACF,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE;YACjD,EAAE;YACF,oBAAoB;YACpB,oBAAoB;YACpB,kBAAkB,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI;YACnD,sBAAsB,CAAC,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI;YAC3D,uBAAuB,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI;YAC7D,aAAa,OAAO,KAAK;YACzB,2BAA2B,CAAC,CAAC,mBAAmB,IAAI;SACrD,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,WAAW,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -1 +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"}
1
+ {"version":3,"file":"allowance-create.d.ts","sourceRoot":"","sources":["../../src/tools/allowance-create.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,CAgChF"}