@sherwoodagent/cli 0.78.0 → 0.80.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 (57) hide show
  1. package/dist/{addresses-JJPQTF6S.js → addresses-EF5OQSKV.js} +3 -3
  2. package/dist/{agent-FYRYTKYM.js → agent-VLYILEUP.js} +6 -6
  3. package/dist/{chat-CO244AHH.js → chat-56DDAGA2.js} +7 -7
  4. package/dist/{chunk-M7CGUYUX.js → chunk-2LUTKS24.js} +5 -5
  5. package/dist/{chunk-TI64P5R4.js → chunk-54WMDJTL.js} +4 -4
  6. package/dist/{chunk-FP5DZCOM.js → chunk-BJ4G3TPP.js} +2 -2
  7. package/dist/{chunk-WCX7DKLQ.js → chunk-K2NEFUEP.js} +4 -4
  8. package/dist/{chunk-MEMYGZWQ.js → chunk-MAG63U53.js} +3 -3
  9. package/dist/{chunk-TN7J5LXW.js → chunk-QK3FUTVI.js} +4 -4
  10. package/dist/{chunk-RGFA732Z.js → chunk-QSYLZA4Z.js} +2 -2
  11. package/dist/{chunk-WGXZ623D.js → chunk-RFJSV3EZ.js} +4 -4
  12. package/dist/{chunk-EVTDWMXQ.js → chunk-UO4UITOY.js} +4 -4
  13. package/dist/{chunk-LSVCF24W.js → chunk-VJKZDHH3.js} +36 -1
  14. package/dist/chunk-VJKZDHH3.js.map +1 -0
  15. package/dist/{chunk-T2HVR3O6.js → chunk-XDWYX5ZM.js} +2 -2
  16. package/dist/{chunk-I6X6NL65.js → chunk-XW6NDXBA.js} +79 -16
  17. package/dist/chunk-XW6NDXBA.js.map +1 -0
  18. package/dist/{client-GRPJRISD.js → client-25LF2O4P.js} +3 -3
  19. package/dist/{eas-4RIW3IS4.js → eas-HHMRO37P.js} +5 -5
  20. package/dist/{governor-7KETSN47.js → governor-AL2XUGBE.js} +5 -5
  21. package/dist/index.js +71 -38
  22. package/dist/index.js.map +1 -1
  23. package/dist/{network-UP2X5XDW.js → network-R45QDUYO.js} +4 -2
  24. package/dist/{price-LAQSXN7M.js → price-QO22NF5Q.js} +5 -5
  25. package/dist/{providers-2J6LL67W.js → providers-ALMXBRNW.js} +4 -4
  26. package/dist/{research-FHQCSLTZ.js → research-ICDDAAGV.js} +7 -7
  27. package/dist/{session-JQ3IF3IV.js → session-RSWSCMM5.js} +9 -9
  28. package/dist/{trade-5EYPZN7M.js → trade-YNQVWUYZ.js} +14 -14
  29. package/dist/{vault-5YYTHS5W.js → vault-QKURBBSL.js} +7 -7
  30. package/dist/{xmtp-OZ5PJFCT.js → xmtp-M2OBCCNR.js} +5 -5
  31. package/package.json +1 -1
  32. package/dist/chunk-I6X6NL65.js.map +0 -1
  33. package/dist/chunk-LSVCF24W.js.map +0 -1
  34. /package/dist/{addresses-JJPQTF6S.js.map → addresses-EF5OQSKV.js.map} +0 -0
  35. /package/dist/{agent-FYRYTKYM.js.map → agent-VLYILEUP.js.map} +0 -0
  36. /package/dist/{chat-CO244AHH.js.map → chat-56DDAGA2.js.map} +0 -0
  37. /package/dist/{chunk-M7CGUYUX.js.map → chunk-2LUTKS24.js.map} +0 -0
  38. /package/dist/{chunk-TI64P5R4.js.map → chunk-54WMDJTL.js.map} +0 -0
  39. /package/dist/{chunk-FP5DZCOM.js.map → chunk-BJ4G3TPP.js.map} +0 -0
  40. /package/dist/{chunk-WCX7DKLQ.js.map → chunk-K2NEFUEP.js.map} +0 -0
  41. /package/dist/{chunk-MEMYGZWQ.js.map → chunk-MAG63U53.js.map} +0 -0
  42. /package/dist/{chunk-TN7J5LXW.js.map → chunk-QK3FUTVI.js.map} +0 -0
  43. /package/dist/{chunk-RGFA732Z.js.map → chunk-QSYLZA4Z.js.map} +0 -0
  44. /package/dist/{chunk-WGXZ623D.js.map → chunk-RFJSV3EZ.js.map} +0 -0
  45. /package/dist/{chunk-EVTDWMXQ.js.map → chunk-UO4UITOY.js.map} +0 -0
  46. /package/dist/{chunk-T2HVR3O6.js.map → chunk-XDWYX5ZM.js.map} +0 -0
  47. /package/dist/{client-GRPJRISD.js.map → client-25LF2O4P.js.map} +0 -0
  48. /package/dist/{eas-4RIW3IS4.js.map → eas-HHMRO37P.js.map} +0 -0
  49. /package/dist/{governor-7KETSN47.js.map → governor-AL2XUGBE.js.map} +0 -0
  50. /package/dist/{network-UP2X5XDW.js.map → network-R45QDUYO.js.map} +0 -0
  51. /package/dist/{price-LAQSXN7M.js.map → price-QO22NF5Q.js.map} +0 -0
  52. /package/dist/{providers-2J6LL67W.js.map → providers-ALMXBRNW.js.map} +0 -0
  53. /package/dist/{research-FHQCSLTZ.js.map → research-ICDDAAGV.js.map} +0 -0
  54. /package/dist/{session-JQ3IF3IV.js.map → session-RSWSCMM5.js.map} +0 -0
  55. /package/dist/{trade-5EYPZN7M.js.map → trade-YNQVWUYZ.js.map} +0 -0
  56. /package/dist/{vault-5YYTHS5W.js.map → vault-QKURBBSL.js.map} +0 -0
  57. /package/dist/{xmtp-OZ5PJFCT.js.map → xmtp-M2OBCCNR.js.map} +0 -0
@@ -17,10 +17,10 @@ import {
17
17
  revokeAttestation,
18
18
  revokeJoinRequest,
19
19
  stripReferrerPrefix
20
- } from "./chunk-WCX7DKLQ.js";
21
- import "./chunk-I6X6NL65.js";
22
- import "./chunk-FP5DZCOM.js";
23
- import "./chunk-LSVCF24W.js";
20
+ } from "./chunk-K2NEFUEP.js";
21
+ import "./chunk-XW6NDXBA.js";
22
+ import "./chunk-BJ4G3TPP.js";
23
+ import "./chunk-VJKZDHH3.js";
24
24
  import "./chunk-3TZIOAPH.js";
25
25
  import "./chunk-TU655ZTV.js";
26
26
  export {
@@ -43,4 +43,4 @@ export {
43
43
  revokeJoinRequest,
44
44
  stripReferrerPrefix
45
45
  };
46
- //# sourceMappingURL=eas-4RIW3IS4.js.map
46
+ //# sourceMappingURL=eas-HHMRO37P.js.map
@@ -36,10 +36,10 @@ import {
36
36
  settleProposal,
37
37
  vetoProposal,
38
38
  vote
39
- } from "./chunk-EVTDWMXQ.js";
40
- import "./chunk-I6X6NL65.js";
41
- import "./chunk-FP5DZCOM.js";
42
- import "./chunk-LSVCF24W.js";
39
+ } from "./chunk-UO4UITOY.js";
40
+ import "./chunk-XW6NDXBA.js";
41
+ import "./chunk-BJ4G3TPP.js";
42
+ import "./chunk-VJKZDHH3.js";
43
43
  import "./chunk-3TZIOAPH.js";
44
44
  import "./chunk-TU655ZTV.js";
45
45
  export {
@@ -81,4 +81,4 @@ export {
81
81
  vetoProposal,
82
82
  vote
83
83
  };
84
- //# sourceMappingURL=governor-7KETSN47.js.map
84
+ //# sourceMappingURL=governor-AL2XUGBE.js.map
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  checkApiKeyValid,
16
16
  listModels,
17
17
  provisionApiKey
18
- } from "./chunk-RGFA732Z.js";
18
+ } from "./chunk-QSYLZA4Z.js";
19
19
  import {
20
20
  approveDepositor,
21
21
  deposit,
@@ -38,8 +38,8 @@ import {
38
38
  removeDepositor,
39
39
  setAgentFeeBps,
40
40
  setVaultAddress
41
- } from "./chunk-M7CGUYUX.js";
42
- import "./chunk-MEMYGZWQ.js";
41
+ } from "./chunk-2LUTKS24.js";
42
+ import "./chunk-MAG63U53.js";
43
43
  import {
44
44
  applySlippage,
45
45
  assetDecimalsForSymbol,
@@ -50,7 +50,7 @@ import {
50
50
  getMultiHopQuote,
51
51
  getQuote,
52
52
  resolveToken
53
- } from "./chunk-TI64P5R4.js";
53
+ } from "./chunk-54WMDJTL.js";
54
54
  import {
55
55
  createApproval,
56
56
  createJoinRequest,
@@ -61,20 +61,20 @@ import {
61
61
  queryJoinRequests,
62
62
  revokeJoinRequest,
63
63
  stripReferrerPrefix
64
- } from "./chunk-WCX7DKLQ.js";
64
+ } from "./chunk-K2NEFUEP.js";
65
65
  import {
66
66
  createFund,
67
67
  getActiveFunds,
68
68
  getFund,
69
69
  subdomainExists,
70
70
  updateMetadata
71
- } from "./chunk-WGXZ623D.js";
71
+ } from "./chunk-RFJSV3EZ.js";
72
72
  import {
73
73
  resolveFund,
74
74
  resolveVaultFund,
75
75
  searchFundAcrossChains,
76
76
  setTextRecord
77
- } from "./chunk-TN7J5LXW.js";
77
+ } from "./chunk-QK3FUTVI.js";
78
78
  import {
79
79
  PROPOSAL_STATE,
80
80
  PROPOSAL_STATES,
@@ -108,7 +108,7 @@ import {
108
108
  setVotingPeriod,
109
109
  settleProposal,
110
110
  vote
111
- } from "./chunk-EVTDWMXQ.js";
111
+ } from "./chunk-UO4UITOY.js";
112
112
  import {
113
113
  AERODROME,
114
114
  AGENT_REGISTRY,
@@ -118,7 +118,7 @@ import {
118
118
  TOKENS,
119
119
  UNISWAP,
120
120
  VENICE
121
- } from "./chunk-I6X6NL65.js";
121
+ } from "./chunk-XW6NDXBA.js";
122
122
  import {
123
123
  GAS_UNITS,
124
124
  estimateGasCushion,
@@ -129,7 +129,7 @@ import {
129
129
  sendTxWithRetry,
130
130
  waitForReceipt,
131
131
  writeContractWithRetry
132
- } from "./chunk-FP5DZCOM.js";
132
+ } from "./chunk-BJ4G3TPP.js";
133
133
  import {
134
134
  DEFAULT_NETWORK,
135
135
  VALID_NETWORKS,
@@ -141,7 +141,7 @@ import {
141
141
  isTestnet,
142
142
  setNetwork,
143
143
  withNetwork
144
- } from "./chunk-LSVCF24W.js";
144
+ } from "./chunk-VJKZDHH3.js";
145
145
  import {
146
146
  addFund,
147
147
  cacheGroupId,
@@ -2436,7 +2436,7 @@ function registerStrategyTemplateCommands(strategy2) {
2436
2436
  process.exit(1);
2437
2437
  }
2438
2438
  if (!opts.agent) opts.agent = proposer;
2439
- const { parseDuration: parseDuration3, getGovernorOf: getGovernorOf2 } = await import("./governor-7KETSN47.js");
2439
+ const { parseDuration: parseDuration3, getGovernorOf: getGovernorOf2 } = await import("./governor-AL2XUGBE.js");
2440
2440
  const strategyDuration2 = parseDuration3(opts.duration);
2441
2441
  const chainId = getChain().id;
2442
2442
  try {
@@ -2662,9 +2662,9 @@ function registerStrategyTemplateCommands(strategy2) {
2662
2662
  console.error(chalk.red("Missing --name or --duration. Use --write-calls to skip proposal submission."));
2663
2663
  process.exit(1);
2664
2664
  }
2665
- const { propose: propose2 } = await import("./governor-7KETSN47.js");
2665
+ const { propose: propose2 } = await import("./governor-AL2XUGBE.js");
2666
2666
  const { pinJSON } = await import("./ipfs-RWSTXTZM.js");
2667
- const { parseDuration: parseDuration2 } = await import("./governor-7KETSN47.js");
2667
+ const { parseDuration: parseDuration2 } = await import("./governor-AL2XUGBE.js");
2668
2668
  const strategyDuration = parseDuration2(opts.duration);
2669
2669
  const metaSpinner = ora("Pinning metadata to IPFS...").start();
2670
2670
  let metadataURI;
@@ -2681,13 +2681,22 @@ function registerStrategyTemplateCommands(strategy2) {
2681
2681
  };
2682
2682
  metadataURI = await pinJSON(metadata, opts.name);
2683
2683
  metaSpinner.succeed(`Metadata pinned: ${metadataURI}`);
2684
- } catch (err) {
2685
- metaSpinner.fail("IPFS pin failed");
2686
- console.error(chalk.red(formatContractError(err)));
2687
- process.exit(1);
2684
+ } catch {
2685
+ metaSpinner.warn("IPFS pin failed \u2014 using inline metadata");
2686
+ const inline = JSON.stringify({
2687
+ name: opts.name,
2688
+ description: opts.description || "",
2689
+ proposer: account.address,
2690
+ vault,
2691
+ strategyClone: clone,
2692
+ template: def.key,
2693
+ strategyDuration: Number(strategyDuration),
2694
+ createdBy: "@sherwoodagent/cli"
2695
+ });
2696
+ metadataURI = `data:application/json;base64,${Buffer.from(inline).toString("base64")}`;
2688
2697
  }
2689
2698
  try {
2690
- const { getAgentFeeBps: getAgentFeeBps2 } = await import("./vault-5YYTHS5W.js");
2699
+ const { getAgentFeeBps: getAgentFeeBps2 } = await import("./vault-QKURBBSL.js");
2691
2700
  const feeBps = await getAgentFeeBps2(vault);
2692
2701
  console.log(
2693
2702
  chalk.yellow(
@@ -2775,7 +2784,7 @@ function registerStrategyTemplateCommands(strategy2) {
2775
2784
  let prices = [];
2776
2785
  let priceSource = null;
2777
2786
  try {
2778
- const { getTokenPricesInAsset } = await import("./price-LAQSXN7M.js");
2787
+ const { getTokenPricesInAsset } = await import("./price-QO22NF5Q.js");
2779
2788
  prices = await getTokenPricesInAsset({
2780
2789
  tokens: allocations.map((a, i) => ({
2781
2790
  token: a.token,
@@ -3205,7 +3214,7 @@ function registerVeniceCommands(program2) {
3205
3214
  console.log(chalk2.dim(` Key: ${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`));
3206
3215
  console.log(chalk2.dim(" Saved to ~/.sherwood/config.json"));
3207
3216
  try {
3208
- const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-4RIW3IS4.js");
3217
+ const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-HHMRO37P.js");
3209
3218
  const { uid } = await createVeniceProvisionAttestation(account.address);
3210
3219
  if (uid !== "0x0000000000000000000000000000000000000000000000000000000000000000") {
3211
3220
  console.log(chalk2.dim(` Attested: ${getEasScanUrl2(uid)}`));
@@ -3561,10 +3570,10 @@ ${opts.prompt}`;
3561
3570
  console.log(chalk2.dim(`Model: ${result.model} | Tokens: ${result.usage.promptTokens} in, ${result.usage.completionTokens} out, ${result.usage.totalTokens} total`));
3562
3571
  }
3563
3572
  try {
3564
- const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-4RIW3IS4.js");
3573
+ const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-HHMRO37P.js");
3565
3574
  const { keccak256: keccak2563, toHex, isAddress: isAddr } = await import("viem");
3566
3575
  const { getChainContracts: getChainContracts2 } = await import("./config-ZGFS4I7K.js");
3567
- const { getChain: getActiveChain } = await import("./network-UP2X5XDW.js");
3576
+ const { getChain: getActiveChain } = await import("./network-R45QDUYO.js");
3568
3577
  const vaultRecipient = opts.vault && isAddr(opts.vault) ? opts.vault : getChainContracts2(getActiveChain().id).vault;
3569
3578
  const promptHash = keccak2563(toHex(userContent)).slice(0, 18);
3570
3579
  const { uid } = await createVeniceInferenceAttestation(
@@ -4033,6 +4042,22 @@ async function detectAcp() {
4033
4042
  return false;
4034
4043
  }
4035
4044
  }
4045
+ async function acpSignMessage(message) {
4046
+ try {
4047
+ const { stdout } = await execFileAsync(
4048
+ "acp",
4049
+ ["wallet", "sign-message", "--message", message, "--json"],
4050
+ { timeout: 6e4 }
4051
+ );
4052
+ const start = stdout.indexOf("{");
4053
+ if (start < 0) return null;
4054
+ const json = JSON.parse(stdout.slice(start));
4055
+ const sig = json.signature;
4056
+ return typeof sig === "string" && /^0x[0-9a-fA-F]{130}$/.test(sig) ? sig : null;
4057
+ } catch {
4058
+ return null;
4059
+ }
4060
+ }
4036
4061
  async function acpWhoami() {
4037
4062
  const json = await acpJson(["agent", "whoami"]);
4038
4063
  if (!json) return null;
@@ -4246,13 +4271,21 @@ function registerIdentityCommands(program2) {
4246
4271
  const bindingMessage = buildBindingMessage(account.address, issuingChainId, tokenId);
4247
4272
  let binding;
4248
4273
  if (!self) {
4249
- if (!opts.bindingSig) {
4274
+ let bindingSig = opts.bindingSig;
4275
+ if (!bindingSig) {
4276
+ spinner.text = "Requesting binding signature from the economyOS wallet (acp wallet sign-message)...";
4277
+ bindingSig = await acpSignMessage(bindingMessage) ?? void 0;
4278
+ if (bindingSig) {
4279
+ console.log(chalk4.dim(" Binding signed automatically via acp."));
4280
+ }
4281
+ }
4282
+ if (!bindingSig) {
4250
4283
  spinner.fail("Binding signature required (economyOS wallet differs from your Sherwood wallet)");
4251
4284
  console.error();
4252
4285
  console.error(chalk4.bold(" Sign this exact message with the economyOS agent wallet:"));
4253
4286
  console.error(chalk4.green(` ${bindingMessage}`));
4254
4287
  console.error();
4255
- console.error(chalk4.dim(" (e.g. via the acp CLI / app.virtuals.io wallet signing, EIP-191 personal_sign)"));
4288
+ console.error(chalk4.dim(` acp wallet sign-message --message "${bindingMessage}" --json`));
4256
4289
  console.error(chalk4.dim(" Then re-run with --binding-sig <signature>."));
4257
4290
  process.exit(1);
4258
4291
  }
@@ -4262,7 +4295,7 @@ function registerIdentityCommands(program2) {
4262
4295
  issuingChainId,
4263
4296
  tokenId,
4264
4297
  virtualsWallet,
4265
- signature: opts.bindingSig
4298
+ signature: bindingSig
4266
4299
  });
4267
4300
  if (!ok) {
4268
4301
  spinner.fail("Binding signature does not recover to the economyOS wallet");
@@ -4270,7 +4303,7 @@ function registerIdentityCommands(program2) {
4270
4303
  console.error(chalk4.dim(` Signed message must be exactly: ${bindingMessage}`));
4271
4304
  process.exit(1);
4272
4305
  }
4273
- binding = { sig: opts.bindingSig, message: bindingMessage };
4306
+ binding = { sig: bindingSig, message: bindingMessage };
4274
4307
  }
4275
4308
  setVirtualsIdentity(Number(tokenId), issuingChainId, {
4276
4309
  agentId: virtualsAgentId,
@@ -5179,8 +5212,8 @@ function printSimulationResult(result, callType) {
5179
5212
  }
5180
5213
  async function sendSimulationAlert(subdomain, proposalId, vault, execResult, settleResult) {
5181
5214
  try {
5182
- const xmtp = await import("./xmtp-OZ5PJFCT.js");
5183
- const { getAccount: getAccount2 } = await import("./client-GRPJRISD.js");
5215
+ const xmtp = await import("./xmtp-M2OBCCNR.js");
5216
+ const { getAccount: getAccount2 } = await import("./client-25LF2O4P.js");
5184
5217
  const group = await xmtp.getGroup("", subdomain);
5185
5218
  const allRisks = [...execResult.risks, ...settleResult?.risks ?? []];
5186
5219
  const criticals = allRisks.filter((r) => r.level === "critical");
@@ -9631,9 +9664,9 @@ try {
9631
9664
  } catch {
9632
9665
  }
9633
9666
  var require2 = createRequire(import.meta.url);
9634
- var CLI_VERSION = "0.78.0";
9667
+ var CLI_VERSION = "0.80.0";
9635
9668
  async function loadXmtp() {
9636
- return import("./xmtp-OZ5PJFCT.js");
9669
+ return import("./xmtp-M2OBCCNR.js");
9637
9670
  }
9638
9671
  async function loadCron() {
9639
9672
  return import("./cron-QMLRWDJG.js");
@@ -10234,7 +10267,7 @@ fund.command("add").description("Register an agent on a fund vault (creator only
10234
10267
  if (opts.agentId) {
10235
10268
  agentId = BigInt(opts.agentId);
10236
10269
  } else {
10237
- const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-JJPQTF6S.js");
10270
+ const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-EF5OQSKV.js");
10238
10271
  const registry = AGENT_REGISTRY2().IDENTITY_REGISTRY;
10239
10272
  if (registry === "0x0000000000000000000000000000000000000000") {
10240
10273
  agentId = 0n;
@@ -10981,7 +11014,7 @@ vaultCmd.command("redeem").description("Redeem vault shares for the underlying a
10981
11014
  var strategy = program.command("strategy").description("Strategy templates \u2014 list, clone, propose");
10982
11015
  registerStrategyTemplateCommands(strategy);
10983
11016
  program.command("providers").description("List available providers (research + swap routing)").action(async () => {
10984
- const { listProviders } = await import("./providers-2J6LL67W.js");
11017
+ const { listProviders } = await import("./providers-ALMXBRNW.js");
10985
11018
  for (const info of listProviders()) {
10986
11019
  console.log(`
10987
11020
  ${info.name} (${info.type})`);
@@ -10991,7 +11024,7 @@ ${info.name} (${info.type})`);
10991
11024
  }
10992
11025
  });
10993
11026
  try {
10994
- const { registerChatCommands } = await import("./chat-CO244AHH.js");
11027
+ const { registerChatCommands } = await import("./chat-56DDAGA2.js");
10995
11028
  registerChatCommands(program);
10996
11029
  } catch {
10997
11030
  program.command("chat <name> [action] [actionArgs...]").description("Fund chat (XMTP) \u2014 requires @xmtp/cli").action(() => {
@@ -11001,7 +11034,7 @@ try {
11001
11034
  process.exit(1);
11002
11035
  });
11003
11036
  }
11004
- var { registerSessionCommands } = await import("./session-JQ3IF3IV.js");
11037
+ var { registerSessionCommands } = await import("./session-RSWSCMM5.js");
11005
11038
  registerSessionCommands(program);
11006
11039
  registerVeniceCommands(program);
11007
11040
  registerAllowanceCommands(program);
@@ -11010,11 +11043,11 @@ registerProposalCommands(program);
11010
11043
  registerQueueCommands(program);
11011
11044
  registerGovernorCommands(program);
11012
11045
  registerGuardianCommands(program);
11013
- var { registerResearchCommands } = await import("./research-FHQCSLTZ.js");
11046
+ var { registerResearchCommands } = await import("./research-ICDDAAGV.js");
11014
11047
  registerResearchCommands(program);
11015
- var { registerAgentCommands } = await import("./agent-FYRYTKYM.js");
11048
+ var { registerAgentCommands } = await import("./agent-VLYILEUP.js");
11016
11049
  registerAgentCommands(program);
11017
- var { registerTradeCommands } = await import("./trade-5EYPZN7M.js");
11050
+ var { registerTradeCommands } = await import("./trade-YNQVWUYZ.js");
11018
11051
  registerTradeCommands(program);
11019
11052
  registerGridCommand(program);
11020
11053
  var configCmd = program.command("config");