@shroud-fi/agent-runtime 0.1.0 → 0.1.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.
Files changed (41) hide show
  1. package/README.md +19 -0
  2. package/dist/cjs/agent.d.ts +26 -0
  3. package/dist/cjs/agent.d.ts.map +1 -1
  4. package/dist/cjs/agent.js +32 -0
  5. package/dist/cjs/agent.js.map +1 -1
  6. package/dist/cjs/contacts.d.ts +22 -0
  7. package/dist/cjs/contacts.d.ts.map +1 -0
  8. package/dist/cjs/contacts.js +190 -0
  9. package/dist/cjs/contacts.js.map +1 -0
  10. package/dist/cjs/errors.d.ts +43 -0
  11. package/dist/cjs/errors.d.ts.map +1 -1
  12. package/dist/cjs/errors.js +56 -1
  13. package/dist/cjs/errors.js.map +1 -1
  14. package/dist/cjs/index.d.ts +4 -2
  15. package/dist/cjs/index.d.ts.map +1 -1
  16. package/dist/cjs/index.js +8 -1
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/types.d.ts +15 -0
  19. package/dist/cjs/types.d.ts.map +1 -1
  20. package/dist/esm/agent.d.ts +26 -0
  21. package/dist/esm/agent.d.ts.map +1 -1
  22. package/dist/esm/agent.js +32 -0
  23. package/dist/esm/agent.js.map +1 -1
  24. package/dist/esm/contacts.d.ts +22 -0
  25. package/dist/esm/contacts.d.ts.map +1 -0
  26. package/dist/esm/contacts.js +153 -0
  27. package/dist/esm/contacts.js.map +1 -0
  28. package/dist/esm/errors.d.ts +43 -0
  29. package/dist/esm/errors.d.ts.map +1 -1
  30. package/dist/esm/errors.js +51 -0
  31. package/dist/esm/errors.js.map +1 -1
  32. package/dist/esm/index.d.ts +4 -2
  33. package/dist/esm/index.d.ts.map +1 -1
  34. package/dist/esm/index.js +3 -1
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/types.d.ts +15 -0
  37. package/dist/esm/types.d.ts.map +1 -1
  38. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  39. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +17 -17
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,EAAE;AACF,4EAA4E;AAC5E,sEAAsE;AACtE,gFAAgF;AAChF,iFAAiF;AACjF,EAAE;AACF,wEAAwE;AACxE,gCAAgC;;;AAEhC,oBAAoB;AACpB,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AACpB,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA;AAC1B,2CAKsB;AAJpB,gIAAA,kCAAkC,OAAA;AAClC,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AACjB,+GAAA,iBAAiB,OAAA;AAenB,SAAS;AACT,yCAaqB;AAZnB,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,qHAAA,wBAAwB,OAAA;AACxB,sHAAA,yBAAyB,OAAA;AACzB,gIAAA,mCAAmC,OAAA;AACnC,2HAAA,8BAA8B,OAAA;AAC9B,8HAAA,iCAAiC,OAAA;AACjC,4HAAA,+BAA+B,OAAA;AAC/B,iIAAA,oCAAoC,OAAA;AACpC,mHAAA,sBAAsB,OAAA;AACtB,wHAAA,2BAA2B,OAAA;AAC3B,4HAAA,+BAA+B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,EAAE;AACF,4EAA4E;AAC5E,sEAAsE;AACtE,gFAAgF;AAChF,iFAAiF;AACjF,EAAE;AACF,wEAAwE;AACxE,gCAAgC;;;AAEhC,oBAAoB;AACpB,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AACpB,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA;AAC1B,2CAKsB;AAJpB,gIAAA,kCAAkC,OAAA;AAClC,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AACjB,+GAAA,iBAAiB,OAAA;AAGnB,wBAAwB;AACxB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAiBpB,SAAS;AACT,yCAiBqB;AAhBnB,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,qHAAA,wBAAwB,OAAA;AACxB,sHAAA,yBAAyB,OAAA;AACzB,gIAAA,mCAAmC,OAAA;AACnC,2HAAA,8BAA8B,OAAA;AAC9B,8HAAA,iCAAiC,OAAA;AACjC,4HAAA,+BAA+B,OAAA;AAC/B,iIAAA,oCAAoC,OAAA;AACpC,mHAAA,sBAAsB,OAAA;AACtB,wHAAA,2BAA2B,OAAA;AAC3B,4HAAA,+BAA+B,OAAA;AAC/B,qHAAA,wBAAwB,OAAA;AACxB,qHAAA,wBAAwB,OAAA;AACxB,sHAAA,yBAAyB,OAAA;AACzB,gHAAA,mBAAmB,OAAA"}
@@ -148,4 +148,19 @@ export interface AgentRelayerEthSweepResult {
148
148
  };
149
149
  readonly detection: DetectedPayment;
150
150
  }
151
+ /**
152
+ * v0.1.1 — address-book contact kind. 'wallet' = 20-byte EVM address (used
153
+ * with sendToWallet); 'meta' = `st:base:0x…` stealth meta-address (used with
154
+ * send).
155
+ */
156
+ export type ContactKind = 'wallet' | 'meta';
157
+ /**
158
+ * v0.1.1 — a single address-book entry. Fully local, never on-chain.
159
+ */
160
+ export interface Contact {
161
+ readonly label: string;
162
+ readonly kind: ContactKind;
163
+ readonly value: string;
164
+ readonly addedAt: string;
165
+ }
151
166
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import type { AgentIdentity, StealthMetaAddress } from '@shroud-fi/core';
15
15
  import type { PaymentReceipt, SendOptions, SendToWalletAsset } from '@shroud-fi/payments';
16
16
  import type { DetectedPayment, FinalityLevel, ScannerBackend } from '@shroud-fi/scanning';
17
17
  import type { ShroudFiTransport } from '@shroud-fi/transport';
18
+ import { ContactBook } from './contacts.js';
18
19
  import type { AgentRelayerEthSweepOptions, AgentRelayerEthSweepResult, AgentRelayerSweepOptions, AgentRelayerSweepResult, AgentSweepResult, ShroudAgentStartOptions } from './types.js';
19
20
  /**
20
21
  * Internal options that construct a ShroudAgent. The factory + browser factory
@@ -37,6 +38,11 @@ export interface ShroudAgentInternalOptions {
37
38
  * canonical ERC-6538 registry before dispatching the payment.
38
39
  */
39
40
  readonly autoRegister?: boolean;
41
+ /**
42
+ * v0.1.1 — optional override of the address-book JSON path. Defaults to
43
+ * `~/.shroudfi/contacts.json`. Tests / sandboxed agents may want a tmpdir.
44
+ */
45
+ readonly contactsFilePath?: string;
40
46
  }
41
47
  /**
42
48
  * The ShroudAgent class. Wraps an EIP-5564 identity + the four ShroudFi
@@ -52,6 +58,20 @@ export declare class ShroudAgent {
52
58
  readonly metaAddressEncoded: string;
53
59
  readonly transport: ShroudFiTransport;
54
60
  readonly stealthContract: Address;
61
+ /**
62
+ * v0.1.1 — local-only address book. Pure persistence layer. ShroudFi never
63
+ * uses contact data on the network; resolving a label to an address is the
64
+ * caller's job. See `ContactBook` in @shroud-fi/agent-runtime.
65
+ *
66
+ * Built LAZILY on first access (see the getter below). ContactBook's
67
+ * constructor touches os.homedir()/fs to resolve + read its JSON file; doing
68
+ * that eagerly in the ShroudAgent constructor crashed browser bundles where
69
+ * webpack stubs fs/os/path to {} → "Connection failed (TypeError)" the moment
70
+ * a wallet connected. Browser agents that never call `.contacts` now never
71
+ * reach the filesystem. See test/browser-contacts-lazy.test.ts.
72
+ */
73
+ private _contacts;
74
+ private readonly contactsFilePath;
55
75
  private readonly finality;
56
76
  private readonly startBlock;
57
77
  private readonly announcer;
@@ -61,6 +81,12 @@ export declare class ShroudAgent {
61
81
  private isStarted;
62
82
  private controller;
63
83
  constructor(opts: ShroudAgentInternalOptions);
84
+ /**
85
+ * Local-only address book, constructed on first access. Node consumers use
86
+ * `agent.contacts.add(...)` exactly as before; browser consumers that never
87
+ * touch it never construct a ContactBook and so never reach os/fs.
88
+ */
89
+ get contacts(): ContactBook;
64
90
  /**
65
91
  * Build a fresh Scanner with this agent's config. Called from start() so
66
92
  * each lifecycle gets its own scanner instance (a closed scanner can't be
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAO,MAAM,MAAM,CAAC;AAM/C,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EAEb,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAgB9D,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AASD;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA8B;gBAEpC,IAAI,EAAE,0BAA0B;IAgB5C;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAYpB;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAAC,eAAe,CAAC;IAwGrE;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAoBZ;;;;;OAKG;IACG,IAAI,CACR,EAAE,EAAE,kBAAkB,GAAG,MAAM,EAC/B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;IAK1B;;;;;OAKG;IACG,SAAS,CACb,EAAE,EAAE,kBAAkB,GAAG,MAAM,EAC/B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC;IAW1B;;;;;;;;;;;OAWG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBtC;;;;;;;;;;;;;;OAcG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C/B;;;;;;;;OAQG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAChC,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,IAAI,CAAC;KACf,CAAC;IAQF;;;;;;;;;;;;;;;;;;OAkBG;IACG,YAAY,CAChB,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,cAAc,CAAC;IAc1B;;;;;;;;;;;;;;OAcG;IACG,KAAK,CACT,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,wBAAwB,CAAC;QAC1C,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,iBAAiB,CAAC,EAAE,2BAA2B,CAAC;KACjD,GACA,OAAO,CACR,gBAAgB,GAAG,uBAAuB,GAAG,0BAA0B,CACxE;IA2CD;;;;;;;;;;;;;;;;OAgBG;IACG,eAAe,CACnB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO,CAAC;QACf,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,wBAAwB,CAAC;KAC3C,GACA,OAAO,CAAC,uBAAuB,CAAC;IAoDnC;;;;;;;OAOG;YACW,gBAAgB;IA4E9B;;;;;;;;;;;;;OAaG;IACG,kBAAkB,CACtB,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,IAAI,EAAE;QACJ,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,EAAE,2BAA2B,CAAC;KAC7C,GACA,OAAO,CAAC,0BAA0B,CAAC;CA0CvC"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/esm/agent.js CHANGED
@@ -16,6 +16,7 @@ import { sendETHPayment, sendERC20Payment, sendToWallet, sweepETH, sweepERC20, E
16
16
  import { createScanner } from '@shroud-fi/scanning';
17
17
  import { ERC6538_REGISTRY, ERC6538RegistryAbi, getRelayer, getEthRelayer, } from '@shroud-fi/transport';
18
18
  import { AgentAlreadyStartedError, AlreadyRegisteredError, AutoRegistrationFailedError, EthRelayerContractNotConfiguredError, EthRelayerEndpointRequiredError, RegistrationRequiresWalletError, RelayerContractNotConfiguredError, } from './errors.js';
19
+ import { ContactBook } from './contacts.js';
19
20
  /**
20
21
  * ETH zero-address sentinel — some callers may pass this to indicate "ETH" on
21
22
  * the sweep dispatch. Kept beside the canonical ETH_SENTINEL constant.
@@ -35,6 +36,20 @@ export class ShroudAgent {
35
36
  metaAddressEncoded;
36
37
  transport;
37
38
  stealthContract;
39
+ /**
40
+ * v0.1.1 — local-only address book. Pure persistence layer. ShroudFi never
41
+ * uses contact data on the network; resolving a label to an address is the
42
+ * caller's job. See `ContactBook` in @shroud-fi/agent-runtime.
43
+ *
44
+ * Built LAZILY on first access (see the getter below). ContactBook's
45
+ * constructor touches os.homedir()/fs to resolve + read its JSON file; doing
46
+ * that eagerly in the ShroudAgent constructor crashed browser bundles where
47
+ * webpack stubs fs/os/path to {} → "Connection failed (TypeError)" the moment
48
+ * a wallet connected. Browser agents that never call `.contacts` now never
49
+ * reach the filesystem. See test/browser-contacts-lazy.test.ts.
50
+ */
51
+ _contacts;
52
+ contactsFilePath;
38
53
  finality;
39
54
  startBlock;
40
55
  announcer;
@@ -54,10 +69,27 @@ export class ShroudAgent {
54
69
  this.announcer = opts.announcer;
55
70
  this.backendOverride = opts.backend;
56
71
  this.autoRegister = opts.autoRegister ?? false;
72
+ // Stash the path only — the ContactBook (and its os/fs access) is deferred
73
+ // to the `contacts` getter so plain connect/scan flows never touch disk.
74
+ this.contactsFilePath = opts.contactsFilePath;
57
75
  // Scanner is built lazily in start() — see H8 in docs/debug/P4-STEP3-STALL.md.
58
76
  // Reusing one Scanner across start/stop/start cycles silently dropped events
59
77
  // because Scanner.close() permanently sets its `closed` flag.
60
78
  }
79
+ /**
80
+ * Local-only address book, constructed on first access. Node consumers use
81
+ * `agent.contacts.add(...)` exactly as before; browser consumers that never
82
+ * touch it never construct a ContactBook and so never reach os/fs.
83
+ */
84
+ get contacts() {
85
+ if (this._contacts === undefined) {
86
+ this._contacts =
87
+ this.contactsFilePath !== undefined
88
+ ? new ContactBook({ filePath: this.contactsFilePath })
89
+ : new ContactBook();
90
+ }
91
+ return this._contacts;
92
+ }
61
93
  /**
62
94
  * Build a fresh Scanner with this agent's config. Called from start() so
63
95
  * each lifecycle gets its own scanner instance (a closed scanner can't be
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { Contact } from './types.js';
2
+ export interface ContactBookOptions {
3
+ /** Override the on-disk JSON file location. Defaults to the home-dir path. */
4
+ filePath?: string;
5
+ }
6
+ /**
7
+ * Local contact registry. Each instance is bound to one JSON file and
8
+ * re-loads on every read so multiple instances pointed at the same file stay
9
+ * coherent within a single process.
10
+ */
11
+ export declare class ContactBook {
12
+ private readonly filePath;
13
+ constructor(opts?: ContactBookOptions);
14
+ static defaultFilePath(): string;
15
+ add(label: string, value: string): Contact;
16
+ get(label: string): Contact | undefined;
17
+ list(): Contact[];
18
+ remove(label: string): void;
19
+ private read;
20
+ private write;
21
+ }
22
+ //# sourceMappingURL=contacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/contacts.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAQvD,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,IAAI,GAAE,kBAAuB;IAMzC,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAsB1C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAYvC,IAAI,IAAI,OAAO,EAAE;IAOjB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAa3B,OAAO,CAAC,IAAI;IAsBZ,OAAO,CAAC,KAAK;CASd"}
@@ -0,0 +1,153 @@
1
+ // Address-book / contact registry for @shroud-fi/agent-runtime.
2
+ //
3
+ // Pure-local, file-backed map of human-friendly labels → either a wallet
4
+ // address (0x…) or a stealth meta-address (st:base:…). Persisted at
5
+ // ~/.shroudfi/contacts.json on POSIX, %USERPROFILE%\.shroudfi\contacts.json
6
+ // on Windows. File mode is 0600 on platforms that honour it.
7
+ //
8
+ // Privacy rule: NO method on ContactBook puts the label or the value into an
9
+ // error message. Test file contacts.test.ts asserts this for every error
10
+ // class. Callers who want to surface the label to a UI must read it from the
11
+ // structured Contact object the API returns.
12
+ // Bare imports (not `node:` URL scheme) so browser bundlers like webpack can
13
+ // stub these to false via resolve.fallback when ContactBook isn't actually
14
+ // instantiated client-side. See apps/demo/next.config.mjs for the stub.
15
+ import * as fs from 'fs';
16
+ import * as path from 'path';
17
+ import * as os from 'os';
18
+ import { ContactAlreadyExistsError, InvalidContactLabelError, InvalidContactValueError, UnknownContactError, } from './errors.js';
19
+ const SCHEMA_VERSION = 1;
20
+ const WALLET_ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/;
21
+ const META_ADDRESS_RE = /^st:base:0x[0-9a-fA-F]{66,200}$/;
22
+ const LABEL_RE = /^[A-Za-z0-9._-]{1,64}$/;
23
+ /**
24
+ * Local contact registry. Each instance is bound to one JSON file and
25
+ * re-loads on every read so multiple instances pointed at the same file stay
26
+ * coherent within a single process.
27
+ */
28
+ export class ContactBook {
29
+ filePath;
30
+ constructor(opts = {}) {
31
+ this.filePath = opts.filePath ?? ContactBook.defaultFilePath();
32
+ // Touch-load on construction so schema-mismatch errors surface eagerly.
33
+ this.read();
34
+ }
35
+ static defaultFilePath() {
36
+ return path.join(os.homedir(), '.shroudfi', 'contacts.json');
37
+ }
38
+ add(label, value) {
39
+ if (!isValidLabel(label)) {
40
+ throw new InvalidContactLabelError();
41
+ }
42
+ const kind = detectKind(value);
43
+ if (kind === undefined) {
44
+ throw new InvalidContactValueError();
45
+ }
46
+ const file = this.read();
47
+ if (file.contacts[label] !== undefined) {
48
+ throw new ContactAlreadyExistsError();
49
+ }
50
+ const entry = {
51
+ kind,
52
+ value,
53
+ addedAt: new Date().toISOString(),
54
+ };
55
+ file.contacts[label] = entry;
56
+ this.write(file);
57
+ return { label, ...entry };
58
+ }
59
+ get(label) {
60
+ if (!isValidLabel(label)) {
61
+ // We don't throw — get is read-side, returning undefined matches
62
+ // typical Map.get ergonomics. Invalid labels can't be in the book.
63
+ return undefined;
64
+ }
65
+ const file = this.read();
66
+ const entry = file.contacts[label];
67
+ if (entry === undefined)
68
+ return undefined;
69
+ return { label, ...entry };
70
+ }
71
+ list() {
72
+ const file = this.read();
73
+ return Object.entries(file.contacts)
74
+ .map(([label, entry]) => ({ label, ...entry }))
75
+ .sort((a, b) => (a.label < b.label ? -1 : a.label > b.label ? 1 : 0));
76
+ }
77
+ remove(label) {
78
+ const file = this.read();
79
+ if (file.contacts[label] === undefined) {
80
+ throw new UnknownContactError();
81
+ }
82
+ delete file.contacts[label];
83
+ this.write(file);
84
+ }
85
+ // ---------------------------------------------------------------------
86
+ // internals
87
+ // ---------------------------------------------------------------------
88
+ read() {
89
+ if (!fs.existsSync(this.filePath)) {
90
+ return { version: SCHEMA_VERSION, contacts: {} };
91
+ }
92
+ let raw;
93
+ try {
94
+ raw = JSON.parse(fs.readFileSync(this.filePath, 'utf8'));
95
+ }
96
+ catch {
97
+ // A corrupt file is treated as a fatal-but-privacy-safe error. We do not
98
+ // leak the file's contents into the error message.
99
+ throw new InvalidContactValueError();
100
+ }
101
+ if (!isFileShape(raw)) {
102
+ throw new InvalidContactValueError();
103
+ }
104
+ const version = raw.version ?? SCHEMA_VERSION;
105
+ if (version !== SCHEMA_VERSION) {
106
+ throw new InvalidContactValueError();
107
+ }
108
+ return { version, contacts: raw.contacts };
109
+ }
110
+ write(file) {
111
+ const dir = path.dirname(this.filePath);
112
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
113
+ const out = { version: SCHEMA_VERSION, contacts: file.contacts };
114
+ fs.writeFileSync(this.filePath, JSON.stringify(out, null, 2) + '\n', {
115
+ encoding: 'utf8',
116
+ mode: 0o600,
117
+ });
118
+ }
119
+ }
120
+ function isValidLabel(label) {
121
+ if (typeof label !== 'string')
122
+ return false;
123
+ if (!LABEL_RE.test(label))
124
+ return false;
125
+ // Reject anything that looks like an on-chain identifier — eliminates the
126
+ // foot-gun where a half-typed address gets accepted as a label.
127
+ if (label.startsWith('0x'))
128
+ return false;
129
+ if (label.startsWith('st:'))
130
+ return false;
131
+ return true;
132
+ }
133
+ function detectKind(value) {
134
+ if (typeof value !== 'string')
135
+ return undefined;
136
+ if (WALLET_ADDRESS_RE.test(value))
137
+ return 'wallet';
138
+ if (META_ADDRESS_RE.test(value))
139
+ return 'meta';
140
+ return undefined;
141
+ }
142
+ function isFileShape(raw) {
143
+ if (typeof raw !== 'object' || raw === null)
144
+ return false;
145
+ const r = raw;
146
+ if (r.contacts === undefined || typeof r.contacts !== 'object' || r.contacts === null) {
147
+ return false;
148
+ }
149
+ if (r.version !== undefined && typeof r.version !== 'number')
150
+ return false;
151
+ return true;
152
+ }
153
+ //# sourceMappingURL=contacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/contacts.ts"],"names":[],"mappings":"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"}
@@ -104,4 +104,47 @@ export declare class RegistrationRequiresWalletError extends AgentRuntimeError {
104
104
  readonly name: string;
105
105
  constructor();
106
106
  }
107
+ /**
108
+ * v0.1.1 — ContactBook: thrown when a label fails validation (empty,
109
+ * whitespace-only, control chars, looks like an address, longer than 64 chars,
110
+ * or contains characters outside [A-Za-z0-9._-]).
111
+ *
112
+ * Privacy: the offending label string is NOT placed in the message — it would
113
+ * end up in error logs / stack traces. Callers must surface the label from
114
+ * their own UI state.
115
+ */
116
+ export declare class InvalidContactLabelError extends AgentRuntimeError {
117
+ readonly name: string;
118
+ constructor();
119
+ }
120
+ /**
121
+ * v0.1.1 — ContactBook: thrown when a value is neither a 20-byte wallet
122
+ * address nor a stealth meta-address on `base`.
123
+ *
124
+ * Privacy: the offending value is NOT placed in the message.
125
+ */
126
+ export declare class InvalidContactValueError extends AgentRuntimeError {
127
+ readonly name: string;
128
+ constructor();
129
+ }
130
+ /**
131
+ * v0.1.1 — ContactBook: thrown when add() is called with a label already
132
+ * present in the book.
133
+ *
134
+ * Privacy: the label is NOT placed in the message.
135
+ */
136
+ export declare class ContactAlreadyExistsError extends AgentRuntimeError {
137
+ readonly name: string;
138
+ constructor();
139
+ }
140
+ /**
141
+ * v0.1.1 — ContactBook: thrown when remove() or a label-resolving send is
142
+ * called with a label that does not exist in the book.
143
+ *
144
+ * Privacy: the label is NOT placed in the message.
145
+ */
146
+ export declare class UnknownContactError extends AgentRuntimeError {
147
+ readonly name: string;
148
+ constructor();
149
+ }
107
150
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAkB,IAAI,EAAE,MAAM,CAAuB;gBACzC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,SAAkB,IAAI,EAAE,MAAM,CAA0B;;CAIzD;AAED,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,SAAkB,IAAI,EAAE,MAAM,CAA8B;;CAI7D;AAED,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,SAAkB,IAAI,EAAE,MAAM,CAA+B;;CAI9D;AAED,qBAAa,mCAAoC,SAAQ,iBAAiB;IACxE,SAAkB,IAAI,EAAE,MAAM,CAAyC;;CAIxE;AAED;;;;GAIG;AACH,qBAAa,iCAAkC,SAAQ,iBAAiB;IACtE,SAAkB,IAAI,EAAE,MAAM,CAAuC;;CAItE;AAED;;;;;;GAMG;AACH,qBAAa,+BAAgC,SAAQ,iBAAiB;IACpE,SAAkB,IAAI,EAAE,MAAM,CAAqC;;CAMpE;AAED;;;;GAIG;AACH,qBAAa,oCAAqC,SAAQ,iBAAiB;IACzE,SAAkB,IAAI,EAAE,MAAM,CAA0C;;CAIzE;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,iBAAiB;IACnE,SAAkB,IAAI,EAAE,MAAM,CAAoC;;CAInE;AAED;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,SAAkB,IAAI,EAAE,MAAM,CAA4B;;CAI3D;AAED;;;;;;;;;GASG;AACH,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,SAAkB,IAAI,EAAE,MAAM,CAAiC;gBACnD,KAAK,CAAC,EAAE,OAAO;CAS5B;AAED;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,iBAAiB;IACpE,SAAkB,IAAI,EAAE,MAAM,CAAqC;;CAIpE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAkB,IAAI,EAAE,MAAM,CAAuB;gBACzC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,SAAkB,IAAI,EAAE,MAAM,CAA0B;;CAIzD;AAED,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,SAAkB,IAAI,EAAE,MAAM,CAA8B;;CAI7D;AAED,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,SAAkB,IAAI,EAAE,MAAM,CAA+B;;CAI9D;AAED,qBAAa,mCAAoC,SAAQ,iBAAiB;IACxE,SAAkB,IAAI,EAAE,MAAM,CAAyC;;CAIxE;AAED;;;;GAIG;AACH,qBAAa,iCAAkC,SAAQ,iBAAiB;IACtE,SAAkB,IAAI,EAAE,MAAM,CAAuC;;CAItE;AAED;;;;;;GAMG;AACH,qBAAa,+BAAgC,SAAQ,iBAAiB;IACpE,SAAkB,IAAI,EAAE,MAAM,CAAqC;;CAMpE;AAED;;;;GAIG;AACH,qBAAa,oCAAqC,SAAQ,iBAAiB;IACzE,SAAkB,IAAI,EAAE,MAAM,CAA0C;;CAIzE;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,iBAAiB;IACnE,SAAkB,IAAI,EAAE,MAAM,CAAoC;;CAInE;AAED;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,SAAkB,IAAI,EAAE,MAAM,CAA4B;;CAI3D;AAED;;;;;;;;;GASG;AACH,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,SAAkB,IAAI,EAAE,MAAM,CAAiC;gBACnD,KAAK,CAAC,EAAE,OAAO;CAS5B;AAED;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,iBAAiB;IACpE,SAAkB,IAAI,EAAE,MAAM,CAAqC;;CAIpE;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,SAAkB,IAAI,EAAE,MAAM,CAA8B;;CAI7D;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,SAAkB,IAAI,EAAE,MAAM,CAA8B;;CAI7D;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,SAAkB,IAAI,EAAE,MAAM,CAA+B;;CAI9D;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,SAAkB,IAAI,EAAE,MAAM,CAAyB;;CAIxD"}
@@ -134,4 +134,55 @@ export class RegistrationRequiresWalletError extends AgentRuntimeError {
134
134
  super('Registration requires a walletClient with an account');
135
135
  }
136
136
  }
137
+ /**
138
+ * v0.1.1 — ContactBook: thrown when a label fails validation (empty,
139
+ * whitespace-only, control chars, looks like an address, longer than 64 chars,
140
+ * or contains characters outside [A-Za-z0-9._-]).
141
+ *
142
+ * Privacy: the offending label string is NOT placed in the message — it would
143
+ * end up in error logs / stack traces. Callers must surface the label from
144
+ * their own UI state.
145
+ */
146
+ export class InvalidContactLabelError extends AgentRuntimeError {
147
+ name = 'InvalidContactLabelError';
148
+ constructor() {
149
+ super('Contact label is not valid (must match [A-Za-z0-9._-]{1,64})');
150
+ }
151
+ }
152
+ /**
153
+ * v0.1.1 — ContactBook: thrown when a value is neither a 20-byte wallet
154
+ * address nor a stealth meta-address on `base`.
155
+ *
156
+ * Privacy: the offending value is NOT placed in the message.
157
+ */
158
+ export class InvalidContactValueError extends AgentRuntimeError {
159
+ name = 'InvalidContactValueError';
160
+ constructor() {
161
+ super('Contact value must be a wallet address (0x…) or a meta-address (st:base:0x…)');
162
+ }
163
+ }
164
+ /**
165
+ * v0.1.1 — ContactBook: thrown when add() is called with a label already
166
+ * present in the book.
167
+ *
168
+ * Privacy: the label is NOT placed in the message.
169
+ */
170
+ export class ContactAlreadyExistsError extends AgentRuntimeError {
171
+ name = 'ContactAlreadyExistsError';
172
+ constructor() {
173
+ super('A contact with that label already exists');
174
+ }
175
+ }
176
+ /**
177
+ * v0.1.1 — ContactBook: thrown when remove() or a label-resolving send is
178
+ * called with a label that does not exist in the book.
179
+ *
180
+ * Privacy: the label is NOT placed in the message.
181
+ */
182
+ export class UnknownContactError extends AgentRuntimeError {
183
+ name = 'UnknownContactError';
184
+ constructor() {
185
+ super('No contact with that label');
186
+ }
187
+ }
137
188
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACxB,IAAI,GAAW,mBAAmB,CAAC;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,iBAAiB;IACvC,IAAI,GAAW,sBAAsB,CAAC;IACxD;QACE,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC3D,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,iBAAiB;IAC3C,IAAI,GAAW,0BAA0B,CAAC;IAC5D;QACE,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACpE,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,iBAAiB;IAC5C,IAAI,GAAW,2BAA2B,CAAC;IAC7D;QACE,KAAK,CAAC,gEAAgE,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,OAAO,mCAAoC,SAAQ,iBAAiB;IACtD,IAAI,GAAW,qCAAqC,CAAC;IACvE;QACE,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACrD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,iCAAkC,SAAQ,iBAAiB;IACpD,IAAI,GAAW,mCAAmC,CAAC;IACrE;QACE,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC1D,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,+BAAgC,SAAQ,iBAAiB;IAClD,IAAI,GAAW,iCAAiC,CAAC;IACnE;QACE,KAAK,CACH,gGAAgG,CACjG,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,oCAAqC,SAAQ,iBAAiB;IACvD,IAAI,GAAW,sCAAsC,CAAC;IACxE;QACE,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACrE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,8BAA+B,SAAQ,iBAAiB;IACjD,IAAI,GAAW,gCAAgC,CAAC;IAClE;QACE,KAAK,CAAC,iEAAiE,CAAC,CAAC;IAC3E,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,sBAAuB,SAAQ,iBAAiB;IACzC,IAAI,GAAW,wBAAwB,CAAC;IAC1D;QACE,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAChE,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,2BAA4B,SAAQ,iBAAiB;IAC9C,IAAI,GAAW,6BAA6B,CAAC;IAC/D,YAAY,KAAe;QACzB,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClC,oEAAoE;QACpE,oEAAoE;QACpE,8DAA8D;QAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACvB,IAA4B,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9C,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,+BAAgC,SAAQ,iBAAiB;IAClD,IAAI,GAAW,iCAAiC,CAAC;IACnE;QACE,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAChE,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export { ShroudAgent } from './agent.js';
2
2
  export { createShroudAgent } from './factory.js';
3
3
  export { createShroudAgentFromBrowserWallet, BROWSER_KEY_MESSAGE, HKDF_BROWSER_SALT, HKDF_BROWSER_INFO, } from './browser.js';
4
- export type { ShroudAgentConfig, ShroudAgentStartOptions, BrowserWalletAdapter, AgentSweepResult, AgentRelayerSweepOptions, AgentRelayerSweepResult, AgentRelayerEthSweepOptions, AgentRelayerEthSweepResult, } from './types.js';
5
- export { AgentRuntimeError, AgentNotStartedError, AgentAlreadyStartedError, MissingBrowserWalletError, BrowserWalletSignatureRejectedError, RelayerNotAvailableForETHError, RelayerContractNotConfiguredError, EthRelayerEndpointRequiredError, EthRelayerContractNotConfiguredError, AlreadyRegisteredError, AutoRegistrationFailedError, RegistrationRequiresWalletError, } from './errors.js';
4
+ export { ContactBook } from './contacts.js';
5
+ export type { ContactBookOptions } from './contacts.js';
6
+ export type { ShroudAgentConfig, ShroudAgentStartOptions, BrowserWalletAdapter, AgentSweepResult, AgentRelayerSweepOptions, AgentRelayerSweepResult, AgentRelayerEthSweepOptions, AgentRelayerEthSweepResult, Contact, ContactKind, } from './types.js';
7
+ export { AgentRuntimeError, AgentNotStartedError, AgentAlreadyStartedError, MissingBrowserWalletError, BrowserWalletSignatureRejectedError, RelayerNotAvailableForETHError, RelayerContractNotConfiguredError, EthRelayerEndpointRequiredError, EthRelayerContractNotConfiguredError, AlreadyRegisteredError, AutoRegistrationFailedError, RegistrationRequiresWalletError, InvalidContactLabelError, InvalidContactValueError, ContactAlreadyExistsError, UnknownContactError, } from './errors.js';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,oCAAoC,EACpC,sBAAsB,EACtB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,OAAO,EACP,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,oCAAoC,EACpC,sBAAsB,EACtB,2BAA2B,EAC3B,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,aAAa,CAAC"}
package/dist/esm/index.js CHANGED
@@ -11,6 +11,8 @@
11
11
  export { ShroudAgent } from './agent.js';
12
12
  export { createShroudAgent } from './factory.js';
13
13
  export { createShroudAgentFromBrowserWallet, BROWSER_KEY_MESSAGE, HKDF_BROWSER_SALT, HKDF_BROWSER_INFO, } from './browser.js';
14
+ // Address book (v0.1.1)
15
+ export { ContactBook } from './contacts.js';
14
16
  // Errors
15
- export { AgentRuntimeError, AgentNotStartedError, AgentAlreadyStartedError, MissingBrowserWalletError, BrowserWalletSignatureRejectedError, RelayerNotAvailableForETHError, RelayerContractNotConfiguredError, EthRelayerEndpointRequiredError, EthRelayerContractNotConfiguredError, AlreadyRegisteredError, AutoRegistrationFailedError, RegistrationRequiresWalletError, } from './errors.js';
17
+ export { AgentRuntimeError, AgentNotStartedError, AgentAlreadyStartedError, MissingBrowserWalletError, BrowserWalletSignatureRejectedError, RelayerNotAvailableForETHError, RelayerContractNotConfiguredError, EthRelayerEndpointRequiredError, EthRelayerContractNotConfiguredError, AlreadyRegisteredError, AutoRegistrationFailedError, RegistrationRequiresWalletError, InvalidContactLabelError, InvalidContactValueError, ContactAlreadyExistsError, UnknownContactError, } from './errors.js';
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,EAAE;AACF,4EAA4E;AAC5E,sEAAsE;AACtE,gFAAgF;AAChF,iFAAiF;AACjF,EAAE;AACF,wEAAwE;AACxE,gCAAgC;AAEhC,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AActB,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,oCAAoC,EACpC,sBAAsB,EACtB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,EAAE;AACF,4EAA4E;AAC5E,sEAAsE;AACtE,gFAAgF;AAChF,iFAAiF;AACjF,EAAE;AACF,wEAAwE;AACxE,gCAAgC;AAEhC,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAiB5C,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,oCAAoC,EACpC,sBAAsB,EACtB,2BAA2B,EAC3B,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,aAAa,CAAC"}
@@ -148,4 +148,19 @@ export interface AgentRelayerEthSweepResult {
148
148
  };
149
149
  readonly detection: DetectedPayment;
150
150
  }
151
+ /**
152
+ * v0.1.1 — address-book contact kind. 'wallet' = 20-byte EVM address (used
153
+ * with sendToWallet); 'meta' = `st:base:0x…` stealth meta-address (used with
154
+ * send).
155
+ */
156
+ export type ContactKind = 'wallet' | 'meta';
157
+ /**
158
+ * v0.1.1 — a single address-book entry. Fully local, never on-chain.
159
+ */
160
+ export interface Contact {
161
+ readonly label: string;
162
+ readonly kind: ContactKind;
163
+ readonly value: string;
164
+ readonly addedAt: string;
165
+ }
151
166
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}