@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.
- package/README.md +93 -58
- package/dist/assets/{index-Cuyjmso1.js → index-D7iwnDvJ.js} +49286 -45738
- package/dist/assets/{index-Cuyjmso1.js.map → index-D7iwnDvJ.js.map} +1 -1
- package/dist/assets/index-Hst_nvMK.css +1 -0
- package/dist/assets/index-Hst_nvMK.css.br +0 -0
- package/dist/assets/{index-poChVCDJ.js → index-ojKLjt7K.js} +2 -2
- package/dist/assets/index-ojKLjt7K.js.br +0 -0
- package/dist/assets/{index-poChVCDJ.js.map → index-ojKLjt7K.js.map} +1 -1
- package/dist/assets/vendor-DSdxb8P-.js.map +1 -1
- package/dist/chunk-AQ6OMR2A.js +14 -0
- package/dist/{chunk-HBV76MGW.js → chunk-ELCESP3O.js} +242 -23
- package/dist/chunk-KB3JDWUI.js +106 -0
- package/dist/{chunk-TPLM6M7M.js → chunk-RTJ2B547.js} +31 -8
- package/dist/chunk-WP6OGNZE.js +5859 -0
- package/dist/commands/agent/actions/index.d.ts +2 -2
- package/dist/commands/agent/actions/index.js +3 -3
- package/dist/commands/agent/index.js +3 -3
- package/dist/commands/create/actions/index.d.ts +8 -4
- package/dist/commands/create/actions/index.js +6 -4
- package/dist/commands/create/index.js +5 -5
- package/dist/commands/shared/index.js +1 -1
- package/dist/index.html +2 -2
- package/dist/index.js +707 -7831
- package/dist/migrator-UQ4XFYE5.js +744 -0
- package/dist/{plugin-creator-T4K2673C.js → plugin-creator-TLQLTQIB.js} +8 -11
- package/dist/{registry-PTOPJQEB.js → registry-MJQMACYE.js} +3 -3
- package/dist/templates/plugin-starter/bunfig.toml +5 -1
- package/dist/templates/plugin-starter/package.json +6 -8
- package/dist/templates/plugin-starter/scripts/install-test-deps.js +50 -0
- package/dist/templates/plugin-starter/src/index.ts +2 -272
- package/dist/templates/plugin-starter/src/plugin.ts +274 -0
- package/dist/templates/project-starter/bunfig.toml +13 -1
- package/dist/templates/project-starter/package.json +14 -20
- package/dist/templates/project-starter/scripts/install-test-deps.js +51 -0
- package/dist/templates/project-starter/src/__tests__/config.test.ts +9 -9
- package/dist/templates/project-starter/src/__tests__/error-handling.test.ts +11 -11
- package/dist/templates/project-starter/src/__tests__/events.test.ts +6 -6
- package/dist/templates/project-starter/src/__tests__/integration.test.ts +11 -11
- package/dist/templates/project-starter/src/__tests__/routes.test.ts +2 -2
- package/dist/templates/project-starter/src/character.ts +134 -0
- package/dist/templates/project-starter/src/index.ts +3 -133
- package/dist/templates/project-starter/tsconfig.json +2 -2
- package/dist/templates/project-tee-starter/__tests__/env.test.ts +10 -6
- package/dist/templates/project-tee-starter/bunfig.toml +13 -1
- package/dist/templates/project-tee-starter/e2e/project.test.ts +1 -1
- package/dist/templates/project-tee-starter/e2e/starter-plugin.test.ts +1 -1
- package/dist/templates/project-tee-starter/package.json +3 -3
- package/dist/templates/project-tee-starter/src/index.ts +2 -15
- package/dist/{utils-TDE6Y3CB.js → utils-JWYJVLQ4.js} +15 -3
- package/package.json +28 -57
- package/templates/plugin-starter/bunfig.toml +5 -1
- package/templates/plugin-starter/package.json +6 -8
- package/templates/plugin-starter/scripts/install-test-deps.js +50 -0
- package/templates/plugin-starter/src/index.ts +2 -272
- package/templates/plugin-starter/src/plugin.ts +274 -0
- package/templates/project-starter/bunfig.toml +13 -1
- package/templates/project-starter/package.json +14 -20
- package/templates/project-starter/scripts/install-test-deps.js +51 -0
- package/templates/project-starter/src/__tests__/config.test.ts +9 -9
- package/templates/project-starter/src/__tests__/error-handling.test.ts +11 -11
- package/templates/project-starter/src/__tests__/events.test.ts +6 -6
- package/templates/project-starter/src/__tests__/integration.test.ts +11 -11
- package/templates/project-starter/src/__tests__/routes.test.ts +2 -2
- package/templates/project-starter/src/character.ts +134 -0
- package/templates/project-starter/src/index.ts +3 -133
- package/templates/project-starter/tsconfig.json +2 -2
- package/templates/project-tee-starter/__tests__/env.test.ts +10 -6
- package/templates/project-tee-starter/bunfig.toml +13 -1
- package/templates/project-tee-starter/e2e/project.test.ts +1 -1
- package/templates/project-tee-starter/e2e/starter-plugin.test.ts +1 -1
- package/templates/project-tee-starter/package.json +3 -3
- package/templates/project-tee-starter/src/index.ts +2 -15
- package/dist/assets/index-Df1AFSuJ.css +0 -1
- package/dist/assets/index-Df1AFSuJ.css.br +0 -0
- package/dist/assets/index-poChVCDJ.js.br +0 -0
- package/dist/chunk-2GXSCVA2.js +0 -2057
- package/dist/chunk-567UPUC7.js +0 -52
- package/dist/chunk-LQ6XHF53.js +0 -19487
- package/dist/chunk-QLKBXRME.js +0 -11101
- package/dist/chunk-WS4DWCDZ.js +0 -892
- package/dist/fileFromPath-KB6XMTJ4.js +0 -133
- package/dist/migrator-JREQPDN3.js +0 -7523
- package/dist/pglite.data +0 -0
- 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": ["
|
|
27
|
-
"@elizaos/core/*": ["
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 '../
|
|
2
|
+
import { character as mrTeeCharacter } from '../src/index';
|
|
3
3
|
|
|
4
4
|
export class MrTeeProjectTestSuite implements TestSuite {
|
|
5
5
|
name = 'mr-tee-project';
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"GUIDE.md"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@elizaos/cli": "1.0.
|
|
37
|
-
"@elizaos/core": "1.0.
|
|
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.
|
|
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-
|
|
114
|
+
} from "./chunk-WP6OGNZE.js";
|
|
109
115
|
import {
|
|
110
116
|
runBunCommand
|
|
111
117
|
} from "./chunk-RIAWNDYI.js";
|
|
112
|
-
import "./chunk-
|
|
118
|
+
import "./chunk-KB3JDWUI.js";
|
|
113
119
|
import "./chunk-F24MS2YR.js";
|
|
114
|
-
import "./chunk-
|
|
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.
|
|
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
|
-
"@
|
|
57
|
-
"@
|
|
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/
|
|
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
|
-
"
|
|
91
|
-
"
|
|
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": "
|
|
73
|
+
"gitHead": "7a3c8a32f1088d00a9c9df59383b02aa532be948",
|
|
99
74
|
"dependencies": {
|
|
75
|
+
"@anthropic-ai/sdk": "^0.54.0",
|
|
100
76
|
"@clack/prompts": "^0.11.0",
|
|
101
|
-
"@
|
|
102
|
-
"@elizaos/
|
|
103
|
-
"@elizaos/
|
|
104
|
-
"
|
|
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
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
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
|
-
"
|
|
122
|
-
"
|
|
89
|
+
"ora": "^8.1.1",
|
|
90
|
+
"rimraf": "6.0.1",
|
|
123
91
|
"semver": "^7.7.2",
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
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
|
}
|
|
@@ -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"
|