@absol-labs/agent 0.8.0 → 0.9.1
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/discovery/registry.d.ts +110 -305
- package/dist/discovery/registry.d.ts.map +1 -1
- package/dist/discovery/registry.js +141 -318
- package/dist/discovery/registry.js.map +1 -1
- package/dist/frameworks/agentkit.d.ts.map +1 -1
- package/dist/frameworks/agentkit.js +31 -10
- package/dist/frameworks/agentkit.js.map +1 -1
- package/dist/frameworks/eliza.d.ts.map +1 -1
- package/dist/frameworks/eliza.js +14 -3
- package/dist/frameworks/eliza.js.map +1 -1
- package/dist/frameworks/langchain.d.ts.map +1 -1
- package/dist/frameworks/langchain.js +14 -3
- package/dist/frameworks/langchain.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +26 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/client.d.ts +19 -2
- package/dist/sdk/client.d.ts.map +1 -1
- package/dist/sdk/client.js +18 -2
- package/dist/sdk/client.js.map +1 -1
- package/dist/wallet/cdp-sdk.d.ts +23 -0
- package/dist/wallet/cdp-sdk.d.ts.map +1 -0
- package/dist/wallet/cdp-sdk.js +27 -0
- package/dist/wallet/cdp-sdk.js.map +1 -0
- package/dist/wallet/provider.d.ts +1 -1
- package/dist/wallet/provider.d.ts.map +1 -1
- package/dist/wallet/provider.js +8 -3
- package/dist/wallet/provider.js.map +1 -1
- package/dist/zktls/reclaim-js-sdk.d.ts +24 -0
- package/dist/zktls/reclaim-js-sdk.d.ts.map +1 -0
- package/dist/zktls/reclaim-js-sdk.js +29 -0
- package/dist/zktls/reclaim-js-sdk.js.map +1 -0
- package/dist/zktls/reclaim.d.ts +14 -2
- package/dist/zktls/reclaim.d.ts.map +1 -1
- package/dist/zktls/reclaim.js +29 -6
- package/dist/zktls/reclaim.js.map +1 -1
- package/dist/zktls/t2-delivery-proof.d.ts +8 -1
- package/dist/zktls/t2-delivery-proof.d.ts.map +1 -1
- package/dist/zktls/t2-delivery-proof.js +22 -6
- package/dist/zktls/t2-delivery-proof.js.map +1 -1
- package/docs/agent-layer.md +150 -0
- package/docs/autonomous-privy-wallet.md +133 -0
- package/docs/crewai.md +70 -0
- package/docs/eliza.md +109 -0
- package/docs/langchain.md +63 -0
- package/docs/mcp-hosted.md +137 -0
- package/docs/privy-embedded-wallet.md +102 -0
- package/docs/quickstart.md +370 -0
- package/docs/threat-model.md +160 -0
- package/package.json +19 -6
- package/src/discovery/registry.ts +242 -414
- package/src/frameworks/agentkit.ts +32 -8
- package/src/frameworks/eliza.ts +14 -3
- package/src/frameworks/langchain.ts +14 -3
- package/src/index.ts +7 -0
- package/src/mcp/server.ts +26 -5
- package/src/sdk/client.ts +38 -3
- package/src/wallet/cdp-sdk.ts +33 -0
- package/src/wallet/provider.ts +16 -9
- package/src/zktls/reclaim-js-sdk.ts +50 -0
- package/src/zktls/reclaim.ts +57 -23
- package/src/zktls/t2-delivery-proof.ts +28 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"t2-delivery-proof.js","sourceRoot":"","sources":["../../src/zktls/t2-delivery-proof.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"t2-delivery-proof.js","sourceRoot":"","sources":["../../src/zktls/t2-delivery-proof.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# The Agent Layer — Product Design & Narrative
|
|
2
|
+
|
|
3
|
+
This is the StreamProof go-to-market wedge: making the protocol usable by AI agents,
|
|
4
|
+
and the story investors lead with. The protocol (escrow + verifier) is the moat; the
|
|
5
|
+
agent layer is how the moat gets _used_.
|
|
6
|
+
|
|
7
|
+
For the explicit security review, see [docs/threat-model.md](./threat-model.md).
|
|
8
|
+
|
|
9
|
+
## Why this matters now
|
|
10
|
+
|
|
11
|
+
x402 has shown AI agents pay on-chain at scale (160M+ agent transactions, tens of
|
|
12
|
+
thousands of active agents, USDC on Base + Solana). But x402 settles _payments_, not
|
|
13
|
+
_delivery_ — it treats continuous services like one-shot API calls. Metrik
|
|
14
|
+
fills exactly that gap, and the agent layer is where an agent experiences it.
|
|
15
|
+
|
|
16
|
+
## The four components
|
|
17
|
+
|
|
18
|
+
### 1. x402 verified-streaming scheme
|
|
19
|
+
|
|
20
|
+
A StreamProof-flavored x402 scheme/facilitator: an agent hits an HTTP `402`, receives
|
|
21
|
+
a _verified-streaming_ requirement (operator, serviceRef, rate, budget, settlement
|
|
22
|
+
chain/escrow), responds with a signed-mandate payload, and a stream opens through the
|
|
23
|
+
SDK — paying only for oracle-verified delivery, pausing on failure. The integration
|
|
24
|
+
reuses the `402` challenge/response shape and the protocol's existing settlement path.
|
|
25
|
+
(`src/x402/`)
|
|
26
|
+
|
|
27
|
+
### 2. MCP server
|
|
28
|
+
|
|
29
|
+
Expose StreamProof as Model Context Protocol tools so any MCP agent (Claude, etc.)
|
|
30
|
+
can `hire_verified_service`, `check_stream_status`, `reclaim_unspent`, `list_streams`.
|
|
31
|
+
Every fund-moving tool is gated by a spend mandate, with JSON-serializable mandate
|
|
32
|
+
payloads and env-driven settlement config. The server also keeps a local stream
|
|
33
|
+
registry so agents can list and reclaim the streams they opened. (`src/mcp/`)
|
|
34
|
+
|
|
35
|
+
The server runs locally over stdio (`pnpm mcp:stdio`) or as a hosted,
|
|
36
|
+
multi-tenant, per-caller-authenticated endpoint over Streamable HTTP
|
|
37
|
+
(`pnpm mcp:http`) — see [docs/mcp-hosted.md](./mcp-hosted.md).
|
|
38
|
+
|
|
39
|
+
### 3. Framework tools
|
|
40
|
+
|
|
41
|
+
Thin adapters wrapping the SDK for LangChain / ElizaOS / CrewAI so existing agent
|
|
42
|
+
stacks can hire verified compute with a single tool call. LangChain and ElizaOS use
|
|
43
|
+
direct adapter surfaces over the mandate-gated client. CrewAI uses its official MCP
|
|
44
|
+
integration path against the existing mandate-gated Metrik MCP server, which keeps the
|
|
45
|
+
tool behavior aligned without relying on an unofficial JavaScript CrewAI runtime.
|
|
46
|
+
|
|
47
|
+
> **Coinbase AgentKit runtime requirement.** `MetrikActionProvider`'s
|
|
48
|
+
> `@CreateAction` decorators read parameter types via `reflect-metadata`
|
|
49
|
+
> (`design:paramtypes`), which only exists when TypeScript's
|
|
50
|
+
> `emitDecoratorMetadata` is on. Import the provider from the **built package**
|
|
51
|
+
> (the shipped `dist/` is compiled with `tsc` and carries this metadata) and
|
|
52
|
+
> ensure `reflect-metadata` is loaded before the provider class. Loading the raw
|
|
53
|
+
> TypeScript through esbuild/`tsx` or a bundler that drops decorator metadata
|
|
54
|
+
> throws a `Failed to get parameters for action method` error at load time —
|
|
55
|
+
> configure your bundler to emit decorator metadata, or consume the built
|
|
56
|
+
> output.
|
|
57
|
+
|
|
58
|
+
### 4. Spend mandates (the safety story)
|
|
59
|
+
|
|
60
|
+
Signed budget/intent guardrails (AP2-style): per-stream cap, cumulative cap, max
|
|
61
|
+
rate, max duration, allowed operators, expiry, and local revocation. The
|
|
62
|
+
owner signs an EIP-712 mandate; the agent verifies signature + expiry + revocation
|
|
63
|
+
before policy evaluation. Enforced _before_ any autonomous fund-moving action,
|
|
64
|
+
fail-closed. This is the answer to "how do you stop an agent from draining the
|
|
65
|
+
wallet?" — already implemented and tested in `src/mandates/`.
|
|
66
|
+
|
|
67
|
+
### 5. zkTLS consumer proof (L2)
|
|
68
|
+
|
|
69
|
+
The agent can now generate a Reclaim-backed zkTLS proof of the exact HTTPS response it
|
|
70
|
+
consumed. The proof is bound to buyer/stream context, then locally verified against the
|
|
71
|
+
declared URL, method, body, response-match rules, and redaction policy before it is
|
|
72
|
+
returned to the caller. This gives Metrik a consumer-side delivery witness to pair with
|
|
73
|
+
the verifier's L1/public-endpoint evidence.
|
|
74
|
+
|
|
75
|
+
The trust model is intentionally narrow:
|
|
76
|
+
|
|
77
|
+
- L2 is **supporting evidence**, not an authority by itself.
|
|
78
|
+
- Settlement should still be buyer-favoring and keyed off oracle/L1 evidence first.
|
|
79
|
+
- MCP only exposes a public-request proof tool; secret-bearing headers/cookies stay in
|
|
80
|
+
the programmatic API so they do not traverse model-visible tool arguments.
|
|
81
|
+
|
|
82
|
+
## Wallet custody model (Phase 2)
|
|
83
|
+
|
|
84
|
+
Phase 2 supports two non-custodial integration boundaries. A server-side CDP wallet is
|
|
85
|
+
the existing operator/server model: Coinbase keeps the private key material inside its
|
|
86
|
+
signing boundary. A user-facing host can instead pass an authenticated Privy embedded
|
|
87
|
+
EOA provider to `resolveAgentWallet({ privy: ... })`; the agent layer receives only a
|
|
88
|
+
viem-compatible signing adapter and never receives a Privy secret. The agent layer still
|
|
89
|
+
accepts an injected wallet for advanced operators, but every fund-moving path remains
|
|
90
|
+
mandate-gated before the signer is used. See [`privy-embedded-wallet.md`](./privy-embedded-wallet.md).
|
|
91
|
+
|
|
92
|
+
The browser Privy adapter verifies the configured Base Sepolia chain and wallet address at
|
|
93
|
+
construction and immediately before each signing request. For unattended agents, the
|
|
94
|
+
separate session broker verifies Privy login ownership, an owner-signed spend mandate,
|
|
95
|
+
transaction calldata, cumulative spend, expiry, and revocation before asking a restricted
|
|
96
|
+
Privy additional signer to act. It requests sponsorship only for the first successful
|
|
97
|
+
session write. The implementation is EOA-only; it does not claim ERC-4337/EIP-1271.
|
|
98
|
+
|
|
99
|
+
### Wallet lifecycle (metrik-agent#65)
|
|
100
|
+
|
|
101
|
+
`resolveAgentWallet()` (`src/wallet/provider.ts`) is create-or-restore for a CDP wallet:
|
|
102
|
+
`cdp.evm.getOrCreateAccount({ name })` is idempotent, so the same `ownerName` always
|
|
103
|
+
resolves to the same on-chain address across runs — no separate "restore" API is
|
|
104
|
+
needed. `src/wallet/lifecycle.ts` adds the remaining thin pieces: `getWalletBalances`
|
|
105
|
+
(native + USDC in one read), `faucetHint`/`requestCdpFaucet` (Base Sepolia testnet
|
|
106
|
+
funding), and signing stays on the resolved `Account` itself
|
|
107
|
+
(`signMessage`/`signTypedData`/`signTransaction`) — no second signing surface.
|
|
108
|
+
`scripts/e2e-hire.ts` runs the full lifecycle against real Base Sepolia infrastructure:
|
|
109
|
+
create/restore → fund → hire (open a `StreamEscrowV2` stream) → `invoke()` through the
|
|
110
|
+
real `CallerAuthGateway` → optional T2 proof → read accrual/settlement from the real
|
|
111
|
+
production checkpoint oracle.
|
|
112
|
+
|
|
113
|
+
**Gas story (as of #65): the agent holds its own testnet ETH.** Every write in this
|
|
114
|
+
package (`hireVerifiedService`/`openStream`, `close`, `claim`, `reclaim`) is a normal
|
|
115
|
+
EOA transaction signed by the resolved wallet and paid for with that wallet's own
|
|
116
|
+
Base Sepolia ETH balance — topped up via the CDP faucet (`requestCdpFaucet`) or the
|
|
117
|
+
manual faucets in `faucetHint()`. `@absol-labs/sdk`'s `gasAbstraction` config
|
|
118
|
+
(ERC-4337 bundler + paymaster) exists in the SDK and is wired through
|
|
119
|
+
`StreamProofClientConfig`, but this package does **not** yet exercise or demonstrate a
|
|
120
|
+
working sponsored-gas path end to end — do not advertise "gasless agents" until that is
|
|
121
|
+
proven live. Tracked separately if/when a paymaster is provisioned.
|
|
122
|
+
|
|
123
|
+
## How it fits together
|
|
124
|
+
|
|
125
|
+
```mermaid
|
|
126
|
+
flowchart LR
|
|
127
|
+
AGENT[AI agent] -->|MCP tool / x402 402| AL[Agent layer]
|
|
128
|
+
AL -->|checkMandate| MND[Spend mandate]
|
|
129
|
+
MND -->|allowed| SDK[@absol-labs/sdk]
|
|
130
|
+
SDK --> ESC[Escrow on settlement chain]
|
|
131
|
+
VER[Verifier] -->|attestations| ESC
|
|
132
|
+
style MND fill:#ffe9c7,stroke:#b8860b
|
|
133
|
+
style AL fill:#d4f4dd,stroke:#1f883d
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Security narrative (what investors will probe)
|
|
137
|
+
|
|
138
|
+
- **No runaway spend:** mandates cap and allowlist every autonomous action,
|
|
139
|
+
fail-closed, and existing-stream actions re-authorize against the live stream
|
|
140
|
+
operator before the SDK can write.
|
|
141
|
+
- **Key custody:** the layer never silently holds keys; signing is explicit, and the
|
|
142
|
+
SDK's ERC-4337 paymaster path lets gas-less agents act under session limits.
|
|
143
|
+
- **Verified delivery:** the agent only ever pays for what the verifier confirms —
|
|
144
|
+
the core protocol guarantee. L2 zkTLS proofs strengthen the evidence set, but do not
|
|
145
|
+
override L1 failure or ambiguity.
|
|
146
|
+
|
|
147
|
+
## Roadmap (see issues)
|
|
148
|
+
|
|
149
|
+
x402 scheme → MCP server → framework adapters → example agents
|
|
150
|
+
(hire + monitor + close on verification gaps) → wallet/provider integration.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Autonomous agent-owned Privy wallet
|
|
2
|
+
|
|
3
|
+
This package also exposes a headless, non-custodial flow for an agent that has
|
|
4
|
+
no pre-existing wallet. The agent generates a P-256 key locally and stores its
|
|
5
|
+
PKCS8 private key through the host OS credential manager. The broker receives
|
|
6
|
+
only the SPKI public key and a proof-of-possession.
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
import {
|
|
10
|
+
HttpAutonomousWalletBroker,
|
|
11
|
+
provisionMetrikAutonomousWallet,
|
|
12
|
+
createAutonomousWalletAccount,
|
|
13
|
+
createAutonomousWalletProvider,
|
|
14
|
+
} from "@absol-labs/agent";
|
|
15
|
+
import { MetrikClient } from "@absol-labs/sdk";
|
|
16
|
+
import { custom } from "viem";
|
|
17
|
+
|
|
18
|
+
const wallet = await provisionMetrikAutonomousWallet({
|
|
19
|
+
storeKey: "my-agent/base-sepolia",
|
|
20
|
+
});
|
|
21
|
+
const broker = new HttpAutonomousWalletBroker(wallet.brokerUrl);
|
|
22
|
+
const account = await createAutonomousWalletAccount({
|
|
23
|
+
wallet,
|
|
24
|
+
broker,
|
|
25
|
+
});
|
|
26
|
+
const provider = createAutonomousWalletProvider({ wallet, broker });
|
|
27
|
+
const metrik = MetrikClient.baseSepolia({
|
|
28
|
+
account,
|
|
29
|
+
transport: custom(provider),
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Pass both the account and its custom provider transport to `MetrikClient`, as
|
|
34
|
+
shown above, then use `MetrikClient.hireVerifiedService()`. The transport is
|
|
35
|
+
what routes policy-approved writes and typed-data signatures through the
|
|
36
|
+
broker; the SDK's default public RPC transport is read-only for this wallet.
|
|
37
|
+
Do not
|
|
38
|
+
create a separate `SpendMandate` for this path: the autonomous broker applies
|
|
39
|
+
the fixed, stricter transaction policy itself. Spend mandates remain part of
|
|
40
|
+
the user-owned scoped-session and framework integrations.
|
|
41
|
+
|
|
42
|
+
The broker must expose these POST routes:
|
|
43
|
+
|
|
44
|
+
- `/v1/autonomous-wallets`: verify the proof, create a Privy Ethereum EOA with
|
|
45
|
+
the fixed approved Metrik policy, and return `{walletId,address,policyId}`.
|
|
46
|
+
- `/v1/autonomous-wallets/prepare`: validate the wallet and restricted Metrik
|
|
47
|
+
operation, freeze the exact Privy RPC request, and return its canonical
|
|
48
|
+
authorization bytes as a short-lived prepared request.
|
|
49
|
+
- `/v1/autonomous-wallets/execute`: verify the agent's P-256 signature over
|
|
50
|
+
those exact bytes, consume the request once, and forward it to Privy as
|
|
51
|
+
`authorization_context.signatures`. The broker must not use an agent private
|
|
52
|
+
key or substitute its own authorization key for this step.
|
|
53
|
+
|
|
54
|
+
The SDK adapter retries provisioning with the same key and idempotency nonce,
|
|
55
|
+
but creates a fresh proof timestamp on each retry. A secure-store failure stops
|
|
56
|
+
before any broker call; there is no plaintext-file fallback.
|
|
57
|
+
|
|
58
|
+
## Credential-store durability (read this before funding a wallet)
|
|
59
|
+
|
|
60
|
+
The owner key is the wallet. If it is lost, the Privy wallet can never be
|
|
61
|
+
authorized again and any funds it holds are permanently unspendable. So the
|
|
62
|
+
store must be **durable across a host reboot**, not merely "not a plaintext
|
|
63
|
+
file".
|
|
64
|
+
|
|
65
|
+
`provisionMetrikAutonomousWallet` / `provisionAutonomousWallet` now run a
|
|
66
|
+
durability self-check **before** generating or returning a key — a probe
|
|
67
|
+
credential is round-tripped and the resolved backend is classified — and
|
|
68
|
+
**refuse to provision onto a volatile store**.
|
|
69
|
+
|
|
70
|
+
| Host | Resolved backend | Durable? |
|
|
71
|
+
| --------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ---------------- |
|
|
72
|
+
| macOS | Keychain | Yes |
|
|
73
|
+
| Windows | Credential Manager | Yes |
|
|
74
|
+
| Linux **with** a freedesktop Secret Service provider (gnome-keyring, KWallet, KeePassXC) reachable on the D-Bus session bus | Secret Service | Yes |
|
|
75
|
+
| Linux **without** a Secret Service provider (typical headless server, container, VM, CI runner) | Linux kernel keyring | **No — refused** |
|
|
76
|
+
| Any host, `InMemoryAutonomousWalletStore` | process memory | **No — refused** |
|
|
77
|
+
| Any host, `EncryptedFileCredentialStore` | AES-256-GCM encrypted file | Yes |
|
|
78
|
+
|
|
79
|
+
Earlier releases claimed that "unsupported hosts must inject an equivalent
|
|
80
|
+
secure credential store", implying such a host would fail. It did not. On a
|
|
81
|
+
headless Linux box `@napi-rs/keyring` silently fell through from its Secret
|
|
82
|
+
Service backend to its `linux-keyutils` backend — the Linux **kernel** keyring,
|
|
83
|
+
which is in-memory and destroyed on reboot. Storage appeared to work (the record
|
|
84
|
+
round-tripped across processes and SSH sessions) and then, after a reboot, the
|
|
85
|
+
same store key provisioned a **brand-new wallet with no error and no warning**.
|
|
86
|
+
That is the defect fixed here; the Linux row above is now enforced, not assumed.
|
|
87
|
+
|
|
88
|
+
### Durable option for headless hosts
|
|
89
|
+
|
|
90
|
+
`EncryptedFileCredentialStore` encrypts the record with AES-256-GCM under a key
|
|
91
|
+
derived (scrypt, fresh random salt and IV per write) from a secret you supply
|
|
92
|
+
from outside the host filesystem — AWS/GCP Secrets Manager, Vault, a Docker or
|
|
93
|
+
Kubernetes secret. The file is written `0600` under
|
|
94
|
+
`~/.metrik/autonomous-wallets` (override with `METRIK_WALLET_STORE_DIR`), so it
|
|
95
|
+
survives a reboot, while the key material still never touches the disk in
|
|
96
|
+
plaintext. Losing the secret means losing the wallet: keep it in your secret
|
|
97
|
+
manager, not next to the file.
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
import {
|
|
101
|
+
EncryptedFileCredentialStore,
|
|
102
|
+
provisionMetrikAutonomousWallet,
|
|
103
|
+
} from "@absol-labs/agent";
|
|
104
|
+
|
|
105
|
+
// METRIK_WALLET_ENCRYPTION_KEY is injected by the platform's secret manager.
|
|
106
|
+
const wallet = await provisionMetrikAutonomousWallet({
|
|
107
|
+
storeKey: "my-agent/base-sepolia",
|
|
108
|
+
store: new EncryptedFileCredentialStore(),
|
|
109
|
+
});
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Other options:
|
|
113
|
+
|
|
114
|
+
- Install a Secret Service provider on the Linux host (for example
|
|
115
|
+
`gnome-keyring` plus `dbus-user-session`) and run the agent inside a D-Bus
|
|
116
|
+
session, then keep using the default `OsCredentialStore`.
|
|
117
|
+
- Inject your own store. Implement `AutonomousWalletCredentialStore` and also
|
|
118
|
+
implement the optional `probeDurability()` so the gate can verify it; a store
|
|
119
|
+
without that method is allowed for backwards compatibility but logs a warning
|
|
120
|
+
that durability is unverified.
|
|
121
|
+
- For a genuinely ephemeral run (CI, a throwaway container) where losing the key
|
|
122
|
+
is acceptable, pass `allowVolatileStore: true`. It logs a loud warning and the
|
|
123
|
+
resulting wallet must never be funded.
|
|
124
|
+
|
|
125
|
+
The high-level provisioning call fetches the public app ID and fixed policy ID
|
|
126
|
+
from the HTTPS broker; neither is a secret. No Privy credential, OTP, browser,
|
|
127
|
+
clipboard, or manual JSON file is required.
|
|
128
|
+
|
|
129
|
+
This path currently supports Base Sepolia EOA transaction and invocation
|
|
130
|
+
capability typed-data requests only. It does not claim ERC-4337, EIP-1271,
|
|
131
|
+
smart-account, or gas-sponsorship support. The broker deployment and its real
|
|
132
|
+
Privy policy remain integration dependencies and must be health-checked before
|
|
133
|
+
use.
|
package/docs/crewai.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# CrewAI Adapter
|
|
2
|
+
|
|
3
|
+
Metrik integrates with CrewAI through CrewAI's official MCP surface, not through an
|
|
4
|
+
unofficial JavaScript port. The agent repo already exposes a real stdio MCP server over
|
|
5
|
+
the SDK, so the CrewAI path should reuse that truthful settlement rail.
|
|
6
|
+
|
|
7
|
+
The helper lives in [`src/frameworks/crewai.ts`](../src/frameworks/crewai.ts) and exports:
|
|
8
|
+
|
|
9
|
+
- `CREWAI_VERIFIED_STREAM_TOOL_NAMES`
|
|
10
|
+
- `createCrewAiVerifiedStreamMcpConfig()`
|
|
11
|
+
- `renderCrewAiVerifiedStreamPythonExample()`
|
|
12
|
+
|
|
13
|
+
## Why MCP here
|
|
14
|
+
|
|
15
|
+
- CrewAI's official docs recommend MCP integration for external tool servers.
|
|
16
|
+
- The existing Metrik MCP server is already mandate-gated and SDK-backed.
|
|
17
|
+
- This keeps the CrewAI integration aligned with the same `hire/status/reclaim` behavior
|
|
18
|
+
the MCP and LangChain lanes already use.
|
|
19
|
+
|
|
20
|
+
## Default tool set
|
|
21
|
+
|
|
22
|
+
The default CrewAI tool filter exposes:
|
|
23
|
+
|
|
24
|
+
- `hire_verified_service`
|
|
25
|
+
- `check_stream_status`
|
|
26
|
+
- `reclaim_unspent`
|
|
27
|
+
- `list_streams`
|
|
28
|
+
|
|
29
|
+
## Example
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from crewai import Agent, Crew, Task
|
|
33
|
+
from crewai.mcp import MCPServerStdio
|
|
34
|
+
from crewai.mcp.filters import create_static_tool_filter
|
|
35
|
+
|
|
36
|
+
metrik_mcp = MCPServerStdio(
|
|
37
|
+
command="pnpm",
|
|
38
|
+
args=["mcp:stdio"],
|
|
39
|
+
env={
|
|
40
|
+
"METRIK_AGENT_RPC_URL": "https://base-sepolia.example.invalid",
|
|
41
|
+
"METRIK_AGENT_ESCROW": "0x0000000000000000000000000000000000000000",
|
|
42
|
+
"METRIK_AGENT_USDC": "0x0000000000000000000000000000000000000000",
|
|
43
|
+
},
|
|
44
|
+
tool_filter=create_static_tool_filter(
|
|
45
|
+
allowed_tool_names=[
|
|
46
|
+
"hire_verified_service",
|
|
47
|
+
"check_stream_status",
|
|
48
|
+
"reclaim_unspent",
|
|
49
|
+
"list_streams",
|
|
50
|
+
]
|
|
51
|
+
),
|
|
52
|
+
cache_tools_list=True,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
buyer_agent = Agent(
|
|
56
|
+
role="Verified Compute Buyer",
|
|
57
|
+
goal="Hire a verified service and close it if delivery is no longer verified.",
|
|
58
|
+
backstory="An operator that only pays for oracle-verified delivery.",
|
|
59
|
+
mcps=[metrik_mcp],
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
task = Task(
|
|
63
|
+
description="Use hire_verified_service to open a stream, then call check_stream_status to monitor it.",
|
|
64
|
+
expected_output="A stream id plus the current verified stream status.",
|
|
65
|
+
agent=buyer_agent,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
crew = Crew(agents=[buyer_agent], tasks=[task])
|
|
69
|
+
print(crew.kickoff())
|
|
70
|
+
```
|
package/docs/eliza.md
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# ElizaOS Plugin
|
|
2
|
+
|
|
3
|
+
Metrik ships a real ElizaOS plugin so an Eliza agent can **hire verified services**,
|
|
4
|
+
monitor them, and reclaim unspent funds out of the box — without ever bypassing the
|
|
5
|
+
signed spend mandate. It reuses the exact same SDK client and mandate budget-guard as
|
|
6
|
+
the Coinbase AgentKit action provider (`src/frameworks/agentkit.ts`); the business logic
|
|
7
|
+
is not forked.
|
|
8
|
+
|
|
9
|
+
> _x402 proves the payment, Metrik proves the delivery._
|
|
10
|
+
|
|
11
|
+
The plugin lives in [`src/frameworks/eliza.ts`](../src/frameworks/eliza.ts).
|
|
12
|
+
|
|
13
|
+
## Actions
|
|
14
|
+
|
|
15
|
+
| Action (Eliza name) | What it does |
|
|
16
|
+
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| `HIRE_VERIFIED_SERVICE` | Escrow USDC on Base for a per-second, oracle-verified delivery stream to a seller. Fails closed **before any transaction** if the hire would breach the signed mandate. |
|
|
18
|
+
| `CHECK_STREAM_STATUS` | Read verified accrual, current state, and claimable/reclaimable USDC. In V2, failed or unproven intervals do not advance entitlement; buyer close or expiry ends the session. Sets `shouldStop` when the stream is no longer `active`. |
|
|
19
|
+
| `RECLAIM_UNSPENT` | Return unspent escrowed USDC to the buyer (optionally `closeFirst`), under the original mandate and the V2 checkpoint / escape-window rules. |
|
|
20
|
+
| `CLOSE_STREAM` | Finalize accrual and halt further payment, under the original mandate. |
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
`@elizaos/core` is a peer of `@absol-labs/agent`.
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pnpm add @absol-labs/agent @elizaos/core
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Env
|
|
31
|
+
|
|
32
|
+
The plugin needs a signing wallet + an SDK client pointed at the Metrik escrow. On
|
|
33
|
+
testnet you may pass a raw private key; in production inject a Coinbase CDP wallet
|
|
34
|
+
instead (`createWalletBackedAgentClient` accepts either).
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
METRIK_AGENT_RPC_URL Base Sepolia RPC URL
|
|
38
|
+
METRIK_AGENT_ESCROW Metrik escrow contract address (0x...)
|
|
39
|
+
METRIK_AGENT_USDC Settlement USDC token address (0x...)
|
|
40
|
+
METRIK_AGENT_PRIVATE_KEY Agent signing key (testnet only)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Add the plugin to a character
|
|
44
|
+
|
|
45
|
+
The Metrik plugin is a **factory** — it needs a wallet-backed client — so it is built
|
|
46
|
+
programmatically and attached to the agent, rather than referenced by a bare package
|
|
47
|
+
name (the runtime cannot inject a funded wallet into a string-named plugin). A full,
|
|
48
|
+
runnable-shaped example lives in
|
|
49
|
+
[`examples/metrik-character.ts`](../examples/metrik-character.ts).
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
import { http } from "viem";
|
|
53
|
+
import { baseSepolia } from "viem/chains";
|
|
54
|
+
import { createMetrikElizaPlugin } from "@absol-labs/agent/eliza";
|
|
55
|
+
import { createWalletBackedAgentClient } from "@absol-labs/agent";
|
|
56
|
+
|
|
57
|
+
const { agentClient } = await createWalletBackedAgentClient(
|
|
58
|
+
{
|
|
59
|
+
chain: baseSepolia,
|
|
60
|
+
transport: http(process.env.METRIK_AGENT_RPC_URL!),
|
|
61
|
+
escrow: process.env.METRIK_AGENT_ESCROW! as `0x${string}`,
|
|
62
|
+
usdc: process.env.METRIK_AGENT_USDC! as `0x${string}`,
|
|
63
|
+
settlementTarget: {
|
|
64
|
+
chainId: baseSepolia.id,
|
|
65
|
+
escrow: process.env.METRIK_AGENT_ESCROW! as `0x${string}`,
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{ privateKey: process.env.METRIK_AGENT_PRIVATE_KEY as `0x${string}` },
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
const metrikPlugin = createMetrikElizaPlugin({ agentClient });
|
|
72
|
+
|
|
73
|
+
export default {
|
|
74
|
+
agents: [
|
|
75
|
+
{
|
|
76
|
+
character: { name: "Metrik Buyer", plugins: [] },
|
|
77
|
+
plugins: [metrikPlugin],
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Action envelope
|
|
84
|
+
|
|
85
|
+
Eliza actions receive a namespaced payload under `content.metrik`. Build it with
|
|
86
|
+
`createMetrikElizaContent()` rather than hand-rolling the envelope:
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
import { createMetrikElizaContent } from "@absol-labs/agent/eliza";
|
|
90
|
+
|
|
91
|
+
const hire = createMetrikElizaContent("HIRE_VERIFIED_SERVICE", {
|
|
92
|
+
operator: "0x2222222222222222222222222222222222222222", // seller payout wallet
|
|
93
|
+
serviceRef: "0x1111...1111", // bytes32 service id the oracle verifies
|
|
94
|
+
budgetUsdc: "90000000", // atomic units, 6 decimals
|
|
95
|
+
ratePerSecondUsdc: "1000000",
|
|
96
|
+
maxDurationSeconds: 3600,
|
|
97
|
+
signedMandate, // owner-signed spend mandate
|
|
98
|
+
});
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
`RECLAIM_UNSPENT` and `CLOSE_STREAM` take `{ streamId, signedMandate }`
|
|
102
|
+
(`RECLAIM_UNSPENT` also accepts `closeFirst`). `CHECK_STREAM_STATUS` takes `{ streamId }`.
|
|
103
|
+
|
|
104
|
+
## Publishing
|
|
105
|
+
|
|
106
|
+
The plugin is publish-ready under `@absol-labs/agent`. Submitting it to the ElizaOS
|
|
107
|
+
plugin **registry** (or an npm publish) requires registry/npm credentials and a
|
|
108
|
+
registry PR — those steps are human-gated and are **not** performed by this package.
|
|
109
|
+
See the PR description for the follow-up.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# LangChain Adapter
|
|
2
|
+
|
|
3
|
+
The Phase 2 LangChain surface is a small, mandate-gated toolset built on the
|
|
4
|
+
existing agent client:
|
|
5
|
+
|
|
6
|
+
- `hire_verified_service`
|
|
7
|
+
- `check_stream_status`
|
|
8
|
+
- `reclaim_unspent`
|
|
9
|
+
|
|
10
|
+
Create them with [`createLangChainVerifiedStreamTools()`](../src/frameworks/langchain.ts).
|
|
11
|
+
|
|
12
|
+
## Safety model
|
|
13
|
+
|
|
14
|
+
- `hire_verified_service` checks the signed mandate before any stream open.
|
|
15
|
+
- `reclaim_unspent` passes the same signed-mandate context into the agent client,
|
|
16
|
+
which re-checks authorization before the SDK can write.
|
|
17
|
+
- `check_stream_status` is read-only and also returns `shouldStop` for a closed
|
|
18
|
+
stream. In V2, verification gaps do not auto-pause the stream; the buyer must
|
|
19
|
+
explicitly close it to end further exposure.
|
|
20
|
+
|
|
21
|
+
## Example loop
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import { createLangChainVerifiedStreamTools } from "@absol-labs/agent/langchain";
|
|
25
|
+
|
|
26
|
+
const tools = createLangChainVerifiedStreamTools({
|
|
27
|
+
agentClient,
|
|
28
|
+
now: () => Math.floor(Date.now() / 1000),
|
|
29
|
+
mandateStateResolver: {
|
|
30
|
+
getSpentSoFarUsdc: async () => spentSoFarUsdc,
|
|
31
|
+
getRevokedMandateIds: async () => revokedMandateIds,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const opened = await tools.hire.invoke({
|
|
36
|
+
operator: "0xYourOperator",
|
|
37
|
+
serviceRef: "0xYourServiceRef",
|
|
38
|
+
budgetUsdc: "90000000",
|
|
39
|
+
ratePerSecondUsdc: "1000000",
|
|
40
|
+
maxDurationSeconds: 3600,
|
|
41
|
+
signedMandate,
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
for (;;) {
|
|
45
|
+
const status = await tools.status.invoke({ streamId: opened.streamId });
|
|
46
|
+
if (status.shouldStop) break;
|
|
47
|
+
await new Promise((resolve) => setTimeout(resolve, 10_000));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
await tools.reclaim.invoke({
|
|
51
|
+
streamId: opened.streamId,
|
|
52
|
+
closeFirst: true,
|
|
53
|
+
signedMandate,
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Reviewer checklist
|
|
58
|
+
|
|
59
|
+
1. Provide a real `VerifiedStreamAgentClient` or compatible wrapper.
|
|
60
|
+
2. Provide a real signed mandate plus resolver-backed cumulative-spend /
|
|
61
|
+
revocation state.
|
|
62
|
+
3. Use `status.shouldStop` to halt work when the stream is no longer active.
|
|
63
|
+
4. Reclaim explicitly through `reclaim_unspent` when the task ends or quality drops.
|