azerclaw 1.0.2 β†’ 1.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 (73) hide show
  1. package/bin/azerclaw.ts +294 -19
  2. package/dist/bin/azerclaw.d.ts +14 -8
  3. package/dist/bin/azerclaw.d.ts.map +1 -1
  4. package/dist/bin/azerclaw.js +259 -18
  5. package/dist/bin/azerclaw.js.map +1 -1
  6. package/dist/src/cli/animations/fish.d.ts +9 -8
  7. package/dist/src/cli/animations/fish.d.ts.map +1 -1
  8. package/dist/src/cli/animations/fish.js +105 -132
  9. package/dist/src/cli/animations/fish.js.map +1 -1
  10. package/dist/src/cli/commands/chat.d.ts +16 -0
  11. package/dist/src/cli/commands/chat.d.ts.map +1 -1
  12. package/dist/src/cli/commands/chat.js +142 -33
  13. package/dist/src/cli/commands/chat.js.map +1 -1
  14. package/dist/src/cli/commands/config.d.ts +1 -0
  15. package/dist/src/cli/commands/config.d.ts.map +1 -1
  16. package/dist/src/cli/commands/config.js +28 -11
  17. package/dist/src/cli/commands/config.js.map +1 -1
  18. package/dist/src/cli/commands/onboard.d.ts +12 -1
  19. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  20. package/dist/src/cli/commands/onboard.js +384 -92
  21. package/dist/src/cli/commands/onboard.js.map +1 -1
  22. package/dist/src/cli/commands/run.d.ts.map +1 -1
  23. package/dist/src/cli/commands/run.js +0 -2
  24. package/dist/src/cli/commands/run.js.map +1 -1
  25. package/dist/src/cli/commands/settings.d.ts +31 -0
  26. package/dist/src/cli/commands/settings.d.ts.map +1 -0
  27. package/dist/src/cli/commands/settings.js +566 -0
  28. package/dist/src/cli/commands/settings.js.map +1 -0
  29. package/dist/src/cli/commands/tui.d.ts +3 -0
  30. package/dist/src/cli/commands/tui.d.ts.map +1 -1
  31. package/dist/src/cli/commands/tui.js +197 -69
  32. package/dist/src/cli/commands/tui.js.map +1 -1
  33. package/dist/src/config/manager.d.ts +110 -8
  34. package/dist/src/config/manager.d.ts.map +1 -1
  35. package/dist/src/config/manager.js +331 -10
  36. package/dist/src/config/manager.js.map +1 -1
  37. package/dist/src/config/schema.d.ts +217 -1
  38. package/dist/src/config/schema.d.ts.map +1 -1
  39. package/dist/src/config/schema.js +55 -7
  40. package/dist/src/config/schema.js.map +1 -1
  41. package/dist/src/core/runtime.d.ts +8 -0
  42. package/dist/src/core/runtime.d.ts.map +1 -1
  43. package/dist/src/core/runtime.js +29 -13
  44. package/dist/src/core/runtime.js.map +1 -1
  45. package/dist/src/core/server.d.ts +15 -0
  46. package/dist/src/core/server.d.ts.map +1 -0
  47. package/dist/src/core/server.js +127 -0
  48. package/dist/src/core/server.js.map +1 -0
  49. package/dist/src/providers/router.d.ts.map +1 -1
  50. package/dist/src/providers/router.js +16 -0
  51. package/dist/src/providers/router.js.map +1 -1
  52. package/dist/src/tools/advanced.d.ts.map +1 -1
  53. package/dist/src/tools/advanced.js +3 -0
  54. package/dist/src/tools/advanced.js.map +1 -1
  55. package/dist/src/tools/filesystem.d.ts.map +1 -1
  56. package/dist/src/tools/filesystem.js +4 -0
  57. package/dist/src/tools/filesystem.js.map +1 -1
  58. package/dist/src/tools/index.d.ts +9 -0
  59. package/dist/src/tools/index.d.ts.map +1 -0
  60. package/dist/src/tools/index.js +73 -0
  61. package/dist/src/tools/index.js.map +1 -0
  62. package/dist/src/tools/loader.d.ts +14 -0
  63. package/dist/src/tools/loader.d.ts.map +1 -0
  64. package/dist/src/tools/loader.js +115 -0
  65. package/dist/src/tools/loader.js.map +1 -0
  66. package/dist/src/tools/registry.d.ts +27 -0
  67. package/dist/src/tools/registry.d.ts.map +1 -1
  68. package/dist/src/tools/registry.js +80 -5
  69. package/dist/src/tools/registry.js.map +1 -1
  70. package/dist/src/tools/shell.d.ts.map +1 -1
  71. package/dist/src/tools/shell.js +1 -0
  72. package/dist/src/tools/shell.js.map +1 -1
  73. package/package.json +2 -1
@@ -1,7 +1,18 @@
1
1
  "use strict";
2
2
  /**
3
3
  * 🐟 AZERCLAW Onboard Command
4
- * Interactive first-time setup wizard with premium UI.
4
+ * Interactive first-time setup wizard (OpenClaw-style).
5
+ *
6
+ * Flow:
7
+ * 1. Auto-detect API keys from environment variables
8
+ * 2. If keys found β†’ show what was detected, ask to confirm or configure more
9
+ * 3. If no keys β†’ guide through provider selection + key entry
10
+ * 4. Select default provider + model
11
+ * 5. Configure fallback provider (optional)
12
+ * 6. Agent settings (name, permissions)
13
+ * 7. Project init prompt
14
+ * 8. Channel integrations (optional)
15
+ * 9. Summary + next steps
5
16
  */
6
17
  Object.defineProperty(exports, "__esModule", { value: true });
7
18
  exports.runOnboard = runOnboard;
@@ -9,63 +20,373 @@ const chalk = require('chalk');
9
20
  const gradientString = require('gradient-string');
10
21
  const Enquirer = require('enquirer');
11
22
  const { getConfigManager } = require('../../config/manager');
12
- const { fishSuccess, fishError, fishInfo, fishBox, FishThinkingAnimation } = require('../animations/fish');
23
+ const { resetRouter } = require('../../providers/router');
24
+ const { fishSuccess, fishError, fishInfo, fishWarn, fishBox, FishThinkingAnimation } = require('../animations/fish');
25
+ const { PROVIDER_MODELS, PROVIDER_LABELS } = require('./settings');
13
26
  const LUXE = gradientString(['#c084fc', '#818cf8', '#60a5fa', '#34d399']);
14
27
  const OCEAN = gradientString(['#0ea5e9', '#06b6d4', '#14b8a6']);
28
+ const BLOOD = gradientString(['#7f1d1d', '#ef4444', '#dc2626', '#b91c1c']);
15
29
  const PROVIDERS = [
16
- { name: 'OpenAI', value: 'openai', hint: 'GPT-4o, GPT-4.1, o3, o4-mini', keyPrefix: 'sk-' },
17
- { name: 'Anthropic', value: 'anthropic', hint: 'Claude Opus 4, Sonnet 4, Haiku', keyPrefix: 'sk-ant-' },
18
- { name: 'Google Gemini', value: 'google', hint: 'Gemini 2.5 Pro/Flash', keyPrefix: 'AI' },
19
- { name: 'Groq', value: 'groq', hint: 'Llama 3.3, Mixtral (fast inference)', keyPrefix: 'gsk_' },
20
- { name: 'DeepSeek', value: 'deepseek', hint: 'DeepSeek V3, R1', keyPrefix: 'sk-' },
21
- { name: 'OpenRouter', value: 'openrouter', hint: '100+ models via one key', keyPrefix: 'sk-or-' },
22
- { name: 'Ollama (Local)', value: 'ollama', hint: 'Free, runs on your machine', keyPrefix: '' },
23
- { name: 'Custom (OpenAI-compatible)', value: 'custom', hint: 'Any endpoint', keyPrefix: '' },
30
+ { name: 'OpenAI', value: 'openai', hint: 'GPT-4o, GPT-4.1, o3, o4-mini', keyPrefix: 'sk-', envVar: 'OPENAI_API_KEY', local: false },
31
+ { name: 'Anthropic', value: 'anthropic', hint: 'Claude Opus 4, Sonnet 4, Haiku', keyPrefix: 'sk-ant-', envVar: 'ANTHROPIC_API_KEY', local: false },
32
+ { name: 'Google Gemini', value: 'google', hint: 'Gemini 2.5 Pro/Flash', keyPrefix: 'AI', envVar: 'GOOGLE_API_KEY', local: false },
33
+ { name: 'Groq', value: 'groq', hint: 'Llama 3.3, Mixtral (fast inference)', keyPrefix: 'gsk_', envVar: 'GROQ_API_KEY', local: false },
34
+ { name: 'DeepSeek', value: 'deepseek', hint: 'DeepSeek V3, R1', keyPrefix: 'sk-', envVar: '', local: false },
35
+ { name: 'OpenRouter', value: 'openrouter', hint: '100+ models via one key', keyPrefix: 'sk-or-', envVar: 'OPENROUTER_API_KEY', local: false },
36
+ { name: 'Ollama (Local)', value: 'ollama', hint: 'Free, runs on your machine β€” port 11434', keyPrefix: '', envVar: '', local: true },
37
+ { name: 'LM Studio (Local)', value: 'lmstudio', hint: 'Free, runs on your machine β€” port 1234', keyPrefix: '', envVar: '', local: true },
38
+ { name: 'LocalAI (Local)', value: 'localai', hint: 'Free, runs on your machine β€” port 8080', keyPrefix: '', envVar: '', local: true },
39
+ { name: 'Custom (OpenAI-compatible)', value: 'custom', hint: 'Any endpoint', keyPrefix: '', envVar: '', local: false },
24
40
  ];
41
+ // ─── Local LLM Server Detection ─────────────────────────────────
42
+ const LOCAL_SERVERS = [
43
+ { name: 'Ollama', provider: 'ollama', url: 'http://localhost:11434', testPath: '/api/tags' },
44
+ { name: 'LM Studio', provider: 'lmstudio', url: 'http://localhost:1234', testPath: '/v1/models' },
45
+ { name: 'LocalAI', provider: 'localai', url: 'http://localhost:8080', testPath: '/v1/models' },
46
+ ];
47
+ async function detectLocalServers() {
48
+ const detected = [];
49
+ for (const server of LOCAL_SERVERS) {
50
+ try {
51
+ const controller = new AbortController();
52
+ const timeout = setTimeout(() => controller.abort(), 2000);
53
+ const res = await fetch(`${server.url}${server.testPath}`, { signal: controller.signal });
54
+ clearTimeout(timeout);
55
+ if (res.ok) {
56
+ const data = await res.json();
57
+ let models = [];
58
+ // Extract model names based on API format
59
+ if (data.models) {
60
+ // Ollama format
61
+ models = data.models.map((m) => m.name || m.model || '').filter(Boolean).slice(0, 5);
62
+ }
63
+ else if (data.data) {
64
+ // OpenAI-compatible format (LM Studio, LocalAI)
65
+ models = data.data.map((m) => m.id || '').filter(Boolean).slice(0, 5);
66
+ }
67
+ detected.push({ ...server, models });
68
+ }
69
+ }
70
+ catch { /* server not running, skip */ }
71
+ }
72
+ return detected;
73
+ }
74
+ function maskKey(key) {
75
+ if (!key || key.length < 8)
76
+ return '****';
77
+ return `${key.slice(0, 4)}${'*'.repeat(Math.min(12, key.length - 8))}${key.slice(-4)}`;
78
+ }
25
79
  async function runOnboard() {
26
80
  const config = getConfigManager();
27
81
  console.log('');
28
- fishBox('🐟 AZERCLAW Setup Wizard', [
29
- chalk.dim('Welcome! Let\'s configure your AI providers.'),
30
- chalk.dim('Your keys are stored locally at ~/.azerclaw/config.json'),
31
- chalk.dim('You can change these anytime with: azerclaw config'),
82
+ fishBox('🐟 AZERCLAW Setup', [
83
+ '',
84
+ chalk.hex('#e2e8f0')(' Welcome to AZERCLAW β€” your AI, your keys, your way.'),
85
+ '',
86
+ chalk.dim(' Your keys are stored locally at ~/.azerclaw/settings.json'),
87
+ chalk.dim(' Nothing is ever sent to our servers. Zero telemetry.'),
88
+ '',
89
+ LUXE(' BYOK β€” Bring Your Own Key β€” Zero platform fees'),
90
+ '',
91
+ ]);
92
+ console.log('');
93
+ // ─── Step 1: Auto-detect environment variables ────────────
94
+ const detectedProviders = config.resolveEnvOverrides();
95
+ // ─── Step 1b: Auto-detect local LLM servers ───────────────
96
+ const localThinking = new FishThinkingAnimation('Scanning for local LLM servers');
97
+ localThinking.start();
98
+ const localServers = await detectLocalServers();
99
+ localThinking.stop();
100
+ if (localServers.length > 0) {
101
+ fishBox('πŸ–₯️ Local LLM Servers Detected', [
102
+ '',
103
+ ...localServers.map(s => {
104
+ const models = s.models && s.models.length > 0
105
+ ? chalk.dim(`models: ${s.models.join(', ')}`)
106
+ : chalk.dim('running');
107
+ return ` ${chalk.hex('#34d399')('●')} ${chalk.hex('#e2e8f0')(s.name.padEnd(18))} ${models}`;
108
+ }),
109
+ '',
110
+ chalk.dim(' These are free, local models β€” no API key needed.'),
111
+ '',
112
+ ]);
113
+ console.log('');
114
+ const useLocal = await new Enquirer.Confirm({
115
+ name: 'useLocal',
116
+ message: OCEAN('Enable detected local LLM servers?'),
117
+ initial: true,
118
+ }).run().catch(() => true);
119
+ if (useLocal) {
120
+ for (const server of localServers) {
121
+ const baseUrl = server.provider === 'ollama' ? server.url : `${server.url}/v1`;
122
+ config.set(`ai.providers.${server.provider}.baseUrl`, baseUrl);
123
+ config.set(`ai.providers.${server.provider}.enabled`, true);
124
+ // Set default model if we detected any
125
+ if (server.models && server.models.length > 0) {
126
+ config.set(`ai.providers.${server.provider}.defaultModel`, server.models[0]);
127
+ }
128
+ if (!detectedProviders.includes(server.provider)) {
129
+ detectedProviders.push(server.provider);
130
+ }
131
+ fishSuccess(`${server.name} enabled at ${server.url}`);
132
+ }
133
+ }
134
+ }
135
+ if (detectedProviders.length > 0) {
136
+ // Only show API key detection box for non-local providers
137
+ const cloudProviders = detectedProviders.filter((p) => !['ollama', 'lmstudio', 'localai'].includes(p));
138
+ if (cloudProviders.length > 0) {
139
+ fishBox('πŸ” Auto-Detected API Keys', [
140
+ '',
141
+ ...cloudProviders.map((p) => {
142
+ const prov = config.getAll().ai.providers[p];
143
+ const label = PROVIDER_LABELS[p] || p;
144
+ return ` ${chalk.hex('#34d399')('●')} ${chalk.hex('#e2e8f0')(label.padEnd(18))} ${chalk.dim(maskKey(prov.apiKey))}`;
145
+ }),
146
+ '',
147
+ chalk.dim(' Detected from your environment variables.'),
148
+ '',
149
+ ]);
150
+ console.log('');
151
+ }
152
+ // Ask if they want to use detected keys or configure manually
153
+ const useDetected = await new Enquirer.Confirm({
154
+ name: 'useDetected',
155
+ message: OCEAN('Use these detected API keys?'),
156
+ initial: true,
157
+ }).run().catch(() => true);
158
+ if (useDetected) {
159
+ // Set the first detected as default
160
+ if (detectedProviders.length > 1) {
161
+ const defaultProvider = await new Enquirer.Select({
162
+ name: 'defaultProvider',
163
+ message: OCEAN('Select your primary AI provider:'),
164
+ choices: detectedProviders.map((p) => ({
165
+ name: p,
166
+ message: `${PROVIDER_LABELS[p] || p}`,
167
+ hint: chalk.dim(config.getAll().ai.providers[p]?.defaultModel || ''),
168
+ })),
169
+ }).run().catch(() => detectedProviders[0]);
170
+ config.set('ai.defaultProvider', defaultProvider);
171
+ }
172
+ // Ask about fallback
173
+ if (detectedProviders.length > 1) {
174
+ await configureFallback(config, detectedProviders);
175
+ }
176
+ // Ask if they want to add more providers
177
+ const addMore = await new Enquirer.Confirm({
178
+ name: 'addMore',
179
+ message: chalk.dim('Would you like to configure additional providers?'),
180
+ initial: false,
181
+ }).run().catch(() => false);
182
+ if (addMore) {
183
+ await configureProviders(config, detectedProviders);
184
+ }
185
+ }
186
+ else {
187
+ await configureProviders(config, []);
188
+ }
189
+ }
190
+ else {
191
+ // No env keys detected β€” full manual setup
192
+ fishInfo('No API keys detected in environment. Let\'s set them up.');
193
+ console.log('');
194
+ await configureProviders(config, []);
195
+ }
196
+ // ─── Step 2: Select default model ─────────────────────────
197
+ const defaultProvider = config.getAll().ai.defaultProvider;
198
+ const knownModels = PROVIDER_MODELS[defaultProvider] || [];
199
+ if (knownModels.length > 0) {
200
+ console.log('');
201
+ const currentModel = config.getAll().ai.providers[defaultProvider]?.defaultModel;
202
+ const selectedModel = await new Enquirer.Select({
203
+ name: 'model',
204
+ message: OCEAN(`Select default model for ${PROVIDER_LABELS[defaultProvider] || defaultProvider}:`),
205
+ choices: [
206
+ ...knownModels.map((m) => ({
207
+ name: m.id,
208
+ message: `${m.name.padEnd(25)} ${chalk.dim(m.hint)}`,
209
+ hint: m.id === currentModel ? chalk.hex('#34d399')(' ● current') : '',
210
+ })),
211
+ { name: '__keep__', message: chalk.dim(`Keep current (${currentModel})`), hint: '' },
212
+ ],
213
+ }).run().catch(() => '__keep__');
214
+ if (selectedModel !== '__keep__') {
215
+ config.setProviderModel(selectedModel);
216
+ }
217
+ }
218
+ // ─── Step 3: Agent permissions ─────────────────────────────
219
+ console.log('');
220
+ fishBox('πŸ”’ Permissions', [
221
+ chalk.dim(' Choose which actions require your approval.'),
222
+ ]);
223
+ const permMode = await new Enquirer.Select({
224
+ name: 'permMode',
225
+ message: OCEAN('Tool approval mode:'),
226
+ choices: [
227
+ { name: 'safe', message: `${chalk.hex('#34d399')('Safe')} β€” Approve shell commands and file writes`, hint: chalk.dim('recommended') },
228
+ { name: 'turbo', message: `${chalk.hex('#fbbf24')('Turbo')} β€” Auto-approve everything`, hint: chalk.dim('yolo mode') },
229
+ { name: 'strict', message: `${chalk.hex('#60a5fa')('Strict')} β€” Approve all tool calls`, hint: chalk.dim('maximum control') },
230
+ ],
231
+ }).run().catch(() => 'safe');
232
+ switch (permMode) {
233
+ case 'turbo':
234
+ config.set('agent.approvalRequired', false);
235
+ config.set('permissions.autoApprove', ['run_shell', 'write_file', 'read_file', 'list_directory', 'search_files']);
236
+ config.set('permissions.requireApproval', []);
237
+ break;
238
+ case 'strict':
239
+ config.set('agent.approvalRequired', true);
240
+ config.set('permissions.autoApprove', []);
241
+ config.set('permissions.requireApproval', ['run_shell', 'write_file', 'read_file', 'list_directory', 'search_files']);
242
+ break;
243
+ case 'safe':
244
+ default:
245
+ config.set('agent.approvalRequired', true);
246
+ config.set('permissions.autoApprove', ['read_file', 'list_directory', 'search_files']);
247
+ config.set('permissions.requireApproval', ['run_shell', 'write_file']);
248
+ break;
249
+ }
250
+ // ─── Step 4: Project initialization prompt ────────────────
251
+ console.log('');
252
+ if (!config.hasProjectSettings()) {
253
+ const initProject = await new Enquirer.Confirm({
254
+ name: 'initProject',
255
+ message: OCEAN('Initialize AZERCLAW for this project? (creates AZERCLAW.md + .azerclaw/)'),
256
+ initial: true,
257
+ }).run().catch(() => false);
258
+ if (initProject) {
259
+ config.initProject();
260
+ fishSuccess('Project initialized β€” edit AZERCLAW.md to add context for the AI agent.');
261
+ }
262
+ }
263
+ else {
264
+ fishInfo('Project settings already configured (.azerclaw/ found).');
265
+ }
266
+ // ─── Step 5: Optional channel integrations ────────────────
267
+ console.log('');
268
+ const configureChannels = await new Enquirer.Confirm({
269
+ name: 'configureChannels',
270
+ message: chalk.dim('Configure Discord, Telegram, or Slack integrations? (optional)'),
271
+ initial: false,
272
+ }).run().catch(() => false);
273
+ if (configureChannels) {
274
+ const channels = await new Enquirer.MultiSelect({
275
+ name: 'channels',
276
+ message: 'Select channels to configure:',
277
+ choices: ['Discord', 'Telegram', 'Slack'],
278
+ }).run().catch(() => []);
279
+ for (const channel of channels) {
280
+ const channelKey = channel.toLowerCase();
281
+ const token = await new Enquirer.Password({
282
+ message: `${channel} Bot Token:`,
283
+ }).run().catch(() => '');
284
+ if (token) {
285
+ config.set(`channels.${channelKey}.token`, token);
286
+ config.set(`channels.${channelKey}.enabled`, true);
287
+ fishSuccess(`${channel} configured`);
288
+ }
289
+ }
290
+ }
291
+ // ─── Finalize ─────────────────────────────────────────────
292
+ config.completeFirstRun();
293
+ resetRouter();
294
+ const status = config.getStatus();
295
+ const enabledProviders = config.getEnabledProviders();
296
+ console.log('');
297
+ fishBox('βœ… Setup Complete', [
298
+ '',
299
+ ` ${chalk.hex('#818cf8')('Provider:')} ${chalk.hex('#34d399')(PROVIDER_LABELS[status.provider] || status.provider)}`,
300
+ ` ${chalk.hex('#818cf8')('Model:')} ${chalk.hex('#34d399')(status.model)}`,
301
+ ` ${chalk.hex('#818cf8')('Fallback:')} ${chalk.hex('#34d399')(status.fallback || chalk.dim('none'))}`,
302
+ ` ${chalk.hex('#818cf8')('Auth:')} ${chalk.hex('#34d399')(status.authRoute === 'env_var' ? 'Environment variable' : status.authRoute === 'api_key' ? 'Config file' : 'Not configured')}`,
303
+ '',
304
+ chalk.dim(' Get started:'),
305
+ chalk.hex('#818cf8')(' azerclaw ') + chalk.dim('β€” Launch interactive session'),
306
+ chalk.hex('#818cf8')(' azerclaw run "task" ') + chalk.dim('β€” Execute a task directly'),
307
+ chalk.hex('#818cf8')(' azerclaw config ') + chalk.dim('β€” View/change settings'),
308
+ chalk.hex('#818cf8')(' azerclaw doctor ') + chalk.dim('β€” Health check'),
309
+ '',
310
+ chalk.dim(' In-session commands:'),
311
+ chalk.hex('#818cf8')(' /model ') + chalk.dim('β€” Switch model'),
312
+ chalk.hex('#818cf8')(' /provider ') + chalk.dim('β€” Switch provider'),
313
+ chalk.hex('#818cf8')(' /config ') + chalk.dim('β€” Settings menu'),
314
+ chalk.hex('#818cf8')(' /status ') + chalk.dim('β€” Current status'),
315
+ chalk.hex('#818cf8')(' /help ') + chalk.dim('β€” All commands'),
32
316
  '',
33
- LUXE('BYOK β€” Bring Your Own Key β€” Zero platform fees'),
34
317
  ]);
35
318
  console.log('');
36
- // Provider selection
37
- const { providers } = await new Enquirer.MultiSelect({
319
+ }
320
+ // ─── Helper: Configure Providers ────────────────────────────────
321
+ async function configureProviders(config, alreadyConfigured) {
322
+ const availableProviders = PROVIDERS.filter(p => !alreadyConfigured.includes(p.value));
323
+ const selected = await new Enquirer.MultiSelect({
38
324
  name: 'providers',
39
325
  message: OCEAN('Which AI providers would you like to configure?'),
40
- choices: PROVIDERS.map(p => ({
326
+ choices: availableProviders.map((p) => ({
41
327
  name: p.value,
42
328
  message: `${p.name}`,
43
329
  hint: chalk.dim(p.hint),
44
330
  })),
45
331
  result(names) { return names; },
46
- }).run().catch(() => ({ providers: [] }));
47
- if (!providers || providers.length === 0) {
48
- fishWarnMsg('No providers selected. You can configure later with: azerclaw config set ai.providers.<name>.apiKey <key>');
332
+ }).run().catch(() => []);
333
+ if (!selected || selected.length === 0) {
334
+ if (alreadyConfigured.length === 0) {
335
+ fishWarn('No providers configured. You can add them later with: azerclaw config provider');
336
+ }
49
337
  return;
50
338
  }
51
- // Configure each provider
52
- for (const providerValue of providers) {
53
- const provider = PROVIDERS.find(p => p.value === providerValue);
339
+ for (const providerValue of selected) {
340
+ const provider = PROVIDERS.find((p) => p.value === providerValue);
54
341
  if (!provider)
55
342
  continue;
56
343
  console.log('');
57
344
  console.log(LUXE(` ─── ${provider.name} ───`));
58
345
  if (provider.value === 'ollama') {
59
- const { baseUrl } = await new Enquirer.Input({
346
+ const baseUrl = await new Enquirer.Input({
60
347
  name: 'baseUrl',
61
348
  message: 'Ollama base URL:',
62
349
  initial: 'http://localhost:11434',
63
- }).run().then((val) => ({ baseUrl: val })).catch(() => ({ baseUrl: 'http://localhost:11434' }));
350
+ }).run().catch(() => 'http://localhost:11434');
64
351
  config.set(`ai.providers.ollama.baseUrl`, baseUrl);
65
352
  config.set(`ai.providers.ollama.enabled`, true);
66
353
  fishSuccess(`Ollama configured at ${baseUrl}`);
67
354
  continue;
68
355
  }
356
+ if (provider.value === 'lmstudio') {
357
+ const baseUrl = await new Enquirer.Input({
358
+ name: 'baseUrl',
359
+ message: 'LM Studio base URL:',
360
+ initial: 'http://localhost:1234/v1',
361
+ }).run().catch(() => 'http://localhost:1234/v1');
362
+ config.set(`ai.providers.lmstudio.baseUrl`, baseUrl);
363
+ config.set(`ai.providers.lmstudio.enabled`, true);
364
+ const model = await new Enquirer.Input({
365
+ message: 'Default model name (or leave blank for auto):',
366
+ initial: '',
367
+ }).run().catch(() => '');
368
+ if (model)
369
+ config.set(`ai.providers.lmstudio.defaultModel`, model);
370
+ fishSuccess(`LM Studio configured at ${baseUrl}`);
371
+ continue;
372
+ }
373
+ if (provider.value === 'localai') {
374
+ const baseUrl = await new Enquirer.Input({
375
+ name: 'baseUrl',
376
+ message: 'LocalAI base URL:',
377
+ initial: 'http://localhost:8080/v1',
378
+ }).run().catch(() => 'http://localhost:8080/v1');
379
+ config.set(`ai.providers.localai.baseUrl`, baseUrl);
380
+ config.set(`ai.providers.localai.enabled`, true);
381
+ const model = await new Enquirer.Input({
382
+ message: 'Default model name (or leave blank for auto):',
383
+ initial: '',
384
+ }).run().catch(() => '');
385
+ if (model)
386
+ config.set(`ai.providers.localai.defaultModel`, model);
387
+ fishSuccess(`LocalAI configured at ${baseUrl}`);
388
+ continue;
389
+ }
69
390
  if (provider.value === 'custom') {
70
391
  const baseUrl = await new Enquirer.Input({
71
392
  message: 'API Base URL:',
@@ -100,79 +421,50 @@ async function runOnboard() {
100
421
  fishError(`${provider.name} skipped`);
101
422
  }
102
423
  }
103
- // Select default provider
104
- const enabledProviders = config.getEnabledProviders();
105
- if (enabledProviders.length > 1) {
424
+ // Select default provider if multiple are now enabled
425
+ const allEnabled = config.getEnabledProviders();
426
+ if (allEnabled.length > 1) {
106
427
  console.log('');
107
- const { defaultProvider } = await new Enquirer.Select({
428
+ const defaultProvider = await new Enquirer.Select({
108
429
  name: 'defaultProvider',
109
- message: OCEAN('Select your default AI provider:'),
110
- choices: enabledProviders.map((p) => ({
430
+ message: OCEAN('Select your primary AI provider:'),
431
+ choices: allEnabled.map((p) => ({
111
432
  name: p.name,
112
- message: PROVIDERS.find(pr => pr.value === p.name)?.name || p.name,
433
+ message: PROVIDER_LABELS[p.name] || p.name,
113
434
  })),
114
- }).run().then((val) => ({ defaultProvider: val })).catch(() => ({ defaultProvider: enabledProviders[0].name }));
435
+ }).run().catch(() => allEnabled[0].name);
115
436
  config.set('ai.defaultProvider', defaultProvider);
437
+ // Configure fallback
438
+ await configureFallback(config, allEnabled.map((p) => p.name));
116
439
  }
117
- // Agent settings
118
- console.log('');
119
- fishBox('βš™οΈ Agent Settings', [
120
- chalk.dim('Configure how your AI agent behaves'),
121
- ]);
122
- const { agentName } = await new Enquirer.Input({
123
- name: 'agentName',
124
- message: 'Agent name:',
125
- initial: 'Azerclaw',
126
- }).run().then((val) => ({ agentName: val })).catch(() => ({ agentName: 'Azerclaw' }));
127
- config.set('agent.name', agentName);
128
- config.completeFirstRun();
129
- // Channels settings
130
- console.log('');
131
- fishBox('πŸ“‘ Channel Integrations', [
132
- chalk.dim('Connect AZERCLAW to your favorite messengers (optional)'),
133
- ]);
134
- const { configureChannels } = await new Enquirer.Confirm({
135
- name: 'configureChannels',
136
- message: OCEAN('Would you like to configure Discord, Telegram, or Slack bots?'),
137
- initial: false,
138
- }).run().then((val) => ({ configureChannels: val })).catch(() => ({ configureChannels: false }));
139
- if (configureChannels) {
140
- const { channels } = await new Enquirer.MultiSelect({
141
- name: 'channels',
142
- message: 'Select channels to configure:',
143
- choices: ['Discord', 'Telegram', 'Slack'],
144
- }).run().catch(() => ({ channels: [] }));
145
- for (const channel of channels) {
146
- const channelKey = channel.toLowerCase();
147
- const token = await new Enquirer.Password({
148
- message: `${channel} Bot Token:`,
149
- }).run().catch(() => '');
150
- if (token) {
151
- config.set(`channels.${channelKey}.token`, token);
152
- config.set(`channels.${channelKey}.enabled`, true);
153
- fishSuccess(`${channel} configured`);
154
- }
155
- }
156
- }
157
- // Final summary
158
- console.log('');
159
- fishBox('βœ… Setup Complete', [
160
- LUXE(`Agent: ${agentName}`),
161
- chalk.hex('#60a5fa')(`Providers: ${enabledProviders.map((p) => p.name).join(', ')}`),
162
- chalk.hex('#34d399')(`Default: ${config.getAll().ai.defaultProvider}`),
163
- '',
164
- chalk.dim('Get started:'),
165
- chalk.hex('#818cf8')(' azerclaw chat β€” Interactive chat'),
166
- chalk.hex('#818cf8')(' azerclaw run β€” Execute a task'),
167
- chalk.hex('#818cf8')(' azerclaw tui β€” Premium terminal UI'),
168
- chalk.hex('#818cf8')(' azerclaw doctor β€” Health check'),
169
- ]);
170
- console.log('');
171
440
  }
172
- function fishWarnMsg(msg) {
173
- const chalk = require('chalk');
174
- const gradientString = require('gradient-string');
175
- console.log(gradientString(['#f59e0b', '#f97316'])(` ><(((º>`) + chalk.hex('#fbbf24')(` ⚠ ${msg}`));
441
+ // ─── Helper: Configure Fallback ─────────────────────────────────
442
+ async function configureFallback(config, enabledProviders) {
443
+ const defaultProvider = config.getAll().ai.defaultProvider;
444
+ const fallbackCandidates = enabledProviders.filter((p) => p !== defaultProvider);
445
+ if (fallbackCandidates.length === 0)
446
+ return;
447
+ console.log('');
448
+ const configureFb = await new Enquirer.Confirm({
449
+ name: 'configureFallback',
450
+ message: OCEAN('Configure a fallback provider? (used when primary fails)'),
451
+ initial: true,
452
+ }).run().catch(() => false);
453
+ if (!configureFb)
454
+ return;
455
+ const fallbackProvider = await new Enquirer.Select({
456
+ name: 'fallback',
457
+ message: OCEAN('Select fallback provider:'),
458
+ choices: fallbackCandidates.map((p) => ({
459
+ name: p,
460
+ message: `${PROVIDER_LABELS[p] || p}`,
461
+ hint: chalk.dim(config.getAll().ai.providers[p]?.defaultModel || ''),
462
+ })),
463
+ }).run().catch(() => fallbackCandidates[0]);
464
+ // Put fallback provider right after the default in the chain
465
+ const chain = [defaultProvider, fallbackProvider, ...enabledProviders.filter((p) => p !== defaultProvider && p !== fallbackProvider)];
466
+ config.setFallbackChain(chain);
467
+ fishSuccess(`Fallback: ${PROVIDER_LABELS[fallbackProvider] || fallbackProvider}`);
176
468
  }
177
469
  module.exports = { runOnboard };
178
470
  //# sourceMappingURL=onboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../../src/cli/commands/onboard.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAsBH,gCAwKC;AA5LD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/B,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC7D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE3G,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAC1E,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhE,MAAM,SAAS,GAAG;IAChB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,EAAE,SAAS,EAAE,KAAK,EAAE;IAC3F,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAE,SAAS,EAAE;IACvG,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,IAAI,EAAE;IACzF,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,EAAE,SAAS,EAAE,MAAM,EAAE;IAC/F,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE;IAClF,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,QAAQ,EAAE;IACjG,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,EAAE,SAAS,EAAE,EAAE,EAAE;IAC9F,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,EAAE;CAC7F,CAAC;AAEK,KAAK,UAAU,UAAU;IAC9B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,0BAA0B,EAAE;QAClC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC;QACzD,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC;QAC/D,EAAE;QACF,IAAI,CAAC,gDAAgD,CAAC;KACvD,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,qBAAqB;IACrB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC;QACnD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,KAAK,CAAC,iDAAiD,CAAC;QACjE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,KAAK;YACb,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;YACpB,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC;QACH,MAAM,CAAC,KAAe,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC;KAC1C,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE1C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,WAAW,CAAC,2GAA2G,CAAC,CAAC;QACzH,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,KAAK,MAAM,aAAa,IAAI,SAAS,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;QAEhD,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC;gBAC3C,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,kBAAkB;gBAC3B,OAAO,EAAE,wBAAwB;aAClC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;YAExG,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;YAChD,WAAW,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;YAC/C,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC;gBACvC,OAAO,EAAE,eAAe;gBACxB,OAAO,EAAE,4BAA4B;aACtC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC;gBACzC,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC;gBACrC,OAAO,EAAE,qBAAqB;aAC/B,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzB,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBACtD,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;gBAChD,WAAW,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;YACD,SAAS;QACX,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC;YACzC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,WAAW;YACpC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACzF,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAY,EAAE,MAAM,CAAC,CAAC;YACrD,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,aAAa,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACtD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;YACpD,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,KAAK,CAAC,kCAAkC,CAAC;YAClD,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI;aACnE,CAAC,CAAC;SACJ,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAExH,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,mBAAmB,EAAE;QAC3B,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC;KACjD,CAAC,CAAC;IAEH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC;QAC7C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAE9F,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACpC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAE1B,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,yBAAyB,EAAE;QACjC,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC;KACrE,CAAC,CAAC;IAEH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC;QACvD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAK,CAAC,+DAA+D,CAAC;QAC/E,OAAO,EAAE,KAAK;KACf,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE1G,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC;YAClD,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,+BAA+B;YACxC,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC;SAC1C,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC;gBACxC,OAAO,EAAE,GAAG,OAAO,aAAa;aACjC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,CAAC,YAAY,UAAU,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAClD,MAAM,CAAC,GAAG,CAAC,YAAY,UAAU,UAAU,EAAE,IAAI,CAAC,CAAC;gBACnD,WAAW,CAAC,GAAG,OAAO,aAAa,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,kBAAkB,EAAE;QAC1B,IAAI,CAAC,UAAU,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;QACtE,EAAE;QACF,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,uCAAuC,CAAC;QAC7D,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,qCAAqC,CAAC;QAC3D,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0CAA0C,CAAC;QAChE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mCAAmC,CAAC;KAC1D,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDzG"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDzG"}
@@ -8,12 +8,10 @@ exports.runTask = runTask;
8
8
  const chalk = require('chalk');
9
9
  const gradientString = require('gradient-string');
10
10
  const { AgentRuntime } = require('../../core/runtime');
11
- const { registerAllTools } = require('./chat');
12
11
  const { FishThinkingAnimation, fishSuccess, fishError, fishBox } = require('../animations/fish');
13
12
  const LUXE = gradientString(['#c084fc', '#818cf8', '#60a5fa', '#34d399']);
14
13
  const OCEAN = gradientString(['#0ea5e9', '#06b6d4', '#14b8a6']);
15
14
  async function runTask(task, options) {
16
- registerAllTools();
17
15
  const thinking = new FishThinkingAnimation('Working');
18
16
  let isThinking = false;
19
17
  let toolCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}