milaidy 2.0.0-alpha.5 → 2.0.0-alpha.6

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.0-alpha.5",
3
- "commit": "02eb499bbff206cf91f4a127370e69bd69912c5d",
4
- "builtAt": "2026-02-07T15:10:55.085Z"
2
+ "version": "2.0.0-alpha.6",
3
+ "commit": "c11361ae7c8b3543df5a0bd99551ce056298c05f",
4
+ "builtAt": "2026-02-07T15:16:43.818Z"
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { i as saveMilaidyConfig, r as loadMilaidyConfig } from "./config-DTYBj51q.js";
2
2
  import { a as resolveDefaultAgentWorkspaceDir, i as loadWorkspaceBootstrapFiles, n as ensureAgentWorkspace, r as filterBootstrapFilesForSession, t as DEFAULT_AGENT_WORKSPACE_DIR } from "./workspace-DzG4aQOe.js";
3
- import { a as debugLogResolvedContext, i as STYLE_PRESETS, n as requestRestart, r as pickRandomNames, s as validateRuntimeContext } from "./wallet-D6YydsfY.js";
3
+ import { a as debugLogResolvedContext, i as STYLE_PRESETS, n as requestRestart, r as pickRandomNames, s as validateRuntimeContext } from "./wallet-LIhgbOKG.js";
4
4
  import process$1 from "node:process";
5
5
  import { homedir, platform } from "node:os";
6
6
  import path, { delimiter, join, resolve } from "node:path";
@@ -914,10 +914,8 @@ const CORE_PLUGINS = [
914
914
  "@elizaos/plugin-personality",
915
915
  "@elizaos/plugin-experience",
916
916
  "@elizaos/plugin-plugin-manager",
917
- "@elizaos/plugin-browser",
918
917
  "@elizaos/plugin-cli",
919
918
  "@elizaos/plugin-code",
920
- "@elizaos/plugin-computeruse",
921
919
  "@elizaos/plugin-edge-tts",
922
920
  "@elizaos/plugin-knowledge",
923
921
  "@elizaos/plugin-mcp",
@@ -926,8 +924,6 @@ const CORE_PLUGINS = [
926
924
  "@elizaos/plugin-secrets-manager",
927
925
  "@elizaos/plugin-todo",
928
926
  "@elizaos/plugin-trust",
929
- "@elizaos/plugin-vision",
930
- "@elizaos/plugin-cron",
931
927
  "@elizaos/plugin-form",
932
928
  "@elizaos/plugin-goals",
933
929
  "@elizaos/plugin-scheduling"
@@ -965,7 +961,12 @@ const PROVIDER_PLUGIN_MAP = {
965
961
  * The lookup code in {@link collectPluginNames} is intentionally kept
966
962
  * so new entries work without additional wiring.
967
963
  */
968
- const OPTIONAL_PLUGIN_MAP = {};
964
+ const OPTIONAL_PLUGIN_MAP = {
965
+ browser: "@elizaos/plugin-browser",
966
+ vision: "@elizaos/plugin-vision",
967
+ cron: "@elizaos/plugin-cron",
968
+ computeruse: "@elizaos/plugin-computeruse"
969
+ };
969
970
  function looksLikePlugin(value) {
970
971
  if (!value || typeof value !== "object") return false;
971
972
  const obj = value;
@@ -1408,7 +1409,7 @@ async function runFirstTimeSetup(config) {
1408
1409
  }
1409
1410
  }
1410
1411
  }
1411
- const { generateWalletKeys, importWallet } = await import("./wallet-D6YydsfY.js");
1412
+ const { generateWalletKeys, importWallet } = await import("./wallet-LIhgbOKG.js");
1412
1413
  const hasEvmKey = Boolean(process$1.env.EVM_PRIVATE_KEY?.trim());
1413
1414
  const hasSolKey = Boolean(process$1.env.SOLANA_PRIVATE_KEY?.trim());
1414
1415
  if (!hasEvmKey || !hasSolKey) {
@@ -1634,7 +1635,7 @@ async function startEliza(opts) {
1634
1635
  return runtime;
1635
1636
  }
1636
1637
  try {
1637
- const { startApiServer } = await import("./server-B2-D49nS.js");
1638
+ const { startApiServer } = await import("./server-DJfJ8ILV.js");
1638
1639
  const { port: actualApiPort } = await startApiServer({
1639
1640
  port: Number(process$1.env.MILAIDY_PORT) || 2138,
1640
1641
  runtime
package/dist/eliza.js CHANGED
@@ -914,10 +914,8 @@ const CORE_PLUGINS = [
914
914
  "@elizaos/plugin-personality",
915
915
  "@elizaos/plugin-experience",
916
916
  "@elizaos/plugin-plugin-manager",
917
- "@elizaos/plugin-browser",
918
917
  "@elizaos/plugin-cli",
919
918
  "@elizaos/plugin-code",
920
- "@elizaos/plugin-computeruse",
921
919
  "@elizaos/plugin-edge-tts",
922
920
  "@elizaos/plugin-knowledge",
923
921
  "@elizaos/plugin-mcp",
@@ -926,8 +924,6 @@ const CORE_PLUGINS = [
926
924
  "@elizaos/plugin-secrets-manager",
927
925
  "@elizaos/plugin-todo",
928
926
  "@elizaos/plugin-trust",
929
- "@elizaos/plugin-vision",
930
- "@elizaos/plugin-cron",
931
927
  "@elizaos/plugin-form",
932
928
  "@elizaos/plugin-goals",
933
929
  "@elizaos/plugin-scheduling"
@@ -965,7 +961,12 @@ const PROVIDER_PLUGIN_MAP = {
965
961
  * The lookup code in {@link collectPluginNames} is intentionally kept
966
962
  * so new entries work without additional wiring.
967
963
  */
968
- const OPTIONAL_PLUGIN_MAP = {};
964
+ const OPTIONAL_PLUGIN_MAP = {
965
+ browser: "@elizaos/plugin-browser",
966
+ vision: "@elizaos/plugin-vision",
967
+ cron: "@elizaos/plugin-cron",
968
+ computeruse: "@elizaos/plugin-computeruse"
969
+ };
969
970
  function looksLikePlugin(value) {
970
971
  if (!value || typeof value !== "object") return false;
971
972
  const obj = value;
@@ -1408,7 +1409,7 @@ async function runFirstTimeSetup(config) {
1408
1409
  }
1409
1410
  }
1410
1411
  }
1411
- const { generateWalletKeys, importWallet } = await import("./wallet-bjZzM_1M.js");
1412
+ const { generateWalletKeys, importWallet } = await import("./wallet-1TrMIY4q.js");
1412
1413
  const hasEvmKey = Boolean(process$1.env.EVM_PRIVATE_KEY?.trim());
1413
1414
  const hasSolKey = Boolean(process$1.env.SOLANA_PRIVATE_KEY?.trim());
1414
1415
  if (!hasEvmKey || !hasSolKey) {
@@ -1634,7 +1635,7 @@ async function startEliza(opts) {
1634
1635
  return runtime;
1635
1636
  }
1636
1637
  try {
1637
- const { startApiServer } = await import("./server-DHS9y4Mg.js");
1638
+ const { startApiServer } = await import("./server-tWzwVXc4.js");
1638
1639
  const { port: actualApiPort } = await startApiServer({
1639
1640
  port: Number(process$1.env.MILAIDY_PORT) || 2138,
1640
1641
  runtime
package/dist/entry.js CHANGED
@@ -123,7 +123,7 @@ if (parsed.profile) {
123
123
  applyCliProfileEnv({ profile: parsed.profile });
124
124
  process$1.argv = parsed.argv;
125
125
  }
126
- import("./run-main-Cc5-pDj7.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
126
+ import("./run-main-CPNa-_Vb.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
127
127
  console.error("[milaidy] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
128
128
  process$1.exit(1);
129
129
  });
@@ -1,5 +1,5 @@
1
1
  import { i as saveMilaidyConfig, r as loadMilaidyConfig } from "./config-DTYBj51q.js";
2
- import { n as requestRestart } from "./wallet-D6YydsfY.js";
2
+ import { n as requestRestart } from "./wallet-LIhgbOKG.js";
3
3
  import { t as getPluginInfo } from "./registry-client-roa9jZYU.js";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
@@ -100,7 +100,7 @@ function registerPluginsCli(program) {
100
100
  console.log(`\n Install: ${chalk.cyan(`milaidy plugins install ${info.name}`)}\n`);
101
101
  });
102
102
  pluginsCommand.command("install <name>").description("Install a plugin from the registry").option("--no-restart", "Install without restarting the agent").action(async (name, opts) => {
103
- const { installPlugin, installAndRestart } = await import("./plugin-installer-BJMzOKJp.js");
103
+ const { installPlugin, installAndRestart } = await import("./plugin-installer-CjZUkg-j.js");
104
104
  const normalizedName = normalizePluginName(name);
105
105
  console.log(`\nInstalling ${chalk.cyan(normalizedName)}...\n`);
106
106
  const progressHandler = (progress) => {
@@ -118,7 +118,7 @@ function registerPluginsCli(program) {
118
118
  console.log();
119
119
  });
120
120
  pluginsCommand.command("uninstall <name>").description("Uninstall a user-installed plugin").option("--no-restart", "Uninstall without restarting the agent").action(async (name, opts) => {
121
- const { uninstallPlugin, uninstallAndRestart } = await import("./plugin-installer-BJMzOKJp.js");
121
+ const { uninstallPlugin, uninstallAndRestart } = await import("./plugin-installer-CjZUkg-j.js");
122
122
  console.log(`\nUninstalling ${chalk.cyan(name)}...\n`);
123
123
  const result = opts.restart ? await uninstallAndRestart(name) : await uninstallPlugin(name);
124
124
  if (result.success) {
@@ -131,7 +131,7 @@ function registerPluginsCli(program) {
131
131
  console.log();
132
132
  });
133
133
  pluginsCommand.command("installed").description("List plugins installed from the registry").action(async () => {
134
- const { listInstalledPlugins } = await import("./plugin-installer-BJMzOKJp.js");
134
+ const { listInstalledPlugins } = await import("./plugin-installer-CjZUkg-j.js");
135
135
  const plugins = await listInstalledPlugins();
136
136
  if (plugins.length === 0) {
137
137
  console.log("\nNo plugins installed from the registry.\n");
@@ -1,4 +1,4 @@
1
- import { a as isRich, i as setVerbose, o as theme, r as isTruthyEnvValue, t as registerSubCliCommands } from "./register.subclis-DHkPSvsJ.js";
1
+ import { a as isRich, i as setVerbose, o as theme, r as isTruthyEnvValue, t as registerSubCliCommands } from "./register.subclis-CRLp87ti.js";
2
2
  import { a as hasHelpOrVersion, i as getVerboseFlag, n as getCommandPath } from "./argv-fxEsiwqp.js";
3
3
  import { createRequire } from "node:module";
4
4
  import process$1 from "node:process";
@@ -238,7 +238,7 @@ function registerSetupCommand(program) {
238
238
  program.command("setup").description("Initialize ~/.milaidy/milaidy.json and the agent workspace").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/getting-started/setup", "docs.milady.ai/getting-started/setup")}\n`).option("--workspace <dir>", "Agent workspace directory").action(async (opts) => {
239
239
  await runCommandWithRuntime(defaultRuntime$1, async () => {
240
240
  const { loadMilaidyConfig } = await import("./config-DTYBj51q.js").then((n) => n.n);
241
- const { ensureAgentWorkspace, resolveDefaultAgentWorkspaceDir } = await import("./workspace-ByPBAF0x.js");
241
+ const { ensureAgentWorkspace, resolveDefaultAgentWorkspaceDir } = await import("./workspace-BlqKSBdQ.js");
242
242
  let config = {};
243
243
  try {
244
244
  config = loadMilaidyConfig();
@@ -270,7 +270,7 @@ const defaultRuntime = {
270
270
  };
271
271
  async function startAction() {
272
272
  await runCommandWithRuntime(defaultRuntime, async () => {
273
- const { startEliza } = await import("./eliza-C5TxLf45.js");
273
+ const { startEliza } = await import("./eliza-DThusd2P.js");
274
274
  await startEliza();
275
275
  });
276
276
  }
@@ -64,7 +64,7 @@ const entries = [{
64
64
  name: "plugins",
65
65
  description: "Plugin management (ElizaOS plugins)",
66
66
  register: async (program) => {
67
- (await import("./plugins-cli-C9-Wvy4p.js")).registerPluginsCli(program);
67
+ (await import("./plugins-cli-Blijw_TR.js")).registerPluginsCli(program);
68
68
  }
69
69
  }, {
70
70
  name: "models",
@@ -1,3 +1,3 @@
1
- import { n as requestRestart, t as RESTART_EXIT_CODE } from "./wallet-D6YydsfY.js";
1
+ import { n as requestRestart, t as RESTART_EXIT_CODE } from "./wallet-LIhgbOKG.js";
2
2
 
3
3
  export { requestRestart };
@@ -15,7 +15,7 @@ function formatUncaughtError(error) {
15
15
  async function runCli(argv = process.argv) {
16
16
  await loadDotEnv();
17
17
  if (!process.env.ZAI_API_KEY?.trim() && process.env.Z_AI_API_KEY?.trim()) process.env.ZAI_API_KEY = process.env.Z_AI_API_KEY;
18
- const { buildProgram } = await import("./program-COLj-WXE.js");
18
+ const { buildProgram } = await import("./program-DJm1_C04.js");
19
19
  const program = buildProgram();
20
20
  process.on("unhandledRejection", (reason) => {
21
21
  console.error("[milaidy] Unhandled rejection:", formatUncaughtError(reason));
@@ -27,7 +27,7 @@ async function runCli(argv = process.argv) {
27
27
  });
28
28
  const primary = getPrimaryCommand(argv);
29
29
  if (primary && !hasHelpOrVersion(argv)) {
30
- const { registerSubCliByName } = await import("./register.subclis-DHkPSvsJ.js").then((n) => n.n);
30
+ const { registerSubCliByName } = await import("./register.subclis-CRLp87ti.js").then((n) => n.n);
31
31
  await registerSubCliByName(program, primary);
32
32
  }
33
33
  await program.parseAsync(argv);
@@ -1,8 +1,8 @@
1
1
  import { r as resolveStateDir } from "./paths-KHcc73Py.js";
2
2
  import { i as saveMilaidyConfig, r as loadMilaidyConfig, t as configFileExists } from "./config-DTYBj51q.js";
3
- import { a as fetchEvmNfts, c as generateWalletForChain, d as importWallet, i as fetchEvmBalances, l as generateWalletKeys, o as fetchSolanaBalances, p as validatePrivateKey, s as fetchSolanaNfts, u as getWalletAddresses } from "./workspace-ByPBAF0x.js";
3
+ import { a as fetchEvmNfts, c as generateWalletForChain, d as importWallet, i as fetchEvmBalances, l as generateWalletKeys, o as fetchSolanaBalances, p as validatePrivateKey, s as fetchSolanaNfts, u as getWalletAddresses } from "./workspace-BlqKSBdQ.js";
4
4
  import { a as resolveDefaultAgentWorkspaceDir } from "./workspace-DzG4aQOe.js";
5
- import { i as STYLE_PRESETS, o as validatePluginConfig, r as pickRandomNames } from "./wallet-D6YydsfY.js";
5
+ import { i as STYLE_PRESETS, o as validatePluginConfig, r as pickRandomNames } from "./wallet-LIhgbOKG.js";
6
6
  import path from "node:path";
7
7
  import http from "node:http";
8
8
  import fs from "node:fs";
@@ -3397,7 +3397,7 @@ async function handleRequest(req, res, state, ctx) {
3397
3397
  error(res, "Request body must include 'name' (plugin package name)", 400);
3398
3398
  return;
3399
3399
  }
3400
- const { installPlugin } = await import("./plugin-installer-BJMzOKJp.js");
3400
+ const { installPlugin } = await import("./plugin-installer-CjZUkg-j.js");
3401
3401
  try {
3402
3402
  const result = await installPlugin(pluginName, (progress) => {
3403
3403
  logger.info(`[install] ${progress.phase}: ${progress.message}`);
@@ -3410,7 +3410,7 @@ async function handleRequest(req, res, state, ctx) {
3410
3410
  return;
3411
3411
  }
3412
3412
  if (body.autoRestart !== false && result.requiresRestart) {
3413
- const { requestRestart } = await import("./restart-B_wFYpnI.js");
3413
+ const { requestRestart } = await import("./restart-el0bK7NU.js");
3414
3414
  setTimeout(() => {
3415
3415
  Promise.resolve(requestRestart(`Plugin ${result.pluginName} installed`)).catch((err) => {
3416
3416
  logger.error(`[api] Restart after install failed: ${err instanceof Error ? err.message : String(err)}`);
@@ -3440,7 +3440,7 @@ async function handleRequest(req, res, state, ctx) {
3440
3440
  error(res, "Request body must include 'name' (plugin package name)", 400);
3441
3441
  return;
3442
3442
  }
3443
- const { uninstallPlugin } = await import("./plugin-installer-BJMzOKJp.js");
3443
+ const { uninstallPlugin } = await import("./plugin-installer-CjZUkg-j.js");
3444
3444
  try {
3445
3445
  const result = await uninstallPlugin(pluginName);
3446
3446
  if (!result.success) {
@@ -3451,7 +3451,7 @@ async function handleRequest(req, res, state, ctx) {
3451
3451
  return;
3452
3452
  }
3453
3453
  if (body.autoRestart !== false && result.requiresRestart) {
3454
- const { requestRestart } = await import("./restart-B_wFYpnI.js");
3454
+ const { requestRestart } = await import("./restart-el0bK7NU.js");
3455
3455
  setTimeout(() => {
3456
3456
  Promise.resolve(requestRestart(`Plugin ${pluginName} uninstalled`)).catch((err) => {
3457
3457
  logger.error(`[api] Restart after uninstall failed: ${err instanceof Error ? err.message : String(err)}`);
@@ -3470,7 +3470,7 @@ async function handleRequest(req, res, state, ctx) {
3470
3470
  return;
3471
3471
  }
3472
3472
  if (method === "GET" && pathname === "/api/plugins/installed") {
3473
- const { listInstalledPlugins } = await import("./plugin-installer-BJMzOKJp.js");
3473
+ const { listInstalledPlugins } = await import("./plugin-installer-CjZUkg-j.js");
3474
3474
  try {
3475
3475
  const installed = await listInstalledPlugins();
3476
3476
  json(res, {
@@ -1,6 +1,6 @@
1
1
  import { i as resolveStateDir, n as loadMilaidyConfig, r as saveMilaidyConfig, t as configFileExists } from "./config-nxSNbXvy.js";
2
2
  import { i as validatePluginConfig, n as pickRandomNames, t as STYLE_PRESETS, u as resolveDefaultAgentWorkspaceDir } from "./onboarding-presets-DH1nrZ13.js";
3
- import { fetchEvmBalances, fetchEvmNfts, fetchSolanaBalances, fetchSolanaNfts, generateWalletForChain, generateWalletKeys, getWalletAddresses, importWallet, validatePrivateKey } from "./wallet-bjZzM_1M.js";
3
+ import { fetchEvmBalances, fetchEvmNfts, fetchSolanaBalances, fetchSolanaNfts, generateWalletForChain, generateWalletKeys, getWalletAddresses, importWallet, validatePrivateKey } from "./wallet-1TrMIY4q.js";
4
4
  import crypto from "node:crypto";
5
5
  import path from "node:path";
6
6
  import { ChannelType, createMessageMemory, logger, stringToUuid } from "@elizaos/core";
package/dist/server.js CHANGED
@@ -3292,6 +3292,8 @@ async function fetchSolanaNfts(address, heliusKey) {
3292
3292
  }
3293
3293
  function formatWei(wei, decimals) {
3294
3294
  if (wei === 0n) return "0";
3295
+ if (wei < 0n) return "0";
3296
+ if (decimals <= 0) return wei.toString();
3295
3297
  const divisor = 10n ** BigInt(decimals);
3296
3298
  const whole = wei / divisor;
3297
3299
  const remainder = wei % divisor;
@@ -649,6 +649,8 @@ async function fetchSolanaNfts(address, heliusKey) {
649
649
  }
650
650
  function formatWei(wei, decimals) {
651
651
  if (wei === 0n) return "0";
652
+ if (wei < 0n) return "0";
653
+ if (decimals <= 0) return wei.toString();
652
654
  const divisor = 10n ** BigInt(decimals);
653
655
  const whole = wei / divisor;
654
656
  const remainder = wei % divisor;
@@ -1,4 +1,4 @@
1
- import { a as fetchEvmNfts, c as generateWalletForChain, d as importWallet, f as validateEvmPrivateKey, i as fetchEvmBalances, l as generateWalletKeys, m as validateSolanaPrivateKey, n as deriveEvmAddress, o as fetchSolanaBalances, p as validatePrivateKey, r as deriveSolanaAddress, s as fetchSolanaNfts, t as DEFAULT_EVM_CHAINS, u as getWalletAddresses } from "./workspace-ByPBAF0x.js";
1
+ import { a as fetchEvmNfts, c as generateWalletForChain, d as importWallet, f as validateEvmPrivateKey, i as fetchEvmBalances, l as generateWalletKeys, m as validateSolanaPrivateKey, n as deriveEvmAddress, o as fetchSolanaBalances, p as validatePrivateKey, r as deriveSolanaAddress, s as fetchSolanaNfts, t as DEFAULT_EVM_CHAINS, u as getWalletAddresses } from "./workspace-BlqKSBdQ.js";
2
2
  import process$1 from "node:process";
3
3
 
4
4
  //#region src/api/plugin-validation.ts
@@ -650,6 +650,8 @@ async function fetchSolanaNfts(address, heliusKey) {
650
650
  }
651
651
  function formatWei(wei, decimals) {
652
652
  if (wei === 0n) return "0";
653
+ if (wei < 0n) return "0";
654
+ if (decimals <= 0) return wei.toString();
653
655
  const divisor = 10n ** BigInt(decimals);
654
656
  const whole = wei / divisor;
655
657
  const remainder = wei % divisor;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "milaidy",
3
- "version": "2.0.0-alpha.5",
3
+ "version": "2.0.0-alpha.6",
4
4
  "description": "cute agents for the acceleration",
5
5
  "keywords": [],
6
6
  "license": "MIT",