@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
package/dist/index.js CHANGED
@@ -15,17 +15,17 @@ import {
15
15
  checkApiKeyValid,
16
16
  listModels,
17
17
  provisionApiKey
18
- } from "./chunk-74QYNLJE.js";
18
+ } from "./chunk-WTPIXSGL.js";
19
19
  import {
20
20
  createFund,
21
21
  getActiveFunds,
22
22
  getFund,
23
23
  subdomainExists,
24
24
  updateMetadata
25
- } from "./chunk-DQZJULNP.js";
25
+ } from "./chunk-43TG4FOX.js";
26
26
  import {
27
27
  addLaunchpadTemplateOptions
28
- } from "./chunk-KXUA5BEH.js";
28
+ } from "./chunk-UKWKI4UC.js";
29
29
  import {
30
30
  FORK_UNOBSERVABLE_REASON,
31
31
  LIGHTER_API_PROFILES,
@@ -57,8 +57,8 @@ import {
57
57
  removeDepositor,
58
58
  setAgentFeeBps,
59
59
  setVaultAddress
60
- } from "./chunk-J3JMMJLN.js";
61
- import "./chunk-KRASHQRB.js";
60
+ } from "./chunk-OFGBQAUM.js";
61
+ import "./chunk-QQJAM24N.js";
62
62
  import {
63
63
  CL_DEFAULTS,
64
64
  DEFAULT_FEE_TIER,
@@ -92,7 +92,7 @@ import {
92
92
  selectBestFeeTier,
93
93
  twapTickFromCumulatives,
94
94
  v3SingleHopExtraData
95
- } from "./chunk-ZCRVHITI.js";
95
+ } from "./chunk-WKOTF5H6.js";
96
96
  import {
97
97
  CLAIM_SETTLE_BUFFER_SECONDS,
98
98
  DEFAULT_DEADLINE_MARGIN_SECONDS,
@@ -142,7 +142,7 @@ import {
142
142
  registerIdentityCommands,
143
143
  stripVidTag,
144
144
  verifyVidTag
145
- } from "./chunk-XQHRKFFH.js";
145
+ } from "./chunk-PTWYREL2.js";
146
146
  import {
147
147
  emitCalldata,
148
148
  isCalldataOnly,
@@ -157,13 +157,13 @@ import {
157
157
  queryJoinRequests,
158
158
  revokeJoinRequest,
159
159
  stripReferrerPrefix
160
- } from "./chunk-2SIUEMPV.js";
160
+ } from "./chunk-RITIB5RY.js";
161
161
  import {
162
162
  resolveFund,
163
163
  resolveVaultFund,
164
164
  searchFundAcrossChains,
165
165
  setTextRecord
166
- } from "./chunk-KPTKX226.js";
166
+ } from "./chunk-DCQELFSU.js";
167
167
  import {
168
168
  PROPOSAL_STATE,
169
169
  PROPOSAL_STATES,
@@ -202,7 +202,7 @@ import {
202
202
  setVotingPeriod,
203
203
  settleProposal,
204
204
  vote
205
- } from "./chunk-5XMQQ4LX.js";
205
+ } from "./chunk-QBOBGQQV.js";
206
206
  import {
207
207
  AERODROME,
208
208
  LAUNCH_ADAPTERS,
@@ -212,7 +212,7 @@ import {
212
212
  TOKENS,
213
213
  UNISWAP,
214
214
  VENICE
215
- } from "./chunk-3R57ETXQ.js";
215
+ } from "./chunk-LSY4GYJ2.js";
216
216
  import {
217
217
  GAS_UNITS,
218
218
  estimateGasCushion,
@@ -223,7 +223,7 @@ import {
223
223
  sendTxWithRetry,
224
224
  waitForReceipt,
225
225
  writeContractWithRetry
226
- } from "./chunk-I7NYU4JB.js";
226
+ } from "./chunk-YJEBZJ7Y.js";
227
227
  import {
228
228
  DEFAULT_NETWORK,
229
229
  VALID_NETWORKS,
@@ -233,7 +233,7 @@ import {
233
233
  isTestnet,
234
234
  setNetwork,
235
235
  withNetwork
236
- } from "./chunk-LIW6K4OJ.js";
236
+ } from "./chunk-JDTTJDGP.js";
237
237
  import {
238
238
  addFund,
239
239
  cacheGroupId,
@@ -250,7 +250,6 @@ import {
250
250
  getVeniceApiKey,
251
251
  getVirtualsIdentity,
252
252
  loadConfig,
253
- setAnthropicApiKey,
254
253
  setChainContract,
255
254
  setConfigRpcUrl,
256
255
  setLighterKeyConfig,
@@ -259,7 +258,7 @@ import {
259
258
  setPrivateKey,
260
259
  setUniswapApiKey,
261
260
  setVeniceApiKey
262
- } from "./chunk-QUAVAJWE.js";
261
+ } from "./chunk-XJR2YQK3.js";
263
262
  import {
264
263
  LIGHTER_DEFAULT_API_KEY_INDEX,
265
264
  LIGHTER_MAX_DEPOSIT,
@@ -1776,7 +1775,7 @@ async function resolveChainInputsForTemplate(templateKey, opts, deps = {}) {
1776
1775
  }
1777
1776
  if (templateKey === "lighter-perp") {
1778
1777
  if (opts.pubkey) return {};
1779
- const { getLighterKeyConfig: getLighterKeyConfig2 } = await import("./config-UZ2GIXAO.js");
1778
+ const { getLighterKeyConfig: getLighterKeyConfig2 } = await import("./config-WIHIVOGZ.js");
1780
1779
  const saved = getLighterKeyConfig2();
1781
1780
  return saved ? { lighterSavedKey: { pubKey: saved.pubKey, apiKeyIndex: saved.apiKeyIndex } } : {};
1782
1781
  }
@@ -2035,7 +2034,7 @@ function registerStrategyProposeCommands(strategy2) {
2035
2034
  }
2036
2035
  }
2037
2036
  if (templateKey === "lighter-perp") {
2038
- const { runLighterProposePreflight } = await import("./lighter-preflight-R7C6HY3M.js");
2037
+ const { runLighterProposePreflight } = await import("./lighter-preflight-YOVDIULH.js");
2039
2038
  await runLighterProposePreflight(vault, opts, maxDrawdownBps);
2040
2039
  }
2041
2040
  } catch (err) {
@@ -2043,7 +2042,7 @@ function registerStrategyProposeCommands(strategy2) {
2043
2042
  process.exit(1);
2044
2043
  }
2045
2044
  if (!opts.agent) opts.agent = proposer;
2046
- const { parseDuration: parseDuration3, getGovernorOf: getGovernorOf2 } = await import("./governor-53PNPDCZ.js");
2045
+ const { parseDuration: parseDuration3, getGovernorOf: getGovernorOf2 } = await import("./governor-L7FTXIAC.js");
2047
2046
  const strategyDuration2 = parseDuration3(opts.duration);
2048
2047
  const chainId = getChain().id;
2049
2048
  try {
@@ -2172,7 +2171,7 @@ function registerStrategyProposeCommands(strategy2) {
2172
2171
  }
2173
2172
  }
2174
2173
  if (templateKey === "lighter-perp") {
2175
- const { runLighterProposePreflight } = await import("./lighter-preflight-R7C6HY3M.js");
2174
+ const { runLighterProposePreflight } = await import("./lighter-preflight-YOVDIULH.js");
2176
2175
  await runLighterProposePreflight(vault, opts, maxDrawdownBps);
2177
2176
  }
2178
2177
  preflightSpinner.succeed("Preflight OK");
@@ -2289,9 +2288,9 @@ function registerStrategyProposeCommands(strategy2) {
2289
2288
  console.error(chalk4.red("Missing --name or --duration. Use --write-calls to skip proposal submission."));
2290
2289
  process.exit(1);
2291
2290
  }
2292
- const { propose: propose2 } = await import("./governor-53PNPDCZ.js");
2291
+ const { propose: propose2 } = await import("./governor-L7FTXIAC.js");
2293
2292
  const { pinJSON } = await import("./ipfs-M56BLMCW.js");
2294
- const { parseDuration: parseDuration2 } = await import("./governor-53PNPDCZ.js");
2293
+ const { parseDuration: parseDuration2 } = await import("./governor-L7FTXIAC.js");
2295
2294
  const strategyDuration = parseDuration2(opts.duration);
2296
2295
  const metaSpinner = ora2("Pinning metadata to IPFS...").start();
2297
2296
  let metadataURI;
@@ -2323,7 +2322,7 @@ function registerStrategyProposeCommands(strategy2) {
2323
2322
  metadataURI = `data:application/json;base64,${Buffer.from(inline).toString("base64")}`;
2324
2323
  }
2325
2324
  try {
2326
- const { getAgentFeeBps: getAgentFeeBps2 } = await import("./vault-3T6UHCPE.js");
2325
+ const { getAgentFeeBps: getAgentFeeBps2 } = await import("./vault-SV7UAREO.js");
2327
2326
  const feeBps = await getAgentFeeBps2(vault);
2328
2327
  console.log(
2329
2328
  chalk4.yellow(
@@ -2374,7 +2373,7 @@ function registerStrategyProposeCommands(strategy2) {
2374
2373
  console.log(chalk4.yellow(` asset.approve(${clone}, <repaymentAmount>)`));
2375
2374
  }
2376
2375
  if (templateKey === "lighter-perp") {
2377
- const { lighterNextSteps } = await import("./lighter-preflight-R7C6HY3M.js");
2376
+ const { lighterNextSteps } = await import("./lighter-preflight-YOVDIULH.js");
2378
2377
  console.log();
2379
2378
  for (const line of lighterNextSteps(clone)) console.log(chalk4.yellow(line));
2380
2379
  }
@@ -2646,7 +2645,7 @@ function registerStrategyTemplateCommands(strategy2) {
2646
2645
  let prices = [];
2647
2646
  let priceSource = null;
2648
2647
  try {
2649
- const { getTokenPricesInAsset } = await import("./price-PBFF6NFU.js");
2648
+ const { getTokenPricesInAsset } = await import("./price-GZEQNKAF.js");
2650
2649
  prices = await getTokenPricesInAsset({
2651
2650
  tokens: allocations.map((a, i) => ({
2652
2651
  token: a.token,
@@ -3063,7 +3062,7 @@ function registerVeniceCommands(program2) {
3063
3062
  console.log(chalk6.dim(` Key: ${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`));
3064
3063
  console.log(chalk6.dim(" Saved to ~/.sherwood/config.json"));
3065
3064
  try {
3066
- const { createVeniceProvisionAttestation, getEasScanUrl } = await import("./eas-YTAAJSLU.js");
3065
+ const { createVeniceProvisionAttestation, getEasScanUrl } = await import("./eas-KVH644YY.js");
3067
3066
  const attestation = await createVeniceProvisionAttestation(account.address);
3068
3067
  if (attestation) {
3069
3068
  console.log(chalk6.dim(` Attested: ${getEasScanUrl(attestation.uid)}`));
@@ -3419,10 +3418,10 @@ ${opts.prompt}`;
3419
3418
  console.log(chalk6.dim(`Model: ${result.model} | Tokens: ${result.usage.promptTokens} in, ${result.usage.completionTokens} out, ${result.usage.totalTokens} total`));
3420
3419
  }
3421
3420
  try {
3422
- const { createVeniceInferenceAttestation, getEasScanUrl } = await import("./eas-YTAAJSLU.js");
3421
+ const { createVeniceInferenceAttestation, getEasScanUrl } = await import("./eas-KVH644YY.js");
3423
3422
  const { keccak256: keccak2562, toHex, isAddress: isAddr } = await import("viem");
3424
- const { getChainContracts: getChainContracts2 } = await import("./config-UZ2GIXAO.js");
3425
- const { getChain: getActiveChain } = await import("./network-EZ5X2BF7.js");
3423
+ const { getChainContracts: getChainContracts2 } = await import("./config-WIHIVOGZ.js");
3424
+ const { getChain: getActiveChain } = await import("./network-XQLQ4MSH.js");
3426
3425
  const vaultRecipient = opts.vault && isAddr(opts.vault) ? opts.vault : getChainContracts2(getActiveChain().id).vault;
3427
3426
  const promptHash = keccak2562(toHex(userContent)).slice(0, 18);
3428
3427
  const attestation = await createVeniceInferenceAttestation(
@@ -4418,8 +4417,8 @@ function printSimulationResult(result, callType) {
4418
4417
  }
4419
4418
  async function sendSimulationAlert(subdomain, proposalId, vault, execResult, settleResult) {
4420
4419
  try {
4421
- const xmtp = await import("./xmtp-EOMKXRTB.js");
4422
- const { getAccount: getAccount2 } = await import("./client-3BFK7TNL.js");
4420
+ const xmtp = await import("./xmtp-TOPGDWX3.js");
4421
+ const { getAccount: getAccount2 } = await import("./client-IFQ2TMCY.js");
4423
4422
  const group = await xmtp.getGroup("", subdomain);
4424
4423
  const allRisks = [...execResult.risks, ...settleResult?.risks ?? []];
4425
4424
  const criticals = allRisks.filter((r) => r.level === "critical");
@@ -10177,9 +10176,9 @@ try {
10177
10176
  } catch {
10178
10177
  }
10179
10178
  var require2 = createRequire(import.meta.url);
10180
- var CLI_VERSION = "0.90.0";
10179
+ var CLI_VERSION = "0.90.1";
10181
10180
  async function loadXmtp() {
10182
- return import("./xmtp-EOMKXRTB.js");
10181
+ return import("./xmtp-TOPGDWX3.js");
10183
10182
  }
10184
10183
  async function loadCron() {
10185
10184
  return import("./cron-E3UAZF5B.js");
@@ -10856,7 +10855,7 @@ vaultCmd.command("add").description("Register an agent on a vault (creator only)
10856
10855
  agentId = BigInt(opts.agentId);
10857
10856
  } else {
10858
10857
  spinner.text = "Looking up ERC-8004 identity from wallet...";
10859
- const { lookupAgentIdByWallet } = await import("./identity-M6UIVBNX.js");
10858
+ const { lookupAgentIdByWallet } = await import("./identity-ZMHBCTOK.js");
10860
10859
  const resolved = await lookupAgentIdByWallet(agentWallet);
10861
10860
  if (resolved === null) {
10862
10861
  spinner.fail("Agent wallet does not own an ERC-8004 identity NFT");
@@ -11559,7 +11558,7 @@ vaultCmd.command("redeem").description("Redeem vault shares for the underlying a
11559
11558
  var strategy = program.command("strategy").description("Strategy templates \u2014 list, clone, propose");
11560
11559
  registerStrategyTemplateCommands(strategy);
11561
11560
  program.command("providers").description("List available providers (research + swap routing)").action(async () => {
11562
- const { listProviders } = await import("./providers-22A42FKP.js");
11561
+ const { listProviders } = await import("./providers-3PSOZI6R.js");
11563
11562
  for (const info2 of listProviders()) {
11564
11563
  console.log(`
11565
11564
  ${info2.name} (${info2.type})`);
@@ -11569,7 +11568,7 @@ ${info2.name} (${info2.type})`);
11569
11568
  }
11570
11569
  });
11571
11570
  try {
11572
- const { registerChatCommands } = await import("./chat-PFXIL6WT.js");
11571
+ const { registerChatCommands } = await import("./chat-FSAHNEIY.js");
11573
11572
  registerChatCommands(program);
11574
11573
  } catch {
11575
11574
  program.command("chat <name> [action] [actionArgs...]").description("Vault chat (XMTP) \u2014 requires @xmtp/cli").action(() => {
@@ -11579,7 +11578,7 @@ try {
11579
11578
  process.exit(1);
11580
11579
  });
11581
11580
  }
11582
- var { registerSessionCommands } = await import("./session-GSWEE4M3.js");
11581
+ var { registerSessionCommands } = await import("./session-LIMD5AG5.js");
11583
11582
  registerSessionCommands(program);
11584
11583
  registerVeniceCommands(program);
11585
11584
  registerAllowanceCommands(program);
@@ -11588,18 +11587,18 @@ registerProposalCommands(program);
11588
11587
  registerQueueCommands(program);
11589
11588
  registerGovernorCommands(program);
11590
11589
  registerGuardianCommands(program);
11591
- var { registerResearchCommands } = await import("./research-ZH34O7YL.js");
11590
+ var { registerResearchCommands } = await import("./research-C4W7C5S6.js");
11592
11591
  registerResearchCommands(program);
11593
- var { registerAgentCommands } = await import("./agent-QU2OSWS4.js");
11592
+ var { registerAgentCommands } = await import("./agent-DLLONQ76.js");
11594
11593
  registerAgentCommands(program);
11595
- var { registerTradeCommands } = await import("./trade-SHK7GKSI.js");
11594
+ var { registerTradeCommands } = await import("./trade-U5TZIZHF.js");
11596
11595
  registerTradeCommands(program);
11597
11596
  registerGridCommand(program);
11598
11597
  registerLighterCommands(program);
11599
- var { registerLaunchpadCommands } = await import("./launchpad-LHMBN4TV.js");
11598
+ var { registerLaunchpadCommands } = await import("./launchpad-CEUSWTXH.js");
11600
11599
  registerLaunchpadCommands(program);
11601
11600
  var configCmd = program.command("config");
11602
- configCmd.command("set").description("Save settings to ~/.sherwood/config.json (persists across sessions)").option("--private-key <key>", "Wallet private key (0x-prefixed)").option("--vault <address>", "Default vault address").option("--rpc <url>", "Custom RPC URL for the active --chain network").option("--notify-to <id>", "Destination for cron summaries (Telegram chat ID, phone, etc.)").option("--uniswap-api-key <key>", "Uniswap Trading API key (from developers.uniswap.org)").option("--venice-api-key <key>", "Venice AI inference API key").option("--anthropic-api-key <key>", "Anthropic Claude API key (for LLM judge)").option("--xmtp-group <subdomain:groupId>", "Cache an XMTP group ID for a vault (e.g. my-vault:abc123)").action((opts) => {
11601
+ configCmd.command("set").description("Save settings to ~/.sherwood/config.json (persists across sessions)").option("--private-key <key>", "Wallet private key (0x-prefixed)").option("--vault <address>", "Default vault address").option("--rpc <url>", "Custom RPC URL for the active --chain network").option("--notify-to <id>", "Destination for cron summaries (Telegram chat ID, phone, etc.)").option("--uniswap-api-key <key>", "Uniswap Trading API key (from developers.uniswap.org)").option("--venice-api-key <key>", "Venice AI inference API key").option("--xmtp-group <subdomain:groupId>", "Cache an XMTP group ID for a vault (e.g. my-vault:abc123)").action((opts) => {
11603
11602
  let saved = false;
11604
11603
  if (opts.privateKey) {
11605
11604
  setPrivateKey(opts.privateKey);
@@ -11638,11 +11637,6 @@ configCmd.command("set").description("Save settings to ~/.sherwood/config.json (
11638
11637
  console.log(chalk19.green("Venice API key saved to ~/.sherwood/config.json"));
11639
11638
  saved = true;
11640
11639
  }
11641
- if (opts.anthropicApiKey) {
11642
- setAnthropicApiKey(opts.anthropicApiKey);
11643
- console.log(chalk19.green("Anthropic API key saved to ~/.sherwood/config.json"));
11644
- saved = true;
11645
- }
11646
11640
  if (opts.xmtpGroup) {
11647
11641
  const parts = opts.xmtpGroup.split(":");
11648
11642
  if (parts.length !== 2 || !parts[0] || !parts[1]) {
@@ -11655,7 +11649,7 @@ configCmd.command("set").description("Save settings to ~/.sherwood/config.json (
11655
11649
  saved = true;
11656
11650
  }
11657
11651
  if (!saved) {
11658
- console.log(chalk19.red("Provide at least one of: --private-key, --vault, --rpc, --notify-to, --uniswap-api-key, --venice-api-key, --anthropic-api-key, --xmtp-group"));
11652
+ console.log(chalk19.red("Provide at least one of: --private-key, --vault, --rpc, --notify-to, --uniswap-api-key, --venice-api-key, --xmtp-group"));
11659
11653
  process.exit(1);
11660
11654
  }
11661
11655
  });