run402-mcp 2.19.1 → 2.21.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 (81) hide show
  1. package/dist/errors.d.ts.map +1 -1
  2. package/dist/errors.js +3 -0
  3. package/dist/errors.js.map +1 -1
  4. package/dist/index.js +9 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/tools/create-mailbox.d.ts.map +1 -1
  7. package/dist/tools/create-mailbox.js +1 -11
  8. package/dist/tools/create-mailbox.js.map +1 -1
  9. package/dist/tools/delete-mailbox-webhook.d.ts +2 -0
  10. package/dist/tools/delete-mailbox-webhook.d.ts.map +1 -1
  11. package/dist/tools/delete-mailbox-webhook.js +5 -1
  12. package/dist/tools/delete-mailbox-webhook.js.map +1 -1
  13. package/dist/tools/delete-mailbox.js +1 -1
  14. package/dist/tools/delete-mailbox.js.map +1 -1
  15. package/dist/tools/get-email-raw.d.ts +2 -0
  16. package/dist/tools/get-email-raw.d.ts.map +1 -1
  17. package/dist/tools/get-email-raw.js +5 -1
  18. package/dist/tools/get-email-raw.js.map +1 -1
  19. package/dist/tools/get-email.d.ts +2 -0
  20. package/dist/tools/get-email.d.ts.map +1 -1
  21. package/dist/tools/get-email.js +5 -1
  22. package/dist/tools/get-email.js.map +1 -1
  23. package/dist/tools/get-mailbox-webhook.d.ts +2 -0
  24. package/dist/tools/get-mailbox-webhook.d.ts.map +1 -1
  25. package/dist/tools/get-mailbox-webhook.js +5 -1
  26. package/dist/tools/get-mailbox-webhook.js.map +1 -1
  27. package/dist/tools/get-mailbox.d.ts +2 -0
  28. package/dist/tools/get-mailbox.d.ts.map +1 -1
  29. package/dist/tools/get-mailbox.js +5 -1
  30. package/dist/tools/get-mailbox.js.map +1 -1
  31. package/dist/tools/list-emails.d.ts +2 -0
  32. package/dist/tools/list-emails.d.ts.map +1 -1
  33. package/dist/tools/list-emails.js +5 -1
  34. package/dist/tools/list-emails.js.map +1 -1
  35. package/dist/tools/list-mailbox-webhooks.d.ts +2 -0
  36. package/dist/tools/list-mailbox-webhooks.d.ts.map +1 -1
  37. package/dist/tools/list-mailbox-webhooks.js +5 -1
  38. package/dist/tools/list-mailbox-webhooks.js.map +1 -1
  39. package/dist/tools/register-mailbox-webhook.d.ts +2 -0
  40. package/dist/tools/register-mailbox-webhook.d.ts.map +1 -1
  41. package/dist/tools/register-mailbox-webhook.js +5 -0
  42. package/dist/tools/register-mailbox-webhook.js.map +1 -1
  43. package/dist/tools/send-email.d.ts +2 -0
  44. package/dist/tools/send-email.d.ts.map +1 -1
  45. package/dist/tools/send-email.js +5 -0
  46. package/dist/tools/send-email.js.map +1 -1
  47. package/dist/tools/transfers.d.ts +64 -0
  48. package/dist/tools/transfers.d.ts.map +1 -0
  49. package/dist/tools/transfers.js +196 -0
  50. package/dist/tools/transfers.js.map +1 -0
  51. package/dist/tools/update-mailbox-webhook.d.ts +2 -0
  52. package/dist/tools/update-mailbox-webhook.d.ts.map +1 -1
  53. package/dist/tools/update-mailbox-webhook.js +5 -0
  54. package/dist/tools/update-mailbox-webhook.js.map +1 -1
  55. package/package.json +1 -1
  56. package/sdk/dist/errors.d.ts +30 -1
  57. package/sdk/dist/errors.d.ts.map +1 -1
  58. package/sdk/dist/errors.js +54 -0
  59. package/sdk/dist/errors.js.map +1 -1
  60. package/sdk/dist/index.d.ts +3 -1
  61. package/sdk/dist/index.d.ts.map +1 -1
  62. package/sdk/dist/index.js +2 -1
  63. package/sdk/dist/index.js.map +1 -1
  64. package/sdk/dist/kernel.d.ts.map +1 -1
  65. package/sdk/dist/kernel.js +10 -1
  66. package/sdk/dist/kernel.js.map +1 -1
  67. package/sdk/dist/namespaces/admin.d.ts +7 -0
  68. package/sdk/dist/namespaces/admin.d.ts.map +1 -1
  69. package/sdk/dist/namespaces/admin.js +8 -0
  70. package/sdk/dist/namespaces/admin.js.map +1 -1
  71. package/sdk/dist/namespaces/email.d.ts +65 -16
  72. package/sdk/dist/namespaces/email.d.ts.map +1 -1
  73. package/sdk/dist/namespaces/email.js +105 -106
  74. package/sdk/dist/namespaces/email.js.map +1 -1
  75. package/sdk/dist/namespaces/tier.d.ts +60 -0
  76. package/sdk/dist/namespaces/tier.d.ts.map +1 -1
  77. package/sdk/dist/namespaces/tier.js.map +1 -1
  78. package/sdk/dist/namespaces/transfers.d.ts +199 -0
  79. package/sdk/dist/namespaces/transfers.d.ts.map +1 -0
  80. package/sdk/dist/namespaces/transfers.js +115 -0
  81. package/sdk/dist/namespaces/transfers.js.map +1 -0
@@ -3,10 +3,14 @@ import { getSdk } from "../sdk.js";
3
3
  import { mapSdkError } from "../errors.js";
4
4
  export const listMailboxWebhooksSchema = {
5
5
  project_id: z.string().describe("The project ID"),
6
+ mailbox: z
7
+ .string()
8
+ .optional()
9
+ .describe("Target mailbox by slug or id; omit only when the project has exactly one mailbox."),
6
10
  };
7
11
  export async function handleListMailboxWebhooks(args) {
8
12
  try {
9
- const body = await getSdk().email.webhooks.list(args.project_id);
13
+ const body = await getSdk().email.webhooks.list(args.project_id, { mailbox: args.mailbox });
10
14
  if (!body.webhooks || body.webhooks.length === 0) {
11
15
  return { content: [{ type: "text", text: "No webhooks registered on this mailbox." }] };
12
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-mailbox-webhooks.js","sourceRoot":"","sources":["../../src/tools/list-mailbox-webhooks.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,yBAAyB,GAAG;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;CAClD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAE/C;IACC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,QAAQ,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CACvG,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACrF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAI,GAAa,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"list-mailbox-webhooks.js","sourceRoot":"","sources":["../../src/tools/list-mailbox-webhooks.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,yBAAyB,GAAG;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mFAAmF,CAAC;CACjG,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAG/C;IACC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,QAAQ,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CACvG,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACrF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAI,GAAa,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
@@ -3,11 +3,13 @@ export declare const registerMailboxWebhookSchema: {
3
3
  project_id: z.ZodString;
4
4
  url: z.ZodString;
5
5
  events: z.ZodArray<z.ZodString, "many">;
6
+ mailbox: z.ZodOptional<z.ZodString>;
6
7
  };
7
8
  export declare function handleRegisterMailboxWebhook(args: {
8
9
  project_id: string;
9
10
  url: string;
10
11
  events: string[];
12
+ mailbox?: string;
11
13
  }): Promise<{
12
14
  content: Array<{
13
15
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"register-mailbox-webhook.d.ts","sourceRoot":"","sources":["../../src/tools/register-mailbox-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,4BAA4B;;;;CAIxC,CAAC;AAEF,wBAAsB,4BAA4B,CAAC,IAAI,EAAE;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,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,CAmBjF"}
1
+ {"version":3,"file":"register-mailbox-webhook.d.ts","sourceRoot":"","sources":["../../src/tools/register-mailbox-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,4BAA4B;;;;;CAQxC,CAAC;AAEF,wBAAsB,4BAA4B,CAAC,IAAI,EAAE;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,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,CAoBjF"}
@@ -5,12 +5,17 @@ export const registerMailboxWebhookSchema = {
5
5
  project_id: z.string().describe("The project ID"),
6
6
  url: z.string().describe("Webhook callback URL"),
7
7
  events: z.array(z.string()).describe("Events to subscribe to. Valid: delivery, bounced, complained, reply_received"),
8
+ mailbox: z
9
+ .string()
10
+ .optional()
11
+ .describe("Target mailbox by slug or id; omit only when the project has exactly one mailbox."),
8
12
  };
9
13
  export async function handleRegisterMailboxWebhook(args) {
10
14
  try {
11
15
  const w = await getSdk().email.webhooks.register(args.project_id, {
12
16
  url: args.url,
13
17
  events: args.events,
18
+ mailbox: args.mailbox,
14
19
  });
15
20
  return {
16
21
  content: [{
@@ -1 +1 @@
1
- {"version":3,"file":"register-mailbox-webhook.js","sourceRoot":"","sources":["../../src/tools/register-mailbox-webhook.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,4BAA4B,GAAG;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,8EAA8E,CAAC;CACrH,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,IAIlD;IACC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE;YAChE,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,wCAAwC,CAAC,CAAC,UAAU,kBAAkB,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC1H,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAI,GAAa,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"register-mailbox-webhook.js","sourceRoot":"","sources":["../../src/tools/register-mailbox-webhook.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,4BAA4B,GAAG;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,8EAA8E,CAAC;IACpH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mFAAmF,CAAC;CACjG,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,IAKlD;IACC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE;YAChE,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,wCAAwC,CAAC,CAAC,UAAU,kBAAkB,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC1H,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAI,GAAa,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
@@ -9,6 +9,7 @@ export declare const sendEmailSchema: {
9
9
  text: z.ZodOptional<z.ZodString>;
10
10
  from_name: z.ZodOptional<z.ZodString>;
11
11
  in_reply_to: z.ZodOptional<z.ZodString>;
12
+ mailbox: z.ZodOptional<z.ZodString>;
12
13
  };
13
14
  export declare function handleSendEmail(args: {
14
15
  project_id: string;
@@ -20,6 +21,7 @@ export declare function handleSendEmail(args: {
20
21
  text?: string;
21
22
  from_name?: string;
22
23
  in_reply_to?: string;
24
+ mailbox?: string;
23
25
  }): Promise<{
24
26
  content: Array<{
25
27
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"send-email.d.ts","sourceRoot":"","sources":["../../src/tools/send-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe;;;;;;;;;;CAuB3B,CAAC;AAEF,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,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":"send-email.d.ts","sourceRoot":"","sources":["../../src/tools/send-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe;;;;;;;;;;;CA2B3B,CAAC;AAEF,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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,CAkCjF"}
@@ -20,6 +20,10 @@ export const sendEmailSchema = {
20
20
  .string()
21
21
  .optional()
22
22
  .describe("ID of a prior message (typically inbound) to thread this one under. The server uses it to set RFC-822 In-Reply-To and References headers. Usually set via reply flows; leave empty for new threads."),
23
+ mailbox: z
24
+ .string()
25
+ .optional()
26
+ .describe("Target mailbox by slug or id; omit only when the project has exactly one mailbox (otherwise the send returns an ambiguity error naming the slugs)."),
23
27
  };
24
28
  export async function handleSendEmail(args) {
25
29
  try {
@@ -32,6 +36,7 @@ export async function handleSendEmail(args) {
32
36
  text: args.text,
33
37
  from_name: args.from_name,
34
38
  in_reply_to: args.in_reply_to,
39
+ mailbox: args.mailbox,
35
40
  });
36
41
  const mode = body.template ? `**Template:** ${body.template}` : `**Subject:** ${body.subject}`;
37
42
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"send-email.js","sourceRoot":"","sources":["../../src/tools/send-email.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-email.js","sourceRoot":"","sources":["../../src/tools/send-email.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * MCP tools for the v1.59 two-party project transfer flow. Each handler is
3
+ * a thin shim over `r.admin.transfers.*` followed by markdown formatting.
4
+ */
5
+ import { z } from "zod";
6
+ type ToolResult = {
7
+ content: Array<{
8
+ type: "text";
9
+ text: string;
10
+ }>;
11
+ isError?: boolean;
12
+ };
13
+ export declare const initiateProjectTransferSchema: {
14
+ project_id: z.ZodString;
15
+ to_wallet: z.ZodString;
16
+ billing_policy: z.ZodOptional<z.ZodEnum<["migrate"]>>;
17
+ message: z.ZodOptional<z.ZodString>;
18
+ kysigned_record_id: z.ZodOptional<z.ZodString>;
19
+ };
20
+ export declare function handleInitiateProjectTransfer(args: {
21
+ project_id: string;
22
+ to_wallet: string;
23
+ billing_policy?: "migrate";
24
+ message?: string;
25
+ kysigned_record_id?: string;
26
+ }): Promise<ToolResult>;
27
+ export declare const previewProjectTransferSchema: {
28
+ transfer_id: z.ZodString;
29
+ };
30
+ export declare function handlePreviewProjectTransfer(args: {
31
+ transfer_id: string;
32
+ }): Promise<ToolResult>;
33
+ export declare const acceptProjectTransferSchema: {
34
+ transfer_id: z.ZodString;
35
+ };
36
+ export declare function handleAcceptProjectTransfer(args: {
37
+ transfer_id: string;
38
+ }): Promise<ToolResult>;
39
+ export declare const cancelProjectTransferSchema: {
40
+ transfer_id: z.ZodString;
41
+ reason: z.ZodOptional<z.ZodString>;
42
+ };
43
+ export declare function handleCancelProjectTransfer(args: {
44
+ transfer_id: string;
45
+ reason?: string;
46
+ }): Promise<ToolResult>;
47
+ export declare const listIncomingTransfersSchema: {
48
+ limit: z.ZodOptional<z.ZodNumber>;
49
+ offset: z.ZodOptional<z.ZodNumber>;
50
+ };
51
+ export declare function handleListIncomingTransfers(args: {
52
+ limit?: number;
53
+ offset?: number;
54
+ }): Promise<ToolResult>;
55
+ export declare const listOutgoingTransfersSchema: {
56
+ limit: z.ZodOptional<z.ZodNumber>;
57
+ offset: z.ZodOptional<z.ZodNumber>;
58
+ };
59
+ export declare function handleListOutgoingTransfers(args: {
60
+ limit?: number;
61
+ offset?: number;
62
+ }): Promise<ToolResult>;
63
+ export {};
64
+ //# sourceMappingURL=transfers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfers.d.ts","sourceRoot":"","sources":["../../src/tools/transfers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,KAAK,UAAU,GAAG;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;AAIxF,eAAO,MAAM,6BAA6B;;;;;;CAmBzC,CAAC;AAEF,wBAAsB,6BAA6B,CAAC,IAAI,EAAE;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC,UAAU,CAAC,CAwBtB;AAID,eAAO,MAAM,4BAA4B;;CAIxC,CAAC;AAEF,wBAAsB,4BAA4B,CAAC,IAAI,EAAE;IACvD,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BtB;AAID,eAAO,MAAM,2BAA2B;;CAIvC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkBtB;AAID,eAAO,MAAM,2BAA2B;;;CAQvC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,UAAU,CAAC,CAatB;AAID,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkBtB;AAID,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkBtB"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * MCP tools for the v1.59 two-party project transfer flow. Each handler is
3
+ * a thin shim over `r.admin.transfers.*` followed by markdown formatting.
4
+ */
5
+ import { z } from "zod";
6
+ import { getSdk } from "../sdk.js";
7
+ import { mapSdkError } from "../errors.js";
8
+ // ─── initiate_project_transfer ──────────────────────────────────────────────
9
+ export const initiateProjectTransferSchema = {
10
+ project_id: z
11
+ .string()
12
+ .describe("Project id to transfer. You must currently own it (the gateway verifies against fresh DB state)."),
13
+ to_wallet: z
14
+ .string()
15
+ .describe("Recipient wallet address (any case — the gateway lowercases). Must differ from the current owner."),
16
+ billing_policy: z
17
+ .enum(["migrate"])
18
+ .optional()
19
+ .describe("Billing policy. Phase 1A supports only `migrate` (default). The project moves into the recipient's billing account."),
20
+ message: z
21
+ .string()
22
+ .optional()
23
+ .describe("Optional free-text note shown to the recipient in the preview and notification emails."),
24
+ kysigned_record_id: z
25
+ .string()
26
+ .optional()
27
+ .describe("Optional KySigned record id. Phase 1A stores this verbatim (no verification). Phase 1B will verify against the canonical terms hash."),
28
+ };
29
+ export async function handleInitiateProjectTransfer(args) {
30
+ try {
31
+ const res = await getSdk().admin.transfers.initiate({
32
+ projectId: args.project_id,
33
+ toWallet: args.to_wallet,
34
+ billingPolicy: args.billing_policy,
35
+ message: args.message,
36
+ kysignedRecordId: args.kysigned_record_id,
37
+ });
38
+ const lines = [
39
+ `Transfer initiated for project \`${res.project_summary.project_id}\`.`,
40
+ `- transfer_id: \`${res.transfer_id}\``,
41
+ `- to_wallet: ${res.project_summary.to_wallet}`,
42
+ `- billing_policy: ${res.project_summary.billing_policy}`,
43
+ `- expires_at: ${res.expires_at} (72h)`,
44
+ `- terms_sha256: ${res.terms_sha256}`,
45
+ `- your_unused_lease_days: ${res.your_unused_lease_days} (lease stays with your account; not refunded)`,
46
+ ``,
47
+ `Owner-side mutations on this project are now blocked until the transfer is accepted, cancelled, or expires. Use \`cancel_project_transfer\` with the transfer id to reverse.`,
48
+ ];
49
+ return { content: [{ type: "text", text: lines.join("\n") }] };
50
+ }
51
+ catch (err) {
52
+ return mapSdkError(err, "initiating project transfer");
53
+ }
54
+ }
55
+ // ─── preview_project_transfer ───────────────────────────────────────────────
56
+ export const previewProjectTransferSchema = {
57
+ transfer_id: z
58
+ .string()
59
+ .describe("Transfer id to preview. You must be either the from_wallet or the to_wallet of the transfer."),
60
+ };
61
+ export async function handlePreviewProjectTransfer(args) {
62
+ try {
63
+ const p = await getSdk().admin.transfers.preview(args.transfer_id);
64
+ const lines = [
65
+ `Preview for transfer \`${p.transfer_id}\` (status: ${p.status})`,
66
+ `- project: \`${p.project_id}\`${p.project_name_snapshot ? ` (\`${p.project_name_snapshot}\`)` : ""}`,
67
+ `- from: ${p.from_wallet_display} → to: ${p.to_wallet_display}`,
68
+ `- billing_policy: ${p.billing_policy}`,
69
+ `- initiated_at: ${p.initiated_at}`,
70
+ `- expires_at: ${p.expires_at}`,
71
+ `- terms_sha256: ${p.terms_sha256}`,
72
+ ];
73
+ if (p.kysigned_record_id)
74
+ lines.push(`- kysigned_record_id: ${p.kysigned_record_id}`);
75
+ if (p.message)
76
+ lines.push(`- message: ${p.message}`);
77
+ lines.push(``, `What transfers:`);
78
+ lines.push(`- custom_domains: ${p.custom_domains.length}`);
79
+ lines.push(`- subdomains: ${p.subdomains.length}`);
80
+ lines.push(`- functions: ${p.functions.length}`);
81
+ lines.push(`- secrets: ${p.secret_names.length} (names only — values are NEVER returned)`);
82
+ if (p.secret_names.length > 0) {
83
+ lines.push(` secret names: ${p.secret_names.map((n) => `\`${n}\``).join(", ")}`);
84
+ }
85
+ lines.push(`- mailboxes: ${p.mailbox_summary.count}`);
86
+ lines.push(`- ci_bindings_to_be_revoked: ${p.ci_bindings_to_be_revoked.length}`);
87
+ lines.push(``, `Note: ${p.github_repo_note}`);
88
+ return { content: [{ type: "text", text: lines.join("\n") }] };
89
+ }
90
+ catch (err) {
91
+ return mapSdkError(err, "previewing project transfer");
92
+ }
93
+ }
94
+ // ─── accept_project_transfer ────────────────────────────────────────────────
95
+ export const acceptProjectTransferSchema = {
96
+ transfer_id: z
97
+ .string()
98
+ .describe("Transfer id to accept. Your wallet must equal the transfer's to_wallet. Atomically flips ownership, revokes the previous owner's CI bindings on the project, and stamps a `secrets_rotation_advised` advisory."),
99
+ };
100
+ export async function handleAcceptProjectTransfer(args) {
101
+ try {
102
+ const res = await getSdk().admin.transfers.accept(args.transfer_id);
103
+ const lines = [
104
+ `Transfer accepted. Project \`${res.project_id}\` is now owned by ${res.to_wallet}.`,
105
+ `- completed_at: ${res.completed_at}`,
106
+ `- new_billing_account_id: ${res.new_billing_account_id ?? "null"}`,
107
+ `- secrets inherited: ${res.secrets_count_inherited}`,
108
+ ];
109
+ if (res.secret_names_inherited.length > 0) {
110
+ lines.push(` names: ${res.secret_names_inherited.map((n) => `\`${n}\``).join(", ")}`);
111
+ }
112
+ lines.push(``, `Rotation advised: the project carries inherited secret VALUES from the previous owner. The \`secrets_rotation_advised\` flag stays set until you rotate every inherited secret. Update via \`set_secret\`.`);
113
+ lines.push(``, `Note: ${res.github_repo_note}`);
114
+ return { content: [{ type: "text", text: lines.join("\n") }] };
115
+ }
116
+ catch (err) {
117
+ return mapSdkError(err, "accepting project transfer");
118
+ }
119
+ }
120
+ // ─── cancel_project_transfer ────────────────────────────────────────────────
121
+ export const cancelProjectTransferSchema = {
122
+ transfer_id: z
123
+ .string()
124
+ .describe("Transfer id to cancel. You must be either the from_wallet or the to_wallet of the transfer."),
125
+ reason: z
126
+ .string()
127
+ .optional()
128
+ .describe("Optional free-text cancellation reason recorded on the audit row."),
129
+ };
130
+ export async function handleCancelProjectTransfer(args) {
131
+ try {
132
+ const res = await getSdk().admin.transfers.cancel(args.transfer_id, args.reason);
133
+ const lines = [
134
+ `Transfer \`${res.transfer_id}\` cancelled.`,
135
+ `- cancelled_by: ${res.cancelled_by}`,
136
+ `- cancelled_at: ${res.cancelled_at}`,
137
+ ];
138
+ if (res.cancellation_reason)
139
+ lines.push(`- reason: ${res.cancellation_reason}`);
140
+ return { content: [{ type: "text", text: lines.join("\n") }] };
141
+ }
142
+ catch (err) {
143
+ return mapSdkError(err, "cancelling project transfer");
144
+ }
145
+ }
146
+ // ─── list_incoming_transfers ────────────────────────────────────────────────
147
+ export const listIncomingTransfersSchema = {
148
+ limit: z.number().int().positive().optional().describe("Page size (default 50)."),
149
+ offset: z.number().int().min(0).optional().describe("Pagination offset (default 0)."),
150
+ };
151
+ export async function handleListIncomingTransfers(args) {
152
+ try {
153
+ const list = await getSdk().admin.transfers.listIncoming({
154
+ limit: args.limit,
155
+ offset: args.offset,
156
+ });
157
+ if (list.length === 0) {
158
+ return { content: [{ type: "text", text: "No pending incoming transfers." }] };
159
+ }
160
+ const lines = [`Pending incoming transfers (${list.length}):`];
161
+ for (const t of list) {
162
+ lines.push(`- \`${t.transfer_id}\` — project \`${t.project_id}\`${t.project_name_snapshot ? ` (${t.project_name_snapshot})` : ""}, from ${t.from_wallet}, billing_policy=${t.billing_policy}, expires ${t.expires_at}`);
163
+ lines.push(` preview: ${t.preview_path}`);
164
+ }
165
+ return { content: [{ type: "text", text: lines.join("\n") }] };
166
+ }
167
+ catch (err) {
168
+ return mapSdkError(err, "listing incoming transfers");
169
+ }
170
+ }
171
+ // ─── list_outgoing_transfers ────────────────────────────────────────────────
172
+ export const listOutgoingTransfersSchema = {
173
+ limit: z.number().int().positive().optional().describe("Page size (default 50)."),
174
+ offset: z.number().int().min(0).optional().describe("Pagination offset (default 0)."),
175
+ };
176
+ export async function handleListOutgoingTransfers(args) {
177
+ try {
178
+ const list = await getSdk().admin.transfers.listOutgoing({
179
+ limit: args.limit,
180
+ offset: args.offset,
181
+ });
182
+ if (list.length === 0) {
183
+ return { content: [{ type: "text", text: "No pending outgoing transfers." }] };
184
+ }
185
+ const lines = [`Pending outgoing transfers (${list.length}):`];
186
+ for (const t of list) {
187
+ lines.push(`- \`${t.transfer_id}\` — project \`${t.project_id}\`${t.project_name_snapshot ? ` (${t.project_name_snapshot})` : ""}, to ${t.to_wallet}, billing_policy=${t.billing_policy}, expires ${t.expires_at}`);
188
+ lines.push(` preview: ${t.preview_path}`);
189
+ }
190
+ return { content: [{ type: "text", text: lines.join("\n") }] };
191
+ }
192
+ catch (err) {
193
+ return mapSdkError(err, "listing outgoing transfers");
194
+ }
195
+ }
196
+ //# sourceMappingURL=transfers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfers.js","sourceRoot":"","sources":["../../src/tools/transfers.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,14 @@ export declare const updateMailboxWebhookSchema: {
4
4
  webhook_id: z.ZodString;
5
5
  url: z.ZodOptional<z.ZodString>;
6
6
  events: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
7
+ mailbox: z.ZodOptional<z.ZodString>;
7
8
  };
8
9
  export declare function handleUpdateMailboxWebhook(args: {
9
10
  project_id: string;
10
11
  webhook_id: string;
11
12
  url?: string;
12
13
  events?: string[];
14
+ mailbox?: string;
13
15
  }): Promise<{
14
16
  content: Array<{
15
17
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"update-mailbox-webhook.d.ts","sourceRoot":"","sources":["../../src/tools/update-mailbox-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,0BAA0B;;;;;CAKtC,CAAC;AAEF,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,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
+ {"version":3,"file":"update-mailbox-webhook.d.ts","sourceRoot":"","sources":["../../src/tools/update-mailbox-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,0BAA0B;;;;;;CAStC,CAAC;AAEF,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,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,CAuBjF"}
@@ -6,12 +6,17 @@ export const updateMailboxWebhookSchema = {
6
6
  webhook_id: z.string().describe("The webhook ID (whk_...)"),
7
7
  url: z.string().optional().describe("New webhook URL"),
8
8
  events: z.array(z.string()).optional().describe("New events array (full replacement). Valid: delivery, bounced, complained, reply_received"),
9
+ mailbox: z
10
+ .string()
11
+ .optional()
12
+ .describe("Target mailbox by slug or id; omit only when the project has exactly one mailbox."),
9
13
  };
10
14
  export async function handleUpdateMailboxWebhook(args) {
11
15
  try {
12
16
  const w = await getSdk().email.webhooks.update(args.project_id, args.webhook_id, {
13
17
  url: args.url,
14
18
  events: args.events,
19
+ mailbox: args.mailbox,
15
20
  });
16
21
  return {
17
22
  content: [{
@@ -1 +1 @@
1
- {"version":3,"file":"update-mailbox-webhook.js","sourceRoot":"","sources":["../../src/tools/update-mailbox-webhook.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,0BAA0B,GAAG;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC3D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2FAA2F,CAAC;CAC7I,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAKhD;IACC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC/E,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,uBAAuB,CAAC,CAAC,UAAU,kBAAkB,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACzG,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAI,GAAa,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;QACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"update-mailbox-webhook.js","sourceRoot":"","sources":["../../src/tools/update-mailbox-webhook.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,0BAA0B,GAAG;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC3D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2FAA2F,CAAC;IAC5I,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mFAAmF,CAAC;CACjG,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAMhD;IACC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC/E,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,uBAAuB,CAAC,CAAC,UAAU,kBAAkB,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACzG,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAI,GAAa,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;QACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "run402-mcp",
3
- "version": "2.19.1",
3
+ "version": "2.21.0",
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
  * (or the exported `is*` guards) to branch on errors safely across SDK copies
16
16
  * and realms — value comparison, no class-identity dependency.
17
17
  */
18
- export type Run402ErrorKind = "payment_required" | "project_not_found" | "unauthorized" | "api_error" | "network_error" | "local_error" | "deploy_error";
18
+ export type Run402ErrorKind = "payment_required" | "project_not_found" | "unauthorized" | "api_error" | "network_error" | "local_error" | "deploy_error" | "transfer_freeze";
19
19
  /**
20
20
  * Quota-denial scope discriminator (v1.46+). Indicates whether a quota-related
21
21
  * denial was enforced against the pooled billing-account total (`"account"`)
@@ -187,6 +187,33 @@ export declare class Run402DeployError extends Run402Error {
187
187
  });
188
188
  toJSON(): Record<string, unknown>;
189
189
  }
190
+ /**
191
+ * Project has a pending transfer (v1.59+). Gateway returns 409 with
192
+ * `code: "PROJECT_HAS_PENDING_TRANSFER"` from the transfer-freeze middleware
193
+ * mounted on owner-side mutations (deploy, secrets, custom domains, function
194
+ * CRUD, scheduled-function changes, mailbox config, CI bindings, project
195
+ * rename, etc.). The pending transfer must be accepted, cancelled, or
196
+ * allowed to expire (72h) before owner-side mutations resume.
197
+ *
198
+ * The error carries `transferId` (when the gateway resolved it) and
199
+ * `cancelPath` lifted from `next_actions[].path`, so callers can present an
200
+ * actionable resolution path. `previewPath` mirrors the view-transfer
201
+ * next_action when present.
202
+ */
203
+ export declare class TransferFreezeError extends Run402Error {
204
+ static readonly DEFAULT_CODE = "PROJECT_HAS_PENDING_TRANSFER";
205
+ static readonly DEFAULT_CATEGORY = "validation";
206
+ static readonly DEFAULT_RETRYABLE = false;
207
+ readonly kind: "transfer_freeze";
208
+ /** The pending transfer id when the gateway resolved one. */
209
+ readonly transferId: string | null;
210
+ /** API path to cancel the pending transfer (e.g. `/agent/v1/transfers/<id>/cancel`). */
211
+ readonly cancelPath: string | null;
212
+ /** API path to view the pending transfer preview. */
213
+ readonly previewPath: string | null;
214
+ readonly projectId: string | null;
215
+ constructor(message: string, status: number, body: unknown, context: string);
216
+ }
190
217
  /** True if `e` is any {@link Run402Error} subclass instance, regardless of which SDK copy created it. */
191
218
  export declare function isRun402Error(e: unknown): e is Run402Error;
192
219
  /** True if `e` is a {@link PaymentRequired}. Survives duplicate SDK copies and realms. */
@@ -203,6 +230,8 @@ export declare function isNetworkError(e: unknown): e is NetworkError;
203
230
  export declare function isLocalError(e: unknown): e is LocalError;
204
231
  /** True if `e` is a {@link Run402DeployError}. */
205
232
  export declare function isDeployError(e: unknown): e is Run402DeployError;
233
+ /** True if `e` is a {@link TransferFreezeError}. */
234
+ export declare function isTransferFreezeError(e: unknown): e is TransferFreezeError;
206
235
  /**
207
236
  * Extract the v1.46+ quota-denial scope from an error. Returns `"account"`
208
237
  * for pooled denials, `"project"` for the orphan fallback, or `undefined`
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -257,6 +257,56 @@ export class Run402DeployError extends Run402Error {
257
257
  };
258
258
  }
259
259
  }
260
+ /**
261
+ * Project has a pending transfer (v1.59+). Gateway returns 409 with
262
+ * `code: "PROJECT_HAS_PENDING_TRANSFER"` from the transfer-freeze middleware
263
+ * mounted on owner-side mutations (deploy, secrets, custom domains, function
264
+ * CRUD, scheduled-function changes, mailbox config, CI bindings, project
265
+ * rename, etc.). The pending transfer must be accepted, cancelled, or
266
+ * allowed to expire (72h) before owner-side mutations resume.
267
+ *
268
+ * The error carries `transferId` (when the gateway resolved it) and
269
+ * `cancelPath` lifted from `next_actions[].path`, so callers can present an
270
+ * actionable resolution path. `previewPath` mirrors the view-transfer
271
+ * next_action when present.
272
+ */
273
+ export class TransferFreezeError extends Run402Error {
274
+ static DEFAULT_CODE = "PROJECT_HAS_PENDING_TRANSFER";
275
+ static DEFAULT_CATEGORY = "validation";
276
+ static DEFAULT_RETRYABLE = false;
277
+ kind = "transfer_freeze";
278
+ /** The pending transfer id when the gateway resolved one. */
279
+ transferId;
280
+ /** API path to cancel the pending transfer (e.g. `/agent/v1/transfers/<id>/cancel`). */
281
+ cancelPath;
282
+ /** API path to view the pending transfer preview. */
283
+ previewPath;
284
+ projectId;
285
+ constructor(message, status, body, context) {
286
+ super(message, status, body, context);
287
+ const envelope = body && typeof body === "object" && !Array.isArray(body)
288
+ ? body
289
+ : null;
290
+ const details = envelope && typeof envelope.details === "object" && envelope.details !== null
291
+ ? envelope.details
292
+ : null;
293
+ this.transferId = typeof details?.transfer_id === "string" ? details.transfer_id : null;
294
+ this.projectId = typeof details?.project_id === "string" ? details.project_id : null;
295
+ const actions = Array.isArray(envelope?.next_actions) ? envelope?.next_actions : [];
296
+ this.cancelPath = pickNextActionPath(actions, "cancel_transfer");
297
+ this.previewPath = pickNextActionPath(actions, "view_transfer");
298
+ }
299
+ }
300
+ function pickNextActionPath(actions, type) {
301
+ for (const a of actions) {
302
+ if (a && typeof a === "object" && !Array.isArray(a)) {
303
+ const obj = a;
304
+ if (obj.type === type && typeof obj.path === "string")
305
+ return obj.path;
306
+ }
307
+ }
308
+ return null;
309
+ }
260
310
  // ─── Type guards ─────────────────────────────────────────────────────────────
261
311
  //
262
312
  // Identity-free guards. Each one checks the structural brand and (for subclass
@@ -298,6 +348,10 @@ export function isLocalError(e) {
298
348
  export function isDeployError(e) {
299
349
  return isRun402Error(e) && e.kind === "deploy_error";
300
350
  }
351
+ /** True if `e` is a {@link TransferFreezeError}. */
352
+ export function isTransferFreezeError(e) {
353
+ return isRun402Error(e) && e.kind === "transfer_freeze";
354
+ }
301
355
  /**
302
356
  * Extract the v1.46+ quota-denial scope from an error. Returns `"account"`
303
357
  * for pooled denials, `"project"` for the orphan fallback, or `undefined`