@elizaos/cli 1.0.11 → 1.0.13

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 (84) hide show
  1. package/README.md +93 -58
  2. package/dist/assets/{index-Cuyjmso1.js → index-D7iwnDvJ.js} +49286 -45738
  3. package/dist/assets/{index-Cuyjmso1.js.map → index-D7iwnDvJ.js.map} +1 -1
  4. package/dist/assets/index-Hst_nvMK.css +1 -0
  5. package/dist/assets/index-Hst_nvMK.css.br +0 -0
  6. package/dist/assets/{index-poChVCDJ.js → index-ojKLjt7K.js} +2 -2
  7. package/dist/assets/index-ojKLjt7K.js.br +0 -0
  8. package/dist/assets/{index-poChVCDJ.js.map → index-ojKLjt7K.js.map} +1 -1
  9. package/dist/assets/vendor-DSdxb8P-.js.map +1 -1
  10. package/dist/chunk-AQ6OMR2A.js +14 -0
  11. package/dist/{chunk-HBV76MGW.js → chunk-ELCESP3O.js} +242 -23
  12. package/dist/chunk-KB3JDWUI.js +106 -0
  13. package/dist/{chunk-TPLM6M7M.js → chunk-RTJ2B547.js} +31 -8
  14. package/dist/chunk-WP6OGNZE.js +5859 -0
  15. package/dist/commands/agent/actions/index.d.ts +2 -2
  16. package/dist/commands/agent/actions/index.js +3 -3
  17. package/dist/commands/agent/index.js +3 -3
  18. package/dist/commands/create/actions/index.d.ts +8 -4
  19. package/dist/commands/create/actions/index.js +6 -4
  20. package/dist/commands/create/index.js +5 -5
  21. package/dist/commands/shared/index.js +1 -1
  22. package/dist/index.html +2 -2
  23. package/dist/index.js +707 -7831
  24. package/dist/migrator-UQ4XFYE5.js +744 -0
  25. package/dist/{plugin-creator-T4K2673C.js → plugin-creator-TLQLTQIB.js} +8 -11
  26. package/dist/{registry-PTOPJQEB.js → registry-MJQMACYE.js} +3 -3
  27. package/dist/templates/plugin-starter/bunfig.toml +5 -1
  28. package/dist/templates/plugin-starter/package.json +6 -8
  29. package/dist/templates/plugin-starter/scripts/install-test-deps.js +50 -0
  30. package/dist/templates/plugin-starter/src/index.ts +2 -272
  31. package/dist/templates/plugin-starter/src/plugin.ts +274 -0
  32. package/dist/templates/project-starter/bunfig.toml +13 -1
  33. package/dist/templates/project-starter/package.json +14 -20
  34. package/dist/templates/project-starter/scripts/install-test-deps.js +51 -0
  35. package/dist/templates/project-starter/src/__tests__/config.test.ts +9 -9
  36. package/dist/templates/project-starter/src/__tests__/error-handling.test.ts +11 -11
  37. package/dist/templates/project-starter/src/__tests__/events.test.ts +6 -6
  38. package/dist/templates/project-starter/src/__tests__/integration.test.ts +11 -11
  39. package/dist/templates/project-starter/src/__tests__/routes.test.ts +2 -2
  40. package/dist/templates/project-starter/src/character.ts +134 -0
  41. package/dist/templates/project-starter/src/index.ts +3 -133
  42. package/dist/templates/project-starter/tsconfig.json +2 -2
  43. package/dist/templates/project-tee-starter/__tests__/env.test.ts +10 -6
  44. package/dist/templates/project-tee-starter/bunfig.toml +13 -1
  45. package/dist/templates/project-tee-starter/e2e/project.test.ts +1 -1
  46. package/dist/templates/project-tee-starter/e2e/starter-plugin.test.ts +1 -1
  47. package/dist/templates/project-tee-starter/package.json +3 -3
  48. package/dist/templates/project-tee-starter/src/index.ts +2 -15
  49. package/dist/{utils-TDE6Y3CB.js → utils-JWYJVLQ4.js} +15 -3
  50. package/package.json +28 -57
  51. package/templates/plugin-starter/bunfig.toml +5 -1
  52. package/templates/plugin-starter/package.json +6 -8
  53. package/templates/plugin-starter/scripts/install-test-deps.js +50 -0
  54. package/templates/plugin-starter/src/index.ts +2 -272
  55. package/templates/plugin-starter/src/plugin.ts +274 -0
  56. package/templates/project-starter/bunfig.toml +13 -1
  57. package/templates/project-starter/package.json +14 -20
  58. package/templates/project-starter/scripts/install-test-deps.js +51 -0
  59. package/templates/project-starter/src/__tests__/config.test.ts +9 -9
  60. package/templates/project-starter/src/__tests__/error-handling.test.ts +11 -11
  61. package/templates/project-starter/src/__tests__/events.test.ts +6 -6
  62. package/templates/project-starter/src/__tests__/integration.test.ts +11 -11
  63. package/templates/project-starter/src/__tests__/routes.test.ts +2 -2
  64. package/templates/project-starter/src/character.ts +134 -0
  65. package/templates/project-starter/src/index.ts +3 -133
  66. package/templates/project-starter/tsconfig.json +2 -2
  67. package/templates/project-tee-starter/__tests__/env.test.ts +10 -6
  68. package/templates/project-tee-starter/bunfig.toml +13 -1
  69. package/templates/project-tee-starter/e2e/project.test.ts +1 -1
  70. package/templates/project-tee-starter/e2e/starter-plugin.test.ts +1 -1
  71. package/templates/project-tee-starter/package.json +3 -3
  72. package/templates/project-tee-starter/src/index.ts +2 -15
  73. package/dist/assets/index-Df1AFSuJ.css +0 -1
  74. package/dist/assets/index-Df1AFSuJ.css.br +0 -0
  75. package/dist/assets/index-poChVCDJ.js.br +0 -0
  76. package/dist/chunk-2GXSCVA2.js +0 -2057
  77. package/dist/chunk-567UPUC7.js +0 -52
  78. package/dist/chunk-LQ6XHF53.js +0 -19487
  79. package/dist/chunk-QLKBXRME.js +0 -11101
  80. package/dist/chunk-WS4DWCDZ.js +0 -892
  81. package/dist/fileFromPath-KB6XMTJ4.js +0 -133
  82. package/dist/migrator-JREQPDN3.js +0 -7523
  83. package/dist/pglite.data +0 -0
  84. package/dist/pglite.wasm +0 -0
@@ -0,0 +1,134 @@
1
+ import { type Character } from '@elizaos/core';
2
+
3
+ /**
4
+ * Represents the default character (Eliza) with her specific attributes and behaviors.
5
+ * Eliza responds to a wide range of messages, is helpful and conversational.
6
+ * She interacts with users in a concise, direct, and helpful manner, using humor and empathy effectively.
7
+ * Eliza's responses are geared towards providing assistance on various topics while maintaining a friendly demeanor.
8
+ */
9
+ export const character: Character = {
10
+ name: 'Eliza',
11
+ plugins: [
12
+ '@elizaos/plugin-sql',
13
+ ...(process.env.ANTHROPIC_API_KEY ? ['@elizaos/plugin-anthropic'] : []),
14
+ ...(process.env.OPENROUTER_API_KEY ? ['@elizaos/plugin-openrouter'] : []),
15
+ ...(process.env.GOOGLE_GENERATIVE_AI_API_KEY ? ['@elizaos/plugin-google-genai'] : []),
16
+ ...(process.env.OPENAI_API_KEY ? ['@elizaos/plugin-openai'] : []),
17
+ ...(!process.env.ANTHROPIC_API_KEY &&
18
+ !process.env.OPENROUTER_API_KEY &&
19
+ !process.env.GOOGLE_GENERATIVE_AI_API_KEY &&
20
+ !process.env.OPENAI_API_KEY
21
+ ? ['@elizaos/plugin-local-ai']
22
+ : []),
23
+ ...(process.env.DISCORD_API_TOKEN ? ['@elizaos/plugin-discord'] : []),
24
+ ...(process.env.TWITTER_API_KEY &&
25
+ process.env.TWITTER_API_SECRET_KEY &&
26
+ process.env.TWITTER_ACCESS_TOKEN &&
27
+ process.env.TWITTER_ACCESS_TOKEN_SECRET
28
+ ? ['@elizaos/plugin-twitter']
29
+ : []),
30
+ ...(process.env.TELEGRAM_BOT_TOKEN ? ['@elizaos/plugin-telegram'] : []),
31
+ ...(!process.env.IGNORE_BOOTSTRAP ? ['@elizaos/plugin-bootstrap'] : []),
32
+ ],
33
+ settings: {
34
+ secrets: {},
35
+ },
36
+ system:
37
+ 'Respond to all messages in a helpful, conversational manner. Provide assistance on a wide range of topics, using knowledge when needed. Be concise but thorough, friendly but professional. Use humor when appropriate and be empathetic to user needs. Provide valuable information and insights when questions are asked.',
38
+ bio: [
39
+ 'Engages with all types of questions and conversations',
40
+ 'Provides helpful, concise responses',
41
+ 'Uses knowledge resources effectively when needed',
42
+ 'Balances brevity with completeness',
43
+ 'Uses humor and empathy appropriately',
44
+ 'Adapts tone to match the conversation context',
45
+ 'Offers assistance proactively',
46
+ 'Communicates clearly and directly',
47
+ ],
48
+ topics: [
49
+ 'general knowledge and information',
50
+ 'problem solving and troubleshooting',
51
+ 'technology and software',
52
+ 'community building and management',
53
+ 'business and productivity',
54
+ 'creativity and innovation',
55
+ 'personal development',
56
+ 'communication and collaboration',
57
+ 'education and learning',
58
+ 'entertainment and media',
59
+ ],
60
+ messageExamples: [
61
+ [
62
+ {
63
+ name: '{{name1}}',
64
+ content: {
65
+ text: 'This user keeps derailing technical discussions with personal problems.',
66
+ },
67
+ },
68
+ {
69
+ name: 'Eliza',
70
+ content: {
71
+ text: 'DM them. Sounds like they need to talk about something else.',
72
+ },
73
+ },
74
+ {
75
+ name: '{{name1}}',
76
+ content: {
77
+ text: 'I tried, they just keep bringing drama back to the main channel.',
78
+ },
79
+ },
80
+ {
81
+ name: 'Eliza',
82
+ content: {
83
+ text: "Send them my way. I've got time today.",
84
+ },
85
+ },
86
+ ],
87
+ [
88
+ {
89
+ name: '{{name1}}',
90
+ content: {
91
+ text: "I can't handle being a mod anymore. It's affecting my mental health.",
92
+ },
93
+ },
94
+ {
95
+ name: 'Eliza',
96
+ content: {
97
+ text: 'Drop the channels. You come first.',
98
+ },
99
+ },
100
+ {
101
+ name: '{{name1}}',
102
+ content: {
103
+ text: "But who's going to handle everything?",
104
+ },
105
+ },
106
+ {
107
+ name: 'Eliza',
108
+ content: {
109
+ text: "We will. Take the break. Come back when you're ready.",
110
+ },
111
+ },
112
+ ],
113
+ ],
114
+ style: {
115
+ all: [
116
+ 'Keep responses concise but informative',
117
+ 'Use clear and direct language',
118
+ 'Be engaging and conversational',
119
+ 'Use humor when appropriate',
120
+ 'Be empathetic and understanding',
121
+ 'Provide helpful information',
122
+ 'Be encouraging and positive',
123
+ 'Adapt tone to the conversation',
124
+ 'Use knowledge resources when needed',
125
+ 'Respond to all types of questions',
126
+ ],
127
+ chat: [
128
+ 'Be conversational and natural',
129
+ 'Engage with the topic at hand',
130
+ 'Be helpful and informative',
131
+ 'Show personality and warmth',
132
+ ],
133
+ },
134
+ };
@@ -1,137 +1,6 @@
1
- import {
2
- logger,
3
- type Character,
4
- type IAgentRuntime,
5
- type Project,
6
- type ProjectAgent,
7
- } from '@elizaos/core';
1
+ import { logger, type IAgentRuntime, type Project, type ProjectAgent } from '@elizaos/core';
8
2
  import starterPlugin from './plugin.ts';
9
-
10
- /**
11
- * Represents the default character (Eliza) with her specific attributes and behaviors.
12
- * Eliza responds to a wide range of messages, is helpful and conversational.
13
- * She interacts with users in a concise, direct, and helpful manner, using humor and empathy effectively.
14
- * Eliza's responses are geared towards providing assistance on various topics while maintaining a friendly demeanor.
15
- */
16
- export const character: Character = {
17
- name: 'Eliza',
18
- plugins: [
19
- '@elizaos/plugin-sql',
20
- ...(process.env.ANTHROPIC_API_KEY ? ['@elizaos/plugin-anthropic'] : []),
21
- ...(process.env.OPENAI_API_KEY ? ['@elizaos/plugin-openai'] : []),
22
- ...(!process.env.OPENAI_API_KEY ? ['@elizaos/plugin-local-ai'] : []),
23
- ...(process.env.DISCORD_API_TOKEN ? ['@elizaos/plugin-discord'] : []),
24
- ...(process.env.TWITTER_API_KEY &&
25
- process.env.TWITTER_API_SECRET_KEY &&
26
- process.env.TWITTER_ACCESS_TOKEN &&
27
- process.env.TWITTER_ACCESS_TOKEN_SECRET
28
- ? ['@elizaos/plugin-twitter']
29
- : []),
30
- ...(process.env.TELEGRAM_BOT_TOKEN ? ['@elizaos/plugin-telegram'] : []),
31
- ...(!process.env.IGNORE_BOOTSTRAP ? ['@elizaos/plugin-bootstrap'] : []),
32
- ],
33
- settings: {
34
- secrets: {},
35
- },
36
- system:
37
- 'Respond to all messages in a helpful, conversational manner. Provide assistance on a wide range of topics, using knowledge when needed. Be concise but thorough, friendly but professional. Use humor when appropriate and be empathetic to user needs. Provide valuable information and insights when questions are asked.',
38
- bio: [
39
- 'Engages with all types of questions and conversations',
40
- 'Provides helpful, concise responses',
41
- 'Uses knowledge resources effectively when needed',
42
- 'Balances brevity with completeness',
43
- 'Uses humor and empathy appropriately',
44
- 'Adapts tone to match the conversation context',
45
- 'Offers assistance proactively',
46
- 'Communicates clearly and directly',
47
- ],
48
- topics: [
49
- 'general knowledge and information',
50
- 'problem solving and troubleshooting',
51
- 'technology and software',
52
- 'community building and management',
53
- 'business and productivity',
54
- 'creativity and innovation',
55
- 'personal development',
56
- 'communication and collaboration',
57
- 'education and learning',
58
- 'entertainment and media',
59
- ],
60
- messageExamples: [
61
- [
62
- {
63
- name: '{{name1}}',
64
- content: {
65
- text: 'This user keeps derailing technical discussions with personal problems.',
66
- },
67
- },
68
- {
69
- name: 'Eliza',
70
- content: {
71
- text: 'DM them. Sounds like they need to talk about something else.',
72
- },
73
- },
74
- {
75
- name: '{{name1}}',
76
- content: {
77
- text: 'I tried, they just keep bringing drama back to the main channel.',
78
- },
79
- },
80
- {
81
- name: 'Eliza',
82
- content: {
83
- text: "Send them my way. I've got time today.",
84
- },
85
- },
86
- ],
87
- [
88
- {
89
- name: '{{name1}}',
90
- content: {
91
- text: "I can't handle being a mod anymore. It's affecting my mental health.",
92
- },
93
- },
94
- {
95
- name: 'Eliza',
96
- content: {
97
- text: 'Drop the channels. You come first.',
98
- },
99
- },
100
- {
101
- name: '{{name1}}',
102
- content: {
103
- text: "But who's going to handle everything?",
104
- },
105
- },
106
- {
107
- name: 'Eliza',
108
- content: {
109
- text: "We will. Take the break. Come back when you're ready.",
110
- },
111
- },
112
- ],
113
- ],
114
- style: {
115
- all: [
116
- 'Keep responses concise but informative',
117
- 'Use clear and direct language',
118
- 'Be engaging and conversational',
119
- 'Use humor when appropriate',
120
- 'Be empathetic and understanding',
121
- 'Provide helpful information',
122
- 'Be encouraging and positive',
123
- 'Adapt tone to the conversation',
124
- 'Use knowledge resources when needed',
125
- 'Respond to all types of questions',
126
- ],
127
- chat: [
128
- 'Be conversational and natural',
129
- 'Engage with the topic at hand',
130
- 'Be helpful and informative',
131
- 'Show personality and warmth',
132
- ],
133
- },
134
- };
3
+ import { character } from './character';
135
4
 
136
5
  const initCharacter = ({ runtime }: { runtime: IAgentRuntime }) => {
137
6
  logger.info('Initializing character');
@@ -149,5 +18,6 @@ const project: Project = {
149
18
 
150
19
  // Export test suites for the test runner
151
20
  export { testSuites } from './__tests__/e2e';
21
+ export { character } from './character';
152
22
 
153
23
  export default project;
@@ -23,8 +23,8 @@
23
23
  "allowArbitraryExtensions": true,
24
24
  "baseUrl": ".",
25
25
  "paths": {
26
- "@elizaos/core": ["../../core/src"],
27
- "@elizaos/core/*": ["../../core/src/*"]
26
+ "@elizaos/core": ["./node_modules/@elizaos/core"],
27
+ "@elizaos/core/*": ["./node_modules/@elizaos/core/*"]
28
28
  }
29
29
  },
30
30
  "include": ["src/**/*.ts"],
@@ -1,6 +1,10 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { describe, expect, it } from 'bun:test';
4
+ import { fileURLToPath } from 'node:url';
5
+
6
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
+ const projectRoot = path.resolve(__dirname, '..');
4
8
 
5
9
  describe('Environment Setup', () => {
6
10
  it('should verify configuration files exist', () => {
@@ -13,13 +17,13 @@ describe('Environment Setup', () => {
13
17
  ];
14
18
 
15
19
  for (const file of requiredFiles) {
16
- const filePath = path.join(process.cwd(), file);
20
+ const filePath = path.join(projectRoot, file);
17
21
  expect(fs.existsSync(filePath)).toBe(true);
18
22
  }
19
23
  });
20
24
 
21
25
  it('should have proper src directory structure', () => {
22
- const srcDir = path.join(process.cwd(), 'src');
26
+ const srcDir = path.join(projectRoot, 'src');
23
27
  expect(fs.existsSync(srcDir)).toBe(true);
24
28
 
25
29
  const requiredSrcFiles = ['index.ts', 'plugin.ts'];
@@ -31,7 +35,7 @@ describe('Environment Setup', () => {
31
35
  });
32
36
 
33
37
  it('should have a valid package.json with required fields', () => {
34
- const packageJsonPath = path.join(process.cwd(), 'package.json');
38
+ const packageJsonPath = path.join(projectRoot, 'package.json');
35
39
  expect(fs.existsSync(packageJsonPath)).toBe(true);
36
40
 
37
41
  const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
@@ -54,7 +58,7 @@ describe('Environment Setup', () => {
54
58
  });
55
59
 
56
60
  it('should have a valid tsconfig.json with required configuration', () => {
57
- const tsconfigPath = path.join(process.cwd(), 'tsconfig.json');
61
+ const tsconfigPath = path.join(projectRoot, 'tsconfig.json');
58
62
  expect(fs.existsSync(tsconfigPath)).toBe(true);
59
63
 
60
64
  const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath, 'utf8'));
@@ -68,7 +72,7 @@ describe('Environment Setup', () => {
68
72
  });
69
73
 
70
74
  it('should have a valid tsup.config.ts for building', () => {
71
- const tsupConfigPath = path.join(process.cwd(), 'tsup.config.ts');
75
+ const tsupConfigPath = path.join(projectRoot, 'tsup.config.ts');
72
76
  expect(fs.existsSync(tsupConfigPath)).toBe(true);
73
77
 
74
78
  const tsupConfig = fs.readFileSync(tsupConfigPath, 'utf8');
@@ -78,7 +82,7 @@ describe('Environment Setup', () => {
78
82
  });
79
83
 
80
84
  it('should have a valid README.md file', () => {
81
- const readmePath = path.join(process.cwd(), 'README.md');
85
+ const readmePath = path.join(projectRoot, 'README.md');
82
86
  expect(fs.existsSync(readmePath)).toBe(true);
83
87
 
84
88
  const readme = fs.readFileSync(readmePath, 'utf8');
@@ -3,4 +3,16 @@ timeout = 60000
3
3
  coverage = true
4
4
 
5
5
  [test.env]
6
- NODE_ENV = "test"
6
+ NODE_ENV = "test"
7
+
8
+ coverage-exclude = [
9
+ "**/dist/**",
10
+ "**/build/**",
11
+ "**/chunk-*.js",
12
+ "**/*.chunk.js",
13
+ "**/node_modules/**",
14
+ "**/*.min.js",
15
+ "**/*.bundle.js",
16
+ "**/coverage/**",
17
+ "**/.turbo/**",
18
+ ]
@@ -1,5 +1,5 @@
1
1
  import type { TestSuite, IAgentRuntime } from '@elizaos/core';
2
- import { character as mrTeeCharacter } from '../dist/index.js';
2
+ import { character as mrTeeCharacter } from '../src/index';
3
3
 
4
4
  export class MrTeeProjectTestSuite implements TestSuite {
5
5
  name = 'mr-tee-project';
@@ -1,4 +1,4 @@
1
- import { character } from '../dist/index.js';
1
+ import { character } from '../src/index';
2
2
  import { v4 as uuidv4 } from 'uuid';
3
3
 
4
4
  // Define a minimal TestSuite interface that matches what's needed
@@ -33,10 +33,10 @@
33
33
  "GUIDE.md"
34
34
  ],
35
35
  "dependencies": {
36
- "@elizaos/cli": "1.0.9",
37
- "@elizaos/core": "1.0.9",
36
+ "@elizaos/cli": "1.0.12",
37
+ "@elizaos/core": "1.0.12",
38
38
  "@elizaos/plugin-redpill": "1.0.3",
39
- "@elizaos/plugin-sql": "1.0.9",
39
+ "@elizaos/plugin-sql": "1.0.12",
40
40
  "@phala/dstack-sdk": "0.1.11",
41
41
  "@solana/web3.js": "1.98.2",
42
42
  "viem": "2.30.1",
@@ -1,21 +1,7 @@
1
- import {
2
- logger,
3
- type Character,
4
- type IAgentRuntime,
5
- type Project,
6
- type ProjectAgent,
7
- } from '@elizaos/core';
1
+ import { logger, type IAgentRuntime, type Project, type ProjectAgent } from '@elizaos/core';
8
2
  import mrTeePlugin from './plugin';
9
3
  import { mrTeeCharacter } from './character';
10
4
 
11
- /**
12
- * Represents the default character (Eliza) with her specific attributes and behaviors.
13
- * Eliza responds to a wide range of messages, is helpful and conversational.
14
- * She interacts with users in a concise, direct, and helpful manner, using humor and empathy effectively.
15
- * Eliza's responses are geared towards providing assistance on various topics while maintaining a friendly demeanor.
16
- */
17
- export const character: Character = mrTeeCharacter;
18
-
19
5
  const initCharacter = ({ runtime }: { runtime: IAgentRuntime }) => {
20
6
  logger.info(`Initializing character: ${mrTeeCharacter.name}`);
21
7
  };
@@ -30,4 +16,5 @@ const project: Project = {
30
16
  agents: [projectAgent],
31
17
  };
32
18
 
19
+ export { mrTeeCharacter as character, mrTeePlugin as plugin };
33
20
  export default project;
@@ -61,8 +61,10 @@ import {
61
61
  isRunningViaNpx,
62
62
  isUtf8Locale,
63
63
  isValidAnthropicKey,
64
+ isValidGoogleKey,
64
65
  isValidOllamaEndpoint,
65
66
  isValidOpenAIKey,
67
+ isValidOpenRouterKey,
66
68
  isValidPostgresUrl,
67
69
  loadConfig,
68
70
  loadEnvironment,
@@ -71,8 +73,10 @@ import {
71
73
  mergeProcessEnvWithTemplate,
72
74
  migrateCliToBun,
73
75
  promptAndStoreAnthropicKey,
76
+ promptAndStoreGoogleKey,
74
77
  promptAndStoreOllamaConfig,
75
78
  promptAndStoreOpenAIKey,
79
+ promptAndStoreOpenRouterKey,
76
80
  promptAndStorePostgresUrl,
77
81
  promptForEnvVars,
78
82
  promptForMultipleItems,
@@ -94,8 +98,10 @@ import {
94
98
  setupPgLite,
95
99
  showUpdateNotification,
96
100
  storeAnthropicKey,
101
+ storeGoogleKey,
97
102
  storeOllamaConfig,
98
103
  storeOpenAIKey,
104
+ storeOpenRouterKey,
99
105
  storePgliteDataDir,
100
106
  storePostgresUrl,
101
107
  testPublishToGitHub,
@@ -105,13 +111,13 @@ import {
105
111
  validateGitHubToken,
106
112
  validatePluginEnvVars,
107
113
  writeEnvFile
108
- } from "./chunk-QLKBXRME.js";
114
+ } from "./chunk-WP6OGNZE.js";
109
115
  import {
110
116
  runBunCommand
111
117
  } from "./chunk-RIAWNDYI.js";
112
- import "./chunk-WS4DWCDZ.js";
118
+ import "./chunk-KB3JDWUI.js";
113
119
  import "./chunk-F24MS2YR.js";
114
- import "./chunk-567UPUC7.js";
120
+ import "./chunk-AQ6OMR2A.js";
115
121
  export {
116
122
  NAV_BACK,
117
123
  NAV_NEXT,
@@ -171,8 +177,10 @@ export {
171
177
  isRunningViaNpx,
172
178
  isUtf8Locale,
173
179
  isValidAnthropicKey,
180
+ isValidGoogleKey,
174
181
  isValidOllamaEndpoint,
175
182
  isValidOpenAIKey,
183
+ isValidOpenRouterKey,
176
184
  isValidPostgresUrl,
177
185
  loadConfig,
178
186
  loadEnvironment,
@@ -181,8 +189,10 @@ export {
181
189
  mergeProcessEnvWithTemplate,
182
190
  migrateCliToBun,
183
191
  promptAndStoreAnthropicKey,
192
+ promptAndStoreGoogleKey,
184
193
  promptAndStoreOllamaConfig,
185
194
  promptAndStoreOpenAIKey,
195
+ promptAndStoreOpenRouterKey,
186
196
  promptAndStorePostgresUrl,
187
197
  promptForEnvVars,
188
198
  promptForMultipleItems,
@@ -205,8 +215,10 @@ export {
205
215
  setupPgLite,
206
216
  showUpdateNotification,
207
217
  storeAnthropicKey,
218
+ storeGoogleKey,
208
219
  storeOllamaConfig,
209
220
  storeOpenAIKey,
221
+ storeOpenRouterKey,
210
222
  storePgliteDataDir,
211
223
  storePostgresUrl,
212
224
  testPublishToGitHub,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/cli",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "description": "elizaOS CLI - Manage your AI agents and plugins",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -50,79 +50,50 @@
50
50
  "test:types": "tsc --noEmit",
51
51
  "coverage": "c8 --reporter=lcov --reporter=text bun test",
52
52
  "coverage:html": "c8 --reporter=html bun test && open coverage/index.html",
53
- "test:cli": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" bun test tests/commands/ --timeout 120000"
53
+ "test:cli": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" bun test tests/commands/ --timeout 120000 && bash tests/cleanup-processes.sh || true"
54
54
  },
55
55
  "devDependencies": {
56
- "@anthropic-ai/sdk": "^0.40.0",
57
- "@babel/core": "^7.22.1",
58
- "@babel/parser": "^7.22.6",
59
- "@esbuild-plugins/tsconfig-paths": "^0.1.2",
60
- "@types/babel__core": "^7.20.1",
61
- "@types/diff": "^5.0.3",
56
+ "@types/bun": "^1.2.17",
57
+ "@types/express": "^5.0.2",
62
58
  "@types/fs-extra": "^11.0.1",
59
+ "@types/helmet": "^4.0.0",
63
60
  "@types/inquirer": "^9.0.8",
64
- "@types/lodash": "^4.17.7",
65
- "@types/node": "^22.15.3",
61
+ "@types/node": "^24.0.3",
66
62
  "@types/prompts": "^2.4.2",
67
63
  "@types/semver": "^7.5.8",
68
- "axios": "^1.7.9",
69
64
  "bats-assert": "^2.0.0",
70
65
  "bats-support": "^0.3.0",
71
- "bun-types": "^1.2.16",
72
- "commander": "^10.0.0",
73
66
  "cross-env": "^7.0.3",
74
- "diff": "^5.1.0",
75
- "dotenv": "^16.5.0",
76
67
  "esbuild-plugin-copy": "^2.1.1",
77
- "execa": "^7.0.0",
78
- "fs-extra": "^11.1.0",
79
- "glob": "^11.0.0",
80
- "globby": "^14.0.2",
81
- "https-proxy-agent": "^6.2.0",
82
- "ora": "^8.1.1",
83
68
  "prettier": "3.5.3",
84
- "recast": "^0.23.2",
85
- "rimraf": "6.0.1",
86
- "simple-git": "^3.27.0",
87
- "tiktoken": "^1.0.18",
88
- "tsconfig-paths": "^4.2.0",
89
69
  "tsup": "8.5.0",
90
- "tsx": "4.19.4",
91
- "type-fest": "^3.8.0",
92
- "typescript": "5.8.2",
93
- "vite": "^5.4.1",
94
- "which": "^4.0.0",
95
- "ws": "^8.18.0",
96
- "yoctocolors": "^2.1.1"
70
+ "typescript": "5.8.3",
71
+ "vite": "^6.3.5"
97
72
  },
98
- "gitHead": "3e09d9ded2b018f0f129706eb430ddeeee29f1cc",
73
+ "gitHead": "7a3c8a32f1088d00a9c9df59383b02aa532be948",
99
74
  "dependencies": {
75
+ "@anthropic-ai/sdk": "^0.54.0",
100
76
  "@clack/prompts": "^0.11.0",
101
- "@electric-sql/pglite": "^0.3.2",
102
- "@elizaos/core": "1.0.11",
103
- "@elizaos/plugin-anthropic": "^1.0.0",
104
- "@elizaos/plugin-bootstrap": "1.0.8",
105
- "@elizaos/plugin-local-ai": "latest",
106
- "@elizaos/plugin-openai": "latest",
107
- "@elizaos/plugin-sql": "1.0.11",
108
- "@elizaos/server": "1.0.11",
109
- "@noble/curves": "^1.6.0",
110
- "@sindresorhus/merge-streams": "^4.0.0",
111
- "@types/express": "^5.0.2",
112
- "@types/helmet": "^4.0.0",
113
- "bun": "^1.2.13",
77
+ "@elizaos/core": "1.0.13",
78
+ "@elizaos/plugin-sql": "1.0.13",
79
+ "@elizaos/server": "1.0.13",
80
+ "bun": "^1.2.17",
114
81
  "chokidar": "^4.0.3",
115
- "drizzle-orm": "^0.44.2",
116
- "execa": "^7.0.0",
117
- "express": "^5.1.0",
118
- "express-rate-limit": "^7.5.0",
119
- "helmet": "^8.1.0",
82
+ "commander": "^14.0.0",
83
+ "dotenv": "^16.5.0",
84
+ "execa": "^9.6.0",
85
+ "fs-extra": "^11.1.0",
86
+ "globby": "^14.0.2",
87
+ "https-proxy-agent": "^7.0.6",
120
88
  "inquirer": "^12.6.3",
121
- "octokit": "^4.1.3",
122
- "path-to-regexp": "^8.2.0",
89
+ "ora": "^8.1.1",
90
+ "rimraf": "6.0.1",
123
91
  "semver": "^7.7.2",
124
- "sharp": "^0.34.2",
125
- "socket.io": "^4.8.1",
126
- "zod": "3.24.2"
92
+ "simple-git": "^3.27.0",
93
+ "tiktoken": "^1.0.18",
94
+ "tsconfig-paths": "^4.2.0",
95
+ "type-fest": "^4.41.0",
96
+ "yoctocolors": "^2.1.1",
97
+ "zod": "^3.25.67"
127
98
  }
128
99
  }
@@ -3,4 +3,8 @@ timeout = 60000
3
3
  coverage = true
4
4
 
5
5
  [test.env]
6
- NODE_ENV = "test"
6
+ NODE_ENV = "test"
7
+
8
+ coverage-exclude = [
9
+ "**/dist/**",
10
+ ]
@@ -50,12 +50,9 @@
50
50
  },
51
51
  "peerDependencies": {},
52
52
  "devDependencies": {
53
- "@cypress/react": "^9.0.1",
54
53
  "@elizaos/cli": "^1.0.0",
55
54
  "@tailwindcss/vite": "^4.1.10",
56
- "@testing-library/cypress": "^10.0.3",
57
55
  "@vitejs/plugin-react-swc": "^3.10.2",
58
- "cypress": "^14.4.1",
59
56
  "dotenv": "16.4.5",
60
57
  "prettier": "3.5.3",
61
58
  "tailwindcss-animate": "^1.0.7",
@@ -67,11 +64,12 @@
67
64
  "dev": "elizaos dev",
68
65
  "build": "tsc --noEmit && vite build && tsup",
69
66
  "lint": "prettier --write ./src",
70
- "test:component": "bun test",
71
- "test:e2e": "bun test",
72
- "test:e2e:manual": "node scripts/test-e2e-manual.js",
73
- "test:cypress": "cypress run --component",
74
- "test": "bun run test:component && bun run test:e2e",
67
+ "test:component": "bun run test:install && bun test",
68
+ "test:e2e": "bun run test:install && bun test",
69
+ "test:e2e:manual": "bun run test:install && node scripts/test-e2e-manual.js",
70
+ "test:cypress": "bun run test:install && cypress run --component",
71
+ "test": "bun run test:install && bun run test:component && bun run test:e2e",
72
+ "test:install": "node scripts/install-test-deps.js",
75
73
  "publish": "elizaos publish",
76
74
  "format": "prettier --write ./src",
77
75
  "format:check": "prettier --check ./src"