@agentcash/router 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +19 -14
- package/dist/index.js +19 -14
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -43,25 +43,26 @@ async function createX402Server(config) {
|
|
|
43
43
|
const { facilitator: defaultFacilitator } = await import("@coinbase/x402");
|
|
44
44
|
const raw = config.facilitatorUrl ?? defaultFacilitator;
|
|
45
45
|
const facilitatorConfig = typeof raw === "string" ? { url: raw } : raw;
|
|
46
|
-
const
|
|
46
|
+
const httpClient = new HTTPFacilitatorClient(facilitatorConfig);
|
|
47
|
+
const network = config.network ?? "eip155:8453";
|
|
48
|
+
const client = cachedClient(httpClient, network);
|
|
47
49
|
const server = new x402ResourceServer(client);
|
|
48
50
|
registerExactEvmScheme(server);
|
|
49
51
|
server.registerExtension(bazaarResourceServerExtension);
|
|
50
52
|
server.registerExtension(siwxResourceServerExtension);
|
|
51
|
-
const initPromise =
|
|
53
|
+
const initPromise = server.initialize();
|
|
52
54
|
return { server, initPromise };
|
|
53
55
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
56
|
+
function cachedClient(inner, network) {
|
|
57
|
+
return {
|
|
58
|
+
verify: inner.verify.bind(inner),
|
|
59
|
+
settle: inner.settle.bind(inner),
|
|
60
|
+
getSupported: async () => ({
|
|
61
|
+
kinds: [{ x402Version: 2, scheme: "exact", network }],
|
|
62
|
+
extensions: [],
|
|
63
|
+
signers: {}
|
|
64
|
+
})
|
|
65
|
+
};
|
|
65
66
|
}
|
|
66
67
|
var init_server = __esm({
|
|
67
68
|
"src/server.ts"() {
|
|
@@ -1019,11 +1020,15 @@ async function build402(request, routeEntry, deps, meta, pluginCtx, bodyData) {
|
|
|
1019
1020
|
);
|
|
1020
1021
|
response.headers.set("PAYMENT-REQUIRED", encoded);
|
|
1021
1022
|
} catch (err) {
|
|
1023
|
+
const message = `x402 challenge build failed: ${err instanceof Error ? err.message : String(err)}`;
|
|
1022
1024
|
firePluginHook(deps.plugin, "onAlert", pluginCtx, {
|
|
1023
1025
|
level: "critical",
|
|
1024
|
-
message
|
|
1026
|
+
message,
|
|
1025
1027
|
route: routeEntry.key
|
|
1026
1028
|
});
|
|
1029
|
+
const errorResponse = import_server2.NextResponse.json({ success: false, error: message }, { status: 500 });
|
|
1030
|
+
firePluginResponse(deps, pluginCtx, meta, errorResponse);
|
|
1031
|
+
return errorResponse;
|
|
1027
1032
|
}
|
|
1028
1033
|
}
|
|
1029
1034
|
if (routeEntry.protocols.includes("mpp") && deps.mppx) {
|
package/dist/index.js
CHANGED
|
@@ -21,25 +21,26 @@ async function createX402Server(config) {
|
|
|
21
21
|
const { facilitator: defaultFacilitator } = await import("@coinbase/x402");
|
|
22
22
|
const raw = config.facilitatorUrl ?? defaultFacilitator;
|
|
23
23
|
const facilitatorConfig = typeof raw === "string" ? { url: raw } : raw;
|
|
24
|
-
const
|
|
24
|
+
const httpClient = new HTTPFacilitatorClient(facilitatorConfig);
|
|
25
|
+
const network = config.network ?? "eip155:8453";
|
|
26
|
+
const client = cachedClient(httpClient, network);
|
|
25
27
|
const server = new x402ResourceServer(client);
|
|
26
28
|
registerExactEvmScheme(server);
|
|
27
29
|
server.registerExtension(bazaarResourceServerExtension);
|
|
28
30
|
server.registerExtension(siwxResourceServerExtension);
|
|
29
|
-
const initPromise =
|
|
31
|
+
const initPromise = server.initialize();
|
|
30
32
|
return { server, initPromise };
|
|
31
33
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
34
|
+
function cachedClient(inner, network) {
|
|
35
|
+
return {
|
|
36
|
+
verify: inner.verify.bind(inner),
|
|
37
|
+
settle: inner.settle.bind(inner),
|
|
38
|
+
getSupported: async () => ({
|
|
39
|
+
kinds: [{ x402Version: 2, scheme: "exact", network }],
|
|
40
|
+
extensions: [],
|
|
41
|
+
signers: {}
|
|
42
|
+
})
|
|
43
|
+
};
|
|
43
44
|
}
|
|
44
45
|
var init_server = __esm({
|
|
45
46
|
"src/server.ts"() {
|
|
@@ -982,11 +983,15 @@ async function build402(request, routeEntry, deps, meta, pluginCtx, bodyData) {
|
|
|
982
983
|
);
|
|
983
984
|
response.headers.set("PAYMENT-REQUIRED", encoded);
|
|
984
985
|
} catch (err) {
|
|
986
|
+
const message = `x402 challenge build failed: ${err instanceof Error ? err.message : String(err)}`;
|
|
985
987
|
firePluginHook(deps.plugin, "onAlert", pluginCtx, {
|
|
986
988
|
level: "critical",
|
|
987
|
-
message
|
|
989
|
+
message,
|
|
988
990
|
route: routeEntry.key
|
|
989
991
|
});
|
|
992
|
+
const errorResponse = NextResponse2.json({ success: false, error: message }, { status: 500 });
|
|
993
|
+
firePluginResponse(deps, pluginCtx, meta, errorResponse);
|
|
994
|
+
return errorResponse;
|
|
990
995
|
}
|
|
991
996
|
}
|
|
992
997
|
if (routeEntry.protocols.includes("mpp") && deps.mppx) {
|