run402-mcp 1.16.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/paid-fetch.d.ts +24 -0
- package/dist/paid-fetch.d.ts.map +1 -0
- package/dist/paid-fetch.js +78 -0
- package/dist/paid-fetch.js.map +1 -0
- package/dist/tools/bundle-deploy.d.ts +6 -6
- package/dist/tools/bundle-deploy.d.ts.map +1 -1
- package/dist/tools/bundle-deploy.js +27 -2
- package/dist/tools/bundle-deploy.js.map +1 -1
- package/dist/tools/deploy-function.js +2 -2
- package/dist/tools/deploy-function.js.map +1 -1
- package/dist/tools/deploy-site.d.ts +2 -2
- package/dist/tools/generate-image.js +2 -2
- package/dist/tools/generate-image.js.map +1 -1
- package/dist/tools/invoke-function.js +2 -2
- package/dist/tools/invoke-function.js.map +1 -1
- package/dist/tools/provision.d.ts.map +1 -1
- package/dist/tools/provision.js +27 -2
- package/dist/tools/provision.js.map +1 -1
- package/dist/tools/set-tier.js +2 -2
- package/dist/tools/set-tier.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Paid fetch for MCP server — reads the local allowance, branches on rail
|
|
3
|
+
* (x402 vs mpp), returns a wrapped fetch that intercepts 402 responses,
|
|
4
|
+
* signs payment, and retries automatically.
|
|
5
|
+
*
|
|
6
|
+
* Returns null when no allowance is configured or payment libraries are
|
|
7
|
+
* unavailable (graceful degradation).
|
|
8
|
+
*/
|
|
9
|
+
import type { ApiResponse, ApiRequestOptions } from "./client.js";
|
|
10
|
+
type FetchFn = typeof globalThis.fetch;
|
|
11
|
+
/**
|
|
12
|
+
* Create a payment-wrapping fetch function from the local allowance.
|
|
13
|
+
* Returns null if no allowance exists or payment libraries fail to load.
|
|
14
|
+
*/
|
|
15
|
+
export declare function setupPaidFetch(): Promise<FetchFn | null>;
|
|
16
|
+
/**
|
|
17
|
+
* Like apiRequest, but uses the paid fetch wrapper when available.
|
|
18
|
+
* Falls back to bare apiRequest when no allowance is configured.
|
|
19
|
+
*/
|
|
20
|
+
export declare function paidApiRequest(path: string, opts?: ApiRequestOptions): Promise<ApiResponse>;
|
|
21
|
+
/** Reset cached state — exposed for testing only */
|
|
22
|
+
export declare function _resetPaidFetchCache(): void;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=paid-fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paid-fetch.d.ts","sourceRoot":"","sources":["../src/paid-fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElE,KAAK,OAAO,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAEvC;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAuC9D;AAKD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Paid fetch for MCP server — reads the local allowance, branches on rail
|
|
3
|
+
* (x402 vs mpp), returns a wrapped fetch that intercepts 402 responses,
|
|
4
|
+
* signs payment, and retries automatically.
|
|
5
|
+
*
|
|
6
|
+
* Returns null when no allowance is configured or payment libraries are
|
|
7
|
+
* unavailable (graceful degradation).
|
|
8
|
+
*/
|
|
9
|
+
import { readAllowance } from "./allowance.js";
|
|
10
|
+
import { apiRequest } from "./client.js";
|
|
11
|
+
/**
|
|
12
|
+
* Create a payment-wrapping fetch function from the local allowance.
|
|
13
|
+
* Returns null if no allowance exists or payment libraries fail to load.
|
|
14
|
+
*/
|
|
15
|
+
export async function setupPaidFetch() {
|
|
16
|
+
const allowance = readAllowance();
|
|
17
|
+
if (!allowance)
|
|
18
|
+
return null;
|
|
19
|
+
try {
|
|
20
|
+
if (allowance.rail === "mpp") {
|
|
21
|
+
// mppx is an optional peer — use variable to skip TS module resolution
|
|
22
|
+
const mppxMod = "mppx/client";
|
|
23
|
+
const { Mppx, tempo } = await import(/* webpackIgnore: true */ mppxMod);
|
|
24
|
+
const { privateKeyToAccount } = await import("viem/accounts");
|
|
25
|
+
const account = privateKeyToAccount(allowance.privateKey);
|
|
26
|
+
const mppx = Mppx.create({
|
|
27
|
+
polyfill: false,
|
|
28
|
+
methods: [tempo({ account })],
|
|
29
|
+
});
|
|
30
|
+
return mppx.fetch;
|
|
31
|
+
}
|
|
32
|
+
// Default: x402
|
|
33
|
+
const { privateKeyToAccount } = await import("viem/accounts");
|
|
34
|
+
const { createPublicClient, http } = await import("viem");
|
|
35
|
+
const { base, baseSepolia } = await import("viem/chains");
|
|
36
|
+
const { x402Client, wrapFetchWithPayment } = await import("@x402/fetch");
|
|
37
|
+
const { ExactEvmScheme } = await import("@x402/evm/exact/client");
|
|
38
|
+
const { toClientEvmSigner } = await import("@x402/evm");
|
|
39
|
+
const account = privateKeyToAccount(allowance.privateKey);
|
|
40
|
+
const mainnetClient = createPublicClient({ chain: base, transport: http() });
|
|
41
|
+
const sepoliaClient = createPublicClient({ chain: baseSepolia, transport: http() });
|
|
42
|
+
const client = new x402Client();
|
|
43
|
+
client.register("eip155:8453", new ExactEvmScheme(toClientEvmSigner(account, mainnetClient)));
|
|
44
|
+
client.register("eip155:84532", new ExactEvmScheme(toClientEvmSigner(account, sepoliaClient)));
|
|
45
|
+
return wrapFetchWithPayment(fetch, client);
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// Payment libraries not available — degrade gracefully
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** Cached paid fetch — initialized lazily on first call */
|
|
53
|
+
let cachedPaidFetch;
|
|
54
|
+
/**
|
|
55
|
+
* Like apiRequest, but uses the paid fetch wrapper when available.
|
|
56
|
+
* Falls back to bare apiRequest when no allowance is configured.
|
|
57
|
+
*/
|
|
58
|
+
export async function paidApiRequest(path, opts = {}) {
|
|
59
|
+
if (cachedPaidFetch === undefined) {
|
|
60
|
+
cachedPaidFetch = await setupPaidFetch();
|
|
61
|
+
}
|
|
62
|
+
if (!cachedPaidFetch) {
|
|
63
|
+
return apiRequest(path, opts);
|
|
64
|
+
}
|
|
65
|
+
const originalFetch = globalThis.fetch;
|
|
66
|
+
globalThis.fetch = cachedPaidFetch;
|
|
67
|
+
try {
|
|
68
|
+
return await apiRequest(path, opts);
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
globalThis.fetch = originalFetch;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/** Reset cached state — exposed for testing only */
|
|
75
|
+
export function _resetPaidFetchCache() {
|
|
76
|
+
cachedPaidFetch = undefined;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=paid-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paid-fetch.js","sourceRoot":"","sources":["../src/paid-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,11 +31,11 @@ export declare const bundleDeploySchema: {
|
|
|
31
31
|
key: z.ZodString;
|
|
32
32
|
value: z.ZodString;
|
|
33
33
|
}, "strip", z.ZodTypeAny, {
|
|
34
|
-
value: string;
|
|
35
34
|
key: string;
|
|
36
|
-
}, {
|
|
37
35
|
value: string;
|
|
36
|
+
}, {
|
|
38
37
|
key: string;
|
|
38
|
+
value: string;
|
|
39
39
|
}>, "many">>;
|
|
40
40
|
functions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
41
41
|
name: z.ZodString;
|
|
@@ -51,15 +51,15 @@ export declare const bundleDeploySchema: {
|
|
|
51
51
|
memory?: number | undefined;
|
|
52
52
|
}>>;
|
|
53
53
|
}, "strip", z.ZodTypeAny, {
|
|
54
|
-
code: string;
|
|
55
54
|
name: string;
|
|
55
|
+
code: string;
|
|
56
56
|
config?: {
|
|
57
57
|
timeout?: number | undefined;
|
|
58
58
|
memory?: number | undefined;
|
|
59
59
|
} | undefined;
|
|
60
60
|
}, {
|
|
61
|
-
code: string;
|
|
62
61
|
name: string;
|
|
62
|
+
code: string;
|
|
63
63
|
config?: {
|
|
64
64
|
timeout?: number | undefined;
|
|
65
65
|
memory?: number | undefined;
|
|
@@ -70,12 +70,12 @@ export declare const bundleDeploySchema: {
|
|
|
70
70
|
data: z.ZodString;
|
|
71
71
|
encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
|
|
72
72
|
}, "strip", z.ZodTypeAny, {
|
|
73
|
-
file: string;
|
|
74
73
|
data: string;
|
|
74
|
+
file: string;
|
|
75
75
|
encoding?: "utf-8" | "base64" | undefined;
|
|
76
76
|
}, {
|
|
77
|
-
file: string;
|
|
78
77
|
data: string;
|
|
78
|
+
file: string;
|
|
79
79
|
encoding?: "utf-8" | "base64" | undefined;
|
|
80
80
|
}>, "many">>;
|
|
81
81
|
subdomain: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-deploy.d.ts","sourceRoot":"","sources":["../../src/tools/bundle-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmD9B,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IACpF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAClG,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"bundle-deploy.d.ts","sourceRoot":"","sources":["../../src/tools/bundle-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmD9B,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IACpF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAClG,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAuFjF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { paidApiRequest } from "../paid-fetch.js";
|
|
3
3
|
import { formatApiError, projectNotFound } from "../errors.js";
|
|
4
4
|
import { requireAllowanceAuth } from "../allowance-auth.js";
|
|
5
5
|
import { getProject } from "../keystore.js";
|
|
@@ -59,7 +59,7 @@ export async function handleBundleDeploy(args) {
|
|
|
59
59
|
const auth = requireAllowanceAuth("/deploy/v1");
|
|
60
60
|
if ("error" in auth)
|
|
61
61
|
return auth.error;
|
|
62
|
-
const res = await
|
|
62
|
+
const res = await paidApiRequest("/deploy/v1", {
|
|
63
63
|
method: "POST",
|
|
64
64
|
headers: { ...auth.headers },
|
|
65
65
|
body: {
|
|
@@ -72,6 +72,31 @@ export async function handleBundleDeploy(args) {
|
|
|
72
72
|
subdomain: args.subdomain,
|
|
73
73
|
},
|
|
74
74
|
});
|
|
75
|
+
if (res.is402) {
|
|
76
|
+
const body = res.body;
|
|
77
|
+
const lines = [
|
|
78
|
+
`## Payment Required`,
|
|
79
|
+
``,
|
|
80
|
+
`To deploy this bundle, an x402 payment is needed.`,
|
|
81
|
+
``,
|
|
82
|
+
];
|
|
83
|
+
if (body.x402) {
|
|
84
|
+
lines.push(`**Payment details:**`);
|
|
85
|
+
lines.push("```json");
|
|
86
|
+
lines.push(JSON.stringify(body.x402, null, 2));
|
|
87
|
+
lines.push("```");
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
lines.push(`**Server response:**`);
|
|
91
|
+
lines.push("```json");
|
|
92
|
+
lines.push(JSON.stringify(body, null, 2));
|
|
93
|
+
lines.push("```");
|
|
94
|
+
}
|
|
95
|
+
lines.push(``);
|
|
96
|
+
lines.push(`The user's agent allowance or payment agent must send the required amount. ` +
|
|
97
|
+
`Once payment is confirmed, retry this tool call.`);
|
|
98
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
99
|
+
}
|
|
75
100
|
if (!res.ok)
|
|
76
101
|
return formatApiError(res, "deploying bundle");
|
|
77
102
|
const body = res.body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-deploy.js","sourceRoot":"","sources":["../../src/tools/bundle-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"bundle-deploy.js","sourceRoot":"","sources":["../../src/tools/bundle-deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { paidApiRequest } from "../paid-fetch.js";
|
|
3
3
|
import { getProject } from "../keystore.js";
|
|
4
4
|
import { formatApiError, projectNotFound } from "../errors.js";
|
|
5
5
|
export const deployFunctionSchema = {
|
|
@@ -26,7 +26,7 @@ export async function handleDeployFunction(args) {
|
|
|
26
26
|
const project = getProject(args.project_id);
|
|
27
27
|
if (!project)
|
|
28
28
|
return projectNotFound(args.project_id);
|
|
29
|
-
const res = await
|
|
29
|
+
const res = await paidApiRequest(`/projects/v1/admin/${args.project_id}/functions`, {
|
|
30
30
|
method: "POST",
|
|
31
31
|
headers: {
|
|
32
32
|
Authorization: `Bearer ${project.service_key}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-function.js","sourceRoot":"","sources":["../../src/tools/deploy-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy-function.js","sourceRoot":"","sources":["../../src/tools/deploy-function.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,12 @@ export declare const deploySiteSchema: {
|
|
|
7
7
|
data: z.ZodString;
|
|
8
8
|
encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
file: string;
|
|
11
10
|
data: string;
|
|
11
|
+
file: string;
|
|
12
12
|
encoding?: "utf-8" | "base64" | undefined;
|
|
13
13
|
}, {
|
|
14
|
-
file: string;
|
|
15
14
|
data: string;
|
|
15
|
+
file: string;
|
|
16
16
|
encoding?: "utf-8" | "base64" | undefined;
|
|
17
17
|
}>, "many">;
|
|
18
18
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { paidApiRequest } from "../paid-fetch.js";
|
|
3
3
|
import { formatApiError } from "../errors.js";
|
|
4
4
|
export const generateImageSchema = {
|
|
5
5
|
prompt: z
|
|
@@ -12,7 +12,7 @@ export const generateImageSchema = {
|
|
|
12
12
|
};
|
|
13
13
|
export async function handleGenerateImage(args) {
|
|
14
14
|
const aspect = args.aspect || "square";
|
|
15
|
-
const res = await
|
|
15
|
+
const res = await paidApiRequest("/generate-image/v1", {
|
|
16
16
|
method: "POST",
|
|
17
17
|
body: { prompt: args.prompt, aspect },
|
|
18
18
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-image.js","sourceRoot":"","sources":["../../src/tools/generate-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-image.js","sourceRoot":"","sources":["../../src/tools/generate-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,yCAAyC,CAAC;IACtD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;SACzC,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,+DAA+D,CAAC;CAC7E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAGzC;IAIC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;IAEvC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,oBAAoB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;KACtC,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,GAAG,CAAC,IAA+B,CAAC;QACjD,MAAM,KAAK,GAAG;YACZ,qBAAqB;YACrB,EAAE;YACF,oEAAoE;YACpE,EAAE;SACH,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,6EAA6E;YAC3E,kDAAkD,CACrD,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAIhB,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,YAAY,GAAG;aAC9D;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,IAAI,WAAW;aAC3C;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { paidApiRequest } from "../paid-fetch.js";
|
|
3
3
|
import { getProject } from "../keystore.js";
|
|
4
4
|
import { formatApiError, projectNotFound } from "../errors.js";
|
|
5
5
|
export const invokeFunctionSchema = {
|
|
@@ -28,7 +28,7 @@ export async function handleInvokeFunction(args) {
|
|
|
28
28
|
...(args.headers || {}),
|
|
29
29
|
};
|
|
30
30
|
const startTime = Date.now();
|
|
31
|
-
const res = await
|
|
31
|
+
const res = await paidApiRequest(`/functions/v1/${args.name}`, {
|
|
32
32
|
method,
|
|
33
33
|
headers: requestHeaders,
|
|
34
34
|
body: method !== "GET" && method !== "HEAD" ? args.body : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-function.js","sourceRoot":"","sources":["../../src/tools/invoke-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"invoke-function.js","sourceRoot":"","sources":["../../src/tools/invoke-function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/tools/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe;;;CAS3B,CAAC;AAEF,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,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,
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/tools/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe;;;CAS3B,CAAC;AAEF,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,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,CAoEjF"}
|
package/dist/tools/provision.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { paidApiRequest } from "../paid-fetch.js";
|
|
3
3
|
import { saveProject, setActiveProjectId } from "../keystore.js";
|
|
4
4
|
import { formatApiError } from "../errors.js";
|
|
5
5
|
import { requireAllowanceAuth } from "../allowance-auth.js";
|
|
@@ -19,11 +19,36 @@ export async function handleProvision(args) {
|
|
|
19
19
|
return auth.error;
|
|
20
20
|
const tier = args.tier || "prototype";
|
|
21
21
|
const name = args.name;
|
|
22
|
-
const res = await
|
|
22
|
+
const res = await paidApiRequest("/projects/v1", {
|
|
23
23
|
method: "POST",
|
|
24
24
|
headers: { ...auth.headers },
|
|
25
25
|
body: { tier, name },
|
|
26
26
|
});
|
|
27
|
+
if (res.is402) {
|
|
28
|
+
const body = res.body;
|
|
29
|
+
const lines = [
|
|
30
|
+
`## Payment Required`,
|
|
31
|
+
``,
|
|
32
|
+
`To provision a **${tier}** project, an x402 payment is needed.`,
|
|
33
|
+
``,
|
|
34
|
+
];
|
|
35
|
+
if (body.x402) {
|
|
36
|
+
lines.push(`**Payment details:**`);
|
|
37
|
+
lines.push("```json");
|
|
38
|
+
lines.push(JSON.stringify(body.x402, null, 2));
|
|
39
|
+
lines.push("```");
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
lines.push(`**Server response:**`);
|
|
43
|
+
lines.push("```json");
|
|
44
|
+
lines.push(JSON.stringify(body, null, 2));
|
|
45
|
+
lines.push("```");
|
|
46
|
+
}
|
|
47
|
+
lines.push(``);
|
|
48
|
+
lines.push(`The user's agent allowance or payment agent must send the required amount. ` +
|
|
49
|
+
`Once payment is confirmed, retry this tool call.`);
|
|
50
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
51
|
+
}
|
|
27
52
|
if (!res.ok)
|
|
28
53
|
return formatApiError(res, "provisioning project");
|
|
29
54
|
const body = res.body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../../src/tools/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../../src/tools/provision.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/set-tier.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { paidApiRequest } from "../paid-fetch.js";
|
|
3
3
|
import { formatApiError } from "../errors.js";
|
|
4
4
|
export const setTierSchema = {
|
|
5
5
|
tier: z
|
|
@@ -7,7 +7,7 @@ export const setTierSchema = {
|
|
|
7
7
|
.describe("Target tier — subscribes, renews, or upgrades automatically based on wallet state"),
|
|
8
8
|
};
|
|
9
9
|
export async function handleSetTier(args) {
|
|
10
|
-
const res = await
|
|
10
|
+
const res = await paidApiRequest(`/tiers/v1/${args.tier}`, {
|
|
11
11
|
method: "POST",
|
|
12
12
|
body: {},
|
|
13
13
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-tier.js","sourceRoot":"","sources":["../../src/tools/set-tier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"set-tier.js","sourceRoot":"","sources":["../../src/tools/set-tier.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "run402-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.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",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
"test": "node --experimental-test-module-mocks --test --import tsx SKILL.test.ts sync.test.ts core/src/**/*.test.ts src/**/*.test.ts && node --test cli-e2e.test.mjs",
|
|
23
23
|
"test:e2e": "node --test cli-e2e.test.mjs",
|
|
24
24
|
"test:integration": "node --test --import tsx core/src/siwx-integration.integ.ts",
|
|
25
|
-
"test:integration:full": "node --test --import tsx cli-integration.test.ts"
|
|
25
|
+
"test:integration:full": "node --test --import tsx cli-integration.test.ts",
|
|
26
|
+
"test:integration:mcp": "node --test --import tsx mcp-integration.test.ts"
|
|
26
27
|
},
|
|
27
28
|
"keywords": [
|
|
28
29
|
"mcp",
|