@sherwoodagent/cli 0.56.2 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/{abis-VYJH7B2L.js → abis-6WBNN4S6.js} +2 -2
  2. package/dist/{agent-ATD6ECCO.js → agent-GKHZEPOT.js} +2 -2
  3. package/dist/{chat-5CSPCFX5.js → chat-VNO7DEAW.js} +5 -5
  4. package/dist/{chunk-TALLIFWJ.js → chunk-5GMVY7I7.js} +2 -2
  5. package/dist/{chunk-PN4BFLPG.js → chunk-OUJGZM46.js} +4 -29
  6. package/dist/chunk-OUJGZM46.js.map +1 -0
  7. package/dist/{chunk-FUH5ZDXH.js → chunk-QWX2COXX.js} +11 -35
  8. package/dist/chunk-QWX2COXX.js.map +1 -0
  9. package/dist/{chunk-DXYG6LQK.js → chunk-SWFKOMIQ.js} +2 -2
  10. package/dist/{chunk-TFFGRZYY.js → chunk-UNDR57AG.js} +2 -2
  11. package/dist/{chunk-3A4AHXJU.js → chunk-WGKOO4AO.js} +2 -2
  12. package/dist/{eas-5USBAM5N.js → eas-GYJRAPRP.js} +3 -3
  13. package/dist/{governor-YALHFEM5.js → governor-XXSQZAB5.js} +3 -7
  14. package/dist/index.js +29 -54
  15. package/dist/index.js.map +1 -1
  16. package/dist/{price-VZZMUI2O.js → price-RMYO6EB5.js} +2 -2
  17. package/dist/{research-MI5HEOHK.js → research-UFXKZGOG.js} +3 -3
  18. package/dist/{session-KDLIRS6B.js → session-7V3HX72A.js} +5 -5
  19. package/dist/{trade-6MFDEJSC.js → trade-ZXB3UAMH.js} +6 -6
  20. package/dist/{xmtp-T5J2R4OY.js → xmtp-DYJ4M7DA.js} +3 -3
  21. package/package.json +1 -1
  22. package/dist/chunk-FUH5ZDXH.js.map +0 -1
  23. package/dist/chunk-PN4BFLPG.js.map +0 -1
  24. /package/dist/{abis-VYJH7B2L.js.map → abis-6WBNN4S6.js.map} +0 -0
  25. /package/dist/{agent-ATD6ECCO.js.map → agent-GKHZEPOT.js.map} +0 -0
  26. /package/dist/{chat-5CSPCFX5.js.map → chat-VNO7DEAW.js.map} +0 -0
  27. /package/dist/{chunk-TALLIFWJ.js.map → chunk-5GMVY7I7.js.map} +0 -0
  28. /package/dist/{chunk-DXYG6LQK.js.map → chunk-SWFKOMIQ.js.map} +0 -0
  29. /package/dist/{chunk-TFFGRZYY.js.map → chunk-UNDR57AG.js.map} +0 -0
  30. /package/dist/{chunk-3A4AHXJU.js.map → chunk-WGKOO4AO.js.map} +0 -0
  31. /package/dist/{eas-5USBAM5N.js.map → eas-GYJRAPRP.js.map} +0 -0
  32. /package/dist/{governor-YALHFEM5.js.map → governor-XXSQZAB5.js.map} +0 -0
  33. /package/dist/{price-VZZMUI2O.js.map → price-RMYO6EB5.js.map} +0 -0
  34. /package/dist/{research-MI5HEOHK.js.map → research-UFXKZGOG.js.map} +0 -0
  35. /package/dist/{session-KDLIRS6B.js.map → session-7V3HX72A.js.map} +0 -0
  36. /package/dist/{trade-6MFDEJSC.js.map → trade-ZXB3UAMH.js.map} +0 -0
  37. /package/dist/{xmtp-T5J2R4OY.js.map → xmtp-DYJ4M7DA.js.map} +0 -0
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  encodeSwapPath,
16
16
  getMultiHopQuote,
17
17
  getQuote
18
- } from "./chunk-TALLIFWJ.js";
18
+ } from "./chunk-5GMVY7I7.js";
19
19
  import {
20
20
  chatCompletion,
21
21
  checkApiKeyValid,
@@ -32,14 +32,14 @@ import {
32
32
  queryJoinRequests,
33
33
  revokeJoinRequest,
34
34
  stripReferrerPrefix
35
- } from "./chunk-DXYG6LQK.js";
35
+ } from "./chunk-SWFKOMIQ.js";
36
36
  import {
37
37
  createSyndicate,
38
38
  getActiveSyndicates,
39
39
  getSyndicate,
40
40
  subdomainExists,
41
41
  updateMetadata
42
- } from "./chunk-3A4AHXJU.js";
42
+ } from "./chunk-WGKOO4AO.js";
43
43
  import {
44
44
  approveDepositor,
45
45
  deposit,
@@ -63,12 +63,11 @@ import {
63
63
  searchSyndicateAcrossChains,
64
64
  setTextRecord,
65
65
  setVaultAddress
66
- } from "./chunk-TFFGRZYY.js";
66
+ } from "./chunk-UNDR57AG.js";
67
67
  import {
68
68
  PROPOSAL_STATE,
69
69
  PROPOSAL_STATES,
70
70
  VOTE_TYPE,
71
- bindProposalAdapter,
72
71
  cancelProposal,
73
72
  emergencyCancel,
74
73
  emergencySettle,
@@ -96,7 +95,7 @@ import {
96
95
  setVotingPeriod,
97
96
  settleProposal,
98
97
  vote
99
- } from "./chunk-PN4BFLPG.js";
98
+ } from "./chunk-OUJGZM46.js";
100
99
  import {
101
100
  AERODROME,
102
101
  AGENT_REGISTRY,
@@ -161,7 +160,7 @@ import {
161
160
  SWAP_ROUTER_EXACT_INPUT_SINGLE_ABI,
162
161
  SYNDICATE_VAULT_ABI,
163
162
  VENICE_STAKING_ABI
164
- } from "./chunk-FUH5ZDXH.js";
163
+ } from "./chunk-QWX2COXX.js";
165
164
  import {
166
165
  fetchMetadata,
167
166
  uploadMetadata
@@ -1539,9 +1538,9 @@ function registerStrategyTemplateCommands(strategy2) {
1539
1538
  console.error(chalk.red("Missing --name, --performance-fee, or --duration. Use --write-calls to skip proposal submission."));
1540
1539
  process.exit(1);
1541
1540
  }
1542
- const { propose: propose2, bindProposalAdapter: bindProposalAdapter2 } = await import("./governor-YALHFEM5.js");
1541
+ const { propose: propose2 } = await import("./governor-XXSQZAB5.js");
1543
1542
  const { pinJSON } = await import("./ipfs-IGXLLJCF.js");
1544
- const { parseDuration: parseDuration2 } = await import("./governor-YALHFEM5.js");
1543
+ const { parseDuration: parseDuration2 } = await import("./governor-XXSQZAB5.js");
1545
1544
  const performanceFeeBps = BigInt(opts.performanceFee);
1546
1545
  if (performanceFeeBps < 0n || performanceFeeBps > 10000n) {
1547
1546
  console.error(chalk.red("--performance-fee must be 0-10000 (basis points)"));
@@ -1570,18 +1569,17 @@ function registerStrategyTemplateCommands(strategy2) {
1570
1569
  process.exit(1);
1571
1570
  }
1572
1571
  const proposeSpinner = ora("Submitting proposal...").start();
1573
- let createdProposalId = null;
1574
1572
  try {
1575
1573
  const { hash, proposalId } = await propose2(
1576
1574
  vault,
1575
+ clone,
1577
1576
  metadataURI,
1578
1577
  performanceFeeBps,
1579
1578
  strategyDuration,
1580
1579
  executeCalls,
1581
1580
  settleCalls
1582
1581
  );
1583
- createdProposalId = proposalId;
1584
- proposeSpinner.succeed(`Proposal #${proposalId} created`);
1582
+ proposeSpinner.succeed(`Proposal #${proposalId} created \u2014 strategy=${clone} set on proposal`);
1585
1583
  console.log(`Proposal #${proposalId}`);
1586
1584
  console.log(chalk.dim(` Tx: ${getExplorerUrl(hash)}`));
1587
1585
  console.log(chalk.dim(` Clone: ${clone}`));
@@ -1590,18 +1588,6 @@ function registerStrategyTemplateCommands(strategy2) {
1590
1588
  console.error(chalk.red(formatContractError(err)));
1591
1589
  process.exit(1);
1592
1590
  }
1593
- if (createdProposalId !== null) {
1594
- const bindSpinner = ora("Binding adapter for live NAV...").start();
1595
- try {
1596
- const bindHash = await bindProposalAdapter2(createdProposalId, clone);
1597
- bindSpinner.succeed("Adapter bound \u2014 live deposits/withdraws enabled during strategy");
1598
- console.log(chalk.dim(` Tx: ${getExplorerUrl(bindHash)}`));
1599
- } catch (err) {
1600
- bindSpinner.warn(
1601
- `Adapter bind skipped (${formatContractError(err)}) \u2014 strategy will use queue-only redemptions`
1602
- );
1603
- }
1604
- }
1605
1591
  if (templateKey === "venice-inference") {
1606
1592
  console.log();
1607
1593
  console.log(chalk.yellow("Next steps:"));
@@ -1662,7 +1648,7 @@ function registerStrategyTemplateCommands(strategy2) {
1662
1648
  let prices = [];
1663
1649
  let priceSource = null;
1664
1650
  try {
1665
- const { getTokenPricesInAsset } = await import("./price-VZZMUI2O.js");
1651
+ const { getTokenPricesInAsset } = await import("./price-RMYO6EB5.js");
1666
1652
  prices = await getTokenPricesInAsset({
1667
1653
  tokens: allocations.map((a, i) => ({
1668
1654
  token: a.token,
@@ -2092,7 +2078,7 @@ function registerVeniceCommands(program2) {
2092
2078
  console.log(chalk2.dim(` Key: ${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`));
2093
2079
  console.log(chalk2.dim(" Saved to ~/.sherwood/config.json"));
2094
2080
  try {
2095
- const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-5USBAM5N.js");
2081
+ const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-GYJRAPRP.js");
2096
2082
  const { uid } = await createVeniceProvisionAttestation(account.address);
2097
2083
  if (uid !== "0x0000000000000000000000000000000000000000000000000000000000000000") {
2098
2084
  console.log(chalk2.dim(` Attested: ${getEasScanUrl2(uid)}`));
@@ -2448,7 +2434,7 @@ ${opts.prompt}`;
2448
2434
  console.log(chalk2.dim(`Model: ${result.model} | Tokens: ${result.usage.promptTokens} in, ${result.usage.completionTokens} out, ${result.usage.totalTokens} total`));
2449
2435
  }
2450
2436
  try {
2451
- const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-5USBAM5N.js");
2437
+ const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-GYJRAPRP.js");
2452
2438
  const { keccak256: keccak2562, toHex, isAddress: isAddr } = await import("viem");
2453
2439
  const { getChainContracts: getChainContracts2 } = await import("./config-REASKDIK.js");
2454
2440
  const { getChain: getActiveChain } = await import("./network-3ZU7UBDU.js");
@@ -3663,7 +3649,7 @@ function printSimulationResult(result, callType) {
3663
3649
  }
3664
3650
  async function sendSimulationAlert(subdomain, proposalId, vault, execResult, settleResult) {
3665
3651
  try {
3666
- const xmtp = await import("./xmtp-T5J2R4OY.js");
3652
+ const xmtp = await import("./xmtp-DYJ4M7DA.js");
3667
3653
  const { getAccount: getAccount2 } = await import("./client-UHHCB6EZ.js");
3668
3654
  const group = await xmtp.getGroup("", subdomain);
3669
3655
  const allRisks = [...execResult.risks, ...settleResult?.risks ?? []];
@@ -3849,7 +3835,15 @@ function registerProposalCommands(program2) {
3849
3835
  }
3850
3836
  }
3851
3837
  const spinner = ora5({ text: W2("Submitting proposal..."), color: "green" }).start();
3852
- const result = await propose(vault, metadataURI, performanceFeeBps, strategyDuration, executeCalls, settleCalls);
3838
+ const result = await propose(
3839
+ vault,
3840
+ "0x0000000000000000000000000000000000000000",
3841
+ metadataURI,
3842
+ performanceFeeBps,
3843
+ strategyDuration,
3844
+ executeCalls,
3845
+ settleCalls
3846
+ );
3853
3847
  spinner.succeed(G2("Proposal submitted"));
3854
3848
  console.log();
3855
3849
  console.log(LABEL2(" \u25C6 Proposal Created"));
@@ -4035,25 +4029,6 @@ function registerProposalCommands(program2) {
4035
4029
  process.exit(1);
4036
4030
  }
4037
4031
  });
4038
- proposal.command("bind-adapter").description("Bind a strategy clone to a proposal for live NAV (proposer-only, Draft or Pending, before any co-proposer approval)").requiredOption("--id <proposalId>", "Proposal ID").requiredOption("--adapter <address>", "Strategy clone address").action(async (opts) => {
4039
- try {
4040
- const proposalId = parseBigIntArg(opts.id, "proposal ID");
4041
- if (!isAddress4(opts.adapter)) {
4042
- console.error(chalk6.red("Invalid adapter address"));
4043
- process.exit(1);
4044
- }
4045
- const adapter = opts.adapter;
4046
- const spinner = ora5("Binding adapter...").start();
4047
- const hash = await bindProposalAdapter(proposalId, adapter);
4048
- spinner.succeed(G2("Adapter bound \u2014 live deposits/withdraws enabled"));
4049
- console.log(DIM2(` ${getExplorerUrl(hash)}`));
4050
- console.log();
4051
- } catch (err) {
4052
- console.error(chalk6.red(`
4053
- \u2716 ${formatContractError(err)}`));
4054
- process.exit(1);
4055
- }
4056
- });
4057
4032
  proposal.command("execute").description("Execute an approved proposal").requiredOption("--id <proposalId>", "Proposal ID").option("--dry-run", "Simulate execution without sending a transaction").action(async (opts) => {
4058
4033
  try {
4059
4034
  const proposalId = parseBigIntArg(opts.id, "proposal ID");
@@ -7144,7 +7119,7 @@ try {
7144
7119
  var require2 = createRequire(import.meta.url);
7145
7120
  var { version: CLI_VERSION } = require2("../package.json");
7146
7121
  async function loadXmtp() {
7147
- return import("./xmtp-T5J2R4OY.js");
7122
+ return import("./xmtp-DYJ4M7DA.js");
7148
7123
  }
7149
7124
  async function loadCron() {
7150
7125
  return import("./cron-EOULYO3R.js");
@@ -8294,7 +8269,7 @@ ${info.name} (${info.type})`);
8294
8269
  }
8295
8270
  });
8296
8271
  try {
8297
- const { registerChatCommands } = await import("./chat-5CSPCFX5.js");
8272
+ const { registerChatCommands } = await import("./chat-VNO7DEAW.js");
8298
8273
  registerChatCommands(program);
8299
8274
  } catch {
8300
8275
  program.command("chat <name> [action] [actionArgs...]").description("Syndicate chat (XMTP) \u2014 requires @xmtp/cli").action(() => {
@@ -8304,7 +8279,7 @@ try {
8304
8279
  process.exit(1);
8305
8280
  });
8306
8281
  }
8307
- var { registerSessionCommands } = await import("./session-KDLIRS6B.js");
8282
+ var { registerSessionCommands } = await import("./session-7V3HX72A.js");
8308
8283
  registerSessionCommands(program);
8309
8284
  registerVeniceCommands(program);
8310
8285
  registerAllowanceCommands(program);
@@ -8312,11 +8287,11 @@ registerIdentityCommands(program);
8312
8287
  registerProposalCommands(program);
8313
8288
  registerGovernorCommands(program);
8314
8289
  registerGuardianCommands(program);
8315
- var { registerResearchCommands } = await import("./research-MI5HEOHK.js");
8290
+ var { registerResearchCommands } = await import("./research-UFXKZGOG.js");
8316
8291
  registerResearchCommands(program);
8317
- var { registerAgentCommands } = await import("./agent-ATD6ECCO.js");
8292
+ var { registerAgentCommands } = await import("./agent-GKHZEPOT.js");
8318
8293
  registerAgentCommands(program);
8319
- var { registerTradeCommands } = await import("./trade-6MFDEJSC.js");
8294
+ var { registerTradeCommands } = await import("./trade-ZXB3UAMH.js");
8320
8295
  registerTradeCommands(program);
8321
8296
  registerGridCommand(program);
8322
8297
  var configCmd = program.command("config");