@evalstudio/cli 0.1.0

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 (48) hide show
  1. package/dist/commands/connector.d.ts +3 -0
  2. package/dist/commands/connector.d.ts.map +1 -0
  3. package/dist/commands/connector.js +287 -0
  4. package/dist/commands/connector.js.map +1 -0
  5. package/dist/commands/eval.d.ts +3 -0
  6. package/dist/commands/eval.d.ts.map +1 -0
  7. package/dist/commands/eval.js +270 -0
  8. package/dist/commands/eval.js.map +1 -0
  9. package/dist/commands/init.d.ts +3 -0
  10. package/dist/commands/init.d.ts.map +1 -0
  11. package/dist/commands/init.js +28 -0
  12. package/dist/commands/init.js.map +1 -0
  13. package/dist/commands/llm-provider.d.ts +3 -0
  14. package/dist/commands/llm-provider.d.ts.map +1 -0
  15. package/dist/commands/llm-provider.js +245 -0
  16. package/dist/commands/llm-provider.js.map +1 -0
  17. package/dist/commands/persona.d.ts +3 -0
  18. package/dist/commands/persona.d.ts.map +1 -0
  19. package/dist/commands/persona.js +198 -0
  20. package/dist/commands/persona.js.map +1 -0
  21. package/dist/commands/project.d.ts +3 -0
  22. package/dist/commands/project.d.ts.map +1 -0
  23. package/dist/commands/project.js +318 -0
  24. package/dist/commands/project.js.map +1 -0
  25. package/dist/commands/run.d.ts +3 -0
  26. package/dist/commands/run.d.ts.map +1 -0
  27. package/dist/commands/run.js +291 -0
  28. package/dist/commands/run.js.map +1 -0
  29. package/dist/commands/scenario.d.ts +3 -0
  30. package/dist/commands/scenario.d.ts.map +1 -0
  31. package/dist/commands/scenario.js +326 -0
  32. package/dist/commands/scenario.js.map +1 -0
  33. package/dist/commands/serve.d.ts +3 -0
  34. package/dist/commands/serve.d.ts.map +1 -0
  35. package/dist/commands/serve.js +70 -0
  36. package/dist/commands/serve.js.map +1 -0
  37. package/dist/commands/status.d.ts +3 -0
  38. package/dist/commands/status.d.ts.map +1 -0
  39. package/dist/commands/status.js +22 -0
  40. package/dist/commands/status.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +32 -0
  44. package/dist/index.js.map +1 -0
  45. package/package.json +56 -0
  46. package/web-dist/assets/index-Bo4mQzrp.css +1 -0
  47. package/web-dist/assets/index-CDG62Gwh.js +281 -0
  48. package/web-dist/index.html +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-provider.d.ts","sourceRoot":"","sources":["../../src/commands/llm-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,eAAO,MAAM,kBAAkB,SAkT5B,CAAC"}
@@ -0,0 +1,245 @@
1
+ import { Command } from "commander";
2
+ import { createLLMProvider, deleteLLMProvider, getDefaultModels, getLLMProvider, getLLMProviderByName, getProject, getProjectByName, listLLMProviders, updateLLMProvider, } from "evalstudio";
3
+ function resolveProject(identifier) {
4
+ return getProject(identifier) ?? getProjectByName(identifier);
5
+ }
6
+ const validProviders = ["openai", "anthropic"];
7
+ export const llmProviderCommand = new Command("llm-provider")
8
+ .description("Manage LLM providers for persona simulation and evaluation")
9
+ .addCommand(new Command("create")
10
+ .description("Create a new LLM provider configuration")
11
+ .argument("<name>", "Provider configuration name")
12
+ .requiredOption("-p, --project <project>", "Project ID or name")
13
+ .requiredOption("--provider <provider>", "Provider type (openai or anthropic)")
14
+ .requiredOption("--api-key <key>", "API key for the provider")
15
+ .option("--json", "Output as JSON")
16
+ .action((name, options) => {
17
+ try {
18
+ const project = resolveProject(options.project);
19
+ if (!project) {
20
+ console.error(`Error: Project "${options.project}" not found`);
21
+ process.exit(1);
22
+ }
23
+ if (!validProviders.includes(options.provider)) {
24
+ console.error(`Error: Invalid provider "${options.provider}". Must be one of: ${validProviders.join(", ")}`);
25
+ process.exit(1);
26
+ }
27
+ const provider = createLLMProvider({
28
+ projectId: project.id,
29
+ name,
30
+ provider: options.provider,
31
+ apiKey: options.apiKey,
32
+ });
33
+ if (options.json) {
34
+ console.log(JSON.stringify(provider, null, 2));
35
+ }
36
+ else {
37
+ console.log(`LLM Provider created successfully`);
38
+ console.log(` ID: ${provider.id}`);
39
+ console.log(` Name: ${provider.name}`);
40
+ console.log(` Project: ${project.name}`);
41
+ console.log(` Provider: ${provider.provider}`);
42
+ console.log(` API Key: ${maskApiKey(provider.apiKey)}`);
43
+ if (provider.config) {
44
+ console.log(` Config: ${JSON.stringify(provider.config)}`);
45
+ }
46
+ console.log(` Created: ${provider.createdAt}`);
47
+ }
48
+ }
49
+ catch (error) {
50
+ if (error instanceof Error) {
51
+ console.error(`Error: ${error.message}`);
52
+ process.exit(1);
53
+ }
54
+ throw error;
55
+ }
56
+ }))
57
+ .addCommand(new Command("list")
58
+ .description("List LLM provider configurations")
59
+ .option("-p, --project <project>", "Filter by project ID or name")
60
+ .option("--json", "Output as JSON")
61
+ .action((options) => {
62
+ let projectId;
63
+ if (options.project) {
64
+ const project = resolveProject(options.project);
65
+ if (!project) {
66
+ console.error(`Error: Project "${options.project}" not found`);
67
+ process.exit(1);
68
+ }
69
+ projectId = project.id;
70
+ }
71
+ const providers = listLLMProviders(projectId);
72
+ if (options.json) {
73
+ console.log(JSON.stringify(providers, null, 2));
74
+ }
75
+ else {
76
+ if (providers.length === 0) {
77
+ console.log("No LLM providers found");
78
+ return;
79
+ }
80
+ console.log("LLM Providers:");
81
+ console.log("--------------");
82
+ for (const provider of providers) {
83
+ const project = getProject(provider.projectId);
84
+ console.log(` ${provider.name} (${provider.id})`);
85
+ if (project) {
86
+ console.log(` Project: ${project.name}`);
87
+ }
88
+ console.log(` Provider: ${provider.provider}`);
89
+ }
90
+ }
91
+ }))
92
+ .addCommand(new Command("show")
93
+ .description("Show LLM provider details")
94
+ .argument("<identifier>", "Provider ID")
95
+ .option("-p, --project <project>", "Project ID or name (for lookup by name)")
96
+ .option("--json", "Output as JSON")
97
+ .action((identifier, options) => {
98
+ let provider = getLLMProvider(identifier);
99
+ if (!provider && options.project) {
100
+ const project = resolveProject(options.project);
101
+ if (project) {
102
+ provider = getLLMProviderByName(project.id, identifier);
103
+ }
104
+ }
105
+ if (!provider) {
106
+ console.error(`Error: LLM Provider "${identifier}" not found`);
107
+ process.exit(1);
108
+ }
109
+ const project = getProject(provider.projectId);
110
+ if (options.json) {
111
+ console.log(JSON.stringify(provider, null, 2));
112
+ }
113
+ else {
114
+ console.log(`LLM Provider: ${provider.name}`);
115
+ console.log(`--------------`);
116
+ console.log(` ID: ${provider.id}`);
117
+ console.log(` Name: ${provider.name}`);
118
+ console.log(` Project: ${project?.name ?? provider.projectId}`);
119
+ console.log(` Provider: ${provider.provider}`);
120
+ console.log(` API Key: ${maskApiKey(provider.apiKey)}`);
121
+ if (provider.config) {
122
+ console.log(` Config: ${JSON.stringify(provider.config)}`);
123
+ }
124
+ console.log(` Created: ${provider.createdAt}`);
125
+ console.log(` Updated: ${provider.updatedAt}`);
126
+ }
127
+ }))
128
+ .addCommand(new Command("update")
129
+ .description("Update an LLM provider configuration")
130
+ .argument("<identifier>", "Provider ID")
131
+ .option("-n, --name <name>", "New provider name")
132
+ .option("--provider <provider>", "New provider type (openai or anthropic)")
133
+ .option("--api-key <key>", "New API key")
134
+ .option("--json", "Output as JSON")
135
+ .action((identifier, options) => {
136
+ const existing = getLLMProvider(identifier);
137
+ if (!existing) {
138
+ console.error(`Error: LLM Provider "${identifier}" not found`);
139
+ process.exit(1);
140
+ }
141
+ if (options.provider &&
142
+ !validProviders.includes(options.provider)) {
143
+ console.error(`Error: Invalid provider "${options.provider}". Must be one of: ${validProviders.join(", ")}`);
144
+ process.exit(1);
145
+ }
146
+ try {
147
+ const updated = updateLLMProvider(existing.id, {
148
+ name: options.name,
149
+ provider: options.provider,
150
+ apiKey: options.apiKey,
151
+ });
152
+ if (!updated) {
153
+ console.error(`Error: Failed to update LLM provider`);
154
+ process.exit(1);
155
+ }
156
+ const project = getProject(updated.projectId);
157
+ if (options.json) {
158
+ console.log(JSON.stringify(updated, null, 2));
159
+ }
160
+ else {
161
+ console.log(`LLM Provider updated successfully`);
162
+ console.log(` ID: ${updated.id}`);
163
+ console.log(` Name: ${updated.name}`);
164
+ console.log(` Project: ${project?.name ?? updated.projectId}`);
165
+ console.log(` Provider: ${updated.provider}`);
166
+ console.log(` API Key: ${maskApiKey(updated.apiKey)}`);
167
+ if (updated.config) {
168
+ console.log(` Config: ${JSON.stringify(updated.config)}`);
169
+ }
170
+ console.log(` Updated: ${updated.updatedAt}`);
171
+ }
172
+ }
173
+ catch (error) {
174
+ if (error instanceof Error) {
175
+ console.error(`Error: ${error.message}`);
176
+ process.exit(1);
177
+ }
178
+ throw error;
179
+ }
180
+ }))
181
+ .addCommand(new Command("delete")
182
+ .description("Delete an LLM provider configuration")
183
+ .argument("<identifier>", "Provider ID")
184
+ .option("--json", "Output as JSON")
185
+ .action((identifier, options) => {
186
+ const existing = getLLMProvider(identifier);
187
+ if (!existing) {
188
+ console.error(`Error: LLM Provider "${identifier}" not found`);
189
+ process.exit(1);
190
+ }
191
+ const deleted = deleteLLMProvider(existing.id);
192
+ if (!deleted) {
193
+ console.error(`Error: Failed to delete LLM provider`);
194
+ process.exit(1);
195
+ }
196
+ if (options.json) {
197
+ console.log(JSON.stringify({ deleted: true, id: existing.id }));
198
+ }
199
+ else {
200
+ console.log(`LLM Provider "${existing.name}" deleted successfully`);
201
+ }
202
+ }))
203
+ .addCommand(new Command("models")
204
+ .description("List available models for each provider")
205
+ .option("--provider <provider>", "Filter by provider (openai or anthropic)")
206
+ .option("--json", "Output as JSON")
207
+ .action((options) => {
208
+ const models = getDefaultModels();
209
+ if (options.provider &&
210
+ !validProviders.includes(options.provider)) {
211
+ console.error(`Error: Invalid provider "${options.provider}". Must be one of: ${validProviders.join(", ")}`);
212
+ process.exit(1);
213
+ }
214
+ if (options.json) {
215
+ if (options.provider) {
216
+ console.log(JSON.stringify({ [options.provider]: models[options.provider] }, null, 2));
217
+ }
218
+ else {
219
+ console.log(JSON.stringify(models, null, 2));
220
+ }
221
+ }
222
+ else {
223
+ console.log("Available Models:");
224
+ console.log("-----------------");
225
+ if (!options.provider || options.provider === "openai") {
226
+ console.log("\nOpenAI:");
227
+ for (const model of models.openai) {
228
+ console.log(` - ${model}`);
229
+ }
230
+ }
231
+ if (!options.provider || options.provider === "anthropic") {
232
+ console.log("\nAnthropic:");
233
+ for (const model of models.anthropic) {
234
+ console.log(` - ${model}`);
235
+ }
236
+ }
237
+ }
238
+ }));
239
+ function maskApiKey(apiKey) {
240
+ if (apiKey.length <= 8) {
241
+ return "****";
242
+ }
243
+ return `${apiKey.slice(0, 4)}...${apiKey.slice(-4)}`;
244
+ }
245
+ //# sourceMappingURL=llm-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../../src/commands/llm-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const personaCommand: Command;
3
+ //# sourceMappingURL=persona.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../src/commands/persona.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,eAAO,MAAM,cAAc,SA8OxB,CAAC"}
@@ -0,0 +1,198 @@
1
+ import { Command } from "commander";
2
+ import { createPersona, deletePersona, getPersona, getPersonaByName, getProject, getProjectByName, listPersonas, updatePersona, } from "evalstudio";
3
+ function resolveProject(identifier) {
4
+ return getProject(identifier) ?? getProjectByName(identifier);
5
+ }
6
+ export const personaCommand = new Command("persona")
7
+ .description("Manage personas for testing scenarios")
8
+ .addCommand(new Command("create")
9
+ .description("Create a new persona")
10
+ .argument("<name>", "Persona name")
11
+ .requiredOption("-p, --project <project>", "Project ID or name")
12
+ .option("-d, --description <description>", "Persona description")
13
+ .option("-s, --system-prompt <prompt>", "System prompt for this persona")
14
+ .option("--json", "Output as JSON")
15
+ .action((name, options) => {
16
+ try {
17
+ const project = resolveProject(options.project);
18
+ if (!project) {
19
+ console.error(`Error: Project "${options.project}" not found`);
20
+ process.exit(1);
21
+ }
22
+ const persona = createPersona({
23
+ projectId: project.id,
24
+ name,
25
+ description: options.description,
26
+ systemPrompt: options.systemPrompt,
27
+ });
28
+ if (options.json) {
29
+ console.log(JSON.stringify(persona, null, 2));
30
+ }
31
+ else {
32
+ console.log(`Persona created successfully`);
33
+ console.log(` ID: ${persona.id}`);
34
+ console.log(` Name: ${persona.name}`);
35
+ console.log(` Project: ${project.name}`);
36
+ if (persona.description) {
37
+ console.log(` Description: ${persona.description}`);
38
+ }
39
+ if (persona.systemPrompt) {
40
+ console.log(` System: ${persona.systemPrompt}`);
41
+ }
42
+ console.log(` Created: ${persona.createdAt}`);
43
+ }
44
+ }
45
+ catch (error) {
46
+ if (error instanceof Error) {
47
+ console.error(`Error: ${error.message}`);
48
+ process.exit(1);
49
+ }
50
+ throw error;
51
+ }
52
+ }))
53
+ .addCommand(new Command("list")
54
+ .description("List personas")
55
+ .option("-p, --project <project>", "Filter by project ID or name")
56
+ .option("--json", "Output as JSON")
57
+ .action((options) => {
58
+ let projectId;
59
+ if (options.project) {
60
+ const project = resolveProject(options.project);
61
+ if (!project) {
62
+ console.error(`Error: Project "${options.project}" not found`);
63
+ process.exit(1);
64
+ }
65
+ projectId = project.id;
66
+ }
67
+ const personas = listPersonas(projectId);
68
+ if (options.json) {
69
+ console.log(JSON.stringify(personas, null, 2));
70
+ }
71
+ else {
72
+ if (personas.length === 0) {
73
+ console.log("No personas found");
74
+ return;
75
+ }
76
+ console.log("Personas:");
77
+ console.log("---------");
78
+ for (const persona of personas) {
79
+ const project = getProject(persona.projectId);
80
+ console.log(` ${persona.name} (${persona.id})`);
81
+ if (project) {
82
+ console.log(` Project: ${project.name}`);
83
+ }
84
+ if (persona.description) {
85
+ console.log(` ${persona.description}`);
86
+ }
87
+ }
88
+ }
89
+ }))
90
+ .addCommand(new Command("show")
91
+ .description("Show persona details")
92
+ .argument("<identifier>", "Persona ID")
93
+ .option("-p, --project <project>", "Project ID or name (for lookup by name)")
94
+ .option("--json", "Output as JSON")
95
+ .action((identifier, options) => {
96
+ let persona = getPersona(identifier);
97
+ if (!persona && options.project) {
98
+ const project = resolveProject(options.project);
99
+ if (project) {
100
+ persona = getPersonaByName(project.id, identifier);
101
+ }
102
+ }
103
+ if (!persona) {
104
+ console.error(`Error: Persona "${identifier}" not found`);
105
+ process.exit(1);
106
+ }
107
+ const project = getProject(persona.projectId);
108
+ if (options.json) {
109
+ console.log(JSON.stringify(persona, null, 2));
110
+ }
111
+ else {
112
+ console.log(`Persona: ${persona.name}`);
113
+ console.log(`---------`);
114
+ console.log(` ID: ${persona.id}`);
115
+ console.log(` Name: ${persona.name}`);
116
+ console.log(` Project: ${project?.name ?? persona.projectId}`);
117
+ if (persona.description) {
118
+ console.log(` Description: ${persona.description}`);
119
+ }
120
+ if (persona.systemPrompt) {
121
+ console.log(` System: ${persona.systemPrompt}`);
122
+ }
123
+ console.log(` Created: ${persona.createdAt}`);
124
+ console.log(` Updated: ${persona.updatedAt}`);
125
+ }
126
+ }))
127
+ .addCommand(new Command("update")
128
+ .description("Update a persona")
129
+ .argument("<identifier>", "Persona ID")
130
+ .option("-n, --name <name>", "New persona name")
131
+ .option("-d, --description <description>", "New persona description")
132
+ .option("-s, --system-prompt <prompt>", "New system prompt")
133
+ .option("--json", "Output as JSON")
134
+ .action((identifier, options) => {
135
+ const existing = getPersona(identifier);
136
+ if (!existing) {
137
+ console.error(`Error: Persona "${identifier}" not found`);
138
+ process.exit(1);
139
+ }
140
+ try {
141
+ const updated = updatePersona(existing.id, {
142
+ name: options.name,
143
+ description: options.description,
144
+ systemPrompt: options.systemPrompt,
145
+ });
146
+ if (!updated) {
147
+ console.error(`Error: Failed to update persona`);
148
+ process.exit(1);
149
+ }
150
+ const project = getProject(updated.projectId);
151
+ if (options.json) {
152
+ console.log(JSON.stringify(updated, null, 2));
153
+ }
154
+ else {
155
+ console.log(`Persona updated successfully`);
156
+ console.log(` ID: ${updated.id}`);
157
+ console.log(` Name: ${updated.name}`);
158
+ console.log(` Project: ${project?.name ?? updated.projectId}`);
159
+ if (updated.description) {
160
+ console.log(` Description: ${updated.description}`);
161
+ }
162
+ if (updated.systemPrompt) {
163
+ console.log(` System: ${updated.systemPrompt}`);
164
+ }
165
+ console.log(` Updated: ${updated.updatedAt}`);
166
+ }
167
+ }
168
+ catch (error) {
169
+ if (error instanceof Error) {
170
+ console.error(`Error: ${error.message}`);
171
+ process.exit(1);
172
+ }
173
+ throw error;
174
+ }
175
+ }))
176
+ .addCommand(new Command("delete")
177
+ .description("Delete a persona")
178
+ .argument("<identifier>", "Persona ID")
179
+ .option("--json", "Output as JSON")
180
+ .action((identifier, options) => {
181
+ const existing = getPersona(identifier);
182
+ if (!existing) {
183
+ console.error(`Error: Persona "${identifier}" not found`);
184
+ process.exit(1);
185
+ }
186
+ const deleted = deletePersona(existing.id);
187
+ if (!deleted) {
188
+ console.error(`Error: Failed to delete persona`);
189
+ process.exit(1);
190
+ }
191
+ if (options.json) {
192
+ console.log(JSON.stringify({ deleted: true, id: existing.id }));
193
+ }
194
+ else {
195
+ console.log(`Persona "${existing.name}" deleted successfully`);
196
+ }
197
+ }));
198
+ //# sourceMappingURL=persona.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../src/commands/persona.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const projectCommand: Command;
3
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,eAAO,MAAM,cAAc,SAsZxB,CAAC"}