@sherwoodagent/cli 0.19.0 → 0.19.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.
- package/dist/{chat-MUUC5L5W.js → chat-WKOSUZXO.js} +7 -7
- package/dist/{chunk-HRA2KPGW.js → chunk-I7CKBBOG.js} +3 -3
- package/dist/{chunk-W76CHVD3.js → chunk-LHDWONBI.js} +2 -2
- package/dist/{chunk-WHCXQBPS.js → chunk-P4J6FKAP.js} +4 -4
- package/dist/{chunk-VZZ2V6EM.js → chunk-QT7BUKWR.js} +5 -5
- package/dist/{chunk-B4BMCXWK.js → chunk-SZ5QQJGA.js} +2 -2
- package/dist/chunk-SZ5QQJGA.js.map +1 -0
- package/dist/{chunk-FEDSWXSD.js → chunk-TAAEMX3L.js} +2 -2
- package/dist/{chunk-G2RQLZZI.js → chunk-WWH4GD3N.js} +10 -10
- package/dist/chunk-WWH4GD3N.js.map +1 -0
- package/dist/{chunk-ZXV4TBPE.js → chunk-XR2ZUO4R.js} +2 -2
- package/dist/{chunk-DCT3IDBS.js → chunk-YJAMY25R.js} +14 -7
- package/dist/chunk-YJAMY25R.js.map +1 -0
- package/dist/{client-I56MIQAM.js → client-3AAXAX4C.js} +4 -4
- package/dist/{config-2VMLHIXD.js → config-IDAHD7S3.js} +2 -2
- package/dist/{eas-YZF6MN65.js → eas-MPDYDPJK.js} +6 -6
- package/dist/{governor-ZWKGLGMG.js → governor-J3W67NXA.js} +6 -6
- package/dist/index.js +36 -25
- package/dist/index.js.map +1 -1
- package/dist/{network-3MVRM7O4.js → network-DBUZ7GRF.js} +3 -3
- package/dist/research-DZINC4N4.js +14 -0
- package/dist/{research-VZKLOTMU.js → research-LOSOHKOJ.js} +12 -8
- package/dist/research-LOSOHKOJ.js.map +1 -0
- package/dist/{session-X3QFFCJ7.js → session-Q2WRYXYF.js} +10 -10
- package/dist/{trade-YCBFXOB3.js → trade-JLQPIA5W.js} +20 -12
- package/dist/trade-JLQPIA5W.js.map +1 -0
- package/dist/{xmtp-IH57GYSR.js → xmtp-7DF7UG66.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-B4BMCXWK.js.map +0 -1
- package/dist/chunk-DCT3IDBS.js.map +0 -1
- package/dist/chunk-G2RQLZZI.js.map +0 -1
- package/dist/research-HC2UOLFT.js +0 -14
- package/dist/research-VZKLOTMU.js.map +0 -1
- package/dist/trade-YCBFXOB3.js.map +0 -1
- /package/dist/{chat-MUUC5L5W.js.map → chat-WKOSUZXO.js.map} +0 -0
- /package/dist/{chunk-HRA2KPGW.js.map → chunk-I7CKBBOG.js.map} +0 -0
- /package/dist/{chunk-W76CHVD3.js.map → chunk-LHDWONBI.js.map} +0 -0
- /package/dist/{chunk-WHCXQBPS.js.map → chunk-P4J6FKAP.js.map} +0 -0
- /package/dist/{chunk-VZZ2V6EM.js.map → chunk-QT7BUKWR.js.map} +0 -0
- /package/dist/{chunk-FEDSWXSD.js.map → chunk-TAAEMX3L.js.map} +0 -0
- /package/dist/{chunk-ZXV4TBPE.js.map → chunk-XR2ZUO4R.js.map} +0 -0
- /package/dist/{client-I56MIQAM.js.map → client-3AAXAX4C.js.map} +0 -0
- /package/dist/{config-2VMLHIXD.js.map → config-IDAHD7S3.js.map} +0 -0
- /package/dist/{eas-YZF6MN65.js.map → eas-MPDYDPJK.js.map} +0 -0
- /package/dist/{governor-ZWKGLGMG.js.map → governor-J3W67NXA.js.map} +0 -0
- /package/dist/{network-3MVRM7O4.js.map → network-DBUZ7GRF.js.map} +0 -0
- /package/dist/{research-HC2UOLFT.js.map → research-DZINC4N4.js.map} +0 -0
- /package/dist/{session-X3QFFCJ7.js.map → session-Q2WRYXYF.js.map} +0 -0
- /package/dist/{xmtp-IH57GYSR.js.map → xmtp-7DF7UG66.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
getQuote,
|
|
10
10
|
listModels,
|
|
11
11
|
provisionApiKey
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YJAMY25R.js";
|
|
13
13
|
import {
|
|
14
14
|
PROPOSAL_STATE,
|
|
15
15
|
PROPOSAL_STATES,
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
setVotingPeriod,
|
|
41
41
|
settleProposal,
|
|
42
42
|
vote
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-P4J6FKAP.js";
|
|
44
44
|
import {
|
|
45
45
|
fetchMetadata,
|
|
46
46
|
uploadMetadata
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
queryApprovals,
|
|
53
53
|
queryJoinRequests,
|
|
54
54
|
revokeAttestation
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-WWH4GD3N.js";
|
|
56
56
|
import {
|
|
57
57
|
approveDepositor,
|
|
58
58
|
deposit,
|
|
@@ -68,7 +68,7 @@ import {
|
|
|
68
68
|
resolveVaultSyndicate,
|
|
69
69
|
setTextRecord,
|
|
70
70
|
setVaultAddress
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-QT7BUKWR.js";
|
|
72
72
|
import {
|
|
73
73
|
AERODROME,
|
|
74
74
|
AGENT_REGISTRY,
|
|
@@ -86,14 +86,14 @@ import {
|
|
|
86
86
|
UNISWAP,
|
|
87
87
|
VENICE,
|
|
88
88
|
VENICE_STAKING_ABI
|
|
89
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-LHDWONBI.js";
|
|
90
90
|
import {
|
|
91
91
|
getAccount,
|
|
92
92
|
getPublicClient,
|
|
93
93
|
getWalletClient,
|
|
94
94
|
sendTxWithRetry,
|
|
95
95
|
writeContractWithRetry
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-I7CKBBOG.js";
|
|
97
97
|
import {
|
|
98
98
|
VALID_NETWORKS,
|
|
99
99
|
getChain,
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
getRpcUrl,
|
|
103
103
|
isTestnet,
|
|
104
104
|
setNetwork
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-TAAEMX3L.js";
|
|
106
106
|
import {
|
|
107
107
|
cacheGroupId,
|
|
108
108
|
getAgentId,
|
|
@@ -116,8 +116,9 @@ import {
|
|
|
116
116
|
setConfigRpcUrl,
|
|
117
117
|
setNotifyTo,
|
|
118
118
|
setPrivateKey,
|
|
119
|
-
setUniswapApiKey
|
|
120
|
-
|
|
119
|
+
setUniswapApiKey,
|
|
120
|
+
setVeniceApiKey
|
|
121
|
+
} from "./chunk-SZ5QQJGA.js";
|
|
121
122
|
|
|
122
123
|
// src/index.ts
|
|
123
124
|
import { config as loadDotenv } from "dotenv";
|
|
@@ -873,9 +874,9 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
873
874
|
console.error(chalk.red("Missing --name, --performance-fee, or --duration. Use --write-calls to skip proposal submission."));
|
|
874
875
|
process.exit(1);
|
|
875
876
|
}
|
|
876
|
-
const { propose: propose2 } = await import("./governor-
|
|
877
|
+
const { propose: propose2 } = await import("./governor-J3W67NXA.js");
|
|
877
878
|
const { pinJSON } = await import("./ipfs-22YLNQ2C.js");
|
|
878
|
-
const { parseDuration: parseDuration2 } = await import("./governor-
|
|
879
|
+
const { parseDuration: parseDuration2 } = await import("./governor-J3W67NXA.js");
|
|
879
880
|
const performanceFeeBps = BigInt(opts.performanceFee);
|
|
880
881
|
if (performanceFeeBps < 0n || performanceFeeBps > 10000n) {
|
|
881
882
|
console.error(chalk.red("--performance-fee must be 0-10000 (basis points)"));
|
|
@@ -1148,7 +1149,7 @@ function registerVeniceCommands(program2) {
|
|
|
1148
1149
|
console.log(chalk2.dim(` Key: ${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`));
|
|
1149
1150
|
console.log(chalk2.dim(" Saved to ~/.sherwood/config.json"));
|
|
1150
1151
|
try {
|
|
1151
|
-
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
1152
|
+
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-MPDYDPJK.js");
|
|
1152
1153
|
const { uid } = await createVeniceProvisionAttestation(account.address);
|
|
1153
1154
|
if (uid !== "0x0000000000000000000000000000000000000000000000000000000000000000") {
|
|
1154
1155
|
console.log(chalk2.dim(` Attested: ${getEasScanUrl2(uid)}`));
|
|
@@ -1257,7 +1258,7 @@ function registerVeniceCommands(program2) {
|
|
|
1257
1258
|
process.exit(1);
|
|
1258
1259
|
}
|
|
1259
1260
|
});
|
|
1260
|
-
venice.command("infer").description("Run private inference via Venice chat completions").requiredOption("--prompt <text>", "User prompt").requiredOption("--model <id>", "Venice model ID (use 'venice models' to list)").option("--system <text>", "System prompt").option("--data <path>", "Path to data file \u2014 contents prepended to prompt as context").option("--web-search", "Enable Venice web search", false).option("--no-thinking", "Disable chain-of-thought reasoning").option("--temperature <n>", "Sampling temperature (0-2)").option("--max-tokens <n>", "Maximum completion tokens").option("--json", "Output raw JSON response", false).action(async (opts) => {
|
|
1261
|
+
venice.command("infer").description("Run private inference via Venice chat completions").requiredOption("--prompt <text>", "User prompt").requiredOption("--model <id>", "Venice model ID (use 'venice models' to list)").option("--system <text>", "System prompt").option("--data <path>", "Path to data file \u2014 contents prepended to prompt as context").option("--web-search", "Enable Venice web search", false).option("--no-thinking", "Disable chain-of-thought reasoning").option("--temperature <n>", "Sampling temperature (0-2)").option("--max-tokens <n>", "Maximum completion tokens").option("--json", "Output raw JSON response", false).option("--vault <address>", "Vault address \u2014 attestation recipient (defaults to config vault)").action(async (opts) => {
|
|
1261
1262
|
const messages = [];
|
|
1262
1263
|
if (opts.system) {
|
|
1263
1264
|
messages.push({ role: "system", content: opts.system });
|
|
@@ -1299,14 +1300,18 @@ ${opts.prompt}`;
|
|
|
1299
1300
|
console.log(chalk2.dim(`Model: ${result.model} | Tokens: ${result.usage.promptTokens} in, ${result.usage.completionTokens} out, ${result.usage.totalTokens} total`));
|
|
1300
1301
|
}
|
|
1301
1302
|
try {
|
|
1302
|
-
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
1303
|
-
const { keccak256, toHex } = await import("viem");
|
|
1303
|
+
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-MPDYDPJK.js");
|
|
1304
|
+
const { keccak256, toHex, isAddress: isAddr } = await import("viem");
|
|
1305
|
+
const { getChainContracts: getChainContracts2 } = await import("./config-IDAHD7S3.js");
|
|
1306
|
+
const { getChain: getActiveChain } = await import("./network-DBUZ7GRF.js");
|
|
1307
|
+
const vaultRecipient = opts.vault && isAddr(opts.vault) ? opts.vault : getChainContracts2(getActiveChain().id).vault;
|
|
1304
1308
|
const promptHash = keccak256(toHex(userContent)).slice(0, 18);
|
|
1305
1309
|
const { uid } = await createVeniceInferenceAttestation(
|
|
1306
1310
|
result.model,
|
|
1307
1311
|
result.usage.promptTokens,
|
|
1308
1312
|
result.usage.completionTokens,
|
|
1309
|
-
promptHash
|
|
1313
|
+
promptHash,
|
|
1314
|
+
vaultRecipient
|
|
1310
1315
|
);
|
|
1311
1316
|
if (uid !== "0x0000000000000000000000000000000000000000000000000000000000000000") {
|
|
1312
1317
|
console.log(chalk2.dim(`Attested: ${getEasScanUrl2(uid)}`));
|
|
@@ -2282,7 +2287,7 @@ try {
|
|
|
2282
2287
|
var require2 = createRequire(import.meta.url);
|
|
2283
2288
|
var { version: CLI_VERSION } = require2("../package.json");
|
|
2284
2289
|
async function loadXmtp() {
|
|
2285
|
-
return import("./xmtp-
|
|
2290
|
+
return import("./xmtp-7DF7UG66.js");
|
|
2286
2291
|
}
|
|
2287
2292
|
async function loadCron() {
|
|
2288
2293
|
return import("./cron-SKYKVZ6K.js");
|
|
@@ -3014,7 +3019,7 @@ vaultCmd.command("balance").description("Show LP share balance and asset value")
|
|
|
3014
3019
|
var strategy = program.command("strategy").description("Strategy templates \u2014 list, clone, propose");
|
|
3015
3020
|
registerStrategyTemplateCommands(strategy);
|
|
3016
3021
|
program.command("providers").description("List available DeFi providers").action(async () => {
|
|
3017
|
-
const { MessariProvider, NansenProvider } = await import("./research-
|
|
3022
|
+
const { MessariProvider, NansenProvider } = await import("./research-DZINC4N4.js");
|
|
3018
3023
|
const providers = [new MoonwellProvider(), new UniswapProvider(), new MessariProvider(), new NansenProvider()];
|
|
3019
3024
|
for (const p of providers) {
|
|
3020
3025
|
const info = p.info();
|
|
@@ -3025,7 +3030,7 @@ ${info.name} (${info.type})`);
|
|
|
3025
3030
|
}
|
|
3026
3031
|
});
|
|
3027
3032
|
try {
|
|
3028
|
-
const { registerChatCommands } = await import("./chat-
|
|
3033
|
+
const { registerChatCommands } = await import("./chat-WKOSUZXO.js");
|
|
3029
3034
|
registerChatCommands(program);
|
|
3030
3035
|
} catch {
|
|
3031
3036
|
program.command("chat <name> [action] [actionArgs...]").description("Syndicate chat (XMTP) \u2014 requires @xmtp/cli").action(() => {
|
|
@@ -3035,19 +3040,19 @@ try {
|
|
|
3035
3040
|
process.exit(1);
|
|
3036
3041
|
});
|
|
3037
3042
|
}
|
|
3038
|
-
var { registerSessionCommands } = await import("./session-
|
|
3043
|
+
var { registerSessionCommands } = await import("./session-Q2WRYXYF.js");
|
|
3039
3044
|
registerSessionCommands(program);
|
|
3040
3045
|
registerVeniceCommands(program);
|
|
3041
3046
|
registerAllowanceCommands(program);
|
|
3042
3047
|
registerIdentityCommands(program);
|
|
3043
3048
|
registerProposalCommands(program);
|
|
3044
3049
|
registerGovernorCommands(program);
|
|
3045
|
-
var { registerResearchCommands } = await import("./research-
|
|
3050
|
+
var { registerResearchCommands } = await import("./research-LOSOHKOJ.js");
|
|
3046
3051
|
registerResearchCommands(program);
|
|
3047
|
-
var { registerTradeCommands } = await import("./trade-
|
|
3052
|
+
var { registerTradeCommands } = await import("./trade-JLQPIA5W.js");
|
|
3048
3053
|
registerTradeCommands(program);
|
|
3049
3054
|
var configCmd = program.command("config");
|
|
3050
|
-
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 SyndicateVault 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)").action((opts) => {
|
|
3055
|
+
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 SyndicateVault 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").action((opts) => {
|
|
3051
3056
|
let saved = false;
|
|
3052
3057
|
if (opts.privateKey) {
|
|
3053
3058
|
setPrivateKey(opts.privateKey);
|
|
@@ -3081,8 +3086,13 @@ configCmd.command("set").description("Save settings to ~/.sherwood/config.json (
|
|
|
3081
3086
|
console.log(chalk7.green("Uniswap API key saved to ~/.sherwood/config.json"));
|
|
3082
3087
|
saved = true;
|
|
3083
3088
|
}
|
|
3089
|
+
if (opts.veniceApiKey) {
|
|
3090
|
+
setVeniceApiKey(opts.veniceApiKey);
|
|
3091
|
+
console.log(chalk7.green("Venice API key saved to ~/.sherwood/config.json"));
|
|
3092
|
+
saved = true;
|
|
3093
|
+
}
|
|
3084
3094
|
if (!saved) {
|
|
3085
|
-
console.log(chalk7.red("Provide at least one of: --private-key, --vault, --rpc, --notify-to, --uniswap-api-key"));
|
|
3095
|
+
console.log(chalk7.red("Provide at least one of: --private-key, --vault, --rpc, --notify-to, --uniswap-api-key, --venice-api-key"));
|
|
3086
3096
|
process.exit(1);
|
|
3087
3097
|
}
|
|
3088
3098
|
});
|
|
@@ -3100,7 +3110,8 @@ configCmd.command("show").description("Display current config for the active net
|
|
|
3100
3110
|
console.log(` Wallet: ${config.privateKey ? chalk7.green("configured") : chalk7.dim("not set")}`);
|
|
3101
3111
|
console.log(` Agent ID: ${config.agentId ?? chalk7.dim("not set")}`);
|
|
3102
3112
|
console.log(` Vault: ${contracts.vault ?? chalk7.dim("not set")}`);
|
|
3103
|
-
console.log(` Uniswap:
|
|
3113
|
+
console.log(` Uniswap: ${getUniswapApiKey() ? chalk7.green("API key configured") : chalk7.dim("not set")}`);
|
|
3114
|
+
console.log(` Venice: ${getVeniceApiKey() ? chalk7.green("API key configured") : chalk7.dim("not set")}`);
|
|
3104
3115
|
console.log();
|
|
3105
3116
|
console.log(chalk7.dim(" Config file: ~/.sherwood/config.json"));
|
|
3106
3117
|
console.log();
|