@absol-labs/agent 0.11.0 → 0.12.0-rc.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/README.md +43 -51
- package/dist/capability/invocation-capability.d.ts +2 -2
- package/dist/capability/probe-capability.d.ts +225 -0
- package/dist/capability/probe-capability.d.ts.map +1 -0
- package/dist/capability/probe-capability.js +248 -0
- package/dist/capability/probe-capability.js.map +1 -0
- package/dist/cli/args.d.ts +11 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +23 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/claim.d.ts +32 -0
- package/dist/cli/commands/claim.d.ts.map +1 -1
- package/dist/cli/commands/claim.js +116 -28
- 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 +35 -3
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/invoke.d.ts +2 -0
- package/dist/cli/commands/invoke.d.ts.map +1 -1
- package/dist/cli/commands/invoke.js +2 -2
- package/dist/cli/commands/invoke.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +15 -2
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/open.d.ts.map +1 -1
- package/dist/cli/commands/open.js +58 -4
- package/dist/cli/commands/open.js.map +1 -1
- package/dist/cli/commands/pay.d.ts +34 -0
- package/dist/cli/commands/pay.d.ts.map +1 -0
- package/dist/cli/commands/pay.js +479 -0
- package/dist/cli/commands/pay.js.map +1 -0
- package/dist/cli/commands/reclaim-unverified.d.ts.map +1 -1
- package/dist/cli/commands/reclaim-unverified.js +3 -2
- package/dist/cli/commands/reclaim-unverified.js.map +1 -1
- package/dist/cli/commands/reclaim.d.ts +23 -2
- package/dist/cli/commands/reclaim.d.ts.map +1 -1
- package/dist/cli/commands/reclaim.js +204 -20
- package/dist/cli/commands/reclaim.js.map +1 -1
- package/dist/cli/commands/refund.d.ts +31 -0
- package/dist/cli/commands/refund.d.ts.map +1 -0
- package/dist/cli/commands/refund.js +397 -0
- package/dist/cli/commands/refund.js.map +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +21 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/streams.js +8 -12
- package/dist/cli/commands/streams.js.map +1 -1
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +4 -1
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/config.d.ts +44 -26
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +88 -38
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/context.d.ts +19 -0
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/deps.d.ts +53 -0
- package/dist/cli/deps.d.ts.map +1 -1
- package/dist/cli/deps.js +51 -1
- package/dist/cli/deps.js.map +1 -1
- package/dist/cli/errors.d.ts.map +1 -1
- package/dist/cli/errors.js +21 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/escape-hatch.d.ts +6 -4
- package/dist/cli/escape-hatch.d.ts.map +1 -1
- package/dist/cli/escape-hatch.js +6 -2
- package/dist/cli/escape-hatch.js.map +1 -1
- package/dist/cli/listings.d.ts +18 -0
- package/dist/cli/listings.d.ts.map +1 -1
- package/dist/cli/listings.js +22 -12
- package/dist/cli/listings.js.map +1 -1
- package/dist/cli/preflight.d.ts +20 -14
- package/dist/cli/preflight.d.ts.map +1 -1
- package/dist/cli/preflight.js +34 -20
- package/dist/cli/preflight.js.map +1 -1
- package/dist/cli/privy.d.ts.map +1 -1
- package/dist/cli/privy.js +4 -2
- package/dist/cli/privy.js.map +1 -1
- package/dist/cli/progress.d.ts +13 -1
- package/dist/cli/progress.d.ts.map +1 -1
- package/dist/cli/progress.js +7 -1
- package/dist/cli/progress.js.map +1 -1
- package/dist/cli/reclaimability.d.ts +82 -0
- package/dist/cli/reclaimability.d.ts.map +1 -0
- package/dist/cli/reclaimability.js +80 -0
- package/dist/cli/reclaimability.js.map +1 -0
- package/dist/cli/run.d.ts +2 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +62 -21
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/scan-range.d.ts +2 -2
- package/dist/cli/scan-range.js +2 -2
- package/dist/cli/status.d.ts +106 -1
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +325 -44
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/wallet.d.ts +2 -2
- package/dist/cli/wallet.d.ts.map +1 -1
- package/dist/cli/wallet.js +29 -5
- package/dist/cli/wallet.js.map +1 -1
- package/dist/discovery/rate-band.d.ts +74 -0
- package/dist/discovery/rate-band.d.ts.map +1 -0
- package/dist/discovery/rate-band.js +114 -0
- package/dist/discovery/rate-band.js.map +1 -0
- package/dist/escrow-generation.d.ts +81 -0
- package/dist/escrow-generation.d.ts.map +1 -0
- package/dist/escrow-generation.js +76 -0
- package/dist/escrow-generation.js.map +1 -0
- package/dist/frameworks/agentkit.d.ts +8 -4
- package/dist/frameworks/agentkit.d.ts.map +1 -1
- package/dist/frameworks/agentkit.js +27 -10
- package/dist/frameworks/agentkit.js.map +1 -1
- package/dist/frameworks/eliza.d.ts +3 -3
- package/dist/frameworks/eliza.d.ts.map +1 -1
- package/dist/frameworks/eliza.js +15 -6
- package/dist/frameworks/eliza.js.map +1 -1
- package/dist/frameworks/langchain.d.ts.map +1 -1
- package/dist/frameworks/langchain.js +8 -0
- package/dist/frameworks/langchain.js.map +1 -1
- package/dist/gateway/caller-auth-gateway.d.ts +83 -31
- package/dist/gateway/caller-auth-gateway.d.ts.map +1 -1
- package/dist/gateway/caller-auth-gateway.js +180 -27
- package/dist/gateway/caller-auth-gateway.js.map +1 -1
- package/dist/gateway/http-server.d.ts +128 -44
- package/dist/gateway/http-server.d.ts.map +1 -1
- package/dist/gateway/http-server.js +506 -155
- package/dist/gateway/http-server.js.map +1 -1
- package/dist/gateway/probe-auth.d.ts +112 -0
- package/dist/gateway/probe-auth.d.ts.map +1 -0
- package/dist/gateway/probe-auth.js +127 -0
- package/dist/gateway/probe-auth.js.map +1 -0
- package/dist/gateway/signed-rate-bounds.d.ts +51 -0
- package/dist/gateway/signed-rate-bounds.d.ts.map +1 -0
- package/dist/gateway/signed-rate-bounds.js +94 -0
- package/dist/gateway/signed-rate-bounds.js.map +1 -0
- package/dist/gateway/x402-opener-mode.d.ts +252 -0
- package/dist/gateway/x402-opener-mode.d.ts.map +1 -0
- package/dist/gateway/x402-opener-mode.js +772 -0
- package/dist/gateway/x402-opener-mode.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -5
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +64 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +247 -37
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/x402-tools.d.ts +109 -0
- package/dist/mcp/x402-tools.d.ts.map +1 -0
- package/dist/mcp/x402-tools.js +554 -0
- package/dist/mcp/x402-tools.js.map +1 -0
- package/dist/network.d.ts +119 -0
- package/dist/network.d.ts.map +1 -0
- package/dist/network.js +199 -0
- package/dist/network.js.map +1 -0
- package/dist/sdk/client.d.ts +13 -0
- package/dist/sdk/client.d.ts.map +1 -1
- package/dist/sdk/client.js +15 -0
- package/dist/sdk/client.js.map +1 -1
- package/dist/sdk/invoke.d.ts +4 -0
- package/dist/sdk/invoke.d.ts.map +1 -1
- package/dist/sdk/invoke.js +2 -5
- package/dist/sdk/invoke.js.map +1 -1
- package/dist/wallet/autonomous-wallet-broker.d.ts +3 -0
- package/dist/wallet/autonomous-wallet-broker.d.ts.map +1 -1
- package/dist/wallet/autonomous-wallet-broker.js +27 -23
- package/dist/wallet/autonomous-wallet-broker.js.map +1 -1
- package/dist/wallet/autonomous-wallet-protocol.d.ts +8 -2
- package/dist/wallet/autonomous-wallet-protocol.d.ts.map +1 -1
- package/dist/wallet/autonomous-wallet-protocol.js +9 -2
- package/dist/wallet/autonomous-wallet-protocol.js.map +1 -1
- package/dist/wallet/autonomous-wallet.d.ts.map +1 -1
- package/dist/wallet/autonomous-wallet.js +3 -2
- package/dist/wallet/autonomous-wallet.js.map +1 -1
- package/dist/wallet/broker-escrows.d.ts +222 -0
- package/dist/wallet/broker-escrows.d.ts.map +1 -0
- package/dist/wallet/broker-escrows.js +36 -0
- package/dist/wallet/broker-escrows.js.map +1 -0
- package/dist/wallet/lifecycle.d.ts +21 -5
- package/dist/wallet/lifecycle.d.ts.map +1 -1
- package/dist/wallet/lifecycle.js +32 -12
- package/dist/wallet/lifecycle.js.map +1 -1
- package/dist/wallet/privy-broker-server.d.ts.map +1 -1
- package/dist/wallet/privy-broker-server.js +31 -26
- package/dist/wallet/privy-broker-server.js.map +1 -1
- package/dist/wallet/privy-session-broker.d.ts +14 -5
- package/dist/wallet/privy-session-broker.d.ts.map +1 -1
- package/dist/wallet/privy-session-broker.js +29 -17
- package/dist/wallet/privy-session-broker.js.map +1 -1
- package/dist/wallet/privy-session-provider.d.ts +3 -1
- package/dist/wallet/privy-session-provider.d.ts.map +1 -1
- package/dist/wallet/privy-session-provider.js +5 -3
- package/dist/wallet/privy-session-provider.js.map +1 -1
- package/dist/wallet/provider.d.ts.map +1 -1
- package/dist/wallet/provider.js +15 -8
- package/dist/wallet/provider.js.map +1 -1
- package/dist/x402/facilitator.d.ts +3 -30
- package/dist/x402/facilitator.d.ts.map +1 -1
- package/dist/x402/facilitator.js +0 -27
- package/dist/x402/facilitator.js.map +1 -1
- package/dist/x402-buyer/guarded-fetch.d.ts +51 -0
- package/dist/x402-buyer/guarded-fetch.d.ts.map +1 -0
- package/dist/x402-buyer/guarded-fetch.js +147 -0
- package/dist/x402-buyer/guarded-fetch.js.map +1 -0
- package/dist/x402-buyer/index.d.ts +10 -0
- package/dist/x402-buyer/index.d.ts.map +1 -0
- package/dist/x402-buyer/index.js +10 -0
- package/dist/x402-buyer/index.js.map +1 -0
- package/dist/x402-buyer/pay.d.ts +157 -0
- package/dist/x402-buyer/pay.d.ts.map +1 -0
- package/dist/x402-buyer/pay.js +366 -0
- package/dist/x402-buyer/pay.js.map +1 -0
- package/dist/x402-opener/abi.d.ts +684 -0
- package/dist/x402-opener/abi.d.ts.map +1 -0
- package/dist/x402-opener/abi.js +880 -0
- package/dist/x402-opener/abi.js.map +1 -0
- package/dist/x402-opener/facilitator-entry.d.ts +3 -0
- package/dist/x402-opener/facilitator-entry.d.ts.map +1 -0
- package/dist/x402-opener/facilitator-entry.js +40 -0
- package/dist/x402-opener/facilitator-entry.js.map +1 -0
- package/dist/x402-opener/facilitator-server.d.ts +209 -0
- package/dist/x402-opener/facilitator-server.d.ts.map +1 -0
- package/dist/x402-opener/facilitator-server.js +762 -0
- package/dist/x402-opener/facilitator-server.js.map +1 -0
- package/dist/x402-opener/index.d.ts +14 -0
- package/dist/x402-opener/index.d.ts.map +1 -0
- package/dist/x402-opener/index.js +14 -0
- package/dist/x402-opener/index.js.map +1 -0
- package/dist/x402-opener/listing-resolver.d.ts +55 -0
- package/dist/x402-opener/listing-resolver.d.ts.map +1 -0
- package/dist/x402-opener/listing-resolver.js +125 -0
- package/dist/x402-opener/listing-resolver.js.map +1 -0
- package/dist/x402-opener/refund-relay.d.ts +266 -0
- package/dist/x402-opener/refund-relay.d.ts.map +1 -0
- package/dist/x402-opener/refund-relay.js +1341 -0
- package/dist/x402-opener/refund-relay.js.map +1 -0
- package/dist/x402-opener/relayer-queue.d.ts +14 -0
- package/dist/x402-opener/relayer-queue.d.ts.map +1 -0
- package/dist/x402-opener/relayer-queue.js +18 -0
- package/dist/x402-opener/relayer-queue.js.map +1 -0
- package/dist/x402-opener/scheme.d.ts +296 -0
- package/dist/x402-opener/scheme.d.ts.map +1 -0
- package/dist/x402-opener/scheme.js +1035 -0
- package/dist/x402-opener/scheme.js.map +1 -0
- package/dist/x402-opener/terms.d.ts +165 -0
- package/dist/x402-opener/terms.d.ts.map +1 -0
- package/dist/x402-opener/terms.js +304 -0
- package/dist/x402-opener/terms.js.map +1 -0
- package/dist/zktls/reclaim.d.ts +2 -2
- package/dist/zktls/t2-delivery-proof.d.ts +6 -6
- package/docs/agent-layer.md +3 -2
- package/docs/autonomous-privy-wallet.md +188 -0
- package/docs/cli.md +265 -34
- package/docs/langchain.md +5 -0
- package/docs/mcp-reference.md +91 -5
- package/docs/probe-capability.md +191 -0
- package/docs/quickstart.md +39 -4
- package/docs/threat-model.md +20 -0
- package/docs/x402.md +766 -593
- package/package.json +19 -17
- package/src/capability/probe-capability.ts +355 -0
- package/src/cli/args.ts +29 -0
- package/src/cli/commands/claim.ts +168 -33
- package/src/cli/commands/close.ts +36 -3
- package/src/cli/commands/invoke.ts +5 -2
- package/src/cli/commands/mcp.ts +18 -2
- package/src/cli/commands/open.ts +75 -4
- package/src/cli/commands/pay.ts +584 -0
- package/src/cli/commands/reclaim-unverified.ts +8 -2
- package/src/cli/commands/reclaim.ts +277 -19
- package/src/cli/commands/refund.ts +475 -0
- package/src/cli/commands/status.ts +28 -2
- package/src/cli/commands/streams.ts +10 -14
- package/src/cli/commands/watch.ts +11 -1
- package/src/cli/config.ts +139 -52
- package/src/cli/context.ts +16 -0
- package/src/cli/deps.ts +111 -1
- package/src/cli/errors.ts +24 -1
- package/src/cli/escape-hatch.ts +19 -5
- package/src/cli/listings.ts +43 -10
- package/src/cli/preflight.ts +36 -21
- package/src/cli/privy.ts +4 -2
- package/src/cli/progress.ts +21 -2
- package/src/cli/reclaimability.ts +154 -0
- package/src/cli/run.ts +77 -21
- package/src/cli/scan-range.ts +2 -2
- package/src/cli/status.ts +454 -44
- package/src/cli/wallet.ts +45 -8
- package/src/discovery/rate-band.ts +172 -0
- package/src/escrow-generation.ts +135 -0
- package/src/frameworks/agentkit.ts +45 -11
- package/src/frameworks/eliza.ts +27 -5
- package/src/frameworks/langchain.ts +14 -0
- package/src/gateway/caller-auth-gateway.ts +320 -68
- package/src/gateway/http-server.ts +717 -220
- package/src/gateway/probe-auth.ts +191 -0
- package/src/gateway/signed-rate-bounds.ts +164 -0
- package/src/gateway/x402-opener-mode.ts +1171 -0
- package/src/index.ts +82 -19
- package/src/mcp/server.ts +351 -42
- package/src/mcp/x402-tools.ts +785 -0
- package/src/network.ts +302 -0
- package/src/sdk/client.ts +25 -0
- package/src/sdk/invoke.ts +6 -5
- package/src/wallet/autonomous-wallet-broker.ts +46 -20
- package/src/wallet/autonomous-wallet-protocol.ts +11 -2
- package/src/wallet/autonomous-wallet.ts +4 -2
- package/src/wallet/broker-escrows.ts +66 -0
- package/src/wallet/lifecycle.ts +53 -18
- package/src/wallet/privy-broker-server.ts +35 -25
- package/src/wallet/privy-session-broker.ts +58 -25
- package/src/wallet/privy-session-provider.ts +7 -3
- package/src/wallet/provider.ts +20 -15
- package/src/x402/facilitator.ts +3 -43
- package/src/x402-buyer/guarded-fetch.ts +213 -0
- package/src/x402-buyer/index.ts +9 -0
- package/src/x402-buyer/pay.ts +555 -0
- package/src/x402-opener/abi.ts +881 -0
- package/src/x402-opener/facilitator-entry.ts +48 -0
- package/src/x402-opener/facilitator-server.ts +1114 -0
- package/src/x402-opener/index.ts +13 -0
- package/src/x402-opener/listing-resolver.ts +202 -0
- package/src/x402-opener/refund-relay.ts +1873 -0
- package/src/x402-opener/relayer-queue.ts +18 -0
- package/src/x402-opener/scheme.ts +1551 -0
- package/src/x402-opener/terms.ts +453 -0
- package/dist/gateway/x402-mode.d.ts +0 -123
- package/dist/gateway/x402-mode.d.ts.map +0 -1
- package/dist/gateway/x402-mode.js +0 -212
- package/dist/gateway/x402-mode.js.map +0 -1
- package/dist/x402/delivery-oracle.d.ts +0 -108
- package/dist/x402/delivery-oracle.d.ts.map +0 -1
- package/dist/x402/delivery-oracle.js +0 -174
- package/dist/x402/delivery-oracle.js.map +0 -1
- package/dist/x402/facilitator-server-entry.d.ts +0 -3
- package/dist/x402/facilitator-server-entry.d.ts.map +0 -1
- package/dist/x402/facilitator-server-entry.js +0 -27
- package/dist/x402/facilitator-server-entry.js.map +0 -1
- package/dist/x402/facilitator-server.d.ts +0 -73
- package/dist/x402/facilitator-server.d.ts.map +0 -1
- package/dist/x402/facilitator-server.js +0 -305
- package/dist/x402/facilitator-server.js.map +0 -1
- package/dist/x402/payment-requirements.d.ts +0 -106
- package/dist/x402/payment-requirements.d.ts.map +0 -1
- package/dist/x402/payment-requirements.js +0 -138
- package/dist/x402/payment-requirements.js.map +0 -1
- package/dist/x402/relayer.d.ts +0 -41
- package/dist/x402/relayer.d.ts.map +0 -1
- package/dist/x402/relayer.js +0 -64
- package/dist/x402/relayer.js.map +0 -1
- package/dist/x402/resource-index.d.ts +0 -75
- package/dist/x402/resource-index.d.ts.map +0 -1
- package/dist/x402/resource-index.js +0 -126
- package/dist/x402/resource-index.js.map +0 -1
- package/dist/x402/verified-delivery-facilitator.d.ts +0 -285
- package/dist/x402/verified-delivery-facilitator.d.ts.map +0 -1
- package/dist/x402/verified-delivery-facilitator.js +0 -423
- package/dist/x402/verified-delivery-facilitator.js.map +0 -1
- package/src/gateway/x402-mode.ts +0 -350
- package/src/x402/delivery-oracle.ts +0 -285
- package/src/x402/facilitator-server-entry.ts +0 -35
- package/src/x402/facilitator-server.ts +0 -445
- package/src/x402/payment-requirements.ts +0 -231
- package/src/x402/relayer.ts +0 -122
- package/src/x402/resource-index.ts +0 -228
- package/src/x402/verified-delivery-facilitator.ts +0 -744
package/dist/mcp/server.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { promises as fs } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { BASE_SEPOLIA_ESCROW_V2 } from "@absol-labs/sdk";
|
|
4
3
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
5
4
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
6
5
|
import { http, isAddress, isHex } from "viem";
|
|
7
|
-
import { baseSepolia } from "viem/chains";
|
|
8
6
|
import { z } from "zod";
|
|
9
7
|
import { discoverServices as defaultDiscoverServices, } from "../discovery/registry.js";
|
|
8
|
+
import { checkListedRateBand } from "../discovery/rate-band.js";
|
|
10
9
|
import { checkMandate } from "../mandates/mandate.js";
|
|
11
10
|
import { parseServerMandateCapsEnv, signServerMandate, ServerMandateConfigError, } from "../mandates/env.js";
|
|
12
11
|
import { isCheckpointStream, } from "../sdk/client.js";
|
|
@@ -15,6 +14,8 @@ import { createReclaimConsumerProofServiceFromEnv, } from "../zktls/reclaim.js";
|
|
|
15
14
|
import { CAPABILITY_HEADER_NAME, httpMethodSchema, } from "../capability/invocation-capability.js";
|
|
16
15
|
import { createSdkInvokeStreamReader, InvokeAccessUrlError, InvokeBuyerMismatchError, InvokePathError, InvokeServiceRefMismatchError, InvokeStreamExpiredError, InvokeStreamNotActiveError, } from "../sdk/invoke.js";
|
|
17
16
|
import { createServiceInvoker, RegistryUnavailableError, ServiceListingNotFoundError, } from "./service-invoker.js";
|
|
17
|
+
import { defaultNetwork, readOnlyMetrikClient, registeredDeployment, resolveAgentNetwork, } from "../network.js";
|
|
18
|
+
import { REFUND_STATUS_TOOL_DESCRIPTION, REFUND_TOOL_DESCRIPTION, X402_PAY_TOOL_DESCRIPTION, registerX402Tools, } from "./x402-tools.js";
|
|
18
19
|
/**
|
|
19
20
|
* MCP server for the agent lane.
|
|
20
21
|
*
|
|
@@ -132,18 +133,24 @@ const metrikAgentEnvSchema = z.object({
|
|
|
132
133
|
METRIK_AGENT_REGISTRY_URL: z.string().url().optional(),
|
|
133
134
|
METRIK_AGENT_REGISTRY_APIKEY: z.string().optional(),
|
|
134
135
|
METRIK_AGENT_ALLOW_UNVERIFIED_OPERATOR: z.string().optional(),
|
|
136
|
+
METRIK_AGENT_ALLOW_UNREGISTERED_ESCROW: z.string().optional(),
|
|
137
|
+
METRIK_NETWORK: z.string().optional(),
|
|
138
|
+
METRIK_AGENT_X402: z.string().optional(),
|
|
139
|
+
METRIK_AGENT_X402_ALLOWED_HOSTS: z.string().optional(),
|
|
135
140
|
});
|
|
136
141
|
/**
|
|
137
|
-
*
|
|
142
|
+
* Opt in to an escrow that is NOT the network's registered `StreamEscrowV2`.
|
|
138
143
|
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
* `METRIK_AGENT_ESCROW`
|
|
144
|
+
* Off by default, because a wrong escrow does not fail at read time: the
|
|
145
|
+
* retired V1 escrow's `getStream` returns a tuple that diverges from V2's from
|
|
146
|
+
* index 5 onward, so a V2 decoder pointed at it does not revert — it decodes
|
|
147
|
+
* other fields into correctly-named ones and reports a confident wrong answer
|
|
148
|
+
* about someone's money. This repository's own shipped docs pointed
|
|
149
|
+
* `METRIK_AGENT_ESCROW` at V1 as recently as 0.10.0. Requiring the escrow to be
|
|
150
|
+
* the one the SDK network registry records for the chain refuses V1 (and any
|
|
151
|
+
* other stray address) without naming it in code. Operator-set input only.
|
|
145
152
|
*/
|
|
146
|
-
const
|
|
153
|
+
export const ALLOW_UNREGISTERED_ESCROW_ENV = "METRIK_AGENT_ALLOW_UNREGISTERED_ESCROW";
|
|
147
154
|
/**
|
|
148
155
|
* Opt out of the operator/serviceRef cross-check on hire. Operator-set input
|
|
149
156
|
* only — an MCP caller can neither read nor set it.
|
|
@@ -197,6 +204,21 @@ export const METRIK_MCP_TOOLS = [
|
|
|
197
204
|
description: "Generate a buyer-side zkTLS proof of an HTTPS response from a stream's verified service origin. PUBLIC listings only: the proof is fetched by a third-party Reclaim attestor, which cannot present this stream's caller-auth capability, so a GATED listing answers the attestor with a 403 and the tool fails closed rather than proving a rejection. This is an L2 delivery signal (consumer zkTLS) and must be cross-checked with oracle/L1 evidence; it is not a substitute for it.",
|
|
198
205
|
movesFunds: false,
|
|
199
206
|
},
|
|
207
|
+
{
|
|
208
|
+
name: "x402_pay",
|
|
209
|
+
description: X402_PAY_TOOL_DESCRIPTION,
|
|
210
|
+
movesFunds: true,
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: "refund_status",
|
|
214
|
+
description: REFUND_STATUS_TOOL_DESCRIPTION,
|
|
215
|
+
movesFunds: false,
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
name: "refund",
|
|
219
|
+
description: REFUND_TOOL_DESCRIPTION,
|
|
220
|
+
movesFunds: true,
|
|
221
|
+
},
|
|
200
222
|
];
|
|
201
223
|
/** @deprecated Renamed to METRIK_MCP_TOOLS; retained for back-compat. */
|
|
202
224
|
export const STREAMPROOF_MCP_TOOLS = METRIK_MCP_TOOLS;
|
|
@@ -211,6 +233,9 @@ export class InMemoryStreamRegistry {
|
|
|
211
233
|
async list() {
|
|
212
234
|
return Array.from(this.records.values());
|
|
213
235
|
}
|
|
236
|
+
async delete(streamId) {
|
|
237
|
+
this.records.delete(streamId);
|
|
238
|
+
}
|
|
214
239
|
}
|
|
215
240
|
export class FileStreamRegistry {
|
|
216
241
|
filePath;
|
|
@@ -229,6 +254,11 @@ export class FileStreamRegistry {
|
|
|
229
254
|
async list() {
|
|
230
255
|
return Array.from((await this.readAll()).values());
|
|
231
256
|
}
|
|
257
|
+
async delete(streamId) {
|
|
258
|
+
const records = await this.readAll();
|
|
259
|
+
if (records.delete(streamId))
|
|
260
|
+
await this.writeAll(records);
|
|
261
|
+
}
|
|
232
262
|
async readAll() {
|
|
233
263
|
const contents = await fs.readFile(this.filePath, "utf8").catch((error) => {
|
|
234
264
|
if (error.code === "ENOENT") {
|
|
@@ -247,6 +277,11 @@ export class FileStreamRegistry {
|
|
|
247
277
|
maxDurationSeconds: z.number().int().positive(),
|
|
248
278
|
openedAtSeconds: z.number().int().nonnegative(),
|
|
249
279
|
mandateId: bytes32Schema,
|
|
280
|
+
refundUrl: z.string().url().optional(),
|
|
281
|
+
opener: addressSchema.optional(),
|
|
282
|
+
x402Reservation: z.boolean().optional(),
|
|
283
|
+
x402Charge: z.literal("upfront-only").optional(),
|
|
284
|
+
nonRefundableUsdc: decimalStringSchema.optional(),
|
|
250
285
|
}))
|
|
251
286
|
.parse(JSON.parse(contents));
|
|
252
287
|
return new Map(parsed.map((record) => [
|
|
@@ -261,6 +296,19 @@ export class FileStreamRegistry {
|
|
|
261
296
|
maxDurationSeconds: record.maxDurationSeconds,
|
|
262
297
|
openedAtSeconds: record.openedAtSeconds,
|
|
263
298
|
mandateId: record.mandateId,
|
|
299
|
+
...(record.refundUrl === undefined
|
|
300
|
+
? {}
|
|
301
|
+
: { refundUrl: record.refundUrl }),
|
|
302
|
+
...(record.opener === undefined
|
|
303
|
+
? {}
|
|
304
|
+
: { opener: record.opener }),
|
|
305
|
+
...(record.x402Reservation === true ? { x402Reservation: true } : {}),
|
|
306
|
+
...(record.x402Charge === undefined
|
|
307
|
+
? {}
|
|
308
|
+
: { x402Charge: record.x402Charge }),
|
|
309
|
+
...(record.nonRefundableUsdc === undefined
|
|
310
|
+
? {}
|
|
311
|
+
: { nonRefundableUsdc: BigInt(record.nonRefundableUsdc) }),
|
|
264
312
|
},
|
|
265
313
|
]));
|
|
266
314
|
}
|
|
@@ -270,6 +318,9 @@ export class FileStreamRegistry {
|
|
|
270
318
|
...record,
|
|
271
319
|
budgetUsdc: record.budgetUsdc.toString(),
|
|
272
320
|
ratePerSecondUsdc: record.ratePerSecondUsdc.toString(),
|
|
321
|
+
...(record.nonRefundableUsdc === undefined
|
|
322
|
+
? {}
|
|
323
|
+
: { nonRefundableUsdc: record.nonRefundableUsdc.toString() }),
|
|
273
324
|
})), null, 2));
|
|
274
325
|
}
|
|
275
326
|
}
|
|
@@ -445,6 +496,22 @@ export function createVerifiedStreamMcpServer(options) {
|
|
|
445
496
|
return errorResult(explainPairingRefusal(pairing, args.serviceRef, request.operator));
|
|
446
497
|
}
|
|
447
498
|
}
|
|
499
|
+
// Is the rate inside the band the operator SIGNED? The escrow accepts
|
|
500
|
+
// any non-zero rate, but the seller's capability gateway answers every
|
|
501
|
+
// request on an out-of-band stream with 403
|
|
502
|
+
// `stream-rate-out-of-bounds`, so such a hire escrows the buyer's USDC
|
|
503
|
+
// into a stream that can never be served. Checked against the verified
|
|
504
|
+
// listing the pairing check just resolved — no second registry read,
|
|
505
|
+
// and no tool argument can widen the band. A descriptor that does not
|
|
506
|
+
// verify is a refusal, never "no band". Only an unverified pairing
|
|
507
|
+
// (which already needed the operator-set override above) has no listing
|
|
508
|
+
// to check, and its success result says so.
|
|
509
|
+
if (pairing.verdict === "verified") {
|
|
510
|
+
const band = await checkListedRateBand(async () => [pairing.listing], args.serviceRef, request.ratePerSecondUsdc, "ratePerSecondUsdc");
|
|
511
|
+
if (!band.ok) {
|
|
512
|
+
return errorResult(`${band.message} Pick a ratePerSecondUsdc inside the band (discover_services reports it as ratePerSecondBand).`);
|
|
513
|
+
}
|
|
514
|
+
}
|
|
448
515
|
// Serialize per owner: the spent-so-far read, cap check, open, and
|
|
449
516
|
// registry write must be atomic, or concurrent hires could both pass
|
|
450
517
|
// the cumulative-cap check on stale spend and overshoot maxTotalUsdc.
|
|
@@ -488,7 +555,7 @@ export function createVerifiedStreamMcpServer(options) {
|
|
|
488
555
|
request.ratePerSecondUsdc * BigInt(request.maxDurationSeconds)
|
|
489
556
|
? request.budgetUsdc
|
|
490
557
|
: request.ratePerSecondUsdc * BigInt(request.maxDurationSeconds);
|
|
491
|
-
return successResult(`opened verified stream ${result.streamId} on chain ${result.handle.chainId}.${pairing.verdict === "verified" ? "" : ` WARNING: the operator/serviceRef pairing was NOT verified (${pairing.verdict}) and this server is configured to escrow anyway via ${ALLOW_UNVERIFIED_OPERATOR_ENV}. The operator is the wallet that gets paid and nothing proved it owns this service.`} The meter is running from now at ${request.ratePerSecondUsdc} USDC base units per VERIFIED second, whether or not you call the service. Call it with invoke_service; stop the meter with reclaim_unspent.`, {
|
|
558
|
+
return successResult(`opened verified stream ${result.streamId} on chain ${result.handle.chainId}.${pairing.verdict === "verified" ? "" : ` WARNING: the operator/serviceRef pairing was NOT verified (${pairing.verdict}) and this server is configured to escrow anyway via ${ALLOW_UNVERIFIED_OPERATOR_ENV}. The operator is the wallet that gets paid and nothing proved it owns this service, and the operator-signed rate band could not be checked either: if this rate is outside it, the service's gateway refuses every request while the deposit stays escrowed.`} The meter is running from now at ${request.ratePerSecondUsdc} USDC base units per VERIFIED second, whether or not you call the service. Call it with invoke_service; stop the meter with reclaim_unspent.`, {
|
|
492
559
|
streamId: result.streamId,
|
|
493
560
|
txHash: result.txHash,
|
|
494
561
|
approveTxHash: result.approveTxHash,
|
|
@@ -651,13 +718,25 @@ export function createVerifiedStreamMcpServer(options) {
|
|
|
651
718
|
try {
|
|
652
719
|
const records = await registry.list();
|
|
653
720
|
const entries = await Promise.all(records.map(async (record) => {
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
721
|
+
// A reservation key is not an escrow stream: report it as what it
|
|
722
|
+
// is instead of reading a stream that does not exist.
|
|
723
|
+
const status = record.x402Charge === "upfront-only"
|
|
724
|
+
? {
|
|
725
|
+
streamId: record.streamId,
|
|
726
|
+
x402Charge: "a settled x402 upfront-only charge: the whole price was a non-refundable per-call charge, no stream exists and there is nothing to refund; its amount counts against the spend mandate",
|
|
727
|
+
}
|
|
728
|
+
: record.x402Reservation === true
|
|
729
|
+
? {
|
|
730
|
+
streamId: record.streamId,
|
|
731
|
+
x402Reservation: "an x402 payment was signed but its stream could not be confirmed; its amount stays counted against the spend mandate",
|
|
732
|
+
}
|
|
733
|
+
: await options.agentClient
|
|
734
|
+
.getStreamStatus(record.streamId)
|
|
735
|
+
.then((value) => serializeStreamStatus(value, record.streamId))
|
|
736
|
+
.catch((error) => ({
|
|
737
|
+
streamId: record.streamId,
|
|
738
|
+
statusError: asErrorMessage(error),
|
|
739
|
+
}));
|
|
661
740
|
return {
|
|
662
741
|
streamId: record.streamId,
|
|
663
742
|
buyer: record.buyer,
|
|
@@ -668,6 +747,9 @@ export function createVerifiedStreamMcpServer(options) {
|
|
|
668
747
|
maxDurationSeconds: record.maxDurationSeconds,
|
|
669
748
|
openedAtSeconds: record.openedAtSeconds,
|
|
670
749
|
mandateId: record.mandateId,
|
|
750
|
+
...(record.nonRefundableUsdc === undefined
|
|
751
|
+
? {}
|
|
752
|
+
: { nonRefundableUsdc: record.nonRefundableUsdc.toString() }),
|
|
671
753
|
status,
|
|
672
754
|
};
|
|
673
755
|
}));
|
|
@@ -677,6 +759,33 @@ export function createVerifiedStreamMcpServer(options) {
|
|
|
677
759
|
return safeToolError(error);
|
|
678
760
|
}
|
|
679
761
|
});
|
|
762
|
+
if (options.x402 !== undefined) {
|
|
763
|
+
registerX402Tools(mcpServer, {
|
|
764
|
+
x402: options.x402,
|
|
765
|
+
resolveMandate,
|
|
766
|
+
getSpentSoFarUsdc: (owner) => resolver.getSpentSoFarUsdc(owner),
|
|
767
|
+
getRevokedMandateIds: (owner) => resolver.getRevokedMandateIds(owner),
|
|
768
|
+
// The SAME per-owner chain as hire_verified_service: a hire and an x402
|
|
769
|
+
// payment from one owner can never both pass the cumulative cap on
|
|
770
|
+
// stale spend.
|
|
771
|
+
serialize: serializeHire,
|
|
772
|
+
recordStream: async (record) => {
|
|
773
|
+
await registry.put(record);
|
|
774
|
+
},
|
|
775
|
+
...(registry.delete === undefined
|
|
776
|
+
? {}
|
|
777
|
+
: {
|
|
778
|
+
removeStream: async (streamId) => {
|
|
779
|
+
await registry.delete?.(streamId);
|
|
780
|
+
},
|
|
781
|
+
}),
|
|
782
|
+
findStream: async (streamId) => await registry.get(streamId),
|
|
783
|
+
now,
|
|
784
|
+
ok: successResult,
|
|
785
|
+
fail: errorResult,
|
|
786
|
+
unexpected: safeToolError,
|
|
787
|
+
});
|
|
788
|
+
}
|
|
680
789
|
if (options.deliveryProofService !== undefined) {
|
|
681
790
|
const deliveryProofService = options.deliveryProofService;
|
|
682
791
|
mcpServer.registerTool("prove_https_response", {
|
|
@@ -779,30 +888,60 @@ export function parseMetrikAgentEnv(env = process.env) {
|
|
|
779
888
|
// objects. `metrik-mcp` is started by an MCP host and fails closed on stdio,
|
|
780
889
|
// so that array was the ONLY thing an operator ever saw — a correct failure
|
|
781
890
|
// rendered as noise. Name the variables instead.
|
|
782
|
-
throw new Error(`metrik-mcp is not configured: ${describeEnvIssues(result.error)}. Set METRIK_AGENT_RPC_URL (an http(s) URL), METRIK_AGENT_ESCROW and METRIK_AGENT_USDC (EVM addresses), plus a wallet (METRIK_AGENT_PRIVATE_KEY, or the CDP
|
|
891
|
+
throw new Error(`metrik-mcp is not configured: ${describeEnvIssues(result.error)}. Set METRIK_AGENT_RPC_URL (an http(s) URL), METRIK_AGENT_ESCROW and METRIK_AGENT_USDC (EVM addresses), plus a wallet (METRIK_AGENT_PRIVATE_KEY, or the CDP variables — a Privy wallet is a CLI-only source and is not resolved here). METRIK_NETWORK (or METRIK_AGENT_CHAIN_ID) defaults to the registry's default network (${defaultNetwork().name}).`);
|
|
783
892
|
}
|
|
784
893
|
const parsed = result.data;
|
|
785
|
-
|
|
786
|
-
if (
|
|
787
|
-
|
|
894
|
+
let chainId;
|
|
895
|
+
if (parsed.METRIK_AGENT_CHAIN_ID !== undefined) {
|
|
896
|
+
chainId = Number(parsed.METRIK_AGENT_CHAIN_ID);
|
|
897
|
+
if (!Number.isInteger(chainId) || chainId <= 0) {
|
|
898
|
+
throw new Error("METRIK_AGENT_CHAIN_ID must be a positive integer");
|
|
899
|
+
}
|
|
788
900
|
}
|
|
789
|
-
|
|
790
|
-
|
|
901
|
+
// "Is this a network the registry knows and the build allows": a registered
|
|
902
|
+
// TESTNET. This server signs with a key from the environment and moves funds.
|
|
903
|
+
let network;
|
|
904
|
+
try {
|
|
905
|
+
network = resolveAgentNetwork(parsed.METRIK_NETWORK !== undefined &&
|
|
906
|
+
parsed.METRIK_NETWORK.trim().length > 0
|
|
907
|
+
? parsed.METRIK_NETWORK
|
|
908
|
+
: chainId, { testnetOnly: true });
|
|
909
|
+
}
|
|
910
|
+
catch (error) {
|
|
911
|
+
throw new Error(`unsupported METRIK_NETWORK / METRIK_AGENT_CHAIN_ID: ${error instanceof Error ? error.message : String(error)}`);
|
|
791
912
|
}
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
// front instead of silently mis-decoded (see RETIRED_V1_ESCROW).
|
|
795
|
-
const generation = (parsed.METRIK_AGENT_ESCROW_GENERATION ?? "v2").toLowerCase();
|
|
796
|
-
if (generation !== "v2") {
|
|
797
|
-
throw new Error(`unsupported METRIK_AGENT_ESCROW_GENERATION "${parsed.METRIK_AGENT_ESCROW_GENERATION}": this server reads checkpoint-settled StreamEscrowV2 only. Leave it unset (or set it to "v2") and point METRIK_AGENT_ESCROW at the V2 escrow.`);
|
|
913
|
+
if (chainId !== undefined && chainId !== network.chain.id) {
|
|
914
|
+
throw new Error(`METRIK_AGENT_CHAIN_ID ${chainId} does not match METRIK_NETWORK ${network.id} (chain ${network.chain.id})`);
|
|
798
915
|
}
|
|
799
|
-
|
|
800
|
-
|
|
916
|
+
// Generation: a registered deployment's comes from the registry (a
|
|
917
|
+
// contradicting env value is refused); an unregistered escrow needs it
|
|
918
|
+
// DECLARED. Only the checkpoint-settled generations (v2, v3) are served.
|
|
919
|
+
const declared = parsed.METRIK_AGENT_ESCROW_GENERATION?.trim().toLowerCase();
|
|
920
|
+
if (declared !== undefined && declared !== "v2" && declared !== "v3") {
|
|
921
|
+
throw new Error(`unsupported METRIK_AGENT_ESCROW_GENERATION "${parsed.METRIK_AGENT_ESCROW_GENERATION}": this server reads the checkpoint-settled StreamEscrowV2/V3 only. Leave it unset for a registered escrow.`);
|
|
922
|
+
}
|
|
923
|
+
const deployment = registeredDeployment(network, parsed.METRIK_AGENT_ESCROW);
|
|
924
|
+
let generation;
|
|
925
|
+
if (deployment !== undefined) {
|
|
926
|
+
generation = deployment.escrow.generation;
|
|
927
|
+
if (declared !== undefined && declared !== generation) {
|
|
928
|
+
throw new Error(`METRIK_AGENT_ESCROW_GENERATION "${declared}" contradicts the registry: ${parsed.METRIK_AGENT_ESCROW} is ${network.name}'s ${generation} escrow`);
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
else {
|
|
932
|
+
if (parsed.METRIK_AGENT_ALLOW_UNREGISTERED_ESCROW !== "true") {
|
|
933
|
+
throw new Error(`METRIK_AGENT_ESCROW (${parsed.METRIK_AGENT_ESCROW}) is not a registered escrow of ${network.name} (current ${network.escrow.address}${network.legacy.length === 0 ? "" : `; legacy ${network.legacy.map((d) => d.escrow.address).join(", ")}`}). A wrong escrow does not fail at read time — the retired V1 escrow's stream tuple decodes into confident nonsense with the checkpoint decoder this server uses. Point it at a registered escrow, or set ${ALLOW_UNREGISTERED_ESCROW_ENV}=true and METRIK_AGENT_ESCROW_GENERATION for a deliberate private deployment.`);
|
|
934
|
+
}
|
|
935
|
+
if (declared === undefined) {
|
|
936
|
+
throw new Error(`${ALLOW_UNREGISTERED_ESCROW_ENV}=true also needs METRIK_AGENT_ESCROW_GENERATION ("v2" | "v3"): an unregistered escrow's generation cannot be read from the registry`);
|
|
937
|
+
}
|
|
938
|
+
generation = declared;
|
|
801
939
|
}
|
|
802
940
|
return {
|
|
803
941
|
rpcUrl: parsed.METRIK_AGENT_RPC_URL,
|
|
804
942
|
escrow: parsed.METRIK_AGENT_ESCROW,
|
|
805
|
-
escrowGeneration:
|
|
943
|
+
escrowGeneration: generation,
|
|
944
|
+
unregisteredEscrow: deployment === undefined,
|
|
806
945
|
// Opt-IN only: any value but the exact string "true" leaves the check on.
|
|
807
946
|
allowUnverifiedOperatorPairing: parsed.METRIK_AGENT_ALLOW_UNVERIFIED_OPERATOR === "true",
|
|
808
947
|
...(parsed.METRIK_AGENT_REGISTRY_URL === undefined
|
|
@@ -813,9 +952,17 @@ export function parseMetrikAgentEnv(env = process.env) {
|
|
|
813
952
|
: { registryApiKey: parsed.METRIK_AGENT_REGISTRY_APIKEY }),
|
|
814
953
|
usdc: parsed.METRIK_AGENT_USDC,
|
|
815
954
|
chain: {
|
|
816
|
-
...
|
|
817
|
-
name: parsed.METRIK_AGENT_CHAIN_NAME ??
|
|
955
|
+
...network.chain,
|
|
956
|
+
name: parsed.METRIK_AGENT_CHAIN_NAME ?? network.chain.name,
|
|
818
957
|
},
|
|
958
|
+
network,
|
|
959
|
+
// Opt-IN: a fund-moving tool family whose URL the MODEL picks is never
|
|
960
|
+
// switched on by default or by an unrecognised value.
|
|
961
|
+
x402Enabled: ["1", "true", "yes", "on"].includes((parsed.METRIK_AGENT_X402 ?? "").trim().toLowerCase()),
|
|
962
|
+
x402AllowedHosts: (parsed.METRIK_AGENT_X402_ALLOWED_HOSTS ?? "")
|
|
963
|
+
.split(",")
|
|
964
|
+
.map((entry) => entry.trim())
|
|
965
|
+
.filter((entry) => entry.length > 0),
|
|
819
966
|
...(parsed.METRIK_AGENT_MCP_STATE_FILE === undefined
|
|
820
967
|
? {}
|
|
821
968
|
: {
|
|
@@ -855,7 +1002,15 @@ export async function createVerifiedStreamMcpServerOptionsFromEnv(env = process.
|
|
|
855
1002
|
// SDK treats the client as V1 and routes claimable()/reclaimable() to the
|
|
856
1003
|
// legacy ABI, which reverts against StreamEscrowV2: the checkpoint escrow
|
|
857
1004
|
// replaced those one-argument views with proof-carrying ones.
|
|
858
|
-
|
|
1005
|
+
escrowV2: parsed.escrow,
|
|
1006
|
+
// An unregistered escrow was opted into by the operator: the SDK skips
|
|
1007
|
+
// its code-hash pin only with both flags (see parseMetrikAgentEnv).
|
|
1008
|
+
...(parsed.unregisteredEscrow
|
|
1009
|
+
? {
|
|
1010
|
+
allowUnregisteredEscrow: true,
|
|
1011
|
+
escrowGeneration: parsed.escrowGeneration,
|
|
1012
|
+
}
|
|
1013
|
+
: {}),
|
|
859
1014
|
usdc: parsed.usdc,
|
|
860
1015
|
settlementTarget: {
|
|
861
1016
|
chainId: parsed.chain.id,
|
|
@@ -886,6 +1041,10 @@ export async function createVerifiedStreamMcpServerOptionsFromEnv(env = process.
|
|
|
886
1041
|
streamReader: createSdkInvokeStreamReader({
|
|
887
1042
|
escrowAddress: parsed.escrow,
|
|
888
1043
|
rpcUrl: parsed.rpcUrl,
|
|
1044
|
+
chainId: parsed.chain.id,
|
|
1045
|
+
...(parsed.unregisteredEscrow
|
|
1046
|
+
? { unregisteredEscrowGeneration: parsed.escrowGeneration }
|
|
1047
|
+
: {}),
|
|
889
1048
|
}),
|
|
890
1049
|
buyer: requireCapabilitySigner(wallet.account),
|
|
891
1050
|
domain: { chainId, verifyingContract: parsed.escrow },
|
|
@@ -911,6 +1070,37 @@ export async function createVerifiedStreamMcpServerOptionsFromEnv(env = process.
|
|
|
911
1070
|
: new FileStreamRegistry(parsed.stateFile),
|
|
912
1071
|
allowUnverifiedOperatorPairing: parsed.allowUnverifiedOperatorPairing,
|
|
913
1072
|
serviceInvoker,
|
|
1073
|
+
...(parsed.x402Enabled
|
|
1074
|
+
? {
|
|
1075
|
+
x402: {
|
|
1076
|
+
signer: requireCapabilitySigner(wallet.account),
|
|
1077
|
+
network: parsed.network,
|
|
1078
|
+
// The SDK's on-chain quote checks (factory.predict) read through
|
|
1079
|
+
// this server's own RPC.
|
|
1080
|
+
sdkOptions: { transport: http(parsed.rpcUrl) },
|
|
1081
|
+
...(parsed.x402AllowedHosts.length === 0
|
|
1082
|
+
? {}
|
|
1083
|
+
: { allowedHosts: parsed.x402AllowedHosts }),
|
|
1084
|
+
refundClient: async (target) => {
|
|
1085
|
+
const { refundClient } = await import("@absol-labs/sdk/x402");
|
|
1086
|
+
return refundClient(target.refundUrl, {
|
|
1087
|
+
streamId: target.streamId,
|
|
1088
|
+
...(target.opener === undefined
|
|
1089
|
+
? {}
|
|
1090
|
+
: { opener: target.opener }),
|
|
1091
|
+
...(target.fetch === undefined ? {} : { fetch: target.fetch }),
|
|
1092
|
+
// Every relay "success" is checked against the receipt.
|
|
1093
|
+
verifyWith: readOnlyMetrikClient({
|
|
1094
|
+
escrowAddress: parsed.escrow,
|
|
1095
|
+
rpcUrl: parsed.rpcUrl,
|
|
1096
|
+
chainId: parsed.chain.id,
|
|
1097
|
+
}),
|
|
1098
|
+
expectedChainId: parsed.chain.id,
|
|
1099
|
+
});
|
|
1100
|
+
},
|
|
1101
|
+
},
|
|
1102
|
+
}
|
|
1103
|
+
: {}),
|
|
914
1104
|
...(deliveryProofService === null ? {} : { deliveryProofService }),
|
|
915
1105
|
};
|
|
916
1106
|
}
|
|
@@ -944,6 +1134,26 @@ function serializeServiceListing(listing) {
|
|
|
944
1134
|
...(listing.targetMetadata === undefined
|
|
945
1135
|
? {}
|
|
946
1136
|
: { targetMetadata: listing.targetMetadata }),
|
|
1137
|
+
...signedRateBandField(listing),
|
|
1138
|
+
};
|
|
1139
|
+
}
|
|
1140
|
+
/**
|
|
1141
|
+
* The operator-signed rate band, in USDC atomic units per second, so an agent
|
|
1142
|
+
* can pick a `ratePerSecondUsdc` that hire_verified_service will accept. Read
|
|
1143
|
+
* from the record discovery already verified; omitted when none was signed.
|
|
1144
|
+
* hire_verified_service re-verifies it before enforcing it.
|
|
1145
|
+
*/
|
|
1146
|
+
function signedRateBandField(listing) {
|
|
1147
|
+
const commercial = listing.signed?.descriptor?.commercial;
|
|
1148
|
+
if (commercial?.minRatePerSecond === undefined &&
|
|
1149
|
+
commercial?.maxRatePerSecond === undefined) {
|
|
1150
|
+
return {};
|
|
1151
|
+
}
|
|
1152
|
+
return {
|
|
1153
|
+
ratePerSecondBand: {
|
|
1154
|
+
minRatePerSecondUsdc: commercial.minRatePerSecond ?? null,
|
|
1155
|
+
maxRatePerSecondUsdc: commercial.maxRatePerSecond ?? null,
|
|
1156
|
+
},
|
|
947
1157
|
};
|
|
948
1158
|
}
|
|
949
1159
|
function serializeStreamStatus(status, streamId) {
|
|
@@ -1055,7 +1265,7 @@ async function checkOperatorPairing(discover, serviceRef, operator) {
|
|
|
1055
1265
|
if (listing.operator.toLowerCase() !== operator.toLowerCase()) {
|
|
1056
1266
|
return { verdict: "mismatch", listedOperator: listing.operator };
|
|
1057
1267
|
}
|
|
1058
|
-
return { verdict: "verified" };
|
|
1268
|
+
return { verdict: "verified", listing };
|
|
1059
1269
|
}
|
|
1060
1270
|
/**
|
|
1061
1271
|
* Why a hire was refused, in words the caller can act on.
|
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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"}
|