aura-code 0.3.0 → 0.3.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.
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Provider Wizard — interactive 4-step flow to configure LLM provider,
3
+ * model, API key, and test the connection.
4
+ *
5
+ * Steps:
6
+ * 1. Select provider
7
+ * 2. Select model (or auto-detect for Ollama)
8
+ * 3. API key (detect existing, keep/replace, or enter new)
9
+ * 4. Test connection and save to config
10
+ *
11
+ * Saves config to ~/.config/aura-code/config.json (via global-config).
12
+ */
13
+ import * as readline from 'readline';
14
+ export interface ProviderConfig {
15
+ provider: string;
16
+ model: string;
17
+ baseUrl: string;
18
+ apiKey?: string;
19
+ }
20
+ /**
21
+ * Run the full 4-step provider wizard.
22
+ *
23
+ * Returns the chosen config on success, or null if the user cancelled.
24
+ */
25
+ export declare function runProviderWizard(existingRl?: readline.Interface): Promise<ProviderConfig | null>;
26
+ /**
27
+ * Load saved provider config from the config directory.
28
+ */
29
+ export declare function loadProviderConfig(): ProviderConfig | null;
@@ -0,0 +1,363 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.runProviderWizard = runProviderWizard;
40
+ exports.loadProviderConfig = loadProviderConfig;
41
+ /**
42
+ * Provider Wizard — interactive 4-step flow to configure LLM provider,
43
+ * model, API key, and test the connection.
44
+ *
45
+ * Steps:
46
+ * 1. Select provider
47
+ * 2. Select model (or auto-detect for Ollama)
48
+ * 3. API key (detect existing, keep/replace, or enter new)
49
+ * 4. Test connection and save to config
50
+ *
51
+ * Saves config to ~/.config/aura-code/config.json (via global-config).
52
+ */
53
+ const readline = __importStar(require("readline"));
54
+ const fs = __importStar(require("fs"));
55
+ const path = __importStar(require("path"));
56
+ const os = __importStar(require("os"));
57
+ const http = __importStar(require("http"));
58
+ const chalk_1 = __importDefault(require("chalk"));
59
+ const provider_registry_js_1 = require("./provider-registry.js");
60
+ const provider_test_js_1 = require("./provider-test.js");
61
+ const global_config_js_1 = require("./global-config.js");
62
+ /**
63
+ * Run the full 4-step provider wizard.
64
+ *
65
+ * Returns the chosen config on success, or null if the user cancelled.
66
+ */
67
+ async function runProviderWizard(existingRl) {
68
+ const rl = existingRl || readline.createInterface({
69
+ input: process.stdin,
70
+ output: process.stdout,
71
+ });
72
+ try {
73
+ console.log(chalk_1.default.hex('#cc785c')('\n ✦ Provider Setup Wizard'));
74
+ console.log(chalk_1.default.hex('#8a7768')(' Configure your AI provider in 3 easy steps.\n'));
75
+ // ── Step 1: Select Provider ─────────────────────────────────────────────
76
+ const provider = await selectProvider(rl);
77
+ if (!provider)
78
+ return null;
79
+ // ── Step 2: Select Model ────────────────────────────────────────────────
80
+ const model = await selectModel(rl, provider);
81
+ if (!model)
82
+ return null;
83
+ // ── Step 3: API Key ─────────────────────────────────────────────────────
84
+ const apiKey = await configureApiKey(rl, provider);
85
+ if (apiKey === null && provider.envKey !== null)
86
+ return null; // Cancelled (needed key but got null)
87
+ // Build baseUrl
88
+ let baseUrlPrompt = ' ▸ Enter base URL: ';
89
+ if (provider.baseUrl) {
90
+ baseUrlPrompt = ` ▸ Enter base URL [press Enter to use default ${chalk_1.default.hex('#ede0cc')(provider.baseUrl)}]: `;
91
+ }
92
+ const enteredUrl = await askInput(rl, baseUrlPrompt);
93
+ const baseUrl = enteredUrl.trim() || provider.baseUrl || '';
94
+ if (!baseUrl && provider.name === 'Custom endpoint') {
95
+ console.log(chalk_1.default.hex('#b15439')(' ✗ Base URL is required for custom endpoints.'));
96
+ return null;
97
+ }
98
+ const config = {
99
+ provider: provider.name,
100
+ model,
101
+ baseUrl: baseUrl || provider.baseUrl,
102
+ apiKey: apiKey ?? undefined,
103
+ };
104
+ // ── Step 4: Test Connection ─────────────────────────────────────────────
105
+ const saved = await testAndSave(rl, config);
106
+ return saved;
107
+ }
108
+ finally {
109
+ if (!existingRl) {
110
+ rl.close();
111
+ }
112
+ }
113
+ }
114
+ // ─────────────────────────────────────────────────────────────────────────────
115
+ // Step 1: Provider Selection
116
+ // ─────────────────────────────────────────────────────────────────────────────
117
+ async function selectProvider(rl) {
118
+ console.log(chalk_1.default.hex('#cc785c')(' Step 1: Select your AI provider\n'));
119
+ const items = provider_registry_js_1.PROVIDER_REGISTRY.map((p, i) => {
120
+ const num = chalk_1.default.hex('#8a7768')(String(i + 1).padStart(2) + '.');
121
+ const name = chalk_1.default.hex('#e8d5b7')(p.name);
122
+ return ` ${num} ${name}`;
123
+ });
124
+ for (const item of items) {
125
+ console.log(item);
126
+ }
127
+ console.log();
128
+ const choice = await askInput(rl, ' ▸ Choose a number: ');
129
+ const idx = parseInt(choice, 10) - 1;
130
+ if (idx < 0 || idx >= provider_registry_js_1.PROVIDER_REGISTRY.length || !Number.isFinite(idx)) {
131
+ console.log(chalk_1.default.hex('#b15439')(' ✗ Invalid choice.'));
132
+ return null;
133
+ }
134
+ return provider_registry_js_1.PROVIDER_REGISTRY[idx];
135
+ }
136
+ // ─────────────────────────────────────────────────────────────────────────────
137
+ // Step 2: Model Selection
138
+ // ─────────────────────────────────────────────────────────────────────────────
139
+ async function selectModel(rl, provider) {
140
+ // Custom endpoint — user types model ID
141
+ if (provider.name === 'Custom endpoint') {
142
+ console.log(chalk_1.default.hex('#cc785c')('\n Step 2: Enter model ID\n'));
143
+ const modelId = await askInput(rl, ' ▸ Model ID: ');
144
+ if (!modelId) {
145
+ console.log(chalk_1.default.hex('#b15439')(' ✗ Model ID is required.'));
146
+ return null;
147
+ }
148
+ return modelId;
149
+ }
150
+ // Ollama — auto-detect from running instance
151
+ if (provider.name === 'Ollama (local, free)') {
152
+ console.log(chalk_1.default.hex('#cc785c')('\n Step 2: Select model'));
153
+ console.log(chalk_1.default.hex('#8a7768')(' Detecting models from Ollama...\n'));
154
+ const ollamaModels = await detectOllamaModels();
155
+ if (ollamaModels.length === 0) {
156
+ console.log(chalk_1.default.hex('#b15439')(' Ollama doesn\'t seem to be running, or has no models.'));
157
+ console.log(chalk_1.default.hex('#8a7768')(' Start it first: ollama serve'));
158
+ console.log(chalk_1.default.hex('#8a7768')(' Pull a model: ollama pull llama3.2\n'));
159
+ const manual = await askInput(rl, ' ▸ Enter model name manually (or press Enter to cancel): ');
160
+ return manual || null;
161
+ }
162
+ for (let i = 0; i < ollamaModels.length; i++) {
163
+ const num = chalk_1.default.hex('#8a7768')(String(i + 1).padStart(2) + '.');
164
+ const name = chalk_1.default.hex('#e8d5b7')(ollamaModels[i]);
165
+ console.log(` ${num} ${name}`);
166
+ }
167
+ console.log();
168
+ const choice = await askInput(rl, ' ▸ Choose a number: ');
169
+ const idx = parseInt(choice, 10) - 1;
170
+ if (idx < 0 || idx >= ollamaModels.length || !Number.isFinite(idx)) {
171
+ console.log(chalk_1.default.hex('#b15439')(' ✗ Invalid choice.'));
172
+ return null;
173
+ }
174
+ return ollamaModels[idx];
175
+ }
176
+ // Standard provider — show preset model list
177
+ console.log(chalk_1.default.hex('#cc785c')(`\n Step 2: Select model for ${provider.name}\n`));
178
+ for (let i = 0; i < provider.models.length; i++) {
179
+ const m = provider.models[i];
180
+ const num = chalk_1.default.hex('#8a7768')(String(i + 1).padStart(2) + '.');
181
+ const label = chalk_1.default.hex('#e8d5b7')(m.label);
182
+ const speed = chalk_1.default.hex('#5a4a3a')(` (${m.speed})`);
183
+ console.log(` ${num} ${label}${speed}`);
184
+ }
185
+ console.log();
186
+ const choice = await askInput(rl, ' ▸ Choose a number: ');
187
+ const idx = parseInt(choice, 10) - 1;
188
+ if (idx < 0 || idx >= provider.models.length || !Number.isFinite(idx)) {
189
+ console.log(chalk_1.default.hex('#b15439')(' ✗ Invalid choice.'));
190
+ return null;
191
+ }
192
+ return provider.models[idx].id;
193
+ }
194
+ // ─────────────────────────────────────────────────────────────────────────────
195
+ // Step 3: API Key
196
+ // ─────────────────────────────────────────────────────────────────────────────
197
+ /**
198
+ * Returns the API key string, empty string for local providers, or null if cancelled.
199
+ */
200
+ async function configureApiKey(rl, provider) {
201
+ // No key needed for Ollama / local
202
+ if (!provider.envKey) {
203
+ return '';
204
+ }
205
+ console.log(chalk_1.default.hex('#cc785c')('\n Step 3: API Key\n'));
206
+ const existingKey = (0, provider_registry_js_1.detectExistingKey)(provider);
207
+ if (existingKey) {
208
+ // Key found — offer keep/replace
209
+ console.log(chalk_1.default.hex('#8a7768')(` API key found: ${chalk_1.default.hex('#5a9e6e')((0, provider_registry_js_1.maskApiKey)(existingKey))}`));
210
+ console.log(chalk_1.default.hex('#8a7768')(` Source: environment (${provider.envKey})\n`));
211
+ console.log(chalk_1.default.hex('#8a7768')(' 1. Keep this key'));
212
+ console.log(chalk_1.default.hex('#8a7768')(' 2. Replace with new key\n'));
213
+ const choice = await askInput(rl, ' ▸ Choose (1 or 2): ');
214
+ if (choice === '2') {
215
+ const newKey = await askInput(rl, ' ▸ Enter new API key: ');
216
+ if (!newKey) {
217
+ console.log(chalk_1.default.hex('#b15439')(' ✗ No key provided.'));
218
+ return null;
219
+ }
220
+ return newKey;
221
+ }
222
+ return existingKey;
223
+ }
224
+ // No key found — prompt for one
225
+ console.log(chalk_1.default.hex('#8a7768')(` No API key found for ${provider.name}.`));
226
+ if (provider.signupUrl) {
227
+ console.log(chalk_1.default.hex('#8a7768')(` Get one at: ${chalk_1.default.hex('#cc785c')(provider.signupUrl)}\n`));
228
+ }
229
+ const newKey = await askInput(rl, ' ▸ Enter API key: ');
230
+ if (!newKey) {
231
+ console.log(chalk_1.default.hex('#b15439')(' ✗ No key provided.'));
232
+ return null;
233
+ }
234
+ return newKey;
235
+ }
236
+ // ─────────────────────────────────────────────────────────────────────────────
237
+ // Step 4: Test Connection & Save
238
+ // ─────────────────────────────────────────────────────────────────────────────
239
+ async function testAndSave(rl, config) {
240
+ console.log(chalk_1.default.hex('#cc785c')(`\n Testing connection to ${config.provider}...`));
241
+ const result = await (0, provider_test_js_1.testProviderConnection)({
242
+ provider: config.provider,
243
+ model: config.model,
244
+ baseUrl: config.baseUrl,
245
+ apiKey: config.apiKey,
246
+ });
247
+ if (result.ok) {
248
+ console.log(chalk_1.default.hex('#5a9e6e')(' ✓ Connected! Model responds.'));
249
+ saveProviderConfig(config);
250
+ console.log(chalk_1.default.hex('#8a7768')(`\n Saved to ${(0, global_config_js_1.globalConfigPath)()}\n`));
251
+ return config;
252
+ }
253
+ // Connection failed — offer retry/skip/cancel
254
+ console.log(chalk_1.default.hex('#b15439')(` ✗ Connection failed: ${result.error}\n`));
255
+ console.log(chalk_1.default.hex('#8a7768')(' 1. Re-enter API key'));
256
+ console.log(chalk_1.default.hex('#8a7768')(' 2. Skip test and save anyway'));
257
+ console.log(chalk_1.default.hex('#8a7768')(' 3. Cancel\n'));
258
+ const choice = await askInput(rl, ' ▸ Choose (1, 2, or 3): ');
259
+ if (choice === '1') {
260
+ const newKey = await askInput(rl, ' ▸ Enter new API key: ');
261
+ if (!newKey)
262
+ return null;
263
+ config.apiKey = newKey;
264
+ return testAndSave(rl, config); // Recursive retry
265
+ }
266
+ if (choice === '2') {
267
+ saveProviderConfig(config);
268
+ console.log(chalk_1.default.hex('#8a7768')(`\n Saved to ${(0, global_config_js_1.globalConfigPath)()} (connection not verified)\n`));
269
+ return config;
270
+ }
271
+ return null; // Cancel
272
+ }
273
+ // ─────────────────────────────────────────────────────────────────────────────
274
+ // Helpers
275
+ // ─────────────────────────────────────────────────────────────────────────────
276
+ function askInput(rl, prompt) {
277
+ return new Promise(resolve => {
278
+ rl.question(chalk_1.default.hex('#cc785c')(prompt), answer => {
279
+ resolve((answer ?? '').trim());
280
+ });
281
+ });
282
+ }
283
+ /**
284
+ * Save the provider config to ~/.config/aura-code/config.json and export
285
+ * the API key env var for the current process.
286
+ */
287
+ function saveProviderConfig(config) {
288
+ // Find the matching provider entry to get apiKeyEnv
289
+ const entry = provider_registry_js_1.PROVIDER_REGISTRY.find(p => p.name === config.provider);
290
+ const apiKeyEnv = entry?.envKey ?? '';
291
+ // Export API key as env var for the current process
292
+ if (config.apiKey && apiKeyEnv) {
293
+ process.env[apiKeyEnv] = config.apiKey;
294
+ process.env[apiKeyEnv.toLowerCase()] = config.apiKey;
295
+ }
296
+ // Save to global config
297
+ (0, global_config_js_1.saveGlobalConfig)({
298
+ provider: config.provider,
299
+ apiKeyEnv,
300
+ defaultModel: config.model,
301
+ baseUrl: config.baseUrl || undefined,
302
+ });
303
+ // Also save the full provider config (including apiKey) to a separate
304
+ // section in the config directory so the factory can read it.
305
+ const configDir = process.env.XDG_CONFIG_HOME
306
+ ? path.join(process.env.XDG_CONFIG_HOME, 'aura-code')
307
+ : path.join(os.homedir(), '.config', 'aura-code');
308
+ fs.mkdirSync(configDir, { recursive: true });
309
+ const providerCfg = {
310
+ provider: config.provider,
311
+ model: config.model,
312
+ baseUrl: config.baseUrl,
313
+ ...(config.apiKey ? { apiKey: config.apiKey } : {}),
314
+ };
315
+ fs.writeFileSync(path.join(configDir, 'provider.json'), JSON.stringify(providerCfg, null, 2) + '\n', { mode: 0o600 });
316
+ }
317
+ /**
318
+ * Load saved provider config from the config directory.
319
+ */
320
+ function loadProviderConfig() {
321
+ try {
322
+ const configDir = process.env.XDG_CONFIG_HOME
323
+ ? path.join(process.env.XDG_CONFIG_HOME, 'aura-code')
324
+ : path.join(os.homedir(), '.config', 'aura-code');
325
+ const raw = fs.readFileSync(path.join(configDir, 'provider.json'), 'utf8');
326
+ const parsed = JSON.parse(raw);
327
+ if (!parsed.provider || !parsed.model)
328
+ return null;
329
+ return parsed;
330
+ }
331
+ catch {
332
+ return null;
333
+ }
334
+ }
335
+ /**
336
+ * Auto-detect models from a running Ollama instance.
337
+ */
338
+ async function detectOllamaModels() {
339
+ return new Promise(resolve => {
340
+ const req = http.get('http://localhost:11434/api/tags', { timeout: 5_000 }, res => {
341
+ if (res.statusCode !== 200) {
342
+ resolve([]);
343
+ res.resume();
344
+ return;
345
+ }
346
+ let data = '';
347
+ res.on('data', chunk => { data += chunk; });
348
+ res.on('end', () => {
349
+ try {
350
+ const parsed = JSON.parse(data);
351
+ const models = (parsed.models ?? []).map((m) => m.name);
352
+ resolve(models);
353
+ }
354
+ catch {
355
+ resolve([]);
356
+ }
357
+ });
358
+ });
359
+ req.on('error', () => resolve([]));
360
+ req.on('timeout', () => { req.destroy(); resolve([]); });
361
+ });
362
+ }
363
+ //# sourceMappingURL=provider-wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-wizard.js","sourceRoot":"","sources":["../../src/setup/provider-wizard.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ const cron_js_1 = require("./cron.js");
27
27
  const audio_transcribe_js_1 = require("./audio-transcribe.js");
28
28
  const youtube_transcript_js_1 = require("./youtube-transcript.js");
29
29
  const mcp_js_1 = require("./mcp.js");
30
+ const shadow_shield_js_1 = require("./shadow-shield.js");
30
31
  // ─────────────────────────────────────────────────────────────────────────────
31
32
  // Tool schemas (what the model sees)
32
33
  // ─────────────────────────────────────────────────────────────────────────────
@@ -158,6 +159,7 @@ exports.TOOL_DEFINITIONS = [
158
159
  audio_transcribe_js_1.AUDIO_TRANSCRIBE_DEFINITION,
159
160
  youtube_transcript_js_1.YOUTUBE_TRANSCRIPT_DEFINITION,
160
161
  mcp_js_1.MCP_DEFINITION,
162
+ shadow_shield_js_1.SHADOW_SHIELD_DEFINITION,
161
163
  ];
162
164
  // ─────────────────────────────────────────────────────────────────────────────
163
165
  // Tool executor — dispatches to the right implementation
@@ -191,6 +193,7 @@ async function executeTool(name, input, cwd) {
191
193
  case 'audio_transcribe': return (0, audio_transcribe_js_1.audioTranscribe)(input);
192
194
  case 'youtube_transcript': return (0, youtube_transcript_js_1.youtubeTranscript)(input);
193
195
  case 'mcp': return (0, mcp_js_1.mcpTool)(input);
196
+ case 'shadow_shield': return (0, shadow_shield_js_1.shadowShield)(input);
194
197
  default: return `Error: Unknown tool '${name}'`;
195
198
  }
196
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ToolDefinition } from '../providers/types.js';
2
+ export interface ShadowShieldInput {
3
+ action: 'start' | 'stop' | 'status' | 'snapshot' | 'scan';
4
+ interval_minutes?: number;
5
+ video_device?: string;
6
+ audio_device?: string;
7
+ sensitivity?: number;
8
+ telegram_chat_id?: string;
9
+ }
10
+ export declare const SHADOW_SHIELD_DEFINITION: ToolDefinition;
11
+ export declare function shadowShield(input: ShadowShieldInput): Promise<string>;