@absol-labs/agent 0.5.0 → 0.7.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.
Files changed (76) hide show
  1. package/README.md +49 -10
  2. package/dist/discovery/registry.d.ts +260 -15
  3. package/dist/discovery/registry.d.ts.map +1 -1
  4. package/dist/discovery/registry.js +174 -31
  5. package/dist/discovery/registry.js.map +1 -1
  6. package/dist/frameworks/agentkit.js +1 -1
  7. package/dist/frameworks/agentkit.js.map +1 -1
  8. package/dist/frameworks/crewai.js +1 -1
  9. package/dist/frameworks/crewai.js.map +1 -1
  10. package/dist/gateway/caller-auth-gateway.d.ts +3 -1
  11. package/dist/gateway/caller-auth-gateway.d.ts.map +1 -1
  12. package/dist/gateway/caller-auth-gateway.js +9 -7
  13. package/dist/gateway/caller-auth-gateway.js.map +1 -1
  14. package/dist/gateway/http-server.d.ts +3 -1
  15. package/dist/gateway/http-server.d.ts.map +1 -1
  16. package/dist/gateway/http-server.js +15 -1
  17. package/dist/gateway/http-server.js.map +1 -1
  18. package/dist/index.d.ts +8 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +8 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/mcp/server.js +2 -0
  23. package/dist/mcp/server.js.map +1 -1
  24. package/dist/sdk/invoke.d.ts +16 -2
  25. package/dist/sdk/invoke.d.ts.map +1 -1
  26. package/dist/sdk/invoke.js +117 -1
  27. package/dist/sdk/invoke.js.map +1 -1
  28. package/dist/wallet/autonomous-wallet-broker.d.ts +97 -0
  29. package/dist/wallet/autonomous-wallet-broker.d.ts.map +1 -0
  30. package/dist/wallet/autonomous-wallet-broker.js +468 -0
  31. package/dist/wallet/autonomous-wallet-broker.js.map +1 -0
  32. package/dist/wallet/autonomous-wallet-protocol.d.ts +56 -0
  33. package/dist/wallet/autonomous-wallet-protocol.d.ts.map +1 -0
  34. package/dist/wallet/autonomous-wallet-protocol.js +15 -0
  35. package/dist/wallet/autonomous-wallet-protocol.js.map +1 -0
  36. package/dist/wallet/autonomous-wallet.d.ts +106 -0
  37. package/dist/wallet/autonomous-wallet.d.ts.map +1 -0
  38. package/dist/wallet/autonomous-wallet.js +494 -0
  39. package/dist/wallet/autonomous-wallet.js.map +1 -0
  40. package/dist/wallet/privy-broker-server-entry.d.ts +2 -0
  41. package/dist/wallet/privy-broker-server-entry.d.ts.map +1 -0
  42. package/dist/wallet/privy-broker-server-entry.js +8 -0
  43. package/dist/wallet/privy-broker-server-entry.js.map +1 -0
  44. package/dist/wallet/privy-broker-server.d.ts +29 -0
  45. package/dist/wallet/privy-broker-server.d.ts.map +1 -0
  46. package/dist/wallet/privy-broker-server.js +480 -0
  47. package/dist/wallet/privy-broker-server.js.map +1 -0
  48. package/dist/wallet/privy-session-broker.d.ts +109 -0
  49. package/dist/wallet/privy-session-broker.d.ts.map +1 -0
  50. package/dist/wallet/privy-session-broker.js +372 -0
  51. package/dist/wallet/privy-session-broker.js.map +1 -0
  52. package/dist/wallet/privy-session-provider.d.ts +21 -0
  53. package/dist/wallet/privy-session-provider.d.ts.map +1 -0
  54. package/dist/wallet/privy-session-provider.js +94 -0
  55. package/dist/wallet/privy-session-provider.js.map +1 -0
  56. package/dist/wallet/provider.d.ts +51 -2
  57. package/dist/wallet/provider.d.ts.map +1 -1
  58. package/dist/wallet/provider.js +138 -1
  59. package/dist/wallet/provider.js.map +1 -1
  60. package/package.json +4 -2
  61. package/src/discovery/registry.ts +213 -35
  62. package/src/frameworks/agentkit.ts +1 -1
  63. package/src/frameworks/crewai.ts +1 -1
  64. package/src/gateway/caller-auth-gateway.ts +13 -9
  65. package/src/gateway/http-server.ts +18 -1
  66. package/src/index.ts +78 -0
  67. package/src/mcp/server.ts +2 -0
  68. package/src/sdk/invoke.ts +186 -4
  69. package/src/wallet/autonomous-wallet-broker.ts +764 -0
  70. package/src/wallet/autonomous-wallet-protocol.ts +71 -0
  71. package/src/wallet/autonomous-wallet.ts +779 -0
  72. package/src/wallet/privy-broker-server-entry.ts +9 -0
  73. package/src/wallet/privy-broker-server.ts +573 -0
  74. package/src/wallet/privy-session-broker.ts +634 -0
  75. package/src/wallet/privy-session-provider.ts +129 -0
  76. package/src/wallet/provider.ts +260 -3
@@ -1,10 +1,40 @@
1
1
  import { type StreamProofClientConfig } from "@absol-labs/sdk";
2
2
  import { type EvmServerAccount, type EvmSmartAccount } from "@coinbase/cdp-sdk";
3
- import type { Account } from "viem";
3
+ import { type Account, type Address } from "viem";
4
4
  import { VerifiedStreamAgentClient, type AgentSdkClientFactory } from "../sdk/client.js";
5
5
  export declare class AgentWalletConfigError extends Error {
6
6
  constructor(message: string);
7
7
  }
8
+ /** A deliberately small EIP-1193 seam implemented by an authenticated Privy session. */
9
+ export interface PrivyEip1193Provider {
10
+ request(args: {
11
+ readonly method: string;
12
+ readonly params?: readonly unknown[];
13
+ }): Promise<unknown>;
14
+ }
15
+ /**
16
+ * Configuration for a user-owned Privy embedded EOA.
17
+ *
18
+ * The browser/site owns authentication and obtains the provider from Privy's
19
+ * authenticated wallet. This package does not import Privy's UI SDK, accept a
20
+ * secret, persist a wallet, or create a wallet from an app id alone.
21
+ */
22
+ export interface PrivyEmbeddedWalletConfig {
23
+ /** Public Privy app id; never an app secret. */
24
+ readonly appId: string;
25
+ /** Address returned by the authenticated user wallet. */
26
+ readonly address: Address;
27
+ /** Authenticated Privy wallet provider (EIP-1193). */
28
+ readonly provider: PrivyEip1193Provider;
29
+ /** Metrik currently supports Base Sepolia only. */
30
+ readonly chainId?: number;
31
+ }
32
+ export declare class PrivyEmbeddedWalletError extends Error {
33
+ readonly code: "invalid-config" | "provider-error" | "chain-mismatch" | "account-mismatch" | "invalid-signature";
34
+ constructor(code: PrivyEmbeddedWalletError["code"], message: string, options?: {
35
+ readonly cause?: unknown;
36
+ });
37
+ }
8
38
  export interface CdpWalletConfig {
9
39
  readonly apiKeyId?: string;
10
40
  readonly apiKeySecret?: string;
@@ -17,12 +47,18 @@ export type AgentWalletInput = {
17
47
  readonly injectedAccount: Account;
18
48
  } | {
19
49
  readonly cdp: CdpWalletConfig;
50
+ } | {
51
+ readonly privy: PrivyEmbeddedWalletConfig;
20
52
  };
21
53
  export interface ResolvedAgentWallet {
22
- readonly source: "injected" | "cdp";
54
+ readonly source: "injected" | "cdp" | "privy";
23
55
  readonly account: Account;
24
56
  readonly cdpOwner?: EvmServerAccount;
25
57
  readonly smartAccount?: EvmSmartAccount;
58
+ readonly privy?: {
59
+ readonly appId: string;
60
+ readonly chainId: number;
61
+ };
26
62
  }
27
63
  export interface CdpClientLike {
28
64
  readonly evm: {
@@ -46,6 +82,19 @@ export interface WalletBackedAgentClient {
46
82
  readonly agentClient: VerifiedStreamAgentClient;
47
83
  }
48
84
  export declare function resolveAgentWallet(input: AgentWalletInput, options?: ResolveAgentWalletOptions): Promise<ResolvedAgentWallet>;
85
+ /**
86
+ * Adapts an authenticated Privy EIP-1193 wallet to a viem JSON-RPC Account.
87
+ * It deliberately remains a JSON-RPC account so viem sends transactions via
88
+ * Privy's documented `eth_sendTransaction` boundary instead of assuming that
89
+ * the embedded provider exposes raw transaction signing. Every signing
90
+ * operation rechecks chain and account identity so a
91
+ * browser account/network switch cannot silently redirect a spend.
92
+ *
93
+ * This is an EOA adapter only. It does not implement EIP-1271, smart accounts,
94
+ * session-key issuance, or gas sponsorship; those require provider/site or
95
+ * backend integration and must be wired explicitly by the caller.
96
+ */
97
+ export declare function createPrivyEmbeddedAccount(config: PrivyEmbeddedWalletConfig): Promise<Account>;
49
98
  export declare function createWalletBackedAgentClient(sdkConfig: StreamProofClientConfig, walletInput: AgentWalletInput, options?: CreateWalletBackedAgentClientOptions): Promise<WalletBackedAgentClient>;
50
99
  export declare function parseAgentWalletEnv(env?: NodeJS.ProcessEnv): AgentWalletInput;
51
100
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/wallet/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,OAAO,EACL,yBAAyB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAoB1B,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC,GACD;IACE,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE;QACZ,kBAAkB,CAAC,OAAO,EAAE;YAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;SACvB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC9B,uBAAuB,CAAC,OAAO,EAAE;YAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;SAClC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,aAAa,CAAC;CACvE;AAED,MAAM,WAAW,oCAAqC,SAAQ,yBAAyB;IACrF,QAAQ,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;CACjD;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,mBAAmB,CAAC,CA2B9B;AAED,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,uBAAuB,EAClC,WAAW,EAAE,gBAAgB,EAC7B,OAAO,GAAE,oCAAyC,GACjD,OAAO,CAAC,uBAAuB,CAAC,CAelC;AAED,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,gBAAgB,CAwClB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/wallet/provider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { CdpClient, } from "@coinbase/cdp-sdk";
2
- import { privateKeyToAccount, toAccount } from "viem/accounts";
2
+ import { custom, toHex, serializeTypedData, isAddress, } from "viem";
3
+ import { parseAccount, privateKeyToAccount, toAccount } from "viem/accounts";
3
4
  import { z } from "zod";
4
5
  import { VerifiedStreamAgentClient, } from "../sdk/client.js";
5
6
  const privateKeySchema = z
@@ -24,6 +25,14 @@ export class AgentWalletConfigError extends Error {
24
25
  this.name = "AgentWalletConfigError";
25
26
  }
26
27
  }
28
+ export class PrivyEmbeddedWalletError extends Error {
29
+ code;
30
+ constructor(code, message, options) {
31
+ super(message, options);
32
+ this.name = "PrivyEmbeddedWalletError";
33
+ this.code = code;
34
+ }
35
+ }
27
36
  export async function resolveAgentWallet(input, options = {}) {
28
37
  if ("injectedAccount" in input) {
29
38
  return {
@@ -31,6 +40,15 @@ export async function resolveAgentWallet(input, options = {}) {
31
40
  account: input.injectedAccount,
32
41
  };
33
42
  }
43
+ if ("privy" in input) {
44
+ const chainId = input.privy.chainId ?? BASE_SEPOLIA_CHAIN_ID;
45
+ const account = await createPrivyEmbeddedAccount(input.privy);
46
+ return {
47
+ source: "privy",
48
+ account,
49
+ privy: { appId: input.privy.appId, chainId },
50
+ };
51
+ }
34
52
  const cdpClient = (options.createCdpClient ?? defaultCdpClientFactory)(input.cdp);
35
53
  const owner = await cdpClient.evm.getOrCreateAccount({
36
54
  name: input.cdp.ownerName,
@@ -48,11 +66,55 @@ export async function resolveAgentWallet(input, options = {}) {
48
66
  ...(smartAccount === undefined ? {} : { smartAccount }),
49
67
  };
50
68
  }
69
+ /**
70
+ * Adapts an authenticated Privy EIP-1193 wallet to a viem JSON-RPC Account.
71
+ * It deliberately remains a JSON-RPC account so viem sends transactions via
72
+ * Privy's documented `eth_sendTransaction` boundary instead of assuming that
73
+ * the embedded provider exposes raw transaction signing. Every signing
74
+ * operation rechecks chain and account identity so a
75
+ * browser account/network switch cannot silently redirect a spend.
76
+ *
77
+ * This is an EOA adapter only. It does not implement EIP-1271, smart accounts,
78
+ * session-key issuance, or gas sponsorship; those require provider/site or
79
+ * backend integration and must be wired explicitly by the caller.
80
+ */
81
+ export async function createPrivyEmbeddedAccount(config) {
82
+ validatePrivyConfig(config);
83
+ const chainId = config.chainId ?? BASE_SEPOLIA_CHAIN_ID;
84
+ await assertPrivySession(config, chainId);
85
+ const account = {
86
+ ...parseAccount(config.address),
87
+ signMessage: async ({ message }) => {
88
+ await assertPrivySession(config, chainId);
89
+ const raw = typeof message === "string"
90
+ ? toHex(message)
91
+ : message.raw instanceof Uint8Array
92
+ ? toHex(message.raw)
93
+ : message.raw;
94
+ return requireSignature(await requestPrivy(config.provider, "personal_sign", [
95
+ raw,
96
+ config.address,
97
+ ]));
98
+ },
99
+ signTypedData: async (parameters) => {
100
+ await assertPrivySession(config, chainId);
101
+ const serialized = serializeTypedData(parameters);
102
+ return requireSignature(await requestPrivy(config.provider, "eth_signTypedData_v4", [
103
+ config.address,
104
+ serialized,
105
+ ]));
106
+ },
107
+ };
108
+ return account;
109
+ }
51
110
  export async function createWalletBackedAgentClient(sdkConfig, walletInput, options = {}) {
52
111
  const wallet = await resolveAgentWallet(walletInput, options);
53
112
  const agentClient = new VerifiedStreamAgentClient({
54
113
  ...sdkConfig,
55
114
  account: wallet.account,
115
+ ...("privy" in walletInput
116
+ ? { transport: custom(createCheckedPrivyProvider(walletInput.privy)) }
117
+ : {}),
56
118
  }, {
57
119
  ...(options.createSdkClient === undefined
58
120
  ? {}
@@ -104,4 +166,79 @@ function defaultCdpClientFactory(config) {
104
166
  : { walletSecret: config.walletSecret }),
105
167
  });
106
168
  }
169
+ const BASE_SEPOLIA_CHAIN_ID = 84532;
170
+ function validatePrivyConfig(config) {
171
+ if (config.appId.trim() === "") {
172
+ throw new PrivyEmbeddedWalletError("invalid-config", "Privy public app id is required; an app secret is never accepted by this adapter");
173
+ }
174
+ if (!isAddress(config.address)) {
175
+ throw new PrivyEmbeddedWalletError("invalid-config", "Privy wallet address is invalid");
176
+ }
177
+ if (config.chainId !== undefined &&
178
+ config.chainId !== BASE_SEPOLIA_CHAIN_ID) {
179
+ throw new PrivyEmbeddedWalletError("invalid-config", `Metrik Privy wallets support Base Sepolia chain ID ${BASE_SEPOLIA_CHAIN_ID} only`);
180
+ }
181
+ }
182
+ async function assertPrivySession(config, expectedChainId) {
183
+ let chainResult;
184
+ let accountsResult;
185
+ try {
186
+ [chainResult, accountsResult] = await Promise.all([
187
+ config.provider.request({ method: "eth_chainId" }),
188
+ config.provider.request({ method: "eth_accounts" }),
189
+ ]);
190
+ }
191
+ catch (error) {
192
+ throw new PrivyEmbeddedWalletError("provider-error", "Privy wallet provider rejected the session check", { cause: error });
193
+ }
194
+ const chainId = parseChainId(chainResult);
195
+ if (chainId !== expectedChainId) {
196
+ throw new PrivyEmbeddedWalletError("chain-mismatch", `Privy wallet chain ID ${chainId} is not Base Sepolia (${expectedChainId})`);
197
+ }
198
+ if (!Array.isArray(accountsResult) ||
199
+ accountsResult.length === 0 ||
200
+ typeof accountsResult[0] !== "string" ||
201
+ accountsResult[0].toLowerCase() !== config.address.toLowerCase()) {
202
+ throw new PrivyEmbeddedWalletError("account-mismatch", "Privy provider account does not match configured address");
203
+ }
204
+ }
205
+ async function requestPrivy(provider, method, params) {
206
+ try {
207
+ return await provider.request({ method, params });
208
+ }
209
+ catch (error) {
210
+ throw new PrivyEmbeddedWalletError("provider-error", `Privy wallet provider rejected ${method}`, { cause: error });
211
+ }
212
+ }
213
+ function createCheckedPrivyProvider(config) {
214
+ const expectedChainId = config.chainId ?? BASE_SEPOLIA_CHAIN_ID;
215
+ return {
216
+ request: async (args) => {
217
+ if (args.method === "eth_sendTransaction") {
218
+ await assertPrivySession(config, expectedChainId);
219
+ }
220
+ try {
221
+ return await config.provider.request(args);
222
+ }
223
+ catch (error) {
224
+ throw new PrivyEmbeddedWalletError("provider-error", `Privy wallet provider rejected ${args.method}`, { cause: error });
225
+ }
226
+ },
227
+ };
228
+ }
229
+ function parseChainId(value) {
230
+ if (typeof value === "number" && Number.isSafeInteger(value) && value > 0)
231
+ return value;
232
+ if (typeof value === "string" && /^0x[0-9a-fA-F]+$/.test(value)) {
233
+ const parsed = Number.parseInt(value.slice(2), 16);
234
+ if (Number.isSafeInteger(parsed) && parsed > 0)
235
+ return parsed;
236
+ }
237
+ throw new PrivyEmbeddedWalletError("provider-error", "Privy wallet provider returned an invalid chain ID");
238
+ }
239
+ function requireSignature(value) {
240
+ if (typeof value === "string" && /^0x[0-9a-fA-F]+$/.test(value))
241
+ return value;
242
+ throw new PrivyEmbeddedWalletError("invalid-signature", "Privy wallet provider returned a non-hex signature");
243
+ }
107
244
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/wallet/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/wallet/provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absol-labs/agent",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Metrik agent layer: x402 verified-streaming payments, an MCP server, framework tools, and spend mandates so AI agents can hire and pay verified services safely.",
5
5
  "license": "MIT",
6
6
  "author": "Absol Labs",
@@ -67,9 +67,11 @@
67
67
  },
68
68
  "dependencies": {
69
69
  "@absol-labs/sdk": "^0.7.0",
70
- "@absol-labs/shared": "^0.11.0",
70
+ "@absol-labs/shared": "^0.12.1",
71
71
  "@coinbase/cdp-sdk": "^1.51.2",
72
72
  "@modelcontextprotocol/sdk": "^1.29.0",
73
+ "@napi-rs/keyring": "1.3.0",
74
+ "@privy-io/node": "0.33.0",
73
75
  "@reclaimprotocol/js-sdk": "^5.6.0",
74
76
  "@reclaimprotocol/zk-fetch": "^1.0.0",
75
77
  "reflect-metadata": "^0.2.2",