@elizaos/cli 1.2.11-beta.7 → 1.2.11-beta.8

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.
@@ -15,7 +15,7 @@ import {
15
15
  promptAndStorePostgresUrl,
16
16
  runTasks,
17
17
  setupPgLite
18
- } from "./chunk-BVMPDDVC.js";
18
+ } from "./chunk-TX2IPIRH.js";
19
19
 
20
20
  // src/characters/eliza.ts
21
21
  var baseCharacter = {
@@ -2761,7 +2761,7 @@ async function getGitHubCredentials() {
2761
2761
  }
2762
2762
  logger10.warn("Invalid GitHub token found in environment variables");
2763
2763
  }
2764
- const { getGitHubToken: getGitHubToken2 } = await import("./registry-RLIFZR6O.js");
2764
+ const { getGitHubToken: getGitHubToken2 } = await import("./registry-6SICSJM2.js");
2765
2765
  const token = await getGitHubToken2() || void 0;
2766
2766
  if (token) {
2767
2767
  const isValid2 = await validateGitHubToken(token);
@@ -4186,8 +4186,15 @@ function isRunningFromLocalCli() {
4186
4186
  try {
4187
4187
  const currentScriptPath = process.argv[1];
4188
4188
  if (!currentScriptPath) return false;
4189
- const absoluteScriptPath = path18.resolve(currentScriptPath);
4190
- const isInLocalCli = absoluteScriptPath.includes(path18.join("node_modules", "@elizaos", "cli"));
4189
+ const expectedLocalCliPath = path18.join(
4190
+ process.cwd(),
4191
+ "node_modules",
4192
+ "@elizaos",
4193
+ "cli",
4194
+ "dist",
4195
+ "index.js"
4196
+ );
4197
+ const isInLocalCli = path18.resolve(currentScriptPath) === path18.resolve(expectedLocalCliPath);
4191
4198
  return isInLocalCli;
4192
4199
  } catch (error) {
4193
4200
  logger19.debug("Error checking if running from local CLI:", error);
@@ -4262,12 +4269,13 @@ async function delegateToLocalCli(localCliPath) {
4262
4269
  forwardSignal("SIGTERM");
4263
4270
  });
4264
4271
  }
4265
- function isTestEnvironment() {
4266
- const testIndicators = [
4272
+ function isTestOrCiEnvironment() {
4273
+ const testAndCiIndicators = [
4267
4274
  process.env.NODE_ENV === "test",
4268
4275
  process.env.ELIZA_TEST_MODE === "true",
4269
4276
  process.env.ELIZA_TEST_MODE === "1",
4270
4277
  process.env.ELIZA_CLI_TEST_MODE === "true",
4278
+ process.env.ELIZA_SKIP_LOCAL_CLI_DELEGATION === "true",
4271
4279
  process.env.BUN_TEST === "true",
4272
4280
  process.env.VITEST === "true",
4273
4281
  process.env.JEST_WORKER_ID !== void 0,
@@ -4276,14 +4284,32 @@ function isTestEnvironment() {
4276
4284
  // Check if we're running under a test runner
4277
4285
  process.argv[1]?.includes("test") === true,
4278
4286
  // Check if parent process is a test runner
4279
- process.env.npm_lifecycle_event === "test"
4287
+ process.env.npm_lifecycle_event === "test",
4288
+ // CI environment detection
4289
+ process.env.CI === "true",
4290
+ process.env.CONTINUOUS_INTEGRATION === "true",
4291
+ process.env.GITHUB_ACTIONS === "true",
4292
+ process.env.GITLAB_CI === "true",
4293
+ process.env.JENKINS_URL !== void 0,
4294
+ process.env.TRAVIS === "true",
4295
+ process.env.CIRCLECI === "true",
4296
+ process.env.BUILDKITE === "true",
4297
+ process.env.DRONE === "true",
4298
+ process.env.TEAMCITY_VERSION !== void 0,
4299
+ process.env.APPVEYOR === "true",
4300
+ process.env.CODEBUILD_BUILD_ID !== void 0
4280
4301
  ];
4281
- return testIndicators.some((indicator) => indicator === true);
4302
+ return testAndCiIndicators.some((indicator) => indicator === true);
4282
4303
  }
4283
4304
  async function tryDelegateToLocalCli() {
4284
4305
  try {
4285
- if (isTestEnvironment()) {
4286
- logger19.debug("Running in test environment, skipping local CLI delegation");
4306
+ if (isTestOrCiEnvironment()) {
4307
+ logger19.debug("Running in test or CI environment, skipping local CLI delegation");
4308
+ return false;
4309
+ }
4310
+ const args = process.argv.slice(2);
4311
+ if (args.length > 0 && args[0] === "update") {
4312
+ logger19.debug("Update command detected, skipping local CLI delegation");
4287
4313
  return false;
4288
4314
  }
4289
4315
  if (isRunningFromLocalCli()) {
@@ -4327,7 +4353,7 @@ var ModuleLoader = class {
4327
4353
  projectPath;
4328
4354
  constructor(projectPath) {
4329
4355
  this.projectPath = projectPath || this.detectProjectPath();
4330
- this.require = createRequire(pathToFileURL(this.projectPath + "/package.json").href);
4356
+ this.require = createRequire(pathToFileURL(path19.join(this.projectPath, "package.json")).href);
4331
4357
  this.setupEnvironment();
4332
4358
  }
4333
4359
  /**
@@ -4382,6 +4408,50 @@ var ModuleLoader = class {
4382
4408
  Please ensure it's installed by running:
4383
4409
  bun add ${moduleName}
4384
4410
 
4411
+ Original error: ${errorMessage}`
4412
+ );
4413
+ }
4414
+ }
4415
+ /**
4416
+ * Synchronously load a module from the project's node_modules directory.
4417
+ * Uses caching to ensure the same instance is returned for repeated calls.
4418
+ *
4419
+ * @param moduleName - The name of the module to load (e.g., '@elizaos/server')
4420
+ * @returns The loaded module
4421
+ * @throws Error if the module cannot be found in the project
4422
+ */
4423
+ loadSync(moduleName) {
4424
+ if (this.cache.has(moduleName)) {
4425
+ logger20.debug(`Using cached module: ${moduleName}`);
4426
+ return this.cache.get(moduleName);
4427
+ }
4428
+ try {
4429
+ const localModulePath = path19.join(this.projectPath, "node_modules", moduleName);
4430
+ const isLocalModule = existsSync16(localModulePath);
4431
+ if (isLocalModule) {
4432
+ logger20.info(`Using local ${moduleName} installation`);
4433
+ } else {
4434
+ logger20.info(`Using global ${moduleName} installation`);
4435
+ }
4436
+ const modulePath = this.require.resolve(moduleName);
4437
+ logger20.debug(`Loading ${moduleName} from: ${modulePath}`);
4438
+ if (isLocalModule && !modulePath.includes(this.projectPath)) {
4439
+ logger20.warn(`Expected local module but resolved to global: ${modulePath}`);
4440
+ }
4441
+ const module = this.require(modulePath);
4442
+ this.cache.set(moduleName, module);
4443
+ logger20.success(
4444
+ `Loaded ${moduleName} from ${isLocalModule ? "local" : "global"} installation`
4445
+ );
4446
+ return module;
4447
+ } catch (error) {
4448
+ const errorMessage = error instanceof Error ? error.message : String(error);
4449
+ logger20.error(`Failed to load module ${moduleName}: ${errorMessage}`);
4450
+ throw new Error(
4451
+ `Cannot find module '${moduleName}' in project at ${this.projectPath}.
4452
+ Please ensure it's installed by running:
4453
+ bun add ${moduleName}
4454
+
4385
4455
  Original error: ${errorMessage}`
4386
4456
  );
4387
4457
  }
@@ -4435,6 +4505,9 @@ function getModuleLoader() {
4435
4505
  async function loadModule(moduleName) {
4436
4506
  return getModuleLoader().load(moduleName);
4437
4507
  }
4508
+ function loadModuleSync(moduleName) {
4509
+ return getModuleLoader().loadSync(moduleName);
4510
+ }
4438
4511
 
4439
4512
  // src/utils/port-handling.ts
4440
4513
  import net from "net";
@@ -5726,6 +5799,7 @@ export {
5726
5799
  ModuleLoader,
5727
5800
  getModuleLoader,
5728
5801
  loadModule,
5802
+ loadModuleSync,
5729
5803
  isPortFree,
5730
5804
  findNextAvailablePort,
5731
5805
  testPublishToNpm,
@@ -9,11 +9,11 @@ import {
9
9
  selectEmbeddingModel,
10
10
  validateCreateOptions,
11
11
  validateProjectName
12
- } from "./chunk-P2EDLOL3.js";
12
+ } from "./chunk-BLRB6AXA.js";
13
13
  import {
14
14
  displayBanner,
15
15
  handleError
16
- } from "./chunk-BVMPDDVC.js";
16
+ } from "./chunk-TX2IPIRH.js";
17
17
 
18
18
  // src/commands/create/index.ts
19
19
  import { Command } from "commander";
@@ -5,7 +5,7 @@ import {
5
5
  setAgentConfig,
6
6
  startAgent,
7
7
  stopAgent
8
- } from "../../../chunk-BVMPDDVC.js";
8
+ } from "../../../chunk-TX2IPIRH.js";
9
9
  import "../../../chunk-FDEDLANP.js";
10
10
  import "../../../chunk-4O6EZU37.js";
11
11
  import "../../../chunk-D3Q2UZLZ.js";
@@ -2,7 +2,7 @@ import {
2
2
  agent,
3
3
  getAgents,
4
4
  resolveAgentId
5
- } from "../../chunk-BVMPDDVC.js";
5
+ } from "../../chunk-TX2IPIRH.js";
6
6
  import "../../chunk-FDEDLANP.js";
7
7
  import {
8
8
  getAgentRuntimeUrl,
@@ -8,8 +8,8 @@ import {
8
8
  setupAIModelConfig,
9
9
  setupEmbeddingModelConfig,
10
10
  setupProjectEnvironment
11
- } from "../../../chunk-P2EDLOL3.js";
12
- import "../../../chunk-BVMPDDVC.js";
11
+ } from "../../../chunk-BLRB6AXA.js";
12
+ import "../../../chunk-TX2IPIRH.js";
13
13
  import "../../../chunk-FDEDLANP.js";
14
14
  import "../../../chunk-4O6EZU37.js";
15
15
  import "../../../chunk-D3Q2UZLZ.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  create
3
- } from "../../chunk-LBWSLIF4.js";
4
- import "../../chunk-P2EDLOL3.js";
5
- import "../../chunk-BVMPDDVC.js";
3
+ } from "../../chunk-XIKLSITV.js";
4
+ import "../../chunk-BLRB6AXA.js";
5
+ import "../../chunk-TX2IPIRH.js";
6
6
  import "../../chunk-FDEDLANP.js";
7
7
  import "../../chunk-4O6EZU37.js";
8
8
  import "../../chunk-D3Q2UZLZ.js";
package/dist/index.js CHANGED
@@ -1,12 +1,11 @@
1
1
  #!/usr/bin/env bun
2
2
  import {
3
3
  create
4
- } from "./chunk-LBWSLIF4.js";
4
+ } from "./chunk-XIKLSITV.js";
5
5
  import {
6
6
  getElizaCharacter
7
- } from "./chunk-P2EDLOL3.js";
7
+ } from "./chunk-BLRB6AXA.js";
8
8
  import {
9
- ModuleLoader,
10
9
  TestRunner,
11
10
  UserEnvironment,
12
11
  agent,
@@ -21,6 +20,7 @@ import {
21
20
  findNextAvailablePort,
22
21
  getCliInstallTag,
23
22
  getGitHubCredentials,
23
+ getModuleLoader,
24
24
  getPackageManager,
25
25
  getRegistrySettings,
26
26
  getVersion,
@@ -43,7 +43,7 @@ import {
43
43
  testPublishToNpm,
44
44
  tryDelegateToLocalCli,
45
45
  validateDataDir
46
- } from "./chunk-BVMPDDVC.js";
46
+ } from "./chunk-TX2IPIRH.js";
47
47
  import {
48
48
  configureEmojis,
49
49
  emoji,
@@ -248,108 +248,136 @@ async function watchDirectory(dir, onChange, config2 = {}) {
248
248
  }
249
249
 
250
250
  // src/commands/dev/utils/server-manager.ts
251
- import { spawn } from "child_process";
252
251
  import * as path3 from "path";
253
- var DevServerManager = class {
254
- process = null;
255
- /**
256
- * Stops the currently running server process
257
- * @returns true if a server was stopped, false if no server was running
258
- */
259
- async stop() {
260
- if (this.process) {
261
- console.info("Stopping current server process...");
262
- const killed = this.process.kill("SIGTERM");
263
- if (!killed) {
264
- console.warn("Failed to kill server process, trying force kill...");
265
- this.process.kill("SIGKILL");
266
- }
267
- this.process = null;
268
- await new Promise((resolve2) => setTimeout(resolve2, 500));
269
- return true;
270
- }
271
- return false;
272
- }
273
- /**
274
- * Starts the server process with the given arguments
275
- */
276
- async start(args = []) {
277
- await this.stop();
278
- console.info("Starting server...");
279
- const nodeExecutable = process.execPath;
280
- const localCliPath = path3.join(
281
- process.cwd(),
282
- "node_modules",
283
- "@elizaos",
284
- "cli",
285
- "dist",
286
- "index.js"
287
- );
252
+ var serverState = {
253
+ process: null,
254
+ isRunning: false
255
+ };
256
+ async function getLocalCliPath() {
257
+ const localCliPath = path3.join(
258
+ process.cwd(),
259
+ "node_modules",
260
+ "@elizaos",
261
+ "cli",
262
+ "dist",
263
+ "index.js"
264
+ );
265
+ try {
288
266
  const fs14 = await import("fs");
289
- let scriptPath;
290
- if (fs14.existsSync(localCliPath)) {
291
- console.info("Using local @elizaos/cli installation");
292
- scriptPath = localCliPath;
293
- } else {
294
- scriptPath = process.argv[1];
295
- }
296
- const env2 = { ...process.env };
297
- const localModulesPath = path3.join(process.cwd(), "node_modules");
298
- if (env2.NODE_PATH) {
299
- env2.NODE_PATH = `${localModulesPath}${path3.delimiter}${env2.NODE_PATH}`;
300
- } else {
301
- env2.NODE_PATH = localModulesPath;
302
- }
303
- const localBinPath = path3.join(process.cwd(), "node_modules", ".bin");
304
- if (env2.PATH) {
305
- env2.PATH = `${localBinPath}${path3.delimiter}${env2.PATH}`;
267
+ return fs14.existsSync(localCliPath) ? localCliPath : null;
268
+ } catch {
269
+ return null;
270
+ }
271
+ }
272
+ function setupEnvironment() {
273
+ const env2 = { ...process.env };
274
+ const localModulesPath = path3.join(process.cwd(), "node_modules");
275
+ if (env2.NODE_PATH) {
276
+ env2.NODE_PATH = `${localModulesPath}${path3.delimiter}${env2.NODE_PATH}`;
277
+ } else {
278
+ env2.NODE_PATH = localModulesPath;
279
+ }
280
+ const localBinPath = path3.join(process.cwd(), "node_modules", ".bin");
281
+ if (env2.PATH) {
282
+ env2.PATH = `${localBinPath}${path3.delimiter}${env2.PATH}`;
283
+ } else {
284
+ env2.PATH = localBinPath;
285
+ }
286
+ env2.FORCE_COLOR = "1";
287
+ return env2;
288
+ }
289
+ async function startServerProcess(args = []) {
290
+ await stopServerProcess();
291
+ console.info("Starting server...");
292
+ const nodeExecutable = process2.execPath;
293
+ const localCliPath = await getLocalCliPath();
294
+ let scriptPath;
295
+ if (localCliPath) {
296
+ console.info("Using local @elizaos/cli installation");
297
+ scriptPath = localCliPath;
298
+ } else {
299
+ scriptPath = process2.argv[1];
300
+ }
301
+ const env2 = setupEnvironment();
302
+ const process2 = Bun.spawn([nodeExecutable, scriptPath, "start", ...args], {
303
+ stdio: ["inherit", "inherit", "inherit"],
304
+ env: env2,
305
+ cwd: process2.cwd()
306
+ });
307
+ serverState.process = process2;
308
+ serverState.isRunning = true;
309
+ process2.exited.then((exitCode) => {
310
+ if (exitCode !== 0) {
311
+ console.warn(`Server process exited with code ${exitCode}`);
306
312
  } else {
307
- env2.PATH = localBinPath;
308
- }
309
- env2.FORCE_COLOR = "1";
310
- this.process = spawn(nodeExecutable, [scriptPath, "start", ...args], {
311
- stdio: "inherit",
312
- detached: false,
313
- // We want to keep control of this process
314
- env: env2,
315
- cwd: process.cwd()
316
- // Ensure proper working directory
317
- });
318
- this.process.on("exit", (code, signal) => {
319
- if (code !== null) {
320
- if (code !== 0) {
321
- console.warn(`Server process exited with code ${code}`);
322
- } else {
323
- console.info("Server process exited normally");
324
- }
325
- } else if (signal) {
326
- console.info(`Server process was killed with signal ${signal}`);
327
- }
328
- this.process = null;
329
- });
330
- this.process.on("error", (err) => {
331
- console.error(`Server process error: ${err.message}`);
332
- this.process = null;
333
- });
313
+ console.info("Server process exited normally");
314
+ }
315
+ serverState.process = null;
316
+ serverState.isRunning = false;
317
+ }).catch((error) => {
318
+ console.error(`Server process error: ${error.message}`);
319
+ serverState.process = null;
320
+ serverState.isRunning = false;
321
+ });
322
+ }
323
+ async function stopServerProcess() {
324
+ if (!serverState.process || !serverState.isRunning) {
325
+ return false;
334
326
  }
335
- /**
336
- * Restarts the server process
337
- */
327
+ console.info("Stopping current server process...");
328
+ try {
329
+ const killed = serverState.process.kill("SIGTERM");
330
+ if (!killed) {
331
+ console.warn("Failed to kill server process, trying force kill...");
332
+ serverState.process.kill("SIGKILL");
333
+ }
334
+ serverState.process = null;
335
+ serverState.isRunning = false;
336
+ await new Promise((resolve2) => setTimeout(resolve2, 500));
337
+ return true;
338
+ } catch (error) {
339
+ console.error(`Error stopping server process: ${error}`);
340
+ serverState.process = null;
341
+ serverState.isRunning = false;
342
+ return false;
343
+ }
344
+ }
345
+ async function restartServerProcess(args = []) {
346
+ console.info("Restarting server...");
347
+ await startServerProcess(args);
348
+ }
349
+ function isServerRunning() {
350
+ return serverState.isRunning && serverState.process !== null;
351
+ }
352
+ function getServerProcess() {
353
+ return serverState.process;
354
+ }
355
+ var createServerManager = () => ({
356
+ async start(args = []) {
357
+ return startServerProcess(args);
358
+ },
359
+ async stop() {
360
+ return stopServerProcess();
361
+ },
338
362
  async restart(args = []) {
339
- console.info("Restarting server...");
340
- await this.start(args);
363
+ return restartServerProcess(args);
364
+ },
365
+ get process() {
366
+ return getServerProcess();
367
+ },
368
+ isRunning() {
369
+ return isServerRunning();
341
370
  }
342
- };
343
- var serverInstance = null;
371
+ });
372
+ var serverManager = null;
344
373
  function getServerManager() {
345
- if (!serverInstance) {
346
- serverInstance = new DevServerManager();
374
+ if (!serverManager) {
375
+ serverManager = createServerManager();
347
376
  }
348
- return serverInstance;
377
+ return serverManager;
349
378
  }
350
379
  async function stopServer() {
351
- const server = getServerManager();
352
- return await server.stop();
380
+ return stopServerProcess();
353
381
  }
354
382
 
355
383
  // src/commands/dev/actions/dev-server.ts
@@ -357,7 +385,7 @@ import { logger } from "@elizaos/core";
357
385
  async function startDevMode(options) {
358
386
  const cwd = process.cwd();
359
387
  const context = createDevContext(cwd);
360
- const serverManager = getServerManager();
388
+ const serverManager2 = getServerManager();
361
389
  const { directoryType } = context;
362
390
  const isProject = directoryType.type === "elizaos-project";
363
391
  const isPlugin2 = directoryType.type === "elizaos-plugin";
@@ -408,17 +436,17 @@ async function startDevMode(options) {
408
436
  }
409
437
  const rebuildAndRestart = async () => {
410
438
  try {
411
- await serverManager.stop();
439
+ await serverManager2.stop();
412
440
  await performRebuild(context);
413
441
  console.log("\u2713 Rebuild successful, restarting...");
414
- await serverManager.start(cliArgs);
442
+ await serverManager2.start(cliArgs);
415
443
  } catch (error) {
416
444
  console.error(
417
445
  `Error during rebuild and restart: ${error instanceof Error ? error.message : String(error)}`
418
446
  );
419
- if (!serverManager.process) {
447
+ if (!serverManager2.process) {
420
448
  console.info("Attempting to restart server regardless of build failure...");
421
- await serverManager.start(cliArgs);
449
+ await serverManager2.start(cliArgs);
422
450
  }
423
451
  }
424
452
  };
@@ -427,7 +455,7 @@ async function startDevMode(options) {
427
455
  console.info(`Running in ${modeDescription} mode`);
428
456
  await performInitialBuild(context);
429
457
  }
430
- await serverManager.start(cliArgs);
458
+ await serverManager2.start(cliArgs);
431
459
  if (isProject || isPlugin2 || isMonorepo) {
432
460
  await watchDirectory(context.watchDirectory, rebuildAndRestart);
433
461
  console.log("Dev mode is active! The server will restart when files change.");
@@ -4686,9 +4714,7 @@ async function startAgents(options) {
4686
4714
  const postgresUrl = await configureDatabaseSettings(options.configure);
4687
4715
  if (postgresUrl) process.env.POSTGRES_URL = postgresUrl;
4688
4716
  const pgliteDataDir = postgresUrl ? void 0 : await resolvePgliteDir();
4689
- const monorepoRoot = UserEnvironment.getInstance().findMonorepoRoot(process.cwd());
4690
- const projectPath = monorepoRoot || process.cwd();
4691
- const moduleLoader = new ModuleLoader(projectPath);
4717
+ const moduleLoader = getModuleLoader();
4692
4718
  const serverModule = await moduleLoader.load("@elizaos/server");
4693
4719
  const { AgentServer, jsonToCharacter, loadCharacterTryPath } = serverModule;
4694
4720
  const __filename = fileURLToPath4(import.meta.url);
@@ -4789,7 +4815,7 @@ var start = new Command7().name("start").description("Build and start the Eliza
4789
4815
  let characters = [];
4790
4816
  let projectAgents = [];
4791
4817
  if (options.character && options.character.length > 0) {
4792
- const moduleLoader = new ModuleLoader();
4818
+ const moduleLoader = getModuleLoader();
4793
4819
  const serverModule = await moduleLoader.load("@elizaos/server");
4794
4820
  const { loadCharacterTryPath } = serverModule;
4795
4821
  for (const charPath of options.character) {
@@ -4847,13 +4873,13 @@ import { Command as Command9 } from "commander";
4847
4873
 
4848
4874
  // src/commands/tee/phala-wrapper.ts
4849
4875
  import { Command as Command8 } from "commander";
4850
- import { spawn as spawn2 } from "child_process";
4876
+ import { spawn } from "child_process";
4851
4877
  import { elizaLogger } from "@elizaos/core";
4852
4878
  var phalaCliCommand = new Command8("phala").description("Official Phala Cloud CLI - Manage TEE deployments on Phala Cloud").allowUnknownOption().helpOption(false).action(async (_, command) => {
4853
4879
  const args = command.args;
4854
4880
  try {
4855
4881
  elizaLogger.info("Running Phala CLI command:", ["phala", ...args].join(" "));
4856
- const phalaProcess = spawn2("npx", ["--yes", "phala", ...args], {
4882
+ const phalaProcess = spawn("npx", ["--yes", "phala", ...args], {
4857
4883
  stdio: "inherit",
4858
4884
  shell: true
4859
4885
  });
@@ -4955,7 +4981,7 @@ async function installPluginDependencies(projectInfo) {
4955
4981
  };
4956
4982
  await fs11.promises.writeFile(packageJsonPath, JSON.stringify(packageJsonContent, null, 2));
4957
4983
  }
4958
- const { installPlugin: installPlugin2 } = await import("./utils-4MMOCB4V.js");
4984
+ const { installPlugin: installPlugin2 } = await import("./utils-HHN2DEEB.js");
4959
4985
  for (const dependency of project.pluginModule.dependencies) {
4960
4986
  await installPlugin2(dependency, pluginsDir);
4961
4987
  const dependencyPath = path25.join(pluginsDir, "node_modules", dependency);
@@ -4974,7 +5000,7 @@ async function installPluginDependencies(projectInfo) {
4974
5000
 
4975
5001
  // src/commands/test/actions/component-tests.ts
4976
5002
  import { logger as logger23 } from "@elizaos/core";
4977
- import { spawn as spawn3 } from "child_process";
5003
+ import { spawn as spawn2 } from "child_process";
4978
5004
  import path27 from "path";
4979
5005
 
4980
5006
  // src/utils/testing/tsc-validator.ts
@@ -5053,7 +5079,7 @@ async function runComponentTests(testPath, options, projectInfo) {
5053
5079
  const baseDir = monorepoRoot ?? process.cwd();
5054
5080
  const targetPath = testPath ? path27.resolve(baseDir, testPath) : process.cwd();
5055
5081
  logger23.info(`Executing: bun ${args.join(" ")} in ${targetPath}`);
5056
- const child = spawn3("bun", args, {
5082
+ const child = spawn2("bun", args, {
5057
5083
  stdio: "inherit",
5058
5084
  shell: false,
5059
5085
  cwd: targetPath,
@@ -5098,7 +5124,7 @@ async function runE2eTests(testPath, options, projectInfo) {
5098
5124
  try {
5099
5125
  const runtimes = [];
5100
5126
  const projectAgents = [];
5101
- const moduleLoader = new ModuleLoader();
5127
+ const moduleLoader = getModuleLoader();
5102
5128
  const serverModule = await moduleLoader.load("@elizaos/server");
5103
5129
  const { AgentServer, jsonToCharacter, loadCharacterTryPath } = serverModule;
5104
5130
  const elizaDir = path28.join(process.cwd(), ".eliza");
@@ -24,7 +24,7 @@ import {
24
24
  setEnvVar,
25
25
  setGitHubToken,
26
26
  validateDataDir
27
- } from "./chunk-BVMPDDVC.js";
27
+ } from "./chunk-TX2IPIRH.js";
28
28
  import "./chunk-FDEDLANP.js";
29
29
  import "./chunk-4O6EZU37.js";
30
30
  import "./chunk-D3Q2UZLZ.js";
@@ -40,7 +40,7 @@
40
40
  "tsup.config.ts"
41
41
  ],
42
42
  "dependencies": {
43
- "@elizaos/core": "1.2.11-beta.6",
43
+ "@elizaos/core": "1.2.11-beta.7",
44
44
  "zod": "^3.24.4"
45
45
  },
46
46
  "devDependencies": {
@@ -40,7 +40,7 @@
40
40
  "tsup.config.ts"
41
41
  ],
42
42
  "dependencies": {
43
- "@elizaos/core": "1.2.11-beta.6",
43
+ "@elizaos/core": "1.2.11-beta.7",
44
44
  "@tanstack/react-query": "^5.80.7",
45
45
  "clsx": "^2.1.1",
46
46
  "tailwind-merge": "^3.3.1",
@@ -28,10 +28,10 @@
28
28
  "dist"
29
29
  ],
30
30
  "dependencies": {
31
- "@elizaos/cli": "1.2.11-beta.6",
32
- "@elizaos/core": "1.2.11-beta.6",
33
- "@elizaos/plugin-bootstrap": "1.2.11-beta.6",
34
- "@elizaos/plugin-sql": "1.2.11-beta.6",
31
+ "@elizaos/cli": "1.2.11-beta.7",
32
+ "@elizaos/core": "1.2.11-beta.7",
33
+ "@elizaos/plugin-bootstrap": "1.2.11-beta.7",
34
+ "@elizaos/plugin-sql": "1.2.11-beta.7",
35
35
  "@tanstack/react-query": "^5.29.0",
36
36
  "clsx": "^2.1.1",
37
37
  "react": "^18.3.1",
@@ -33,10 +33,10 @@
33
33
  "GUIDE.md"
34
34
  ],
35
35
  "dependencies": {
36
- "@elizaos/cli": "1.2.11-beta.6",
37
- "@elizaos/core": "1.2.11-beta.6",
36
+ "@elizaos/cli": "1.2.11-beta.7",
37
+ "@elizaos/core": "1.2.11-beta.7",
38
38
  "@elizaos/plugin-redpill": "1.0.3",
39
- "@elizaos/plugin-sql": "1.2.11-beta.6",
39
+ "@elizaos/plugin-sql": "1.2.11-beta.7",
40
40
  "@phala/dstack-sdk": "0.1.11",
41
41
  "@solana/web3.js": "1.98.2",
42
42
  "viem": "2.30.1",
@@ -71,6 +71,7 @@ import {
71
71
  loadConfig,
72
72
  loadEnvironment,
73
73
  loadModule,
74
+ loadModuleSync,
74
75
  loadPluginModule,
75
76
  logHeader,
76
77
  migrateCliToBun,
@@ -115,7 +116,7 @@ import {
115
116
  updateFile,
116
117
  validateGitHubToken,
117
118
  writeEnvFile
118
- } from "./chunk-BVMPDDVC.js";
119
+ } from "./chunk-TX2IPIRH.js";
119
120
  import {
120
121
  runBunCommand
121
122
  } from "./chunk-FDEDLANP.js";
@@ -195,6 +196,7 @@ export {
195
196
  loadConfig,
196
197
  loadEnvironment,
197
198
  loadModule,
199
+ loadModuleSync,
198
200
  loadPluginModule,
199
201
  logHeader,
200
202
  migrateCliToBun,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/cli",
3
- "version": "1.2.11-beta.7",
3
+ "version": "1.2.11-beta.8",
4
4
  "description": "elizaOS CLI - Manage your AI agents and plugins",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -69,14 +69,14 @@
69
69
  "typescript": "5.8.3",
70
70
  "vite": "^6.3.5"
71
71
  },
72
- "gitHead": "6386017dcb618e5b7011536fc5865ed5ffc74806",
72
+ "gitHead": "80cf25ece84b0af50bf5b4d360d431ac0b6cfa86",
73
73
  "dependencies": {
74
74
  "@anthropic-ai/claude-code": "^1.0.35",
75
75
  "@anthropic-ai/sdk": "^0.54.0",
76
76
  "@clack/prompts": "^0.11.0",
77
- "@elizaos/core": "1.2.11-beta.7",
78
- "@elizaos/plugin-sql": "1.2.11-beta.7",
79
- "@elizaos/server": "1.2.11-beta.7",
77
+ "@elizaos/core": "1.2.11-beta.8",
78
+ "@elizaos/plugin-sql": "1.2.11-beta.8",
79
+ "@elizaos/server": "1.2.11-beta.8",
80
80
  "bun": "^1.2.17",
81
81
  "chalk": "^5.3.0",
82
82
  "chokidar": "^4.0.3",
@@ -40,7 +40,7 @@
40
40
  "tsup.config.ts"
41
41
  ],
42
42
  "dependencies": {
43
- "@elizaos/core": "1.2.11-beta.6",
43
+ "@elizaos/core": "1.2.11-beta.7",
44
44
  "zod": "^3.24.4"
45
45
  },
46
46
  "devDependencies": {
@@ -40,7 +40,7 @@
40
40
  "tsup.config.ts"
41
41
  ],
42
42
  "dependencies": {
43
- "@elizaos/core": "1.2.11-beta.6",
43
+ "@elizaos/core": "1.2.11-beta.7",
44
44
  "@tanstack/react-query": "^5.80.7",
45
45
  "clsx": "^2.1.1",
46
46
  "tailwind-merge": "^3.3.1",
@@ -28,10 +28,10 @@
28
28
  "dist"
29
29
  ],
30
30
  "dependencies": {
31
- "@elizaos/cli": "1.2.11-beta.6",
32
- "@elizaos/core": "1.2.11-beta.6",
33
- "@elizaos/plugin-bootstrap": "1.2.11-beta.6",
34
- "@elizaos/plugin-sql": "1.2.11-beta.6",
31
+ "@elizaos/cli": "1.2.11-beta.7",
32
+ "@elizaos/core": "1.2.11-beta.7",
33
+ "@elizaos/plugin-bootstrap": "1.2.11-beta.7",
34
+ "@elizaos/plugin-sql": "1.2.11-beta.7",
35
35
  "@tanstack/react-query": "^5.29.0",
36
36
  "clsx": "^2.1.1",
37
37
  "react": "^18.3.1",
@@ -33,10 +33,10 @@
33
33
  "GUIDE.md"
34
34
  ],
35
35
  "dependencies": {
36
- "@elizaos/cli": "1.2.11-beta.6",
37
- "@elizaos/core": "1.2.11-beta.6",
36
+ "@elizaos/cli": "1.2.11-beta.7",
37
+ "@elizaos/core": "1.2.11-beta.7",
38
38
  "@elizaos/plugin-redpill": "1.0.3",
39
- "@elizaos/plugin-sql": "1.2.11-beta.6",
39
+ "@elizaos/plugin-sql": "1.2.11-beta.7",
40
40
  "@phala/dstack-sdk": "0.1.11",
41
41
  "@solana/web3.js": "1.98.2",
42
42
  "viem": "2.30.1",