@absol-labs/agent 0.10.0 → 0.11.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/README.md +107 -23
- package/dist/capability/invocation-capability.d.ts +18 -6
- package/dist/capability/invocation-capability.d.ts.map +1 -1
- package/dist/capability/invocation-capability.js.map +1 -1
- package/dist/cli/commands/claim.d.ts.map +1 -1
- package/dist/cli/commands/claim.js +20 -4
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/close.d.ts.map +1 -1
- package/dist/cli/commands/close.js +16 -4
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/invoke.d.ts.map +1 -1
- package/dist/cli/commands/invoke.js +1 -0
- package/dist/cli/commands/invoke.js.map +1 -1
- package/dist/cli/commands/open.d.ts.map +1 -1
- package/dist/cli/commands/open.js +63 -11
- package/dist/cli/commands/open.js.map +1 -1
- package/dist/cli/commands/reclaim-unverified.d.ts.map +1 -1
- package/dist/cli/commands/reclaim-unverified.js +12 -4
- package/dist/cli/commands/reclaim-unverified.js.map +1 -1
- package/dist/cli/commands/reclaim.d.ts.map +1 -1
- package/dist/cli/commands/reclaim.js +16 -5
- package/dist/cli/commands/reclaim.js.map +1 -1
- package/dist/cli/commands/streams.js +1 -1
- package/dist/cli/commands/streams.js.map +1 -1
- package/dist/cli/deps.d.ts +53 -7
- package/dist/cli/deps.d.ts.map +1 -1
- package/dist/cli/deps.js +65 -15
- package/dist/cli/deps.js.map +1 -1
- package/dist/cli/privy.d.ts +83 -0
- package/dist/cli/privy.d.ts.map +1 -0
- package/dist/cli/privy.js +230 -0
- package/dist/cli/privy.js.map +1 -0
- package/dist/cli/spend-policy.d.ts +60 -0
- package/dist/cli/spend-policy.d.ts.map +1 -0
- package/dist/cli/spend-policy.js +65 -0
- package/dist/cli/spend-policy.js.map +1 -0
- package/dist/cli/wallet.d.ts +108 -39
- package/dist/cli/wallet.d.ts.map +1 -1
- package/dist/cli/wallet.js +108 -43
- package/dist/cli/wallet.js.map +1 -1
- package/dist/gateway/caller-auth-gateway.d.ts +38 -3
- package/dist/gateway/caller-auth-gateway.d.ts.map +1 -1
- package/dist/gateway/caller-auth-gateway.js +25 -1
- package/dist/gateway/caller-auth-gateway.js.map +1 -1
- package/dist/gateway/http-server.d.ts +53 -0
- package/dist/gateway/http-server.d.ts.map +1 -1
- package/dist/gateway/http-server.js +189 -4
- package/dist/gateway/http-server.js.map +1 -1
- package/dist/gateway/x402-mode.d.ts +123 -0
- package/dist/gateway/x402-mode.d.ts.map +1 -0
- package/dist/gateway/x402-mode.js +212 -0
- package/dist/gateway/x402-mode.js.map +1 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/mandates/env.d.ts +3 -2
- package/dist/mandates/env.d.ts.map +1 -1
- package/dist/mandates/env.js +3 -2
- package/dist/mandates/env.js.map +1 -1
- package/dist/mcp/server.d.ts +49 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +513 -24
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/service-invoker.d.ts +97 -0
- package/dist/mcp/service-invoker.d.ts.map +1 -0
- package/dist/mcp/service-invoker.js +167 -0
- package/dist/mcp/service-invoker.js.map +1 -0
- package/dist/sdk/invoke.d.ts +19 -4
- package/dist/sdk/invoke.d.ts.map +1 -1
- package/dist/sdk/invoke.js +69 -5
- package/dist/sdk/invoke.js.map +1 -1
- package/dist/x402/delivery-oracle.d.ts +108 -0
- package/dist/x402/delivery-oracle.d.ts.map +1 -0
- package/dist/x402/delivery-oracle.js +174 -0
- package/dist/x402/delivery-oracle.js.map +1 -0
- package/dist/x402/facilitator-server-entry.d.ts +3 -0
- package/dist/x402/facilitator-server-entry.d.ts.map +1 -0
- package/dist/x402/facilitator-server-entry.js +27 -0
- package/dist/x402/facilitator-server-entry.js.map +1 -0
- package/dist/x402/facilitator-server.d.ts +73 -0
- package/dist/x402/facilitator-server.d.ts.map +1 -0
- package/dist/x402/facilitator-server.js +305 -0
- package/dist/x402/facilitator-server.js.map +1 -0
- package/dist/x402/facilitator.d.ts +69 -17
- package/dist/x402/facilitator.d.ts.map +1 -1
- package/dist/x402/facilitator.js +76 -33
- package/dist/x402/facilitator.js.map +1 -1
- package/dist/x402/payment-requirements.d.ts +106 -0
- package/dist/x402/payment-requirements.d.ts.map +1 -0
- package/dist/x402/payment-requirements.js +138 -0
- package/dist/x402/payment-requirements.js.map +1 -0
- package/dist/x402/relayer.d.ts +41 -0
- package/dist/x402/relayer.d.ts.map +1 -0
- package/dist/x402/relayer.js +64 -0
- package/dist/x402/relayer.js.map +1 -0
- package/dist/x402/resource-index.d.ts +75 -0
- package/dist/x402/resource-index.d.ts.map +1 -0
- package/dist/x402/resource-index.js +126 -0
- package/dist/x402/resource-index.js.map +1 -0
- package/dist/x402/verified-delivery-facilitator.d.ts +285 -0
- package/dist/x402/verified-delivery-facilitator.d.ts.map +1 -0
- package/dist/x402/verified-delivery-facilitator.js +423 -0
- package/dist/x402/verified-delivery-facilitator.js.map +1 -0
- package/dist/zktls/t2-delivery-proof.d.ts +6 -6
- package/docs/agent-layer.md +12 -8
- package/docs/cli.md +158 -22
- package/docs/mcp-hosted.md +4 -3
- package/docs/mcp-reference.md +175 -0
- package/docs/quickstart.md +18 -4
- package/docs/threat-model.md +4 -3
- package/docs/x402.md +648 -0
- package/package.json +18 -7
- package/src/capability/invocation-capability.ts +17 -1
- package/src/cli/commands/claim.ts +30 -4
- package/src/cli/commands/close.ts +20 -4
- package/src/cli/commands/invoke.ts +1 -0
- package/src/cli/commands/open.ts +76 -10
- package/src/cli/commands/reclaim-unverified.ts +16 -4
- package/src/cli/commands/reclaim.ts +22 -5
- package/src/cli/commands/streams.ts +1 -1
- package/src/cli/deps.ts +115 -24
- package/src/cli/privy.ts +396 -0
- package/src/cli/spend-policy.ts +139 -0
- package/src/cli/wallet.ts +188 -57
- package/src/gateway/caller-auth-gateway.ts +77 -6
- package/src/gateway/http-server.ts +280 -6
- package/src/gateway/x402-mode.ts +350 -0
- package/src/index.ts +40 -5
- package/src/mandates/env.ts +3 -2
- package/src/mcp/server.ts +681 -29
- package/src/mcp/service-invoker.ts +285 -0
- package/src/sdk/invoke.ts +90 -12
- package/src/x402/delivery-oracle.ts +285 -0
- package/src/x402/facilitator-server-entry.ts +35 -0
- package/src/x402/facilitator-server.ts +445 -0
- package/src/x402/facilitator.ts +125 -46
- package/src/x402/payment-requirements.ts +231 -0
- package/src/x402/relayer.ts +122 -0
- package/src/x402/resource-index.ts +228 -0
- package/src/x402/verified-delivery-facilitator.ts +744 -0
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { RegistryUnavailableError, type DiscoverServicesOptions, type ServiceListing } from "../discovery/registry.js";
|
|
2
|
+
import { invoke as defaultInvoke, type InvokeStreamReader } from "../sdk/invoke.js";
|
|
3
|
+
import type { HttpMethod, InvocationCapabilityDomainInput, InvocationCapabilitySigner } from "../capability/invocation-capability.js";
|
|
4
|
+
/**
|
|
5
|
+
* The "use" half of the MCP tool surface.
|
|
6
|
+
*
|
|
7
|
+
* The MCP server could open a stream and settle it but could not CALL the
|
|
8
|
+
* service the stream paid for — an agent that hired an endpoint through this
|
|
9
|
+
* server had no way to reach it, which made every other tool a payment rail
|
|
10
|
+
* with no product on the other end. This module is the same path
|
|
11
|
+
* `metrik invoke` takes (`../cli/commands/invoke.ts`): resolve the stream's
|
|
12
|
+
* VERIFIED listing, sign a single-use `InvocationCapability` as the stream's
|
|
13
|
+
* buyer, and call the operator's gateway-fronted origin.
|
|
14
|
+
*
|
|
15
|
+
* It moves no funds and signs no transaction. Billing is a function of elapsed
|
|
16
|
+
* verified time, not of calls (see {@link METERING_MODEL} in `./server.ts`), so
|
|
17
|
+
* an invocation is authorized by the stream alone and is deliberately NOT
|
|
18
|
+
* gated by the spend mandate — there is no spend to bound.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Cap on the response body handed back to the MCP caller.
|
|
22
|
+
*
|
|
23
|
+
* An MCP tool result is pasted into a model's context. A seller can return a
|
|
24
|
+
* body of any size, and an unbounded one would blow the context (or the host's
|
|
25
|
+
* message limit) on a single call. Truncation is reported explicitly rather
|
|
26
|
+
* than silently, so an agent can tell a short answer from a clipped one.
|
|
27
|
+
*/
|
|
28
|
+
export declare const MAX_INVOCATION_RESPONSE_BYTES: number;
|
|
29
|
+
/** Raised when no verified listing in the registry matches the stream's `serviceRef`. */
|
|
30
|
+
export declare class ServiceListingNotFoundError extends Error {
|
|
31
|
+
readonly serviceRef: `0x${string}`;
|
|
32
|
+
constructor(serviceRef: `0x${string}`);
|
|
33
|
+
}
|
|
34
|
+
export interface ServiceInvocationRequest {
|
|
35
|
+
readonly streamId: `0x${string}`;
|
|
36
|
+
readonly method: HttpMethod;
|
|
37
|
+
/** Origin-relative path, e.g. `/price?symbol=BTC`. */
|
|
38
|
+
readonly path: string;
|
|
39
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
40
|
+
readonly body?: string;
|
|
41
|
+
readonly ttlSeconds?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface ServiceInvocationResult {
|
|
44
|
+
readonly streamId: `0x${string}`;
|
|
45
|
+
readonly method: HttpMethod;
|
|
46
|
+
readonly path: string;
|
|
47
|
+
readonly status: number;
|
|
48
|
+
readonly ok: boolean;
|
|
49
|
+
readonly headers: Record<string, string>;
|
|
50
|
+
readonly body: string;
|
|
51
|
+
readonly bodyTruncated: boolean;
|
|
52
|
+
/** The single-use capability this call was authorized by. */
|
|
53
|
+
readonly capability: {
|
|
54
|
+
readonly nonce: `0x${string}`;
|
|
55
|
+
readonly expiry: number;
|
|
56
|
+
};
|
|
57
|
+
readonly routing: {
|
|
58
|
+
readonly serviceRef: `0x${string}`;
|
|
59
|
+
readonly operator: `0x${string}`;
|
|
60
|
+
readonly access: "public" | "gated";
|
|
61
|
+
/** The signed origin the call went to — never an unsigned caller-supplied URL. */
|
|
62
|
+
readonly origin: string;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* The caller-auth gateway's machine-readable rejection reason when it refused
|
|
66
|
+
* the capability, or `null`. Distinguishes "the seller's app returned 403"
|
|
67
|
+
* from "the gateway would not let the call through, and here is why".
|
|
68
|
+
*/
|
|
69
|
+
readonly gatewayDenialReason: string | null;
|
|
70
|
+
}
|
|
71
|
+
export interface ServiceInvoker {
|
|
72
|
+
invokeService(request: ServiceInvocationRequest): Promise<ServiceInvocationResult>;
|
|
73
|
+
}
|
|
74
|
+
/** Discovery driver — same shape as the server's, kept local to avoid an import cycle. */
|
|
75
|
+
type DiscoverServicesFn = (opts?: DiscoverServicesOptions) => Promise<ServiceListing[]>;
|
|
76
|
+
export interface CreateServiceInvokerOptions {
|
|
77
|
+
/** Reads the stream's buyer/serviceRef/status/expiry. */
|
|
78
|
+
readonly streamReader: InvokeStreamReader;
|
|
79
|
+
/** The server's own wallet. Must BE the stream's buyer or the call fails closed. */
|
|
80
|
+
readonly buyer: InvocationCapabilitySigner;
|
|
81
|
+
/** `{chainId, verifyingContract}` of the escrow the stream settles on. */
|
|
82
|
+
readonly domain: InvocationCapabilityDomainInput;
|
|
83
|
+
readonly discoverServices: DiscoverServicesFn;
|
|
84
|
+
/** Registry read options (URL/apikey). Passed through to discovery. */
|
|
85
|
+
readonly discoverOptions?: DiscoverServicesOptions;
|
|
86
|
+
/**
|
|
87
|
+
* Clock for the capability's expiry and the stream's liveness check.
|
|
88
|
+
* Defaults to the wall clock; injectable so a test can pin it.
|
|
89
|
+
*/
|
|
90
|
+
readonly now?: () => number;
|
|
91
|
+
/** Injectable for tests. Defaults to the real `invoke()`. */
|
|
92
|
+
readonly invokeImpl?: typeof defaultInvoke;
|
|
93
|
+
readonly maxResponseBytes?: number;
|
|
94
|
+
}
|
|
95
|
+
export declare function createServiceInvoker(options: CreateServiceInvokerOptions): ServiceInvoker;
|
|
96
|
+
export { RegistryUnavailableError };
|
|
97
|
+
//# sourceMappingURL=service-invoker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-invoker.d.ts","sourceRoot":"","sources":["../../src/mcp/service-invoker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { RegistryUnavailableError, } from "../discovery/registry.js";
|
|
2
|
+
import { invoke as defaultInvoke, } from "../sdk/invoke.js";
|
|
3
|
+
/**
|
|
4
|
+
* The "use" half of the MCP tool surface.
|
|
5
|
+
*
|
|
6
|
+
* The MCP server could open a stream and settle it but could not CALL the
|
|
7
|
+
* service the stream paid for — an agent that hired an endpoint through this
|
|
8
|
+
* server had no way to reach it, which made every other tool a payment rail
|
|
9
|
+
* with no product on the other end. This module is the same path
|
|
10
|
+
* `metrik invoke` takes (`../cli/commands/invoke.ts`): resolve the stream's
|
|
11
|
+
* VERIFIED listing, sign a single-use `InvocationCapability` as the stream's
|
|
12
|
+
* buyer, and call the operator's gateway-fronted origin.
|
|
13
|
+
*
|
|
14
|
+
* It moves no funds and signs no transaction. Billing is a function of elapsed
|
|
15
|
+
* verified time, not of calls (see {@link METERING_MODEL} in `./server.ts`), so
|
|
16
|
+
* an invocation is authorized by the stream alone and is deliberately NOT
|
|
17
|
+
* gated by the spend mandate — there is no spend to bound.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Cap on the response body handed back to the MCP caller.
|
|
21
|
+
*
|
|
22
|
+
* An MCP tool result is pasted into a model's context. A seller can return a
|
|
23
|
+
* body of any size, and an unbounded one would blow the context (or the host's
|
|
24
|
+
* message limit) on a single call. Truncation is reported explicitly rather
|
|
25
|
+
* than silently, so an agent can tell a short answer from a clipped one.
|
|
26
|
+
*/
|
|
27
|
+
export const MAX_INVOCATION_RESPONSE_BYTES = 64 * 1024;
|
|
28
|
+
/** Raised when no verified listing in the registry matches the stream's `serviceRef`. */
|
|
29
|
+
export class ServiceListingNotFoundError extends Error {
|
|
30
|
+
serviceRef;
|
|
31
|
+
constructor(serviceRef) {
|
|
32
|
+
super(`no verified listing matches serviceRef ${serviceRef}`);
|
|
33
|
+
this.name = "ServiceListingNotFoundError";
|
|
34
|
+
this.serviceRef = serviceRef;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export function createServiceInvoker(options) {
|
|
38
|
+
const invokeImpl = options.invokeImpl ?? defaultInvoke;
|
|
39
|
+
const maxBytes = options.maxResponseBytes ?? MAX_INVOCATION_RESPONSE_BYTES;
|
|
40
|
+
return {
|
|
41
|
+
async invokeService(request) {
|
|
42
|
+
// ONE read, used twice. The listing lookup needs the stream's serviceRef
|
|
43
|
+
// and `invoke()` re-reads the stream to authorize the call; memoizing
|
|
44
|
+
// makes both decisions come from the SAME snapshot (no window where the
|
|
45
|
+
// listing is resolved from one state and the capability signed against
|
|
46
|
+
// another) and costs one RPC round trip instead of two.
|
|
47
|
+
const reader = memoizeStreamReader(options.streamReader);
|
|
48
|
+
const stream = await reader.getStreamV2(request.streamId);
|
|
49
|
+
const listing = await resolveVerifiedListing(stream.serviceRef, options);
|
|
50
|
+
const result = await invokeImpl(request.streamId, {
|
|
51
|
+
method: request.method,
|
|
52
|
+
path: request.path,
|
|
53
|
+
...(request.headers === undefined
|
|
54
|
+
? {}
|
|
55
|
+
: { headers: request.headers }),
|
|
56
|
+
...(request.body === undefined ? {} : { body: request.body }),
|
|
57
|
+
}, {
|
|
58
|
+
streamReader: reader,
|
|
59
|
+
buyer: options.buyer,
|
|
60
|
+
domain: options.domain,
|
|
61
|
+
listing,
|
|
62
|
+
...(request.ttlSeconds === undefined
|
|
63
|
+
? {}
|
|
64
|
+
: { ttlSeconds: request.ttlSeconds }),
|
|
65
|
+
...(options.now === undefined ? {} : { nowSeconds: options.now() }),
|
|
66
|
+
});
|
|
67
|
+
const raw = await result.response.text();
|
|
68
|
+
const truncated = Buffer.byteLength(raw, "utf8") > maxBytes;
|
|
69
|
+
const body = truncated
|
|
70
|
+
? Buffer.from(raw, "utf8").subarray(0, maxBytes).toString("utf8")
|
|
71
|
+
: raw;
|
|
72
|
+
return {
|
|
73
|
+
streamId: request.streamId,
|
|
74
|
+
method: request.method,
|
|
75
|
+
path: request.path,
|
|
76
|
+
status: result.response.status,
|
|
77
|
+
ok: result.response.ok,
|
|
78
|
+
headers: Object.fromEntries(result.response.headers.entries()),
|
|
79
|
+
body,
|
|
80
|
+
bodyTruncated: truncated,
|
|
81
|
+
capability: {
|
|
82
|
+
nonce: result.capability.nonce,
|
|
83
|
+
expiry: result.capability.expiry,
|
|
84
|
+
},
|
|
85
|
+
routing: {
|
|
86
|
+
serviceRef: listing.serviceRef,
|
|
87
|
+
operator: listing.operator,
|
|
88
|
+
access: listing.access,
|
|
89
|
+
origin: safeOrigin(listing.accessUrl),
|
|
90
|
+
},
|
|
91
|
+
gatewayDenialReason: readGatewayDenialReason(result.response.status, raw),
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Finds the operator-signed listing for a `serviceRef`.
|
|
98
|
+
*
|
|
99
|
+
* The registry is an untrusted transport: `discoverServices` re-derives every
|
|
100
|
+
* `serviceRef` from the signed record and recovers the operator's signature, so
|
|
101
|
+
* a compromised registry can neither invent an operator nor redirect an
|
|
102
|
+
* invocation to an origin its operator never signed. That verification is why
|
|
103
|
+
* this tool routes through discovery instead of accepting a caller-supplied URL
|
|
104
|
+
* — an LLM-chosen base URL is exactly the injection this design refuses.
|
|
105
|
+
*/
|
|
106
|
+
async function resolveVerifiedListing(serviceRef, options) {
|
|
107
|
+
const listings = await options.discoverServices(options.discoverOptions);
|
|
108
|
+
const wanted = serviceRef.toLowerCase();
|
|
109
|
+
const match = listings.find((listing) => listing.serviceRef.toLowerCase() === wanted);
|
|
110
|
+
if (match === undefined) {
|
|
111
|
+
throw new ServiceListingNotFoundError(serviceRef);
|
|
112
|
+
}
|
|
113
|
+
return match;
|
|
114
|
+
}
|
|
115
|
+
/** Wraps a reader so repeated reads of the SAME stream id reuse one result. */
|
|
116
|
+
function memoizeStreamReader(reader) {
|
|
117
|
+
const cache = new Map();
|
|
118
|
+
return {
|
|
119
|
+
getStreamV2(streamId) {
|
|
120
|
+
const key = streamId.toLowerCase();
|
|
121
|
+
const cached = cache.get(key);
|
|
122
|
+
if (cached !== undefined) {
|
|
123
|
+
return cached;
|
|
124
|
+
}
|
|
125
|
+
const pending = reader.getStreamV2(streamId);
|
|
126
|
+
cache.set(key, pending);
|
|
127
|
+
return pending;
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Extracts the caller-auth gateway's `reason` from a 402/403 body.
|
|
133
|
+
*
|
|
134
|
+
* The gateway answers a refused capability with
|
|
135
|
+
* `{"authorized":false,"reason":"<closed-set reason>"}`
|
|
136
|
+
* (`../gateway/http-server.ts`). Surfacing that verbatim turns "403" into
|
|
137
|
+
* something an agent can act on — `stream-expired` and `nonce-replayed` call
|
|
138
|
+
* for opposite responses.
|
|
139
|
+
*/
|
|
140
|
+
function readGatewayDenialReason(status, body) {
|
|
141
|
+
if (status !== 402 && status !== 403) {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
const parsed = JSON.parse(body);
|
|
146
|
+
if (typeof parsed === "object" &&
|
|
147
|
+
parsed !== null &&
|
|
148
|
+
parsed.authorized === false &&
|
|
149
|
+
typeof parsed.reason === "string") {
|
|
150
|
+
return parsed.reason;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
// Not the gateway's JSON shape — a plain upstream 403. Nothing to add.
|
|
155
|
+
}
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
function safeOrigin(url) {
|
|
159
|
+
try {
|
|
160
|
+
return new URL(url).origin;
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
return url;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
export { RegistryUnavailableError };
|
|
167
|
+
//# sourceMappingURL=service-invoker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-invoker.js","sourceRoot":"","sources":["../../src/mcp/service-invoker.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/invoke.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type DeliveryReceiptDomainInput } from "@absol-labs/shared";
|
|
|
2
2
|
import type { Address, Hex, LocalAccount } from "viem";
|
|
3
3
|
import type { ServiceListing } from "../discovery/registry.js";
|
|
4
4
|
import { type BuildT2DeliveryProofResult, type DeliveryProofAttestor, type PaidRouteRequestSpec } from "../zktls/t2-delivery-proof.js";
|
|
5
|
-
import { type HttpMethod, type InvocationCapabilityDomainInput, type SignedInvocationCapability } from "../capability/invocation-capability.js";
|
|
5
|
+
import { type HttpMethod, type InvocationCapabilitySigner, type InvocationCapabilityDomainInput, type SignedInvocationCapability } from "../capability/invocation-capability.js";
|
|
6
6
|
/**
|
|
7
7
|
* Buyer half of the pay -> use loop (metrik-agent#64, impl of #62 part 2/2).
|
|
8
8
|
*
|
|
@@ -43,10 +43,10 @@ export declare class InvokeAccessUrlError extends Error {
|
|
|
43
43
|
constructor(message: string);
|
|
44
44
|
}
|
|
45
45
|
export declare class InvokePathError extends Error {
|
|
46
|
-
constructor(
|
|
46
|
+
constructor(message: string);
|
|
47
47
|
}
|
|
48
48
|
export interface CapabilityForOptions {
|
|
49
|
-
readonly buyer:
|
|
49
|
+
readonly buyer: InvocationCapabilitySigner;
|
|
50
50
|
readonly domain: InvocationCapabilityDomainInput;
|
|
51
51
|
readonly serviceRef: Hex;
|
|
52
52
|
/** Default {@link DEFAULT_CAPABILITY_TTL_SECONDS}. */
|
|
@@ -74,7 +74,7 @@ export interface InvokeOptions {
|
|
|
74
74
|
/** Reads the stream's current serviceRef/operator/status/expiry. Real default: a `MetrikClient` instance. */
|
|
75
75
|
readonly streamReader: InvokeStreamReader;
|
|
76
76
|
/** The buyer's own wallet - signs the capability, never broadcasts a transaction. */
|
|
77
|
-
readonly buyer:
|
|
77
|
+
readonly buyer: InvocationCapabilitySigner;
|
|
78
78
|
/** `{chainId, verifyingContract}` - the `StreamEscrowV2` the stream settles on. */
|
|
79
79
|
readonly domain: InvocationCapabilityDomainInput;
|
|
80
80
|
/** Preferred: a cryptographically verified result from discoverServices(). */
|
|
@@ -133,4 +133,19 @@ export interface InvokeWithT2DeliveryProofResult {
|
|
|
133
133
|
* capability-gated at the gateway.
|
|
134
134
|
*/
|
|
135
135
|
export declare function invokeWithT2DeliveryProof(streamId: Hex, options: InvokeWithT2DeliveryProofOptions): Promise<InvokeWithT2DeliveryProofResult>;
|
|
136
|
+
/**
|
|
137
|
+
* Resolves `path` against the operator-signed base URL and PROVES the result
|
|
138
|
+
* did not leave it.
|
|
139
|
+
*
|
|
140
|
+
* Prefix checks on the raw path are not sufficient and never were: the URL
|
|
141
|
+
* parser decides where a string points, so the only trustworthy check is to
|
|
142
|
+
* resolve first and then compare what came out. `/\evil.com/x` and
|
|
143
|
+
* `/a/../../b` both look origin-relative and both leave the signed base.
|
|
144
|
+
*
|
|
145
|
+
* What escaping would cost, concretely: the buyer's signed EIP-712 capability
|
|
146
|
+
* is handed to an attacker-controlled host, the attacker's response is
|
|
147
|
+
* returned to the caller as if it were the paid service's answer, and the
|
|
148
|
+
* MCP host's own network becomes reachable from a tool argument.
|
|
149
|
+
*/
|
|
150
|
+
export declare function resolveInvocationUrl(serviceBaseUrl: string, path: string): string;
|
|
136
151
|
//# sourceMappingURL=invoke.d.ts.map
|
package/dist/sdk/invoke.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../src/sdk/invoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,0BAA0B,EAChC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAML,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../src/sdk/invoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,0BAA0B,EAChC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAML,KAAK,UAAU,EACf,KAAK,0BAA0B,EAE/B,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAEhC,MAAM,wCAAwC,CAAC;AAEhD;;;;;;;GAOG;AAEH,kHAAkH;AAClH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACvD;AAED,6FAA6F;AAC7F,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,kBAAkB,CAiBrB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;CAI1C;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;CAI7C;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;CAMjE;AAED,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;CAM5C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,oCAAoC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IACrB,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC/D,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,0BAA0B,CAAC,CAiBrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,aAAa;IAC5B,6GAA6G;IAC7G,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAC;IACjD,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAmDvB;AAID,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,EAAE,0BAA0B,CAAC;CACzC;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,+BAA+B,CAAC,CA6E1C;AA4ID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GACX,MAAM,CAqCR"}
|
package/dist/sdk/invoke.js
CHANGED
|
@@ -52,8 +52,8 @@ export class InvokeAccessUrlError extends Error {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
export class InvokePathError extends Error {
|
|
55
|
-
constructor(
|
|
56
|
-
super(
|
|
55
|
+
constructor(message) {
|
|
56
|
+
super(message);
|
|
57
57
|
this.name = "InvokePathError";
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -95,6 +95,10 @@ export async function invoke(streamId, request, options) {
|
|
|
95
95
|
throw new InvokeStreamExpiredError(streamId, stream.expiresAt);
|
|
96
96
|
}
|
|
97
97
|
const serviceBaseUrl = await resolveInvocationBaseUrl(stream.serviceRef, options);
|
|
98
|
+
// Resolve BEFORE signing. A path that escapes the signed base must never
|
|
99
|
+
// cause a buyer-signed capability to exist at all, let alone be sent
|
|
100
|
+
// somewhere the operator did not sign.
|
|
101
|
+
const url = resolveInvocationUrl(serviceBaseUrl, request.path);
|
|
98
102
|
const capability = await capabilityFor(streamId, request, {
|
|
99
103
|
buyer: options.buyer,
|
|
100
104
|
domain: options.domain,
|
|
@@ -106,7 +110,6 @@ export async function invoke(streamId, request, options) {
|
|
|
106
110
|
nowSeconds,
|
|
107
111
|
});
|
|
108
112
|
const header = encodeCapabilityHeader(capability);
|
|
109
|
-
const url = new URL(request.path, ensureTrailingSlash(serviceBaseUrl)).toString();
|
|
110
113
|
const fetchImpl = options.fetchImpl ?? fetch;
|
|
111
114
|
const response = await fetchImpl(url, {
|
|
112
115
|
method: request.method,
|
|
@@ -263,10 +266,71 @@ function requireHttpUrl(value, label) {
|
|
|
263
266
|
}
|
|
264
267
|
return parsed.toString();
|
|
265
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Characters that must never appear in an invocation path.
|
|
271
|
+
*
|
|
272
|
+
* The backslash is the important one. The WHATWG URL parser treats `\` as `/`
|
|
273
|
+
* for special schemes, so `/\evil.com/x` resolved against `https://good/`
|
|
274
|
+
* yields `https://evil.com/x` — a prefix check for `//` does not see it. C0
|
|
275
|
+
* controls and DEL are rejected alongside it because a header- or log-splitting
|
|
276
|
+
* character has no business in a path either.
|
|
277
|
+
*/
|
|
278
|
+
const FORBIDDEN_PATH_CHARACTERS = /[\\\u0000-\u001f\u007f]/;
|
|
266
279
|
function assertOriginRelativePath(path) {
|
|
267
|
-
if (!path.startsWith("/") || path.startsWith("//")
|
|
268
|
-
throw new InvokePathError(path);
|
|
280
|
+
if (!path.startsWith("/") || path.startsWith("//")) {
|
|
281
|
+
throw new InvokePathError(`invocation path must be origin-relative and start with one slash: ${JSON.stringify(path)}`);
|
|
282
|
+
}
|
|
283
|
+
if (path.includes("#")) {
|
|
284
|
+
throw new InvokePathError(`invocation path must not contain a fragment: ${JSON.stringify(path)}`);
|
|
285
|
+
}
|
|
286
|
+
if (FORBIDDEN_PATH_CHARACTERS.test(path)) {
|
|
287
|
+
throw new InvokePathError(`invocation path must not contain a backslash or a control character: ${JSON.stringify(path)}`);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Resolves `path` against the operator-signed base URL and PROVES the result
|
|
292
|
+
* did not leave it.
|
|
293
|
+
*
|
|
294
|
+
* Prefix checks on the raw path are not sufficient and never were: the URL
|
|
295
|
+
* parser decides where a string points, so the only trustworthy check is to
|
|
296
|
+
* resolve first and then compare what came out. `/\evil.com/x` and
|
|
297
|
+
* `/a/../../b` both look origin-relative and both leave the signed base.
|
|
298
|
+
*
|
|
299
|
+
* What escaping would cost, concretely: the buyer's signed EIP-712 capability
|
|
300
|
+
* is handed to an attacker-controlled host, the attacker's response is
|
|
301
|
+
* returned to the caller as if it were the paid service's answer, and the
|
|
302
|
+
* MCP host's own network becomes reachable from a tool argument.
|
|
303
|
+
*/
|
|
304
|
+
export function resolveInvocationUrl(serviceBaseUrl, path) {
|
|
305
|
+
assertOriginRelativePath(path);
|
|
306
|
+
const base = new URL(ensureTrailingSlash(serviceBaseUrl));
|
|
307
|
+
let resolved;
|
|
308
|
+
try {
|
|
309
|
+
resolved = new URL(path, base);
|
|
310
|
+
}
|
|
311
|
+
catch {
|
|
312
|
+
throw new InvokePathError(`invocation path does not resolve against the signed service URL: ${JSON.stringify(path)}`);
|
|
313
|
+
}
|
|
314
|
+
if (resolved.origin !== base.origin || resolved.origin === "null") {
|
|
315
|
+
throw new InvokePathError(`invocation path resolves to ${resolved.origin}, which is not the operator-signed origin ${base.origin}`);
|
|
316
|
+
}
|
|
317
|
+
if (resolved.username !== "" || resolved.password !== "") {
|
|
318
|
+
throw new InvokePathError("invocation path must not carry credentials in the resolved URL");
|
|
319
|
+
}
|
|
320
|
+
// `base.pathname` always ends in `/` (ensureTrailingSlash), so a prefix match
|
|
321
|
+
// on the RESOLVED pathname is a true containment check — `..` segments have
|
|
322
|
+
// already been collapsed by the parser.
|
|
323
|
+
//
|
|
324
|
+
// An absolute-path reference replaces the whole path, so this ALSO rejects a
|
|
325
|
+
// signed base URL carrying a sub-path (`https://host/base/`). That is
|
|
326
|
+
// deliberate: the previous behaviour silently discarded the operator's signed
|
|
327
|
+
// `/base/` and called the origin root instead — an origin path the operator
|
|
328
|
+
// never signed, and one the gateway's own pathHash check could not match.
|
|
329
|
+
// Refusing says so instead of quietly calling the wrong place.
|
|
330
|
+
if (!resolved.pathname.startsWith(base.pathname)) {
|
|
331
|
+
throw new InvokePathError(`invocation path ${JSON.stringify(path)} resolves to ${resolved.pathname}, which is outside the operator-signed base path ${base.pathname}. An origin-relative path replaces the whole path, so a signed base URL with a sub-path cannot be addressed this way.`);
|
|
269
332
|
}
|
|
333
|
+
return resolved.toString();
|
|
270
334
|
}
|
|
271
335
|
function ensureTrailingSlash(value) {
|
|
272
336
|
return value.endsWith("/") ? value : `${value}/`;
|