@soleri/cli 8.1.1 → 9.0.1
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/dist/commands/create.js +17 -4
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/telegram.js +0 -1
- package/dist/commands/telegram.js.map +1 -1
- package/dist/main.js +0 -2
- package/dist/main.js.map +1 -1
- package/dist/prompts/create-wizard.d.ts +2 -2
- package/dist/prompts/create-wizard.js +78 -430
- package/dist/prompts/create-wizard.js.map +1 -1
- package/package.json +3 -3
- package/src/commands/create.ts +20 -4
- package/src/commands/telegram.ts +0 -1
- package/src/main.ts +0 -3
- package/src/prompts/create-wizard.ts +78 -490
- package/src/commands/cognee.ts +0 -419
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Simplified create wizard — name + optional persona description.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* The agent starts as a universal second brain with the Italian Craftsperson
|
|
5
|
+
* default persona. Everything else (domains, principles, skills) is discovered
|
|
6
|
+
* from usage, not configured upfront.
|
|
7
7
|
*/
|
|
8
8
|
import * as p from '@clack/prompts';
|
|
9
|
-
import {
|
|
10
|
-
import { DOMAIN_OPTIONS, CUSTOM_DOMAIN_GUIDANCE, PRINCIPLE_CATEGORIES, CUSTOM_PRINCIPLE_GUIDANCE, SKILL_CATEGORIES, CORE_SKILLS, ALL_OPTIONAL_SKILLS, TONE_OPTIONS, CUSTOM_ROLE_GUIDANCE, CUSTOM_DESCRIPTION_GUIDANCE, CUSTOM_GREETING_GUIDANCE, } from './playbook.js';
|
|
9
|
+
import { ITALIAN_CRAFTSPERSON } from '@soleri/core';
|
|
11
10
|
/** Slugify a display name into a kebab-case ID. */
|
|
12
11
|
function slugify(name) {
|
|
13
12
|
return name
|
|
@@ -16,460 +15,109 @@ function slugify(name) {
|
|
|
16
15
|
.replace(/^-|-$/g, '');
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
|
-
* Run the
|
|
20
|
-
* Returns
|
|
18
|
+
* Run the simplified create wizard.
|
|
19
|
+
* Returns an AgentConfigInput or null if cancelled.
|
|
21
20
|
*/
|
|
22
21
|
export async function runCreateWizard(initialName) {
|
|
23
22
|
p.intro('Create a new Soleri agent');
|
|
24
|
-
// ─── Step 1:
|
|
25
|
-
const archetypeChoices = [
|
|
26
|
-
...ARCHETYPES.map((a) => ({
|
|
27
|
-
value: a.value,
|
|
28
|
-
label: a.label,
|
|
29
|
-
hint: a.hint,
|
|
30
|
-
})),
|
|
31
|
-
{
|
|
32
|
-
value: '_custom',
|
|
33
|
-
label: '\u2726 Create Custom',
|
|
34
|
-
hint: "I'll guide you through defining your own agent type",
|
|
35
|
-
},
|
|
36
|
-
];
|
|
37
|
-
const archetypeValues = await p.multiselect({
|
|
38
|
-
message: 'What kind of agent are you building? (select one or more)',
|
|
39
|
-
options: archetypeChoices,
|
|
40
|
-
required: false,
|
|
41
|
-
});
|
|
42
|
-
if (p.isCancel(archetypeValues))
|
|
43
|
-
return null;
|
|
44
|
-
const selectedValues = archetypeValues;
|
|
45
|
-
const isCustom = selectedValues.includes('_custom') || selectedValues.length === 0;
|
|
46
|
-
const selectedArchetypes = ARCHETYPES.filter((a) => selectedValues.includes(a.value));
|
|
47
|
-
// Merge defaults from all selected archetypes
|
|
48
|
-
function mergeDefaults(archetypes) {
|
|
49
|
-
if (archetypes.length === 0)
|
|
50
|
-
return null;
|
|
51
|
-
const domains = [...new Set(archetypes.flatMap((a) => a.defaults.domains))];
|
|
52
|
-
const principles = [...new Set(archetypes.flatMap((a) => a.defaults.principles))];
|
|
53
|
-
const skills = [...new Set(archetypes.flatMap((a) => a.defaults.skills))];
|
|
54
|
-
const tones = [...new Set(archetypes.map((a) => a.defaults.tone))];
|
|
55
|
-
return { domains, principles, skills, tones };
|
|
56
|
-
}
|
|
57
|
-
const merged = mergeDefaults(selectedArchetypes);
|
|
58
|
-
// ─── Step 2: Display name ─────────────────────────────────
|
|
59
|
-
const nameDefault = selectedArchetypes.length === 1
|
|
60
|
-
? selectedArchetypes[0].label
|
|
61
|
-
: selectedArchetypes.length > 1
|
|
62
|
-
? selectedArchetypes.map((a) => a.label).join(' + ')
|
|
63
|
-
: undefined;
|
|
23
|
+
// ─── Step 1: Name ───────────────────────────────────────────
|
|
64
24
|
const name = (await p.text({
|
|
65
|
-
message: '
|
|
66
|
-
placeholder:
|
|
67
|
-
initialValue: initialName
|
|
25
|
+
message: 'What should your agent be called?',
|
|
26
|
+
placeholder: 'Ernesto',
|
|
27
|
+
initialValue: initialName,
|
|
68
28
|
validate: (v) => {
|
|
69
|
-
if (!v || v.length
|
|
70
|
-
return '
|
|
29
|
+
if (!v || v.trim().length === 0)
|
|
30
|
+
return 'Name is required';
|
|
31
|
+
if (v.length > 50)
|
|
32
|
+
return 'Max 50 characters';
|
|
71
33
|
},
|
|
72
34
|
}));
|
|
73
35
|
if (p.isCancel(name))
|
|
74
36
|
return null;
|
|
75
|
-
// ─── Step 3: Agent ID (auto-derived from name) ─────────────
|
|
76
37
|
const id = slugify(name);
|
|
77
|
-
// ─── Step
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (isCustom) {
|
|
81
|
-
p.note([
|
|
82
|
-
CUSTOM_ROLE_GUIDANCE.instruction,
|
|
83
|
-
'',
|
|
84
|
-
'Examples:',
|
|
85
|
-
...CUSTOM_ROLE_GUIDANCE.examples.map((e) => ` "${e}"`),
|
|
86
|
-
].join('\n'), '\u2726 Custom Agent Playbook');
|
|
87
|
-
}
|
|
88
|
-
const rolePrompt = (await p.text({
|
|
89
|
-
message: selectedArchetypes.length > 1
|
|
90
|
-
? 'Combined role (describe what this multi-purpose agent does)'
|
|
91
|
-
: 'What does your agent do? (one sentence)',
|
|
92
|
-
placeholder: 'Validates GraphQL schemas against federation rules',
|
|
93
|
-
validate: (v) => {
|
|
94
|
-
if (!v || v.length > 100)
|
|
95
|
-
return 'Required (max 100 chars)';
|
|
96
|
-
},
|
|
97
|
-
}));
|
|
98
|
-
if (p.isCancel(rolePrompt))
|
|
99
|
-
return null;
|
|
100
|
-
role = rolePrompt;
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
const prefilledRole = selectedArchetypes[0].defaults.role;
|
|
104
|
-
const editedRole = (await p.text({
|
|
105
|
-
message: 'Role (pre-filled, press Enter to accept)',
|
|
106
|
-
initialValue: prefilledRole,
|
|
107
|
-
validate: (v) => {
|
|
108
|
-
if (!v || v.length > 100)
|
|
109
|
-
return 'Required (max 100 chars)';
|
|
110
|
-
},
|
|
111
|
-
}));
|
|
112
|
-
if (p.isCancel(editedRole))
|
|
113
|
-
return null;
|
|
114
|
-
role = editedRole;
|
|
115
|
-
}
|
|
116
|
-
// ─── Step 5: Description ──────────────────────────────────
|
|
117
|
-
let description;
|
|
118
|
-
if (isCustom || selectedArchetypes.length > 1) {
|
|
119
|
-
if (isCustom) {
|
|
120
|
-
p.note([
|
|
121
|
-
CUSTOM_DESCRIPTION_GUIDANCE.instruction,
|
|
122
|
-
'',
|
|
123
|
-
'Example:',
|
|
124
|
-
...CUSTOM_DESCRIPTION_GUIDANCE.examples.map((e) => ` "${e}"`),
|
|
125
|
-
].join('\n'), '\u2726 Description');
|
|
126
|
-
}
|
|
127
|
-
const descPrompt = (await p.text({
|
|
128
|
-
message: selectedArchetypes.length > 1
|
|
129
|
-
? 'Combined description (what does this multi-purpose agent do?)'
|
|
130
|
-
: 'Describe your agent in detail',
|
|
131
|
-
placeholder: 'This agent helps developers with...',
|
|
132
|
-
validate: (v) => {
|
|
133
|
-
if (!v || v.length < 10 || v.length > 500)
|
|
134
|
-
return 'Required (10-500 chars)';
|
|
135
|
-
},
|
|
136
|
-
}));
|
|
137
|
-
if (p.isCancel(descPrompt))
|
|
138
|
-
return null;
|
|
139
|
-
description = descPrompt;
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
const prefilledDesc = selectedArchetypes[0].defaults.description;
|
|
143
|
-
const editedDesc = (await p.text({
|
|
144
|
-
message: 'Description (pre-filled, press Enter to accept)',
|
|
145
|
-
initialValue: prefilledDesc,
|
|
146
|
-
validate: (v) => {
|
|
147
|
-
if (!v || v.length < 10 || v.length > 500)
|
|
148
|
-
return 'Required (10-500 chars)';
|
|
149
|
-
},
|
|
150
|
-
}));
|
|
151
|
-
if (p.isCancel(editedDesc))
|
|
152
|
-
return null;
|
|
153
|
-
description = editedDesc;
|
|
154
|
-
}
|
|
155
|
-
// ─── Step 6: Domains (multiselect) ────────────────────────
|
|
156
|
-
const preselectedDomains = new Set(merged?.domains ?? []);
|
|
157
|
-
const domainChoices = [
|
|
158
|
-
...DOMAIN_OPTIONS.map((d) => ({
|
|
159
|
-
value: d.value,
|
|
160
|
-
label: d.label,
|
|
161
|
-
hint: d.hint,
|
|
162
|
-
})),
|
|
163
|
-
{
|
|
164
|
-
value: '_custom',
|
|
165
|
-
label: '\u2726 Add custom domain...',
|
|
166
|
-
hint: 'Define your own domain with playbook guidance',
|
|
167
|
-
},
|
|
168
|
-
];
|
|
169
|
-
// Pre-select archetype domains via initialValues
|
|
170
|
-
const domainSelection = await p.multiselect({
|
|
171
|
-
message: 'Select domains (areas of expertise)',
|
|
172
|
-
options: domainChoices,
|
|
173
|
-
initialValues: [...preselectedDomains],
|
|
174
|
-
required: true,
|
|
175
|
-
});
|
|
176
|
-
if (p.isCancel(domainSelection))
|
|
177
|
-
return null;
|
|
178
|
-
const domains = domainSelection.filter((d) => d !== '_custom');
|
|
179
|
-
const wantsCustomDomain = domainSelection.includes('_custom');
|
|
180
|
-
if (wantsCustomDomain) {
|
|
181
|
-
p.note([
|
|
182
|
-
CUSTOM_DOMAIN_GUIDANCE.instruction,
|
|
183
|
-
'',
|
|
184
|
-
'Examples:',
|
|
185
|
-
...CUSTOM_DOMAIN_GUIDANCE.examples.map((e) => ` ${e}`),
|
|
186
|
-
'',
|
|
187
|
-
'Avoid:',
|
|
188
|
-
...CUSTOM_DOMAIN_GUIDANCE.antiExamples.map((e) => ` \u2717 ${e}`),
|
|
189
|
-
].join('\n'), '\u2726 Custom Domain');
|
|
190
|
-
const customDomain = (await p.text({
|
|
191
|
-
message: 'Custom domain name (kebab-case)',
|
|
192
|
-
placeholder: 'graphql-federation',
|
|
193
|
-
validate: (v = '') => {
|
|
194
|
-
if (!/^[a-z][a-z0-9-]*$/.test(v))
|
|
195
|
-
return 'Must be kebab-case';
|
|
196
|
-
if (domains.includes(v))
|
|
197
|
-
return 'Already selected';
|
|
198
|
-
},
|
|
199
|
-
}));
|
|
200
|
-
if (!p.isCancel(customDomain)) {
|
|
201
|
-
domains.push(customDomain);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
if (domains.length === 0) {
|
|
205
|
-
p.log.error('At least one domain is required');
|
|
206
|
-
return null;
|
|
207
|
-
}
|
|
208
|
-
// ─── Step 7: Principles (multiselect) ─────────────────────
|
|
209
|
-
const preselectedPrinciples = new Set(merged?.principles ?? []);
|
|
210
|
-
// Flatten categories into a single options list with group labels
|
|
211
|
-
const principleChoices = PRINCIPLE_CATEGORIES.flatMap((cat) => cat.options.map((o) => ({
|
|
212
|
-
value: o.value,
|
|
213
|
-
label: o.label,
|
|
214
|
-
hint: cat.label,
|
|
215
|
-
})));
|
|
216
|
-
principleChoices.push({
|
|
217
|
-
value: '_custom',
|
|
218
|
-
label: '\u2726 Add custom principle...',
|
|
219
|
-
hint: 'Write your own guiding principle',
|
|
220
|
-
});
|
|
221
|
-
const principleSelection = await p.multiselect({
|
|
222
|
-
message: 'Select guiding principles',
|
|
223
|
-
options: principleChoices,
|
|
224
|
-
initialValues: [...preselectedPrinciples],
|
|
225
|
-
required: true,
|
|
226
|
-
});
|
|
227
|
-
if (p.isCancel(principleSelection))
|
|
228
|
-
return null;
|
|
229
|
-
const principles = principleSelection.filter((p) => p !== '_custom');
|
|
230
|
-
const wantsCustomPrinciple = principleSelection.includes('_custom');
|
|
231
|
-
if (wantsCustomPrinciple) {
|
|
232
|
-
p.note([
|
|
233
|
-
CUSTOM_PRINCIPLE_GUIDANCE.instruction,
|
|
234
|
-
'',
|
|
235
|
-
'Good principles are specific and actionable:',
|
|
236
|
-
...CUSTOM_PRINCIPLE_GUIDANCE.examples.map((e) => ` \u2713 "${e}"`),
|
|
237
|
-
'',
|
|
238
|
-
'Avoid vague principles:',
|
|
239
|
-
...CUSTOM_PRINCIPLE_GUIDANCE.antiExamples.map((e) => ` \u2717 ${e}`),
|
|
240
|
-
].join('\n'), '\u2726 Custom Principle');
|
|
241
|
-
const customPrinciple = (await p.text({
|
|
242
|
-
message: 'Your custom principle',
|
|
243
|
-
placeholder: 'Every public API must have a deprecation path',
|
|
244
|
-
validate: (v) => {
|
|
245
|
-
if (!v)
|
|
246
|
-
return 'Required';
|
|
247
|
-
if (v.length > 100)
|
|
248
|
-
return 'Max 100 chars';
|
|
249
|
-
},
|
|
250
|
-
}));
|
|
251
|
-
if (!p.isCancel(customPrinciple)) {
|
|
252
|
-
principles.push(customPrinciple);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
if (principles.length === 0) {
|
|
256
|
-
p.log.error('At least one principle is required');
|
|
257
|
-
return null;
|
|
258
|
-
}
|
|
259
|
-
// ─── Step 8: Communication tone ───────────────────────────
|
|
260
|
-
let defaultTone;
|
|
261
|
-
if (merged && merged.tones.length === 1) {
|
|
262
|
-
defaultTone = merged.tones[0];
|
|
263
|
-
}
|
|
264
|
-
else if (merged && merged.tones.length > 1) {
|
|
265
|
-
p.note(`Selected archetypes use different tones: ${merged.tones.join(', ')}`, 'Tone Conflict');
|
|
266
|
-
defaultTone = 'pragmatic';
|
|
267
|
-
}
|
|
268
|
-
else {
|
|
269
|
-
defaultTone = 'pragmatic';
|
|
270
|
-
}
|
|
271
|
-
const tone = await p.select({
|
|
272
|
-
message: 'Communication tone',
|
|
273
|
-
options: TONE_OPTIONS.map((t) => ({
|
|
274
|
-
value: t.value,
|
|
275
|
-
label: t.label,
|
|
276
|
-
hint: t.hint,
|
|
277
|
-
})),
|
|
278
|
-
initialValue: defaultTone,
|
|
279
|
-
});
|
|
280
|
-
if (p.isCancel(tone))
|
|
281
|
-
return null;
|
|
282
|
-
// ─── Step 9: Skills (multiselect) ─────────────────────────
|
|
283
|
-
const preselectedSkills = new Set(merged?.skills ?? []);
|
|
284
|
-
p.note(`Always included: ${CORE_SKILLS.join(', ')}`, 'Core Skills');
|
|
285
|
-
const skillChoices = SKILL_CATEGORIES.flatMap((cat) => cat.options.map((o) => ({
|
|
286
|
-
value: o.value,
|
|
287
|
-
label: o.label,
|
|
288
|
-
hint: `${o.hint} (${cat.label})`,
|
|
289
|
-
})));
|
|
290
|
-
const skillSelection = await p.multiselect({
|
|
291
|
-
message: 'Select additional skills',
|
|
292
|
-
options: skillChoices,
|
|
293
|
-
initialValues: [...preselectedSkills].filter((s) => ALL_OPTIONAL_SKILLS.includes(s)),
|
|
294
|
-
required: false,
|
|
295
|
-
});
|
|
296
|
-
if (p.isCancel(skillSelection))
|
|
297
|
-
return null;
|
|
298
|
-
const selectedSkills = [...CORE_SKILLS, ...skillSelection];
|
|
299
|
-
// ─── Step 10: Greeting (auto or custom) ───────────────────
|
|
300
|
-
const autoGreeting = selectedArchetypes.length === 1
|
|
301
|
-
? selectedArchetypes[0].defaults.greetingTemplate(name)
|
|
302
|
-
: `Hello! I'm ${name}. I ${role[0].toLowerCase()}${role.slice(1)}.`;
|
|
303
|
-
const greetingChoice = await p.select({
|
|
304
|
-
message: 'Greeting message',
|
|
38
|
+
// ─── Step 2: Optional persona description ───────────────────
|
|
39
|
+
const personaChoice = await p.select({
|
|
40
|
+
message: 'Persona',
|
|
305
41
|
options: [
|
|
306
42
|
{
|
|
307
|
-
value: '
|
|
308
|
-
label: `
|
|
309
|
-
hint: '
|
|
43
|
+
value: 'default',
|
|
44
|
+
label: `Italian Craftsperson (default)`,
|
|
45
|
+
hint: 'Warm, opinionated about quality, sprinkles Italian expressions — perfetto!',
|
|
310
46
|
},
|
|
311
47
|
{
|
|
312
48
|
value: 'custom',
|
|
313
|
-
label: '
|
|
314
|
-
hint: '
|
|
49
|
+
label: 'Describe your own persona',
|
|
50
|
+
hint: 'Tell me who your agent should be',
|
|
315
51
|
},
|
|
316
52
|
],
|
|
317
|
-
initialValue: 'auto',
|
|
318
53
|
});
|
|
319
|
-
if (p.isCancel(
|
|
54
|
+
if (p.isCancel(personaChoice))
|
|
320
55
|
return null;
|
|
321
|
-
let
|
|
322
|
-
if (
|
|
323
|
-
p.
|
|
324
|
-
|
|
325
|
-
'',
|
|
326
|
-
'Examples:',
|
|
327
|
-
...CUSTOM_GREETING_GUIDANCE.examples.map((e) => ` "${e}"`),
|
|
328
|
-
].join('\n'), '\u2726 Custom Greeting');
|
|
329
|
-
const customGreeting = (await p.text({
|
|
330
|
-
message: 'Your greeting',
|
|
331
|
-
placeholder: `Hello! I'm ${name}...`,
|
|
56
|
+
let personaDescription;
|
|
57
|
+
if (personaChoice === 'custom') {
|
|
58
|
+
const desc = (await p.text({
|
|
59
|
+
message: "Describe your agent's personality (we'll generate the persona from this)",
|
|
60
|
+
placeholder: 'A calm Japanese sensei who speaks in zen metaphors and values harmony in code',
|
|
332
61
|
validate: (v) => {
|
|
333
|
-
if (!v || v.length < 10
|
|
334
|
-
return '
|
|
62
|
+
if (!v || v.trim().length < 10)
|
|
63
|
+
return 'Give at least a brief description (10+ chars)';
|
|
64
|
+
if (v.length > 500)
|
|
65
|
+
return 'Max 500 characters';
|
|
335
66
|
},
|
|
336
67
|
}));
|
|
337
|
-
if (p.isCancel(
|
|
68
|
+
if (p.isCancel(desc))
|
|
338
69
|
return null;
|
|
339
|
-
|
|
340
|
-
}
|
|
341
|
-
else {
|
|
342
|
-
greeting = autoGreeting;
|
|
70
|
+
personaDescription = desc;
|
|
343
71
|
}
|
|
344
|
-
// ───
|
|
345
|
-
const
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
hint: 'Claude Code CLI integrations',
|
|
369
|
-
},
|
|
370
|
-
{
|
|
371
|
-
value: 'codex',
|
|
372
|
-
label: 'Codex',
|
|
373
|
-
hint: 'Codex integrations',
|
|
374
|
-
},
|
|
375
|
-
{
|
|
376
|
-
value: 'all',
|
|
377
|
-
label: 'All',
|
|
378
|
-
hint: 'OpenCode + Claude Code + Codex',
|
|
379
|
-
},
|
|
380
|
-
],
|
|
381
|
-
initialValue: 'opencode',
|
|
382
|
-
});
|
|
383
|
-
if (p.isCancel(setupTarget))
|
|
384
|
-
return null;
|
|
385
|
-
// ─── Step 13: Model selection ────────────────────────────
|
|
72
|
+
// ─── Build config ───────────────────────────────────────────
|
|
73
|
+
const persona = personaDescription
|
|
74
|
+
? {
|
|
75
|
+
template: 'custom',
|
|
76
|
+
name: name.trim(),
|
|
77
|
+
voice: personaDescription,
|
|
78
|
+
// Custom personas start with minimal config — the LLM enriches from the voice description
|
|
79
|
+
inspiration: '',
|
|
80
|
+
culture: '',
|
|
81
|
+
metaphors: [],
|
|
82
|
+
traits: [],
|
|
83
|
+
quirks: [],
|
|
84
|
+
opinions: [],
|
|
85
|
+
greetings: [`Hello! I'm ${name.trim()}. What are we working on?`],
|
|
86
|
+
signoffs: ['Until next time!'],
|
|
87
|
+
languageRule: "Speak the user's language naturally.",
|
|
88
|
+
nameRule: 'Adapt to name changes but keep character intact.',
|
|
89
|
+
}
|
|
90
|
+
: {
|
|
91
|
+
...ITALIAN_CRAFTSPERSON,
|
|
92
|
+
name: name.trim(),
|
|
93
|
+
};
|
|
94
|
+
const greeting = persona.greetings[0] ?? `Ciao! I'm ${name.trim()}. What are we working on?`;
|
|
95
|
+
// Summary
|
|
386
96
|
p.note([
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
label: 'Claude 4 Sonnet (Max)',
|
|
398
|
-
hint: 'Free — balanced speed + quality (default)',
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
value: 'claude-code-opus-4',
|
|
402
|
-
label: 'Claude 4 Opus (Max)',
|
|
403
|
-
hint: 'Free — most capable, slower',
|
|
404
|
-
},
|
|
405
|
-
{
|
|
406
|
-
value: 'claude-code-3.5-haiku',
|
|
407
|
-
label: 'Claude 3.5 Haiku (Max)',
|
|
408
|
-
hint: 'Free — fastest Claude model',
|
|
409
|
-
},
|
|
410
|
-
// ── Anthropic API ──
|
|
411
|
-
{
|
|
412
|
-
value: 'claude-4-sonnet',
|
|
413
|
-
label: 'Claude 4 Sonnet (API)',
|
|
414
|
-
hint: 'Anthropic API key required',
|
|
415
|
-
},
|
|
416
|
-
{
|
|
417
|
-
value: 'claude-4-opus',
|
|
418
|
-
label: 'Claude 4 Opus (API)',
|
|
419
|
-
hint: 'Anthropic API key required',
|
|
420
|
-
},
|
|
421
|
-
// ── OpenAI ──
|
|
422
|
-
{
|
|
423
|
-
value: 'gpt-4.1',
|
|
424
|
-
label: 'GPT 4.1',
|
|
425
|
-
hint: 'OpenAI API key required',
|
|
426
|
-
},
|
|
427
|
-
{
|
|
428
|
-
value: 'o4-mini',
|
|
429
|
-
label: 'o4-mini',
|
|
430
|
-
hint: 'OpenAI API key — reasoning model',
|
|
431
|
-
},
|
|
432
|
-
// ── Google ──
|
|
433
|
-
{
|
|
434
|
-
value: 'gemini-2.5',
|
|
435
|
-
label: 'Gemini 2.5 Pro',
|
|
436
|
-
hint: 'Google API key required',
|
|
437
|
-
},
|
|
438
|
-
{
|
|
439
|
-
value: 'gemini-2.5-flash',
|
|
440
|
-
label: 'Gemini 2.5 Flash',
|
|
441
|
-
hint: 'Google API key — fast + cheap',
|
|
442
|
-
},
|
|
443
|
-
// ── Groq ──
|
|
444
|
-
{
|
|
445
|
-
value: 'llama-3.3-70b-versatile',
|
|
446
|
-
label: 'Llama 3.3 70B (Groq)',
|
|
447
|
-
hint: 'Groq API key — open source, fast',
|
|
448
|
-
},
|
|
449
|
-
// ── xAI ──
|
|
450
|
-
{
|
|
451
|
-
value: 'grok-3-beta',
|
|
452
|
-
label: 'Grok 3',
|
|
453
|
-
hint: 'xAI API key required',
|
|
454
|
-
},
|
|
455
|
-
],
|
|
456
|
-
initialValue: 'claude-code-sonnet-4',
|
|
97
|
+
`Name: ${name.trim()}`,
|
|
98
|
+
`ID: ${id}`,
|
|
99
|
+
`Persona: ${personaChoice === 'default' ? 'Italian Craftsperson' : 'Custom'}`,
|
|
100
|
+
'',
|
|
101
|
+
`Your agent starts as a universal second brain.`,
|
|
102
|
+
`It learns what it needs from your projects and conversations.`,
|
|
103
|
+
].join('\n'), 'Agent Summary');
|
|
104
|
+
const confirm = await p.confirm({
|
|
105
|
+
message: 'Create this agent?',
|
|
106
|
+
initialValue: true,
|
|
457
107
|
});
|
|
458
|
-
if (p.isCancel(
|
|
108
|
+
if (p.isCancel(confirm) || !confirm)
|
|
459
109
|
return null;
|
|
460
110
|
return {
|
|
461
111
|
id,
|
|
462
|
-
name,
|
|
463
|
-
role,
|
|
464
|
-
description,
|
|
465
|
-
domains,
|
|
466
|
-
principles,
|
|
467
|
-
|
|
112
|
+
name: name.trim(),
|
|
113
|
+
role: 'Your universal second brain — learns, remembers, improves',
|
|
114
|
+
description: 'A universal assistant that learns from your projects, captures knowledge, and gets smarter with every session.',
|
|
115
|
+
domains: [],
|
|
116
|
+
principles: [],
|
|
117
|
+
skills: [],
|
|
118
|
+
tone: 'mentor',
|
|
468
119
|
greeting,
|
|
469
|
-
|
|
470
|
-
skills: selectedSkills,
|
|
471
|
-
model: model,
|
|
472
|
-
setupTarget: setupTarget,
|
|
120
|
+
persona,
|
|
473
121
|
};
|
|
474
122
|
}
|
|
475
123
|
//# sourceMappingURL=create-wizard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-wizard.js","sourceRoot":"","sources":["../../src/prompts/create-wizard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-wizard.js","sourceRoot":"","sources":["../../src/prompts/create-wizard.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soleri/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.1",
|
|
4
4
|
"description": "Developer CLI for creating and managing Soleri AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@clack/prompts": "^1.0.0",
|
|
44
|
-
"@soleri/core": "^
|
|
45
|
-
"@soleri/forge": "^
|
|
44
|
+
"@soleri/core": "^9.0.0",
|
|
45
|
+
"@soleri/forge": "^9.0.0",
|
|
46
46
|
"commander": "^13.0.0"
|
|
47
47
|
},
|
|
48
48
|
"engines": {
|
package/src/commands/create.ts
CHANGED
|
@@ -54,7 +54,24 @@ export function registerCreate(program: Command): void {
|
|
|
54
54
|
try {
|
|
55
55
|
let config;
|
|
56
56
|
|
|
57
|
-
if (opts?.config) {
|
|
57
|
+
if (name && opts?.yes && !opts?.config) {
|
|
58
|
+
// Quick non-interactive: name + --yes = Italian Craftsperson defaults
|
|
59
|
+
const id = name
|
|
60
|
+
.toLowerCase()
|
|
61
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
62
|
+
.replace(/^-|-$/g, '');
|
|
63
|
+
config = AgentConfigSchema.parse({
|
|
64
|
+
id,
|
|
65
|
+
name,
|
|
66
|
+
role: 'Your universal second brain — learns, remembers, improves',
|
|
67
|
+
description:
|
|
68
|
+
'A universal assistant that learns from your projects, captures knowledge, and gets smarter with every session.',
|
|
69
|
+
domains: [],
|
|
70
|
+
principles: [],
|
|
71
|
+
tone: 'mentor',
|
|
72
|
+
greeting: `Ciao! I'm ${name}. Ready to build something beautiful today?`,
|
|
73
|
+
});
|
|
74
|
+
} else if (opts?.config) {
|
|
58
75
|
// Non-interactive: read from config file
|
|
59
76
|
const configPath = resolve(opts.config);
|
|
60
77
|
if (!existsSync(configPath)) {
|
|
@@ -115,9 +132,8 @@ export function registerCreate(program: Command): void {
|
|
|
115
132
|
target: config.setupTarget,
|
|
116
133
|
model: (raw.model as string) ?? 'claude-code-sonnet-4',
|
|
117
134
|
},
|
|
118
|
-
engine: {
|
|
119
|
-
|
|
120
|
-
},
|
|
135
|
+
engine: {},
|
|
136
|
+
persona: raw.persona as Record<string, unknown> | undefined,
|
|
121
137
|
vaults: raw.vaults as
|
|
122
138
|
| Array<{ name: string; path: string; priority?: number }>
|
|
123
139
|
| undefined,
|
package/src/commands/telegram.ts
CHANGED
|
@@ -464,7 +464,6 @@ function readAgentConfig(agentPath: string, agentId: string): AgentConfig | null
|
|
|
464
464
|
model: pkg.soleri?.model ?? 'claude-code-sonnet-4',
|
|
465
465
|
setupTarget: pkg.soleri?.setupTarget ?? 'claude',
|
|
466
466
|
telegram: true, // Force true — we're enabling telegram
|
|
467
|
-
cognee: pkg.soleri?.cognee ?? false,
|
|
468
467
|
};
|
|
469
468
|
}
|
|
470
469
|
|