@sherwoodagent/cli 0.90.0 → 0.90.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.
Files changed (69) hide show
  1. package/dist/{agent-QU2OSWS4.js → agent-DLLONQ76.js} +9 -9
  2. package/dist/agent-DLLONQ76.js.map +1 -0
  3. package/dist/{chat-PFXIL6WT.js → chat-FSAHNEIY.js} +8 -8
  4. package/dist/{chunk-WIUPOQNS.js → chunk-25VV4W6X.js} +2 -2
  5. package/dist/{chunk-DQZJULNP.js → chunk-43TG4FOX.js} +4 -4
  6. package/dist/{chunk-KPTKX226.js → chunk-DCQELFSU.js} +4 -4
  7. package/dist/{chunk-LIW6K4OJ.js → chunk-JDTTJDGP.js} +2 -2
  8. package/dist/{chunk-3R57ETXQ.js → chunk-LSY4GYJ2.js} +2 -2
  9. package/dist/{chunk-J3JMMJLN.js → chunk-OFGBQAUM.js} +6 -6
  10. package/dist/{chunk-XQHRKFFH.js → chunk-PTWYREL2.js} +6 -6
  11. package/dist/{chunk-5XMQQ4LX.js → chunk-QBOBGQQV.js} +4 -4
  12. package/dist/{chunk-KRASHQRB.js → chunk-QQJAM24N.js} +3 -3
  13. package/dist/{chunk-2SIUEMPV.js → chunk-RITIB5RY.js} +4 -4
  14. package/dist/{chunk-KXUA5BEH.js → chunk-UKWKI4UC.js} +4 -4
  15. package/dist/{chunk-ZCRVHITI.js → chunk-WKOTF5H6.js} +4 -4
  16. package/dist/{chunk-74QYNLJE.js → chunk-WTPIXSGL.js} +3 -3
  17. package/dist/{chunk-QUAVAJWE.js → chunk-XJR2YQK3.js} +1 -15
  18. package/dist/chunk-XJR2YQK3.js.map +1 -0
  19. package/dist/{chunk-I7NYU4JB.js → chunk-YJEBZJ7Y.js} +3 -3
  20. package/dist/{client-3BFK7TNL.js → client-IFQ2TMCY.js} +4 -4
  21. package/dist/{config-UZ2GIXAO.js → config-WIHIVOGZ.js} +2 -6
  22. package/dist/{eas-YTAAJSLU.js → eas-KVH644YY.js} +6 -6
  23. package/dist/{governor-53PNPDCZ.js → governor-L7FTXIAC.js} +6 -6
  24. package/dist/{identity-M6UIVBNX.js → identity-ZMHBCTOK.js} +7 -7
  25. package/dist/index.js +41 -47
  26. package/dist/index.js.map +1 -1
  27. package/dist/{launchpad-LHMBN4TV.js → launchpad-CEUSWTXH.js} +6 -6
  28. package/dist/{lighter-preflight-R7C6HY3M.js → lighter-preflight-YOVDIULH.js} +6 -6
  29. package/dist/{network-EZ5X2BF7.js → network-XQLQ4MSH.js} +3 -3
  30. package/dist/{price-PBFF6NFU.js → price-GZEQNKAF.js} +6 -6
  31. package/dist/{providers-22A42FKP.js → providers-3PSOZI6R.js} +5 -5
  32. package/dist/{research-ZH34O7YL.js → research-C4W7C5S6.js} +9 -9
  33. package/dist/{session-GSWEE4M3.js → session-LIMD5AG5.js} +11 -11
  34. package/dist/{trade-SHK7GKSI.js → trade-U5TZIZHF.js} +17 -17
  35. package/dist/{vault-3T6UHCPE.js → vault-SV7UAREO.js} +8 -8
  36. package/dist/{xmtp-EOMKXRTB.js → xmtp-TOPGDWX3.js} +6 -6
  37. package/package.json +1 -2
  38. package/dist/agent-QU2OSWS4.js.map +0 -1
  39. package/dist/chunk-QUAVAJWE.js.map +0 -1
  40. /package/dist/{chat-PFXIL6WT.js.map → chat-FSAHNEIY.js.map} +0 -0
  41. /package/dist/{chunk-WIUPOQNS.js.map → chunk-25VV4W6X.js.map} +0 -0
  42. /package/dist/{chunk-DQZJULNP.js.map → chunk-43TG4FOX.js.map} +0 -0
  43. /package/dist/{chunk-KPTKX226.js.map → chunk-DCQELFSU.js.map} +0 -0
  44. /package/dist/{chunk-LIW6K4OJ.js.map → chunk-JDTTJDGP.js.map} +0 -0
  45. /package/dist/{chunk-3R57ETXQ.js.map → chunk-LSY4GYJ2.js.map} +0 -0
  46. /package/dist/{chunk-J3JMMJLN.js.map → chunk-OFGBQAUM.js.map} +0 -0
  47. /package/dist/{chunk-XQHRKFFH.js.map → chunk-PTWYREL2.js.map} +0 -0
  48. /package/dist/{chunk-5XMQQ4LX.js.map → chunk-QBOBGQQV.js.map} +0 -0
  49. /package/dist/{chunk-KRASHQRB.js.map → chunk-QQJAM24N.js.map} +0 -0
  50. /package/dist/{chunk-2SIUEMPV.js.map → chunk-RITIB5RY.js.map} +0 -0
  51. /package/dist/{chunk-KXUA5BEH.js.map → chunk-UKWKI4UC.js.map} +0 -0
  52. /package/dist/{chunk-ZCRVHITI.js.map → chunk-WKOTF5H6.js.map} +0 -0
  53. /package/dist/{chunk-74QYNLJE.js.map → chunk-WTPIXSGL.js.map} +0 -0
  54. /package/dist/{chunk-I7NYU4JB.js.map → chunk-YJEBZJ7Y.js.map} +0 -0
  55. /package/dist/{client-3BFK7TNL.js.map → client-IFQ2TMCY.js.map} +0 -0
  56. /package/dist/{config-UZ2GIXAO.js.map → config-WIHIVOGZ.js.map} +0 -0
  57. /package/dist/{eas-YTAAJSLU.js.map → eas-KVH644YY.js.map} +0 -0
  58. /package/dist/{governor-53PNPDCZ.js.map → governor-L7FTXIAC.js.map} +0 -0
  59. /package/dist/{identity-M6UIVBNX.js.map → identity-ZMHBCTOK.js.map} +0 -0
  60. /package/dist/{launchpad-LHMBN4TV.js.map → launchpad-CEUSWTXH.js.map} +0 -0
  61. /package/dist/{lighter-preflight-R7C6HY3M.js.map → lighter-preflight-YOVDIULH.js.map} +0 -0
  62. /package/dist/{network-EZ5X2BF7.js.map → network-XQLQ4MSH.js.map} +0 -0
  63. /package/dist/{price-PBFF6NFU.js.map → price-GZEQNKAF.js.map} +0 -0
  64. /package/dist/{providers-22A42FKP.js.map → providers-3PSOZI6R.js.map} +0 -0
  65. /package/dist/{research-ZH34O7YL.js.map → research-C4W7C5S6.js.map} +0 -0
  66. /package/dist/{session-GSWEE4M3.js.map → session-LIMD5AG5.js.map} +0 -0
  67. /package/dist/{trade-SHK7GKSI.js.map → trade-U5TZIZHF.js.map} +0 -0
  68. /package/dist/{vault-3T6UHCPE.js.map → vault-SV7UAREO.js.map} +0 -0
  69. /package/dist/{xmtp-EOMKXRTB.js.map → xmtp-TOPGDWX3.js.map} +0 -0
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  getFund,
3
3
  updateMetadata
4
- } from "./chunk-DQZJULNP.js";
4
+ } from "./chunk-43TG4FOX.js";
5
5
  import {
6
6
  getTextRecord,
7
7
  resolveFund,
8
8
  setTextRecord
9
- } from "./chunk-KPTKX226.js";
9
+ } from "./chunk-DCQELFSU.js";
10
10
  import {
11
11
  ENS
12
- } from "./chunk-3R57ETXQ.js";
12
+ } from "./chunk-LSY4GYJ2.js";
13
13
  import {
14
14
  formatContractError,
15
15
  getAccount
16
- } from "./chunk-I7NYU4JB.js";
17
- import "./chunk-LIW6K4OJ.js";
16
+ } from "./chunk-YJEBZJ7Y.js";
17
+ import "./chunk-JDTTJDGP.js";
18
18
  import {
19
19
  cacheGroupId,
20
20
  getCachedGroupId
21
- } from "./chunk-QUAVAJWE.js";
21
+ } from "./chunk-XJR2YQK3.js";
22
22
  import "./chunk-SCWNKVNW.js";
23
23
  import {
24
24
  fetchMetadata,
@@ -29,7 +29,7 @@ import {
29
29
  import chalk from "chalk";
30
30
  import ora from "ora";
31
31
  async function loadXmtp() {
32
- return import("./xmtp-EOMKXRTB.js");
32
+ return import("./xmtp-TOPGDWX3.js");
33
33
  }
34
34
  function formatTimestamp(date) {
35
35
  return `${date.getHours().toString().padStart(2, "0")}:${date.getMinutes().toString().padStart(2, "0")}`;
@@ -563,4 +563,4 @@ function registerChatCommands(program) {
563
563
  export {
564
564
  registerChatCommands
565
565
  };
566
- //# sourceMappingURL=chat-PFXIL6WT.js.map
566
+ //# sourceMappingURL=chat-FSAHNEIY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getAccount
3
- } from "./chunk-I7NYU4JB.js";
3
+ } from "./chunk-YJEBZJ7Y.js";
4
4
 
5
5
  // src/lib/x402.ts
6
6
  var _x402Fetch = null;
@@ -635,4 +635,4 @@ export {
635
635
  NansenProvider,
636
636
  getResearchProvider
637
637
  };
638
- //# sourceMappingURL=chunk-WIUPOQNS.js.map
638
+ //# sourceMappingURL=chunk-25VV4W6X.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  SHERWOOD
3
- } from "./chunk-3R57ETXQ.js";
3
+ } from "./chunk-LSY4GYJ2.js";
4
4
  import {
5
5
  getAccount,
6
6
  getPublicClient,
7
7
  waitForReceipt,
8
8
  writeContractWithRetry
9
- } from "./chunk-I7NYU4JB.js";
9
+ } from "./chunk-YJEBZJ7Y.js";
10
10
  import {
11
11
  getChain
12
- } from "./chunk-LIW6K4OJ.js";
12
+ } from "./chunk-JDTTJDGP.js";
13
13
  import {
14
14
  SYNDICATE_FACTORY_ABI
15
15
  } from "./chunk-SCWNKVNW.js";
@@ -144,4 +144,4 @@ export {
144
144
  getActiveFunds,
145
145
  updateMetadata
146
146
  };
147
- //# sourceMappingURL=chunk-DQZJULNP.js.map
147
+ //# sourceMappingURL=chunk-43TG4FOX.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  ENS,
3
3
  SHERWOOD
4
- } from "./chunk-3R57ETXQ.js";
4
+ } from "./chunk-LSY4GYJ2.js";
5
5
  import {
6
6
  getPublicClient
7
- } from "./chunk-I7NYU4JB.js";
7
+ } from "./chunk-YJEBZJ7Y.js";
8
8
  import {
9
9
  VALID_NETWORKS,
10
10
  withNetwork
11
- } from "./chunk-LIW6K4OJ.js";
11
+ } from "./chunk-JDTTJDGP.js";
12
12
  import {
13
13
  L2_REGISTRY_ABI,
14
14
  SYNDICATE_FACTORY_ABI
@@ -111,4 +111,4 @@ export {
111
111
  setTextRecord,
112
112
  getTextRecord
113
113
  };
114
- //# sourceMappingURL=chunk-KPTKX226.js.map
114
+ //# sourceMappingURL=chunk-DCQELFSU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getConfigRpcUrl
3
- } from "./chunk-QUAVAJWE.js";
3
+ } from "./chunk-XJR2YQK3.js";
4
4
 
5
5
  // src/lib/network.ts
6
6
  import { defineChain, parseEther } from "viem";
@@ -186,4 +186,4 @@ export {
186
186
  getExplorerUrl,
187
187
  isTestnet
188
188
  };
189
- //# sourceMappingURL=chunk-LIW6K4OJ.js.map
189
+ //# sourceMappingURL=chunk-JDTTJDGP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getNetwork
3
- } from "./chunk-LIW6K4OJ.js";
3
+ } from "./chunk-JDTTJDGP.js";
4
4
 
5
5
  // src/lib/address-overrides.ts
6
6
  import { readFileSync } from "fs";
@@ -601,4 +601,4 @@ export {
601
601
  SYNTHRA,
602
602
  CHAINLINK
603
603
  };
604
- //# sourceMappingURL=chunk-3R57ETXQ.js.map
604
+ //# sourceMappingURL=chunk-LSY4GYJ2.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getLogsChunked
3
- } from "./chunk-KRASHQRB.js";
3
+ } from "./chunk-QQJAM24N.js";
4
4
  import {
5
5
  TOKENS
6
- } from "./chunk-3R57ETXQ.js";
6
+ } from "./chunk-LSY4GYJ2.js";
7
7
  import {
8
8
  GAS_UNITS,
9
9
  estimateGasCushion,
@@ -12,13 +12,13 @@ import {
12
12
  getWalletClient,
13
13
  waitForReceipt,
14
14
  writeContractWithRetry
15
- } from "./chunk-I7NYU4JB.js";
15
+ } from "./chunk-YJEBZJ7Y.js";
16
16
  import {
17
17
  getChain
18
- } from "./chunk-LIW6K4OJ.js";
18
+ } from "./chunk-JDTTJDGP.js";
19
19
  import {
20
20
  getChainContracts
21
- } from "./chunk-QUAVAJWE.js";
21
+ } from "./chunk-XJR2YQK3.js";
22
22
  import {
23
23
  ERC20_ABI,
24
24
  SYNDICATE_VAULT_ABI
@@ -557,4 +557,4 @@ export {
557
557
  registerAgent,
558
558
  getVaultInfo
559
559
  };
560
- //# sourceMappingURL=chunk-J3JMMJLN.js.map
560
+ //# sourceMappingURL=chunk-OFGBQAUM.js.map
@@ -4,21 +4,21 @@ import {
4
4
  } from "./chunk-GAQMHH44.js";
5
5
  import {
6
6
  COORDINATION_NETWORK
7
- } from "./chunk-2SIUEMPV.js";
7
+ } from "./chunk-RITIB5RY.js";
8
8
  import {
9
9
  AGENT_REGISTRY
10
- } from "./chunk-3R57ETXQ.js";
10
+ } from "./chunk-LSY4GYJ2.js";
11
11
  import {
12
12
  formatContractError,
13
13
  getAccount,
14
14
  getPublicClient,
15
15
  sendTxWithRetry,
16
16
  waitForReceipt
17
- } from "./chunk-I7NYU4JB.js";
17
+ } from "./chunk-YJEBZJ7Y.js";
18
18
  import {
19
19
  getChain,
20
20
  withNetwork
21
- } from "./chunk-LIW6K4OJ.js";
21
+ } from "./chunk-JDTTJDGP.js";
22
22
  import {
23
23
  getAgentId,
24
24
  getIdentityChainId,
@@ -26,7 +26,7 @@ import {
26
26
  getVirtualsIdentity,
27
27
  setAgentId,
28
28
  setVirtualsIdentity
29
- } from "./chunk-QUAVAJWE.js";
29
+ } from "./chunk-XJR2YQK3.js";
30
30
  import {
31
31
  resolveMetadataSummary
32
32
  } from "./chunk-YMB4RJOR.js";
@@ -3062,4 +3062,4 @@ export {
3062
3062
  lookupAgentIdByWallet,
3063
3063
  registerIdentityCommands
3064
3064
  };
3065
- //# sourceMappingURL=chunk-XQHRKFFH.js.map
3065
+ //# sourceMappingURL=chunk-PTWYREL2.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  SHERWOOD
3
- } from "./chunk-3R57ETXQ.js";
3
+ } from "./chunk-LSY4GYJ2.js";
4
4
  import {
5
5
  getAccount,
6
6
  getPublicClient,
7
7
  waitForReceipt,
8
8
  writeContractWithRetry
9
- } from "./chunk-I7NYU4JB.js";
9
+ } from "./chunk-YJEBZJ7Y.js";
10
10
  import {
11
11
  getChain
12
- } from "./chunk-LIW6K4OJ.js";
12
+ } from "./chunk-JDTTJDGP.js";
13
13
  import {
14
14
  PROTOCOL_CONFIG_ABI,
15
15
  SYNDICATE_FACTORY_ABI,
@@ -507,4 +507,4 @@ export {
507
507
  setMgmtSplit,
508
508
  setPerfSplit
509
509
  };
510
- //# sourceMappingURL=chunk-5XMQQ4LX.js.map
510
+ //# sourceMappingURL=chunk-QBOBGQQV.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  PROPOSAL_STATES,
3
3
  getProposal
4
- } from "./chunk-5XMQQ4LX.js";
4
+ } from "./chunk-QBOBGQQV.js";
5
5
  import {
6
6
  getPublicClient
7
- } from "./chunk-I7NYU4JB.js";
7
+ } from "./chunk-YJEBZJ7Y.js";
8
8
  import {
9
9
  resolveMetadataSummary
10
10
  } from "./chunk-YMB4RJOR.js";
@@ -212,4 +212,4 @@ export {
212
212
  getCurrentBlock,
213
213
  enrichProposalEvents
214
214
  };
215
- //# sourceMappingURL=chunk-KRASHQRB.js.map
215
+ //# sourceMappingURL=chunk-QQJAM24N.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  EAS_CONTRACTS,
3
3
  EAS_SCHEMAS
4
- } from "./chunk-3R57ETXQ.js";
4
+ } from "./chunk-LSY4GYJ2.js";
5
5
  import {
6
6
  getAccount,
7
7
  getPublicClient,
8
8
  waitForReceipt,
9
9
  writeContractWithRetry
10
- } from "./chunk-I7NYU4JB.js";
10
+ } from "./chunk-YJEBZJ7Y.js";
11
11
  import {
12
12
  CHAIN_REGISTRY,
13
13
  getChain,
@@ -15,7 +15,7 @@ import {
15
15
  getNetwork,
16
16
  isTestnet,
17
17
  withNetwork
18
- } from "./chunk-LIW6K4OJ.js";
18
+ } from "./chunk-JDTTJDGP.js";
19
19
  import {
20
20
  EAS_ABI
21
21
  } from "./chunk-SCWNKVNW.js";
@@ -569,4 +569,4 @@ export {
569
569
  queryApprovals,
570
570
  queryJoinRequests
571
571
  };
572
- //# sourceMappingURL=chunk-2SIUEMPV.js.map
572
+ //# sourceMappingURL=chunk-RITIB5RY.js.map
@@ -13,18 +13,18 @@ import {
13
13
  } from "./chunk-GAQMHH44.js";
14
14
  import {
15
15
  LAUNCH_ADAPTERS
16
- } from "./chunk-3R57ETXQ.js";
16
+ } from "./chunk-LSY4GYJ2.js";
17
17
  import {
18
18
  formatContractError,
19
19
  getAccount,
20
20
  getPublicClient,
21
21
  waitForReceipt,
22
22
  writeContractWithRetry
23
- } from "./chunk-I7NYU4JB.js";
23
+ } from "./chunk-YJEBZJ7Y.js";
24
24
  import {
25
25
  getChain,
26
26
  getExplorerUrl
27
- } from "./chunk-LIW6K4OJ.js";
27
+ } from "./chunk-JDTTJDGP.js";
28
28
  import {
29
29
  ERC20_ABI,
30
30
  LAUNCHPAD_STRATEGY_ABI,
@@ -510,4 +510,4 @@ export {
510
510
  STONK_PAD_BOND_ABI,
511
511
  stonkBondCall
512
512
  };
513
- //# sourceMappingURL=chunk-KXUA5BEH.js.map
513
+ //# sourceMappingURL=chunk-UKWKI4UC.js.map
@@ -14,13 +14,13 @@ import {
14
14
  TOKENS,
15
15
  UNISWAP,
16
16
  VENICE
17
- } from "./chunk-3R57ETXQ.js";
17
+ } from "./chunk-LSY4GYJ2.js";
18
18
  import {
19
19
  getPublicClient
20
- } from "./chunk-I7NYU4JB.js";
20
+ } from "./chunk-YJEBZJ7Y.js";
21
21
  import {
22
22
  getNetwork
23
- } from "./chunk-LIW6K4OJ.js";
23
+ } from "./chunk-JDTTJDGP.js";
24
24
  import {
25
25
  LIGHTER_USDG,
26
26
  buildExecuteCalls,
@@ -2551,4 +2551,4 @@ export {
2551
2551
  applySlippage,
2552
2552
  encodeSwapPath
2553
2553
  };
2554
- //# sourceMappingURL=chunk-ZCRVHITI.js.map
2554
+ //# sourceMappingURL=chunk-WKOTF5H6.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getAccount
3
- } from "./chunk-I7NYU4JB.js";
3
+ } from "./chunk-YJEBZJ7Y.js";
4
4
  import {
5
5
  getVeniceApiKey,
6
6
  setVeniceApiKey
7
- } from "./chunk-QUAVAJWE.js";
7
+ } from "./chunk-XJR2YQK3.js";
8
8
 
9
9
  // src/lib/venice.ts
10
10
  import chalk from "chalk";
@@ -186,4 +186,4 @@ export {
186
186
  chatCompletion,
187
187
  listModels
188
188
  };
189
- //# sourceMappingURL=chunk-74QYNLJE.js.map
189
+ //# sourceMappingURL=chunk-WTPIXSGL.js.map
@@ -16,10 +16,6 @@ var SETTINGS = {
16
16
  fromConfig: (c) => c.veniceApiKey,
17
17
  envVar: "VENICE_API_KEY"
18
18
  },
19
- anthropicApiKey: {
20
- fromConfig: (c) => c.anthropicApiKey,
21
- envVar: "ANTHROPIC_API_KEY"
22
- },
23
19
  uniswapApiKey: {
24
20
  fromConfig: (c) => c.uniswapApiKey,
25
21
  envVar: "UNISWAP_API_KEY"
@@ -94,14 +90,6 @@ function setVeniceApiKey(apiKey) {
94
90
  function getVeniceApiKey() {
95
91
  return resolveSetting("veniceApiKey", loadConfig(), process.env);
96
92
  }
97
- function setAnthropicApiKey(apiKey) {
98
- const config = loadConfig();
99
- config.anthropicApiKey = apiKey;
100
- saveConfig(config);
101
- }
102
- function getAnthropicApiKey() {
103
- return resolveSetting("anthropicApiKey", loadConfig(), process.env);
104
- }
105
93
  function setAgentId(agentId) {
106
94
  const config = loadConfig();
107
95
  config.agentId = agentId;
@@ -267,8 +255,6 @@ export {
267
255
  invalidateCachedGroupId,
268
256
  setVeniceApiKey,
269
257
  getVeniceApiKey,
270
- setAnthropicApiKey,
271
- getAnthropicApiKey,
272
258
  setAgentId,
273
259
  setVirtualsIdentity,
274
260
  getVirtualsIdentity,
@@ -295,4 +281,4 @@ export {
295
281
  getLighterKeyConfig,
296
282
  setLighterKeyConfig
297
283
  };
298
- //# sourceMappingURL=chunk-QUAVAJWE.js.map
284
+ //# sourceMappingURL=chunk-XJR2YQK3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/config.ts","../src/lib/settings.ts"],"sourcesContent":["/**\n * Local config management — ~/.sherwood/config.json\n *\n * Stores group ID cache, per-chain contract addresses, and wallet config.\n */\n\nimport fs from \"node:fs\";\nimport os from \"node:os\";\nimport path from \"node:path\";\nimport { privateKeyToAccount } from \"viem/accounts\";\nimport { resolveSetting } from \"./settings.js\";\n\nconst CONFIG_DIR = path.join(os.homedir(), \".sherwood\");\nconst CONFIG_PATH = path.join(CONFIG_DIR, \"config.json\");\nconst DASHBOARD_BRIDGE_PATH = path.join(CONFIG_DIR, \"dashboard.json\");\n\n/** Per-chain user-specific addresses (stored by chainId). */\nexport interface ChainContracts {\n vault?: string; // user's default vault address\n}\n\n/** A fund the agent belongs to (creator or member). */\nexport interface FundMembership {\n subdomain: string;\n vault: string;\n role: \"creator\" | \"agent\";\n}\n\nexport interface SherwoodConfig {\n dbEncryptionKey?: string; // legacy — no longer used, XMTP CLI manages its own DB\n privateKey?: string; // wallet private key (0x-prefixed)\n xmtpInboxId?: string;\n groupCache: Record<string, string>; // subdomain → XMTP group ID\n veniceApiKey?: string; // Venice AI inference API key\n agentId?: number; // ERC-8004 identity token ID\n identityProvider?: \"agent0\" | \"virtuals\"; // who issued the identity (absent ⇒ agent0)\n identityChainId?: number; // chain the ERC-8004 NFT lives on (absent ⇒ active chain)\n virtuals?: VirtualsIdentity; // economyOS link details (identityProvider === \"virtuals\")\n contracts?: Record<string, ChainContracts>; // chainId → user addresses\n funds?: Record<string, FundMembership[]>; // chainId → fund memberships\n primaryFund?: Record<string, string>; // chainId → subdomain of the active fund\n rpc?: Record<string, string>; // network name → custom RPC URL\n notifyTo?: string; // destination for cron summaries (Telegram chat ID, phone, etc.)\n uniswapApiKey?: string; // Uniswap Trading API key (from developers.uniswap.org)\n positions?: unknown[]; // open trade positions (typed in positions.ts)\n closedPositions?: unknown[]; // historical closed positions\n _xmtpMigrated?: boolean; // one-time flag: revoked stale installations from ~/.xmtp/ era\n /** Cached swap routes per chain: chainId → { tokenPair → SwapRoute } */\n swapRoutes?: Record<string, Record<string, SwapRoute>>;\n // ── lighter ──\n /** Lighter L2 agent key from `sherwood lighter keygen` (see LighterKeyConfig). */\n lighter?: LighterKeyConfig;\n}\n\n/** Linked Virtuals economyOS identity (see lib/virtuals.ts). */\nexport interface VirtualsIdentity {\n agentId?: string; // Virtuals platform agent ID (opaque, e.g. \"abc-123\")\n wallet: string; // economyOS agent wallet (identity holder)\n binding?: {\n sig: string; // EIP-191 signature by the economyOS wallet\n message: string; // the exact signed binding message\n };\n}\n\n/** Persisted swap route detected by the CLI during portfolio strategy proposal. */\nexport interface SwapRoute {\n mode: \"direct\" | \"multi-hop\";\n feeTier: number; // direct pool fee tier\n hop?: { via: string; feeIn: number; feeOut: number }; // multi-hop details\n detectedAt: number; // unix timestamp\n}\n\nexport function loadConfig(): SherwoodConfig {\n if (fs.existsSync(CONFIG_PATH)) {\n const config = JSON.parse(fs.readFileSync(CONFIG_PATH, \"utf-8\"));\n if (!config.groupCache) config.groupCache = {};\n return config;\n }\n\n return { groupCache: {} };\n}\n\nexport function saveConfig(config: SherwoodConfig): void {\n fs.mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });\n fs.writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2), { mode: 0o600 });\n writeDashboardBridge(config);\n}\n\n/**\n * Public-safe derivation of config.json for Hermes dashboard plugins to read.\n * Excludes privateKey + every other sensitive field. Hermes' sherwood-companion\n * plugin reads ~/.sherwood/dashboard.json to auto-detect the operator's\n * primary fund without prompting.\n *\n * Wrapped in try/catch — bridge-write failure must not break a config save.\n */\nfunction writeDashboardBridge(config: SherwoodConfig): void {\n try {\n let agentWallet: string | null = null;\n if (config.privateKey) {\n const key = config.privateKey.startsWith(\"0x\")\n ? (config.privateKey as `0x${string}`)\n : (`0x${config.privateKey}` as `0x${string}`);\n agentWallet = privateKeyToAccount(key).address;\n }\n const bridge = {\n version: 1,\n agentWallet,\n funds: config.funds ?? {},\n primaryFund: config.primaryFund ?? {},\n };\n fs.writeFileSync(\n DASHBOARD_BRIDGE_PATH,\n JSON.stringify(bridge, null, 2),\n { mode: 0o600 },\n );\n } catch {\n // Non-fatal: plugin will fall back to manual subdomain entry.\n }\n}\n\nexport function cacheGroupId(subdomain: string, groupId: string): void {\n const config = loadConfig();\n config.groupCache[subdomain] = groupId;\n saveConfig(config);\n}\n\nexport function getCachedGroupId(subdomain: string): string | undefined {\n const config = loadConfig();\n return config.groupCache[subdomain];\n}\n\nexport function invalidateCachedGroupId(subdomain: string): void {\n const config = loadConfig();\n if (config.groupCache[subdomain]) {\n delete config.groupCache[subdomain];\n saveConfig(config);\n }\n}\n\nexport function setVeniceApiKey(apiKey: string): void {\n const config = loadConfig();\n config.veniceApiKey = apiKey;\n saveConfig(config);\n}\n\nexport function getVeniceApiKey(): string | undefined {\n return resolveSetting(\"veniceApiKey\", loadConfig(), process.env);\n}\n\n/**\n * Bind an agent0-minted (or loaded) identity. Clears any previously linked\n * Virtuals state — otherwise `fund join` would emit a vid tag mixing the new\n * agent0 token with the stale economyOS wallet/binding (renders ✘ to\n * creators) and `identity status` would misreport the provider.\n */\nexport function setAgentId(agentId: number): void {\n const config = loadConfig();\n config.agentId = agentId;\n delete config.identityProvider;\n delete config.identityChainId;\n delete config.virtuals;\n saveConfig(config);\n}\n\n/**\n * Persist a linked Virtuals economyOS identity. Sets the ERC-8004 token ID\n * as the active agentId and stamps provider + issuing chain alongside it.\n */\nexport function setVirtualsIdentity(\n tokenId: number,\n issuingChainId: number,\n identity: VirtualsIdentity,\n): void {\n const config = loadConfig();\n config.agentId = tokenId;\n config.identityProvider = \"virtuals\";\n config.identityChainId = issuingChainId;\n config.virtuals = identity;\n saveConfig(config);\n}\n\nexport function getVirtualsIdentity(): VirtualsIdentity | undefined {\n return loadConfig().virtuals;\n}\n\n/** Identity provider for the saved agentId. Absent field ⇒ legacy agent0 mint. */\nexport function getIdentityProvider(): \"agent0\" | \"virtuals\" {\n return loadConfig().identityProvider ?? \"agent0\";\n}\n\nexport function getIdentityChainId(): number | undefined {\n return loadConfig().identityChainId;\n}\n\nexport function getAgentId(): number | undefined {\n return loadConfig().agentId;\n}\n\nexport function setPrivateKey(key: string): void {\n const config = loadConfig();\n config.privateKey = key.startsWith(\"0x\") ? key : `0x${key}`;\n saveConfig(config);\n}\n\n/**\n * Resolve the signing key (config → PRIVATE_KEY env, 0x-normalized) or\n * throw with the canonical setup hint. Every path that signs or derives\n * identity from the key (viem clients, Agent0 SDK, XMTP) must use this,\n * so they can never resolve different keys.\n */\nexport function requirePrivateKey(): `0x${string}` {\n const key = resolveSetting(\"privateKey\", loadConfig(), process.env);\n if (!key) {\n throw new Error(\n \"Private key not found. Run 'sherwood config set --private-key <key>' or set PRIVATE_KEY env var.\",\n );\n }\n return key as `0x${string}`;\n}\n\n// ── Uniswap Trading API Key ──\n\nexport function setUniswapApiKey(apiKey: string): void {\n const config = loadConfig();\n config.uniswapApiKey = apiKey;\n saveConfig(config);\n}\n\nexport function getUniswapApiKey(): string | undefined {\n return resolveSetting(\"uniswapApiKey\", loadConfig(), process.env);\n}\n\n// ── Per-network RPC URLs ──\n\nexport function getConfigRpcUrl(network: string): string | undefined {\n return loadConfig().rpc?.[network];\n}\n\nexport function setConfigRpcUrl(network: string, url: string): void {\n const config = loadConfig();\n if (!config.rpc) config.rpc = {};\n config.rpc[network] = url;\n saveConfig(config);\n}\n\n// ── Per-chain contract addresses ──\n\nexport function getChainContracts(chainId: number): ChainContracts {\n const config = loadConfig();\n return config.contracts?.[String(chainId)] ?? {};\n}\n\nexport function getNotifyTo(): string | undefined {\n return loadConfig().notifyTo;\n}\n\nexport function setNotifyTo(id: string): void {\n const config = loadConfig();\n config.notifyTo = id;\n saveConfig(config);\n}\n\nexport function setChainContract(\n chainId: number,\n key: keyof ChainContracts,\n value: string,\n): void {\n const config = loadConfig();\n if (!config.contracts) config.contracts = {};\n const cid = String(chainId);\n if (!config.contracts[cid]) config.contracts[cid] = {};\n config.contracts[cid][key] = value;\n saveConfig(config);\n}\n\n// ── Fund Membership ──\n\n/**\n * Add (or update) a fund membership. Deduplicates by subdomain.\n * Automatically sets it as primary if it's the first fund on this chain.\n */\nexport function addFund(\n chainId: number,\n membership: FundMembership,\n): void {\n const config = loadConfig();\n const cid = String(chainId);\n if (!config.funds) config.funds = {};\n if (!config.funds[cid]) config.funds[cid] = [];\n\n // Upsert — replace existing entry with same subdomain\n const idx = config.funds[cid].findIndex(\n (s) => s.subdomain === membership.subdomain,\n );\n if (idx >= 0) {\n config.funds[cid][idx] = membership;\n } else {\n config.funds[cid].push(membership);\n }\n\n // Auto-set as primary if it's the first fund (or no primary set)\n if (!config.primaryFund) config.primaryFund = {};\n if (!config.primaryFund[cid]) {\n config.primaryFund[cid] = membership.subdomain;\n }\n\n saveConfig(config);\n}\n\n/** Get all fund memberships for a chain. */\nexport function getFunds(chainId: number): FundMembership[] {\n const config = loadConfig();\n return config.funds?.[String(chainId)] ?? [];\n}\n\n/** Set which fund is the active/primary one for CLI commands. */\nexport function setPrimaryFund(\n chainId: number,\n subdomain: string,\n): void {\n const config = loadConfig();\n if (!config.primaryFund) config.primaryFund = {};\n config.primaryFund[String(chainId)] = subdomain;\n saveConfig(config);\n}\n\n/**\n * Get the primary fund for this chain.\n * Falls back to ChainContracts.vault for backwards compat with older configs.\n */\nexport function getPrimaryFund(\n chainId: number,\n): FundMembership | undefined {\n const config = loadConfig();\n const cid = String(chainId);\n\n // Check new funds store first\n const primarySubdomain = config.primaryFund?.[cid];\n if (primarySubdomain && config.funds?.[cid]) {\n const found = config.funds[cid].find(\n (s) => s.subdomain === primarySubdomain,\n );\n if (found) return found;\n }\n\n // Backwards compat: if funds list has entries but no primary, use the first one\n if (config.funds?.[cid]?.length) {\n return config.funds[cid][0];\n }\n\n // Legacy fallback: config only has a vault address, no subdomain\n const vault = config.contracts?.[cid]?.vault;\n if (vault) {\n return { subdomain: \"\", vault, role: \"creator\" };\n }\n\n return undefined;\n}\n\n// ── Swap Route Cache ──\n\nfunction swapRouteKey(asset: string, token: string): string {\n return `${asset.toLowerCase()}→${token.toLowerCase()}`;\n}\n\n/** Get a cached swap route for a token pair on a chain. */\nexport function getCachedSwapRoute(chainId: number, asset: string, token: string): SwapRoute | undefined {\n const config = loadConfig();\n return config.swapRoutes?.[String(chainId)]?.[swapRouteKey(asset, token)];\n}\n\n/** Save a detected swap route to the config cache. */\nexport function cacheSwapRoute(chainId: number, asset: string, token: string, route: SwapRoute): void {\n const config = loadConfig();\n const cid = String(chainId);\n if (!config.swapRoutes) config.swapRoutes = {};\n if (!config.swapRoutes[cid]) config.swapRoutes[cid] = {};\n config.swapRoutes[cid][swapRouteKey(asset, token)] = route;\n saveConfig(config);\n}\n\n/** Clear all cached swap routes for a chain (e.g. after pool migration). */\nexport function clearSwapRoutes(chainId: number): void {\n const config = loadConfig();\n delete config.swapRoutes?.[String(chainId)];\n saveConfig(config);\n}\n\n// ── lighter ──\n//\n// The Lighter L2 agent key `sherwood lighter keygen` generates. The pubkey goes\n// into a lighter-perp proposal's init data (`--pubkey` defaults to it); the\n// private key is the off-chain agent's TRADE-ONLY secret — it can place and\n// cancel orders on the strategy's account but can never withdraw (withdrawals\n// are venue-authed to the strategy contract). Kept in the 0600 config file.\n\nexport interface LighterKeyConfig {\n pubKey: string; // 40-byte Goldilocks pubkey, 0x-hex\n privateKey: string; // L2 API private key, 0x-hex\n apiKeyIndex: number; // 2..254\n createdAt: string; // ISO timestamp\n}\n\nexport function getLighterKeyConfig(): LighterKeyConfig | undefined {\n return loadConfig().lighter;\n}\n\n/**\n * Saves the L2 PRIVATE key, so it also forces config.json to 0600: saveConfig's\n * `mode` only applies when the file is created, and an existing config may be\n * 0644 (older CLIs, a hand-edit, a restore).\n */\nexport function setLighterKeyConfig(key: LighterKeyConfig): void {\n const config = loadConfig();\n config.lighter = key;\n saveConfig(config);\n fs.chmodSync(CONFIG_PATH, 0o600);\n}\n// ── /lighter ──\n","/**\n * Single owner of config → env resolution for user settings. Every\n * config-or-env setting resolves through the table below — accessors in\n * config.ts and requirePrivateKey() delegate here.\n */\n\nimport { type SherwoodConfig } from \"./config.js\";\n\ntype Env = Record<string, string | undefined>;\n\nconst hex0x = (v: string): string => (v.startsWith(\"0x\") ? v : `0x${v}`);\n\ninterface SettingSpec {\n fromConfig: (c: Partial<SherwoodConfig>) => string | undefined;\n envVar?: string;\n normalize?: (v: string) => string;\n}\n\nconst SETTINGS = {\n privateKey: {\n fromConfig: (c) => c.privateKey,\n envVar: \"PRIVATE_KEY\",\n normalize: hex0x,\n },\n veniceApiKey: {\n fromConfig: (c) => c.veniceApiKey,\n envVar: \"VENICE_API_KEY\",\n },\n uniswapApiKey: {\n fromConfig: (c) => c.uniswapApiKey,\n envVar: \"UNISWAP_API_KEY\",\n },\n} satisfies Record<string, SettingSpec>;\n\nexport type SettingKey = keyof typeof SETTINGS;\n\nexport function resolveSetting(\n key: SettingKey,\n config: Partial<SherwoodConfig>,\n env: Env,\n): string | undefined {\n const spec: SettingSpec = SETTINGS[key];\n // Empty string counts as absent on both sources: an empty config key\n // falls through to the env, and a blank `PRIVATE_KEY=` dotenv line\n // resolves to undefined (so callers show the setup hint) instead of\n // normalizing to a bare \"0x\".\n const raw =\n spec.fromConfig(config) || (spec.envVar ? env[spec.envVar] : undefined);\n if (!raw) return undefined;\n return spec.normalize ? spec.normalize(raw) : raw;\n}\n"],"mappings":"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","names":[]}
@@ -2,10 +2,10 @@ import {
2
2
  getChain,
3
3
  getMinGasReserve,
4
4
  getRpcUrls
5
- } from "./chunk-LIW6K4OJ.js";
5
+ } from "./chunk-JDTTJDGP.js";
6
6
  import {
7
7
  requirePrivateKey
8
- } from "./chunk-QUAVAJWE.js";
8
+ } from "./chunk-XJR2YQK3.js";
9
9
 
10
10
  // src/lib/client.ts
11
11
  import { createPublicClient, createWalletClient, fallback, http } from "viem";
@@ -775,4 +775,4 @@ export {
775
775
  writeContractWithRetry,
776
776
  waitForReceipt
777
777
  };
778
- //# sourceMappingURL=chunk-I7NYU4JB.js.map
778
+ //# sourceMappingURL=chunk-YJEBZJ7Y.js.map
@@ -12,9 +12,9 @@ import {
12
12
  unstickWallet,
13
13
  waitForReceipt,
14
14
  writeContractWithRetry
15
- } from "./chunk-I7NYU4JB.js";
16
- import "./chunk-LIW6K4OJ.js";
17
- import "./chunk-QUAVAJWE.js";
15
+ } from "./chunk-YJEBZJ7Y.js";
16
+ import "./chunk-JDTTJDGP.js";
17
+ import "./chunk-XJR2YQK3.js";
18
18
  export {
19
19
  GAS_UNITS,
20
20
  detectStuckNonce,
@@ -30,4 +30,4 @@ export {
30
30
  waitForReceipt,
31
31
  writeContractWithRetry
32
32
  };
33
- //# sourceMappingURL=client-3BFK7TNL.js.map
33
+ //# sourceMappingURL=client-IFQ2TMCY.js.map
@@ -4,7 +4,6 @@ import {
4
4
  cacheSwapRoute,
5
5
  clearSwapRoutes,
6
6
  getAgentId,
7
- getAnthropicApiKey,
8
7
  getCachedGroupId,
9
8
  getCachedSwapRoute,
10
9
  getChainContracts,
@@ -23,7 +22,6 @@ import {
23
22
  requirePrivateKey,
24
23
  saveConfig,
25
24
  setAgentId,
26
- setAnthropicApiKey,
27
25
  setChainContract,
28
26
  setConfigRpcUrl,
29
27
  setLighterKeyConfig,
@@ -33,14 +31,13 @@ import {
33
31
  setUniswapApiKey,
34
32
  setVeniceApiKey,
35
33
  setVirtualsIdentity
36
- } from "./chunk-QUAVAJWE.js";
34
+ } from "./chunk-XJR2YQK3.js";
37
35
  export {
38
36
  addFund,
39
37
  cacheGroupId,
40
38
  cacheSwapRoute,
41
39
  clearSwapRoutes,
42
40
  getAgentId,
43
- getAnthropicApiKey,
44
41
  getCachedGroupId,
45
42
  getCachedSwapRoute,
46
43
  getChainContracts,
@@ -59,7 +56,6 @@ export {
59
56
  requirePrivateKey,
60
57
  saveConfig,
61
58
  setAgentId,
62
- setAnthropicApiKey,
63
59
  setChainContract,
64
60
  setConfigRpcUrl,
65
61
  setLighterKeyConfig,
@@ -70,4 +66,4 @@ export {
70
66
  setVeniceApiKey,
71
67
  setVirtualsIdentity
72
68
  };
73
- //# sourceMappingURL=config-UZ2GIXAO.js.map
69
+ //# sourceMappingURL=config-WIHIVOGZ.js.map
@@ -23,11 +23,11 @@ import {
23
23
  revokeAttestation,
24
24
  revokeJoinRequest,
25
25
  stripReferrerPrefix
26
- } from "./chunk-2SIUEMPV.js";
27
- import "./chunk-3R57ETXQ.js";
28
- import "./chunk-I7NYU4JB.js";
29
- import "./chunk-LIW6K4OJ.js";
30
- import "./chunk-QUAVAJWE.js";
26
+ } from "./chunk-RITIB5RY.js";
27
+ import "./chunk-LSY4GYJ2.js";
28
+ import "./chunk-YJEBZJ7Y.js";
29
+ import "./chunk-JDTTJDGP.js";
30
+ import "./chunk-XJR2YQK3.js";
31
31
  import "./chunk-SCWNKVNW.js";
32
32
  export {
33
33
  COORDINATION_NETWORK,
@@ -55,4 +55,4 @@ export {
55
55
  revokeJoinRequest,
56
56
  stripReferrerPrefix
57
57
  };
58
- //# sourceMappingURL=eas-YTAAJSLU.js.map
58
+ //# sourceMappingURL=eas-KVH644YY.js.map
@@ -41,11 +41,11 @@ import {
41
41
  settleProposal,
42
42
  vetoProposal,
43
43
  vote
44
- } from "./chunk-5XMQQ4LX.js";
45
- import "./chunk-3R57ETXQ.js";
46
- import "./chunk-I7NYU4JB.js";
47
- import "./chunk-LIW6K4OJ.js";
48
- import "./chunk-QUAVAJWE.js";
44
+ } from "./chunk-QBOBGQQV.js";
45
+ import "./chunk-LSY4GYJ2.js";
46
+ import "./chunk-YJEBZJ7Y.js";
47
+ import "./chunk-JDTTJDGP.js";
48
+ import "./chunk-XJR2YQK3.js";
49
49
  import "./chunk-SCWNKVNW.js";
50
50
  export {
51
51
  PROPOSAL_STATE,
@@ -91,4 +91,4 @@ export {
91
91
  vetoProposal,
92
92
  vote
93
93
  };
94
- //# sourceMappingURL=governor-53PNPDCZ.js.map
94
+ //# sourceMappingURL=governor-L7FTXIAC.js.map
@@ -2,13 +2,13 @@ import {
2
2
  lookupAgentIdByWallet,
3
3
  lookupAgentIdsByWallet,
4
4
  registerIdentityCommands
5
- } from "./chunk-XQHRKFFH.js";
5
+ } from "./chunk-PTWYREL2.js";
6
6
  import "./chunk-GAQMHH44.js";
7
- import "./chunk-2SIUEMPV.js";
8
- import "./chunk-3R57ETXQ.js";
9
- import "./chunk-I7NYU4JB.js";
10
- import "./chunk-LIW6K4OJ.js";
11
- import "./chunk-QUAVAJWE.js";
7
+ import "./chunk-RITIB5RY.js";
8
+ import "./chunk-LSY4GYJ2.js";
9
+ import "./chunk-YJEBZJ7Y.js";
10
+ import "./chunk-JDTTJDGP.js";
11
+ import "./chunk-XJR2YQK3.js";
12
12
  import "./chunk-SCWNKVNW.js";
13
13
  import "./chunk-YMB4RJOR.js";
14
14
  export {
@@ -16,4 +16,4 @@ export {
16
16
  lookupAgentIdsByWallet,
17
17
  registerIdentityCommands
18
18
  };
19
- //# sourceMappingURL=identity-M6UIVBNX.js.map
19
+ //# sourceMappingURL=identity-ZMHBCTOK.js.map