@absol-labs/agent 0.7.3 → 0.9.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 (80) hide show
  1. package/README.md +19 -4
  2. package/dist/discovery/registry.d.ts +110 -305
  3. package/dist/discovery/registry.d.ts.map +1 -1
  4. package/dist/discovery/registry.js +141 -318
  5. package/dist/discovery/registry.js.map +1 -1
  6. package/dist/frameworks/agentkit.d.ts.map +1 -1
  7. package/dist/frameworks/agentkit.js +23 -6
  8. package/dist/frameworks/agentkit.js.map +1 -1
  9. package/dist/gateway/caller-auth-gateway.d.ts +103 -2
  10. package/dist/gateway/caller-auth-gateway.d.ts.map +1 -1
  11. package/dist/gateway/caller-auth-gateway.js +176 -19
  12. package/dist/gateway/caller-auth-gateway.js.map +1 -1
  13. package/dist/gateway/http-server.d.ts +12 -0
  14. package/dist/gateway/http-server.d.ts.map +1 -1
  15. package/dist/gateway/http-server.js +45 -1
  16. package/dist/gateway/http-server.js.map +1 -1
  17. package/dist/index.d.ts +3 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -3
  20. package/dist/index.js.map +1 -1
  21. package/dist/wallet/autonomous-wallet-store.d.ts +123 -0
  22. package/dist/wallet/autonomous-wallet-store.d.ts.map +1 -0
  23. package/dist/wallet/autonomous-wallet-store.js +318 -0
  24. package/dist/wallet/autonomous-wallet-store.js.map +1 -0
  25. package/dist/wallet/autonomous-wallet.d.ts +14 -39
  26. package/dist/wallet/autonomous-wallet.d.ts.map +1 -1
  27. package/dist/wallet/autonomous-wallet.js +12 -145
  28. package/dist/wallet/autonomous-wallet.js.map +1 -1
  29. package/dist/wallet/cdp-sdk.d.ts +23 -0
  30. package/dist/wallet/cdp-sdk.d.ts.map +1 -0
  31. package/dist/wallet/cdp-sdk.js +27 -0
  32. package/dist/wallet/cdp-sdk.js.map +1 -0
  33. package/dist/wallet/encrypted-file-credential-store.d.ts +41 -0
  34. package/dist/wallet/encrypted-file-credential-store.d.ts.map +1 -0
  35. package/dist/wallet/encrypted-file-credential-store.js +221 -0
  36. package/dist/wallet/encrypted-file-credential-store.js.map +1 -0
  37. package/dist/wallet/provider.d.ts +1 -1
  38. package/dist/wallet/provider.d.ts.map +1 -1
  39. package/dist/wallet/provider.js +8 -3
  40. package/dist/wallet/provider.js.map +1 -1
  41. package/dist/wallet/secret-service-probe.d.ts +56 -0
  42. package/dist/wallet/secret-service-probe.d.ts.map +1 -0
  43. package/dist/wallet/secret-service-probe.js +407 -0
  44. package/dist/wallet/secret-service-probe.js.map +1 -0
  45. package/dist/zktls/reclaim-js-sdk.d.ts +24 -0
  46. package/dist/zktls/reclaim-js-sdk.d.ts.map +1 -0
  47. package/dist/zktls/reclaim-js-sdk.js +29 -0
  48. package/dist/zktls/reclaim-js-sdk.js.map +1 -0
  49. package/dist/zktls/reclaim.d.ts +14 -2
  50. package/dist/zktls/reclaim.d.ts.map +1 -1
  51. package/dist/zktls/reclaim.js +29 -6
  52. package/dist/zktls/reclaim.js.map +1 -1
  53. package/dist/zktls/t2-delivery-proof.d.ts +8 -1
  54. package/dist/zktls/t2-delivery-proof.d.ts.map +1 -1
  55. package/dist/zktls/t2-delivery-proof.js +22 -6
  56. package/dist/zktls/t2-delivery-proof.js.map +1 -1
  57. package/docs/agent-layer.md +150 -0
  58. package/docs/autonomous-privy-wallet.md +133 -0
  59. package/docs/crewai.md +70 -0
  60. package/docs/eliza.md +109 -0
  61. package/docs/langchain.md +63 -0
  62. package/docs/mcp-hosted.md +137 -0
  63. package/docs/privy-embedded-wallet.md +102 -0
  64. package/docs/quickstart.md +370 -0
  65. package/docs/threat-model.md +160 -0
  66. package/package.json +19 -6
  67. package/src/discovery/registry.ts +242 -414
  68. package/src/frameworks/agentkit.ts +24 -5
  69. package/src/gateway/caller-auth-gateway.ts +281 -15
  70. package/src/gateway/http-server.ts +64 -0
  71. package/src/index.ts +24 -0
  72. package/src/wallet/autonomous-wallet-store.ts +487 -0
  73. package/src/wallet/autonomous-wallet.ts +57 -224
  74. package/src/wallet/cdp-sdk.ts +33 -0
  75. package/src/wallet/encrypted-file-credential-store.ts +341 -0
  76. package/src/wallet/provider.ts +16 -9
  77. package/src/wallet/secret-service-probe.ts +487 -0
  78. package/src/zktls/reclaim-js-sdk.ts +50 -0
  79. package/src/zktls/reclaim.ts +57 -23
  80. package/src/zktls/t2-delivery-proof.ts +28 -10
@@ -1,31 +1,12 @@
1
1
  import { type Address } from "viem";
2
2
  import { type PrivyEip1193Provider } from "./provider.js";
3
- import { AUTONOMOUS_WALLET_VERSION, type AutonomousWalletBroker, type PreparedPrivyRequest } from "./autonomous-wallet-protocol.js";
3
+ import { type AutonomousWalletBroker, type PreparedPrivyRequest } from "./autonomous-wallet-protocol.js";
4
+ import { type AutonomousWalletCredentialStore, type AutonomousWalletRecord } from "./autonomous-wallet-store.js";
4
5
  export { AUTONOMOUS_WALLET_CAIP2, AUTONOMOUS_WALLET_CHAIN_ID, AUTONOMOUS_WALLET_VERSION, autonomousProofBytes, type AutonomousWalletBroker, type AutonomousWalletProof, type PreparedPrivyRequest, } from "./autonomous-wallet-protocol.js";
6
+ export { AUTONOMOUS_WALLET_KEYCHAIN_SERVICE, AutonomousWalletError, InMemoryAutonomousWalletStore, OsCredentialStore, assertDurableCredentialStore, createDefaultAutonomousWalletStore, type AssertDurableCredentialStoreOptions, type AutonomousWalletCredentialStore, type AutonomousWalletRecord, type CredentialStoreDurability, type CredentialStoreDurabilityReport, type OsCredentialStoreOptions, type SecretEntryFactory, type SecretEntryLike, } from "./autonomous-wallet-store.js";
7
+ export { EncryptedFileCredentialStore, METRIK_WALLET_ENCRYPTION_KEY_ENV, METRIK_WALLET_STORE_DIR_ENV, type EncryptedFileCredentialStoreOptions, } from "./encrypted-file-credential-store.js";
8
+ export { probeSecretServiceAvailable, type ProbeSecretServiceOptions, type SecretServiceProbeResult, } from "./secret-service-probe.js";
5
9
  export declare const METRIK_AUTONOMOUS_WALLET_BROKER_URL = "https://wallet.137.23.50.249.sslip.io";
6
- export interface AutonomousWalletRecord {
7
- readonly version: typeof AUTONOMOUS_WALLET_VERSION;
8
- readonly appId: string;
9
- readonly brokerUrl: string;
10
- readonly publicKey: string;
11
- /** Base64 PKCS8 P-256 key. This field must only be stored in a secure store. */
12
- readonly privateKey: string;
13
- readonly provisioningNonce: string;
14
- readonly walletId?: string;
15
- readonly address?: Address;
16
- readonly policyId?: string;
17
- readonly createdAt: number;
18
- }
19
- export interface AutonomousWalletCredentialStore {
20
- load(key: string): Promise<AutonomousWalletRecord | null>;
21
- save(key: string, record: AutonomousWalletRecord): Promise<void>;
22
- }
23
- export declare class AutonomousWalletError extends Error {
24
- readonly code: "invalid-config" | "store-failure" | "broker-failure" | "proof-failure" | "invalid-response";
25
- constructor(code: "invalid-config" | "store-failure" | "broker-failure" | "proof-failure" | "invalid-response", message: string, options?: {
26
- readonly cause?: unknown;
27
- });
28
- }
29
10
  /**
30
11
  * Wire adapter for the broker HTTP contract. The only credential sent by this
31
12
  * client is the P-256 proof/signature; the PKCS8 private key never enters a
@@ -55,12 +36,21 @@ export interface ProvisionAutonomousWalletOptions {
55
36
  readonly store?: AutonomousWalletCredentialStore;
56
37
  readonly nowSeconds?: number;
57
38
  readonly nonce?: string;
39
+ /**
40
+ * Opt in to a credential store that does NOT survive a host reboot (process
41
+ * memory, the Linux kernel keyring). Off by default: provisioning refuses a
42
+ * volatile store because the owner key — and therefore any funds the wallet
43
+ * holds — is lost on reboot. Only set this for genuinely ephemeral runs.
44
+ */
45
+ readonly allowVolatileStore?: boolean;
58
46
  }
59
47
  export interface ProvisionMetrikAutonomousWalletOptions {
60
48
  readonly storeKey: string;
61
49
  readonly brokerUrl?: string;
62
50
  readonly store?: AutonomousWalletCredentialStore;
63
51
  readonly fetchImpl?: typeof fetch;
52
+ /** See {@link ProvisionAutonomousWalletOptions.allowVolatileStore}. */
53
+ readonly allowVolatileStore?: boolean;
64
54
  }
65
55
  /**
66
56
  * Zero-secret Metrik entry point. Public app/policy configuration is fetched
@@ -88,19 +78,4 @@ export interface CreateAutonomousWalletProviderOptions {
88
78
  */
89
79
  export declare function createAutonomousWalletProvider(options: CreateAutonomousWalletProviderOptions): PrivyEip1193Provider;
90
80
  export declare function createAutonomousWalletAccount(options: CreateAutonomousWalletProviderOptions): Promise<import("viem").Account>;
91
- export declare class InMemoryAutonomousWalletStore implements AutonomousWalletCredentialStore {
92
- private readonly records;
93
- load(key: string): Promise<AutonomousWalletRecord | null>;
94
- save(key: string, record: AutonomousWalletRecord): Promise<void>;
95
- }
96
- /**
97
- * Uses the host OS credential manager. There is intentionally no plaintext
98
- * file fallback: unsupported hosts receive an actionable error instead.
99
- */
100
- export declare class OsCredentialStore implements AutonomousWalletCredentialStore {
101
- load(key: string): Promise<AutonomousWalletRecord | null>;
102
- save(key: string, record: AutonomousWalletRecord): Promise<void>;
103
- private readSecret;
104
- }
105
- export declare function createDefaultAutonomousWalletStore(): AutonomousWalletCredentialStore;
106
81
  //# sourceMappingURL=autonomous-wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autonomous-wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/autonomous-wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autonomous-wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/autonomous-wallet.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,13 @@
1
- import { createPrivateKey, createPublicKey } from "node:crypto";
2
1
  import { generateAuthorizationSignature, generateP256KeyPair, } from "@privy-io/node";
3
2
  import { getAddress } from "viem";
4
3
  import { createPrivyEmbeddedAccount, } from "./provider.js";
5
4
  import { AUTONOMOUS_WALLET_CHAIN_ID, AUTONOMOUS_WALLET_VERSION, autonomousProofBytes, } from "./autonomous-wallet-protocol.js";
5
+ import { AutonomousWalletError, assertDurableCredentialStore, createDefaultAutonomousWalletStore, decodeBase64, isRecord, validateStoredRecord, } from "./autonomous-wallet-store.js";
6
6
  export { AUTONOMOUS_WALLET_CAIP2, AUTONOMOUS_WALLET_CHAIN_ID, AUTONOMOUS_WALLET_VERSION, autonomousProofBytes, } from "./autonomous-wallet-protocol.js";
7
- const KEYCHAIN_SERVICE = "com.absol-labs.metrik.autonomous-wallet";
7
+ export { AUTONOMOUS_WALLET_KEYCHAIN_SERVICE, AutonomousWalletError, InMemoryAutonomousWalletStore, OsCredentialStore, assertDurableCredentialStore, createDefaultAutonomousWalletStore, } from "./autonomous-wallet-store.js";
8
+ export { EncryptedFileCredentialStore, METRIK_WALLET_ENCRYPTION_KEY_ENV, METRIK_WALLET_STORE_DIR_ENV, } from "./encrypted-file-credential-store.js";
9
+ export { probeSecretServiceAvailable, } from "./secret-service-probe.js";
8
10
  export const METRIK_AUTONOMOUS_WALLET_BROKER_URL = "https://wallet.137.23.50.249.sslip.io";
9
- export class AutonomousWalletError extends Error {
10
- code;
11
- constructor(code, message, options) {
12
- super(message, options);
13
- this.code = code;
14
- this.name = "AutonomousWalletError";
15
- }
16
- }
17
11
  /**
18
12
  * Wire adapter for the broker HTTP contract. The only credential sent by this
19
13
  * client is the P-256 proof/signature; the PKCS8 private key never enters a
@@ -104,6 +98,9 @@ export async function provisionMetrikAutonomousWallet(options) {
104
98
  storeKey: options.storeKey,
105
99
  broker,
106
100
  ...(options.store === undefined ? {} : { store: options.store }),
101
+ ...(options.allowVolatileStore === undefined
102
+ ? {}
103
+ : { allowVolatileStore: options.allowVolatileStore }),
107
104
  });
108
105
  }
109
106
  /**
@@ -115,6 +112,11 @@ export async function provisionMetrikAutonomousWallet(options) {
115
112
  export async function provisionAutonomousWallet(options) {
116
113
  validateProvisionOptions(options);
117
114
  const store = options.store ?? createDefaultAutonomousWalletStore();
115
+ // Fail closed BEFORE a key is generated or a stored key is handed back: a
116
+ // volatile backend silently loses the owner key (and any funds) on reboot.
117
+ await assertDurableCredentialStore(store, {
118
+ allowVolatileStore: options.allowVolatileStore === true,
119
+ });
118
120
  const existingRaw = await loadRecord(store, options.storeKey);
119
121
  if (existingRaw !== null) {
120
122
  const existing = validateStoredRecord(existingRaw);
@@ -278,55 +280,6 @@ export async function createAutonomousWalletAccount(options) {
278
280
  };
279
281
  return createPrivyEmbeddedAccount(config);
280
282
  }
281
- export class InMemoryAutonomousWalletStore {
282
- records = new Map();
283
- async load(key) {
284
- return this.records.get(key) ?? null;
285
- }
286
- async save(key, record) {
287
- this.records.set(key, record);
288
- }
289
- }
290
- /**
291
- * Uses the host OS credential manager. There is intentionally no plaintext
292
- * file fallback: unsupported hosts receive an actionable error instead.
293
- */
294
- export class OsCredentialStore {
295
- async load(key) {
296
- const raw = await this.readSecret(key);
297
- if (raw === null)
298
- return null;
299
- try {
300
- return validateStoredRecord(JSON.parse(raw));
301
- }
302
- catch (error) {
303
- throw new AutonomousWalletError("store-failure", "OS credential contains invalid wallet data", { cause: error });
304
- }
305
- }
306
- async save(key, record) {
307
- const raw = JSON.stringify(record);
308
- try {
309
- const { AsyncEntry } = await import("@napi-rs/keyring");
310
- await new AsyncEntry(KEYCHAIN_SERVICE, key).setPassword(raw);
311
- return;
312
- }
313
- catch (error) {
314
- throw new AutonomousWalletError("store-failure", "OS credential store rejected the autonomous wallet record; no plaintext fallback is allowed", { cause: error });
315
- }
316
- }
317
- async readSecret(key) {
318
- try {
319
- const { AsyncEntry } = await import("@napi-rs/keyring");
320
- return ((await new AsyncEntry(KEYCHAIN_SERVICE, key).getPassword()) ?? null);
321
- }
322
- catch (error) {
323
- throw new AutonomousWalletError("store-failure", "OS credential store could not read the autonomous wallet record", { cause: error });
324
- }
325
- }
326
- }
327
- export function createDefaultAutonomousWalletStore() {
328
- return new OsCredentialStore();
329
- }
330
283
  async function loadRecord(store, key) {
331
284
  try {
332
285
  return await store.load(key);
@@ -372,56 +325,6 @@ function validateExistingRecord(record, options) {
372
325
  throw new AutonomousWalletError("invalid-config", "stored autonomous wallet belongs to a different app or broker");
373
326
  }
374
327
  }
375
- function validateStoredRecord(value) {
376
- if (!isRecord(value) ||
377
- value.version !== AUTONOMOUS_WALLET_VERSION ||
378
- typeof value.appId !== "string" ||
379
- value.appId.trim() === "" ||
380
- typeof value.brokerUrl !== "string" ||
381
- typeof value.publicKey !== "string" ||
382
- value.publicKey.trim() === "" ||
383
- typeof value.privateKey !== "string" ||
384
- value.privateKey.trim() === "" ||
385
- typeof value.provisioningNonce !== "string" ||
386
- value.provisioningNonce.trim() === "" ||
387
- typeof value.createdAt !== "number" ||
388
- !Number.isSafeInteger(value.createdAt)) {
389
- throw new AutonomousWalletError("store-failure", "OS credential contains an invalid autonomous wallet record");
390
- }
391
- if (value.walletId !== undefined &&
392
- (typeof value.walletId !== "string" || value.walletId.trim() === "")) {
393
- throw new AutonomousWalletError("store-failure", "OS credential contains an invalid wallet id");
394
- }
395
- if (value.policyId !== undefined &&
396
- (typeof value.policyId !== "string" || value.policyId.trim() === "")) {
397
- throw new AutonomousWalletError("store-failure", "OS credential contains an invalid policy id");
398
- }
399
- if (value.address !== undefined &&
400
- (typeof value.address !== "string" ||
401
- !/^0x[0-9a-fA-F]{40}$/.test(value.address))) {
402
- throw new AutonomousWalletError("store-failure", "OS credential contains an invalid wallet address");
403
- }
404
- try {
405
- validateP256KeyPair(value.publicKey, value.privateKey);
406
- }
407
- catch (error) {
408
- throw new AutonomousWalletError("store-failure", "OS credential contains invalid P-256 key material", { cause: error });
409
- }
410
- return {
411
- version: AUTONOMOUS_WALLET_VERSION,
412
- appId: value.appId,
413
- brokerUrl: value.brokerUrl,
414
- publicKey: value.publicKey,
415
- privateKey: value.privateKey,
416
- provisioningNonce: value.provisioningNonce,
417
- ...(value.walletId === undefined ? {} : { walletId: value.walletId }),
418
- ...(value.address === undefined
419
- ? {}
420
- : { address: getAddress(value.address) }),
421
- ...(value.policyId === undefined ? {} : { policyId: value.policyId }),
422
- createdAt: value.createdAt,
423
- };
424
- }
425
328
  function normalizeBrokerUrl(value) {
426
329
  const url = new URL(value);
427
330
  url.search = "";
@@ -433,39 +336,6 @@ function cryptoRandomNonce() {
433
336
  crypto.getRandomValues(bytes);
434
337
  return Buffer.from(bytes).toString("base64url");
435
338
  }
436
- function decodeBase64(value) {
437
- if (!/^[A-Za-z0-9+/]+={0,2}$/.test(value) || value.length % 4 === 1) {
438
- throw new AutonomousWalletError("invalid-response", "broker returned invalid proof payload encoding");
439
- }
440
- const decoded = Buffer.from(value, "base64");
441
- if (decoded.length === 0 || decoded.toString("base64") !== value) {
442
- throw new AutonomousWalletError("invalid-response", "broker returned an empty proof payload");
443
- }
444
- return new Uint8Array(decoded);
445
- }
446
- function validateP256KeyPair(publicKey, privateKey) {
447
- const publicObject = createPublicKey({
448
- key: Buffer.from(decodeBase64(publicKey)),
449
- format: "der",
450
- type: "spki",
451
- });
452
- const privateObject = createPrivateKey({
453
- key: Buffer.from(decodeBase64(privateKey)),
454
- format: "der",
455
- type: "pkcs8",
456
- });
457
- if (publicObject.asymmetricKeyType !== "ec" ||
458
- publicObject.asymmetricKeyDetails?.namedCurve !== "prime256v1" ||
459
- privateObject.asymmetricKeyType !== "ec" ||
460
- privateObject.asymmetricKeyDetails?.namedCurve !== "prime256v1") {
461
- throw new Error("key material is not P-256");
462
- }
463
- const derived = createPublicKey(privateObject)
464
- .export({ format: "der", type: "spki" })
465
- .toString("base64");
466
- if (derived !== publicKey)
467
- throw new Error("public key does not match private key");
468
- }
469
339
  function validateProvisionResponse(value) {
470
340
  if (!isRecord(value) ||
471
341
  typeof value.walletId !== "string" ||
@@ -509,9 +379,6 @@ function validatePreparedResponse(value) {
509
379
  expiresAt: value.expiresAt,
510
380
  };
511
381
  }
512
- function isRecord(value) {
513
- return typeof value === "object" && value !== null && !Array.isArray(value);
514
- }
515
382
  function bigintJson(_key, value) {
516
383
  return typeof value === "bigint" ? `0x${value.toString(16)}` : value;
517
384
  }
@@ -1 +1 @@
1
- {"version":3,"file":"autonomous-wallet.js","sourceRoot":"","sources":["../../src/wallet/autonomous-wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autonomous-wallet.js","sourceRoot":"","sources":["../../src/wallet/autonomous-wallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * `@coinbase/cdp-sdk` is an OPTIONAL peer dependency: only consumers that use the
3
+ * Coinbase CDP wallet path need it, and it carries a very large transitive graph
4
+ * (it was the main contributor to the 18 -> ~515 package jump a consumer saw just
5
+ * for hiring and invoking a service). The top-level "@absol-labs/agent" barrel
6
+ * DOES reach `./provider.ts`, so that module must import the SDK's TYPES only
7
+ * (`import type`, erased at compile time) and load the runtime module lazily
8
+ * through this loader at the point of first use.
9
+ *
10
+ * This is the same contract as `../zktls/reclaim-js-sdk.ts`, and it is enforced
11
+ * by the barrel-reachability guard in `test/flat-install.test.ts`: a static value
12
+ * import of an optional peer from any barrel-reachable module fails that test.
13
+ *
14
+ * Deliberately NOT a top-level `await import(...)` (the pattern used by
15
+ * `../frameworks/agentkit.ts`): those modules are not barrel-reachable, this one
16
+ * is, and a top-level await would re-introduce the hard dependency at
17
+ * barrel-import time — precisely the regression that issue #79 was filed for.
18
+ */
19
+ type CdpSdkModule = typeof import("@coinbase/cdp-sdk");
20
+ /** Memoized lazy load with an actionable missing-peer error. */
21
+ export declare function loadCdpSdk(): Promise<CdpSdkModule>;
22
+ export {};
23
+ //# sourceMappingURL=cdp-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdp-sdk.d.ts","sourceRoot":"","sources":["../../src/wallet/cdp-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,KAAK,YAAY,GAAG,cAAc,mBAAmB,CAAC,CAAC;AAIvD,gEAAgE;AAChE,wBAAsB,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,CAQxD"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `@coinbase/cdp-sdk` is an OPTIONAL peer dependency: only consumers that use the
3
+ * Coinbase CDP wallet path need it, and it carries a very large transitive graph
4
+ * (it was the main contributor to the 18 -> ~515 package jump a consumer saw just
5
+ * for hiring and invoking a service). The top-level "@absol-labs/agent" barrel
6
+ * DOES reach `./provider.ts`, so that module must import the SDK's TYPES only
7
+ * (`import type`, erased at compile time) and load the runtime module lazily
8
+ * through this loader at the point of first use.
9
+ *
10
+ * This is the same contract as `../zktls/reclaim-js-sdk.ts`, and it is enforced
11
+ * by the barrel-reachability guard in `test/flat-install.test.ts`: a static value
12
+ * import of an optional peer from any barrel-reachable module fails that test.
13
+ *
14
+ * Deliberately NOT a top-level `await import(...)` (the pattern used by
15
+ * `../frameworks/agentkit.ts`): those modules are not barrel-reachable, this one
16
+ * is, and a top-level await would re-introduce the hard dependency at
17
+ * barrel-import time — precisely the regression that issue #79 was filed for.
18
+ */
19
+ let modulePromise;
20
+ /** Memoized lazy load with an actionable missing-peer error. */
21
+ export async function loadCdpSdk() {
22
+ modulePromise ??= import("@coinbase/cdp-sdk").catch((error) => {
23
+ throw new Error("@absol-labs/agent CDP wallet support requires the optional peer dependency '@coinbase/cdp-sdk'. Install it with `npm install @coinbase/cdp-sdk`, or use a different wallet mode (the autonomous Privy wallet and an injected account both work without it).", { cause: error });
24
+ });
25
+ return await modulePromise;
26
+ }
27
+ //# sourceMappingURL=cdp-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdp-sdk.js","sourceRoot":"","sources":["../../src/wallet/cdp-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,IAAI,aAAgD,CAAC;AAErD,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,aAAa,KAAK,MAAM,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACrE,MAAM,IAAI,KAAK,CACb,6PAA6P,EAC7P,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,aAAa,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { type AutonomousWalletCredentialStore, type AutonomousWalletRecord, type CredentialStoreDurabilityReport } from "./autonomous-wallet-store.js";
2
+ /** Environment variable holding the externally-managed encryption secret. */
3
+ export declare const METRIK_WALLET_ENCRYPTION_KEY_ENV = "METRIK_WALLET_ENCRYPTION_KEY";
4
+ /** Environment variable overriding where encrypted wallet files are written. */
5
+ export declare const METRIK_WALLET_STORE_DIR_ENV = "METRIK_WALLET_STORE_DIR";
6
+ export interface EncryptedFileCredentialStoreOptions {
7
+ /**
8
+ * Directory holding one encrypted file per store key. Defaults to
9
+ * `$METRIK_WALLET_STORE_DIR`, else `~/.metrik/autonomous-wallets`.
10
+ */
11
+ readonly directory?: string;
12
+ /**
13
+ * Encryption secret. Defaults to `$METRIK_WALLET_ENCRYPTION_KEY`. Supply it
14
+ * from a platform secret manager (AWS/GCP Secrets Manager, Vault, a
15
+ * Docker/Kubernetes secret) — never commit it next to the encrypted file.
16
+ */
17
+ readonly encryptionKey?: string;
18
+ readonly env?: NodeJS.ProcessEnv;
19
+ }
20
+ /**
21
+ * Durable credential store for headless hosts (servers, containers, VMs, CI
22
+ * runners) that have no OS credential manager.
23
+ *
24
+ * The wallet record is encrypted at rest with AES-256-GCM under a key derived
25
+ * with scrypt from an externally-supplied secret and a fresh random salt per
26
+ * write; the IV is fresh per write and the ciphertext is authenticated against
27
+ * the store key. The secret is never written to disk, so the "no plaintext key
28
+ * on disk" guarantee still holds — but unlike the Linux kernel keyring the file
29
+ * survives a reboot, which is what a fund-controlling key requires.
30
+ */
31
+ export declare class EncryptedFileCredentialStore implements AutonomousWalletCredentialStore {
32
+ private readonly directory;
33
+ private readonly secret;
34
+ constructor(options?: EncryptedFileCredentialStoreOptions);
35
+ load(key: string): Promise<AutonomousWalletRecord | null>;
36
+ save(key: string, record: AutonomousWalletRecord): Promise<void>;
37
+ probeDurability(): Promise<CredentialStoreDurabilityReport>;
38
+ /** Absolute path of the encrypted file backing `key`. */
39
+ pathFor(key: string): string;
40
+ }
41
+ //# sourceMappingURL=encrypted-file-credential-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypted-file-credential-store.d.ts","sourceRoot":"","sources":["../../src/wallet/encrypted-file-credential-store.ts"],"names":[],"mappings":"AAmBA,OAAO,EAIL,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACrC,MAAM,8BAA8B,CAAC;AAStC,6EAA6E;AAC7E,eAAO,MAAM,gCAAgC,iCAAiC,CAAC;AAC/E,gFAAgF;AAChF,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAYrE,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAkBD;;;;;;;;;;GAUG;AACH,qBAAa,4BAA6B,YAAW,+BAA+B;IAClF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,GAAE,mCAAwC;IAuBvD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IA2DzD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDhE,eAAe,IAAI,OAAO,CAAC,+BAA+B,CAAC;IAkCjE,yDAAyD;IACzD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAU7B"}