musonda 1.0.18 → 1.0.19
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.
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
import { MusondaConfig } from '../config/types.js';
|
|
2
2
|
export declare const BANNER = "\n\u001B[36m\n\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \n\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\n\u2588\u2588\u2554\u2588\u2588\u2588\u2588\u2554\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\n\u2588\u2588\u2551\u255A\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u255A\u2550\u2550\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\n\u2588\u2588\u2551 \u255A\u2550\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2551\n\u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D\n\u001B[0m\n\u001B[1m\u001B[35m=== Musonda Personal AI Assistant & Gateway Harness ===\u001B[0m\n\u001B[2mBring your own model \u2014 OpenAI, Anthropic, Gemini, Ollama, LM Studio, OpenRouter & more\u001B[0m\n";
|
|
3
|
+
/** Minimum accepted gateway API key length (matches production readiness check). */
|
|
4
|
+
export declare const GATEWAY_API_KEY_MIN_LENGTH = 24;
|
|
5
|
+
/**
|
|
6
|
+
* Validate a gateway API key the same way production readiness does:
|
|
7
|
+
* empty = no auth (valid for local dev), otherwise >= 24 chars and not a placeholder.
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateGatewayApiKey(raw: string): {
|
|
10
|
+
valid: boolean;
|
|
11
|
+
reason?: string;
|
|
12
|
+
};
|
|
13
|
+
/** Generate a strong random gateway API key (64 hex chars, 256 bits). */
|
|
14
|
+
export declare function generateGatewayApiKey(): string;
|
|
3
15
|
export declare function runOnboardingWizard(): Promise<MusondaConfig>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import readline from 'node:readline/promises';
|
|
2
2
|
import { stdin as input, stdout as output } from 'node:process';
|
|
3
|
+
import crypto from 'node:crypto';
|
|
3
4
|
import { configLoader } from '../config/loader.js';
|
|
4
5
|
import { defaultMedia } from '../config/types.js';
|
|
5
6
|
import { MemoryManager } from '../memory/memoryManager.js';
|
|
@@ -19,6 +20,44 @@ export const BANNER = `
|
|
|
19
20
|
\x1b[1m\x1b[35m=== Musonda Personal AI Assistant & Gateway Harness ===\x1b[0m
|
|
20
21
|
\x1b[2mBring your own model — OpenAI, Anthropic, Gemini, Ollama, LM Studio, OpenRouter & more\x1b[0m
|
|
21
22
|
`;
|
|
23
|
+
/** Minimum accepted gateway API key length (matches production readiness check). */
|
|
24
|
+
export const GATEWAY_API_KEY_MIN_LENGTH = 24;
|
|
25
|
+
/**
|
|
26
|
+
* Validate a gateway API key the same way production readiness does:
|
|
27
|
+
* empty = no auth (valid for local dev), otherwise >= 24 chars and not a placeholder.
|
|
28
|
+
*/
|
|
29
|
+
export function validateGatewayApiKey(raw) {
|
|
30
|
+
const key = (raw || '').trim();
|
|
31
|
+
if (!key)
|
|
32
|
+
return { valid: true };
|
|
33
|
+
if (key !== raw.trim() || /\s/.test(key)) {
|
|
34
|
+
// inner whitespace or leading/trailing whitespace pasted in
|
|
35
|
+
if (/\s/.test(key))
|
|
36
|
+
return { valid: false, reason: 'Key must not contain spaces or whitespace.' };
|
|
37
|
+
}
|
|
38
|
+
if (key.length < GATEWAY_API_KEY_MIN_LENGTH) {
|
|
39
|
+
return { valid: false, reason: `Key is too short (${key.length} chars). Use at least ${GATEWAY_API_KEY_MIN_LENGTH} characters.` };
|
|
40
|
+
}
|
|
41
|
+
const lower = key.toLowerCase();
|
|
42
|
+
if (lower === 'your_secret_gateway_api_key_here' || lower.startsWith('your_')) {
|
|
43
|
+
return { valid: false, reason: 'Key looks like a placeholder. Generate a random secret instead.' };
|
|
44
|
+
}
|
|
45
|
+
if (lower === 'placeholder-key' || lower === 'changeme' || lower === 'password' || lower === 'test') {
|
|
46
|
+
return { valid: false, reason: 'Key looks like a placeholder. Generate a random secret instead.' };
|
|
47
|
+
}
|
|
48
|
+
return { valid: true };
|
|
49
|
+
}
|
|
50
|
+
/** Generate a strong random gateway API key (64 hex chars, 256 bits). */
|
|
51
|
+
export function generateGatewayApiKey() {
|
|
52
|
+
return crypto.randomBytes(32).toString('hex');
|
|
53
|
+
}
|
|
54
|
+
function maskKey(key) {
|
|
55
|
+
if (!key)
|
|
56
|
+
return '';
|
|
57
|
+
if (key.length <= 8)
|
|
58
|
+
return '****';
|
|
59
|
+
return `****...${key.slice(-4)}`;
|
|
60
|
+
}
|
|
22
61
|
export async function runOnboardingWizard() {
|
|
23
62
|
console.log(BANNER);
|
|
24
63
|
console.log(`Welcome! This onboarding wizard will configure your personal AI assistant,
|
|
@@ -29,45 +68,61 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
29
68
|
// ----------------------------------------------------
|
|
30
69
|
// Step 1: Assistant Identity & Custom Name
|
|
31
70
|
// ----------------------------------------------------
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
71
|
+
// Re-running onboarding must not wipe previous answers: empty input keeps
|
|
72
|
+
// the existing value so a second wizard run preserves prior entries.
|
|
73
|
+
console.log(`\x1b[33m[Step 1/6] Assistant Persona & Identity\x1b[0m`);
|
|
74
|
+
const prevAssistantName = existingConfig.assistant.customName || existingConfig.assistant.name || 'Musonda';
|
|
75
|
+
const customNameInput = await rl.question(`Give a custom name to your assistant [default: ${prevAssistantName}]: `);
|
|
76
|
+
const assistantName = customNameInput.trim() || prevAssistantName;
|
|
77
|
+
const prevAssistantTitle = existingConfig.assistant.title || 'Personal Autonomous AI Companion';
|
|
78
|
+
const titleInput = await rl.question(`What role or title should ${assistantName} have? [default: ${prevAssistantTitle}]: `);
|
|
79
|
+
const assistantTitle = titleInput.trim() || prevAssistantTitle;
|
|
80
|
+
const prevAssistantTone = existingConfig.assistant.tone || 'Empathetic, intelligent, proactive, practical';
|
|
81
|
+
const toneInput = await rl.question(`What personality tone should ${assistantName} express? [default: ${prevAssistantTone}]: `);
|
|
82
|
+
const assistantTone = toneInput.trim() || prevAssistantTone;
|
|
39
83
|
console.log(`\x1b[32mConfigured assistant: ${assistantName} (${assistantTitle})\x1b[0m\n`);
|
|
40
84
|
// ----------------------------------------------------
|
|
41
85
|
// Step 2: About the User
|
|
42
86
|
// ----------------------------------------------------
|
|
43
|
-
console.log(`\x1b[33m[Step 2/
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const
|
|
87
|
+
console.log(`\x1b[33m[Step 2/6] Tell ${assistantName} About Yourself\x1b[0m`);
|
|
88
|
+
const prevUserName = existingConfig.user.name || 'Friend';
|
|
89
|
+
const userNameInput = await rl.question(`What is your name / how should ${assistantName} address you? [default: ${prevUserName}]: `);
|
|
90
|
+
const userName = userNameInput.trim() || prevUserName;
|
|
91
|
+
const prevUserBio = existingConfig.user.bio || '';
|
|
92
|
+
const userBioInput = await rl.question(`Tell ${assistantName} about yourself (profession, interests, projects, goals):\n${prevUserBio ? `[press Enter to keep existing: "${prevUserBio.slice(0, 80)}${prevUserBio.length > 80 ? '...' : ''}"]\n` : ''}> `);
|
|
93
|
+
// Empty input keeps the previous bio so re-running the wizard is non-destructive.
|
|
94
|
+
// (Type "clear" to explicitly wipe the stored bio.)
|
|
95
|
+
const rawBio = userBioInput.trim();
|
|
96
|
+
const userBio = rawBio.toLowerCase() === 'clear' ? '' : (rawBio || prevUserBio);
|
|
48
97
|
const detectedTz = Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC';
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
|
|
98
|
+
const prevTimezone = existingConfig.user.timezone || detectedTz;
|
|
99
|
+
const userTzInput = await rl.question(`What is your timezone? [default: ${prevTimezone}]: `);
|
|
100
|
+
const userTimezone = userTzInput.trim() || prevTimezone;
|
|
101
|
+
const prevStyle = existingConfig.user.communicationStyle || 'friendly';
|
|
102
|
+
console.log(`Choose communication style (current: ${prevStyle}):
|
|
52
103
|
1) Friendly & conversational (Default)
|
|
53
104
|
2) Concise & direct
|
|
54
105
|
3) In-depth & detailed
|
|
55
106
|
4) Highly technical`);
|
|
56
|
-
const styleChoice = await rl.question(`Select style (1-4) [
|
|
57
|
-
let communicationStyle =
|
|
58
|
-
if (styleChoice.trim() === '
|
|
107
|
+
const styleChoice = await rl.question(`Select style (1-4) [press Enter to keep "${prevStyle}"]: `);
|
|
108
|
+
let communicationStyle = prevStyle;
|
|
109
|
+
if (styleChoice.trim() === '1')
|
|
110
|
+
communicationStyle = 'friendly';
|
|
111
|
+
else if (styleChoice.trim() === '2')
|
|
59
112
|
communicationStyle = 'concise';
|
|
60
113
|
else if (styleChoice.trim() === '3')
|
|
61
114
|
communicationStyle = 'detailed';
|
|
62
115
|
else if (styleChoice.trim() === '4')
|
|
63
116
|
communicationStyle = 'technical';
|
|
64
|
-
const
|
|
65
|
-
const
|
|
117
|
+
const prevNotes = existingConfig.user.notes || '';
|
|
118
|
+
const userNotesInput = await rl.question(`Any special instructions or preferences ${assistantName} should always keep in mind?${prevNotes ? ` [press Enter to keep existing]` : ' (optional)'}: `);
|
|
119
|
+
const rawNotes = userNotesInput.trim();
|
|
120
|
+
const userNotes = rawNotes.toLowerCase() === 'clear' ? '' : (rawNotes || prevNotes);
|
|
66
121
|
console.log(`\x1b[32mUser profile set for: ${userName} (${userTimezone}, ${communicationStyle})\x1b[0m\n`);
|
|
67
122
|
// ----------------------------------------------------
|
|
68
123
|
// Step 3: Model Configuration (provider-agnostic)
|
|
69
124
|
// ----------------------------------------------------
|
|
70
|
-
console.log(`\x1b[33m[Step 3/
|
|
125
|
+
console.log(`\x1b[33m[Step 3/6] AI Model Provider\x1b[0m`);
|
|
71
126
|
console.log(`Musonda works with any OpenAI-compatible model (Chat Completions), plus OpenAI Responses API.`);
|
|
72
127
|
console.log(`Choose a provider:
|
|
73
128
|
1) OpenAI (default, Responses API)
|
|
@@ -86,9 +141,11 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
86
141
|
let modelDefault = existingConfig.model.model || 'gpt-5.6-luna';
|
|
87
142
|
let baseUrlDefault = existingConfig.model.baseUrl;
|
|
88
143
|
const trimmedChoice = providerChoice.trim();
|
|
89
|
-
if (trimmedChoice === ''
|
|
90
|
-
|
|
91
|
-
|
|
144
|
+
if (trimmedChoice === '') {
|
|
145
|
+
// Empty keeps the existing provider so a second run is non-destructive.
|
|
146
|
+
}
|
|
147
|
+
else if (trimmedChoice === '1') {
|
|
148
|
+
provider = 'openai';
|
|
92
149
|
}
|
|
93
150
|
else if (providerDefaults[trimmedChoice]) {
|
|
94
151
|
provider = providerDefaults[trimmedChoice].provider;
|
|
@@ -138,7 +195,7 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
138
195
|
// ----------------------------------------------------
|
|
139
196
|
// Step 4: Channels (Discord & Slack Integrations)
|
|
140
197
|
// ----------------------------------------------------
|
|
141
|
-
console.log(`\x1b[33m[Step 4/
|
|
198
|
+
console.log(`\x1b[33m[Step 4/6] Gateway Channels (Discord & Slack Integrations)\x1b[0m`);
|
|
142
199
|
// Discord Configuration
|
|
143
200
|
const enableDiscordInput = await rl.question(`Enable Discord channel integration? (y/N) [default: ${existingConfig.channels.discord.enabled ? 'Y' : 'N'}]: `);
|
|
144
201
|
const enableDiscord = enableDiscordInput.trim().toLowerCase() === 'y' ||
|
|
@@ -222,7 +279,7 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
222
279
|
// ----------------------------------------------------
|
|
223
280
|
// Step 5: Gateway Persistence & Background Service (.service)
|
|
224
281
|
// ----------------------------------------------------
|
|
225
|
-
console.log(`\x1b[33m[Step 5/
|
|
282
|
+
console.log(`\x1b[33m[Step 5/6] Gateway Persistence & Background Service (.service)\x1b[0m`);
|
|
226
283
|
console.log(`Configure Musonda Gateway as an auto-restarting background service so it stays alive 24/7.\n`);
|
|
227
284
|
let serviceInstalled = false;
|
|
228
285
|
let servicePathInstalled = '';
|
|
@@ -321,21 +378,89 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
321
378
|
}
|
|
322
379
|
}
|
|
323
380
|
// ----------------------------------------------------
|
|
381
|
+
// Step 6: Gateway API Key (auto-generated, protects HTTP API)
|
|
382
|
+
// ----------------------------------------------------
|
|
383
|
+
// Auto-generated at the end of onboarding and shown once so the user can
|
|
384
|
+
// copy it and keep it safe. Re-running the wizard keeps the previous key
|
|
385
|
+
// (non-destructive) unless the user explicitly chooses to regenerate it.
|
|
386
|
+
// The key is validated before save.
|
|
387
|
+
console.log(`\x1b[33m[Step 6/6] Gateway API Key (secures your HTTP API)\x1b[0m`);
|
|
388
|
+
console.log(`The gateway API key protects your HTTP endpoints (Authorization: Bearer <key> / X-API-Key). ` +
|
|
389
|
+
`It is required in production mode.\n`);
|
|
390
|
+
const prevGatewayKey = existingConfig.gateway?.apiKey || process.env.GATEWAY_API_KEY || process.env.GATEWAY_AUTH_TOKEN || '';
|
|
391
|
+
if (process.env.GATEWAY_API_KEY || process.env.GATEWAY_AUTH_TOKEN) {
|
|
392
|
+
console.log(`\x1b[2mNote: GATEWAY_API_KEY is currently set via environment and takes precedence over the saved config.\x1b[0m`);
|
|
393
|
+
}
|
|
394
|
+
let gatewayApiKey = prevGatewayKey;
|
|
395
|
+
let gatewayKeyIsNew = false;
|
|
396
|
+
const prevKeyCheck = prevGatewayKey ? validateGatewayApiKey(prevGatewayKey) : { valid: false, reason: 'none yet' };
|
|
397
|
+
if (!prevGatewayKey || !prevKeyCheck.valid) {
|
|
398
|
+
// Fresh onboard (or weak placeholder key): auto-generate a strong key.
|
|
399
|
+
if (prevGatewayKey && !prevKeyCheck.valid) {
|
|
400
|
+
console.log(`\x1b[33mExisting gateway key is missing or weak (${prevKeyCheck.reason}). Generating a fresh secure key...\x1b[0m`);
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
console.log(`Generating a secure gateway API key for you...`);
|
|
404
|
+
}
|
|
405
|
+
gatewayApiKey = generateGatewayApiKey();
|
|
406
|
+
gatewayKeyIsNew = true;
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
// Second run: keep the previous key so re-onboarding never wipes it.
|
|
410
|
+
console.log(`\x1b[32mKeeping existing gateway API key (${maskKey(prevGatewayKey)}).\x1b[0m`);
|
|
411
|
+
const regenInput = await rl.question(`Press Enter to keep it, or type "regenerate" for a new key: `);
|
|
412
|
+
if (regenInput.trim().toLowerCase() === 'regenerate') {
|
|
413
|
+
gatewayApiKey = generateGatewayApiKey();
|
|
414
|
+
gatewayKeyIsNew = true;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
// Final validation (generated keys always pass; kept keys were checked above).
|
|
418
|
+
const finalCheck = validateGatewayApiKey(gatewayApiKey);
|
|
419
|
+
if (!finalCheck.valid) {
|
|
420
|
+
console.log(`\x1b[31mWarning: gateway key did not pass validation (${finalCheck.reason}). Generating a fallback key...\x1b[0m`);
|
|
421
|
+
gatewayApiKey = generateGatewayApiKey();
|
|
422
|
+
gatewayKeyIsNew = true;
|
|
423
|
+
}
|
|
424
|
+
if (gatewayKeyIsNew) {
|
|
425
|
+
console.log(`\n\x1b[1m\x1b[32m=======================================================\x1b[0m`);
|
|
426
|
+
console.log(`\x1b[1m\x1b[32m YOUR GATEWAY API KEY — COPY IT NOW AND KEEP IT SAFE \x1b[0m`);
|
|
427
|
+
console.log(`\x1b[1m\x1b[32m=======================================================\x1b[0m`);
|
|
428
|
+
console.log(`\n \x1b[1m\x1b[36m${gatewayApiKey}\x1b[0m\n`);
|
|
429
|
+
console.log(` - This key is saved in your config and required to call the gateway API.`);
|
|
430
|
+
console.log(` - Send it as "\x1b[1mAuthorization: Bearer <key>\x1b[0m" or "\x1b[1mX-API-Key: <key>\x1b[0m" header.`);
|
|
431
|
+
console.log(` - Store it in a password manager. It will not be shown again in full.`);
|
|
432
|
+
console.log(` - If you lose it, re-run onboarding and choose "regenerate".\n`);
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
console.log(`\x1b[2mGateway API key unchanged (${maskKey(gatewayApiKey)}). Use "regenerate" on a future run to rotate it.\x1b[0m\n`);
|
|
436
|
+
}
|
|
437
|
+
// ----------------------------------------------------
|
|
324
438
|
// Save Configuration & Initialize Memory
|
|
325
439
|
// ----------------------------------------------------
|
|
440
|
+
// Second runs must merge, not overwrite: preserve every section the wizard
|
|
441
|
+
// did not explicitly change so previous entries survive re-onboarding.
|
|
442
|
+
const prevInterests = existingConfig.user.interests || [];
|
|
443
|
+
const mergedInterests = [...prevInterests];
|
|
444
|
+
if (userBio && !mergedInterests.includes(userBio)) {
|
|
445
|
+
mergedInterests.push(userBio);
|
|
446
|
+
}
|
|
447
|
+
const prevProviderEntry = (existingConfig?.modelProviders || {})[provider] || {};
|
|
326
448
|
const newConfig = {
|
|
327
|
-
version: '1.0.0',
|
|
449
|
+
version: existingConfig.version || '1.0.0',
|
|
328
450
|
isOnboarded: true,
|
|
329
451
|
assistant: {
|
|
330
|
-
name: 'Musonda',
|
|
452
|
+
name: existingConfig.assistant.name || 'Musonda',
|
|
331
453
|
customName: assistantName,
|
|
332
454
|
title: assistantTitle,
|
|
333
455
|
tone: assistantTone,
|
|
456
|
+
...(existingConfig.assistant.systemInstructions
|
|
457
|
+
? { systemInstructions: existingConfig.assistant.systemInstructions }
|
|
458
|
+
: {}),
|
|
334
459
|
},
|
|
335
460
|
user: {
|
|
336
461
|
name: userName,
|
|
337
462
|
bio: userBio,
|
|
338
|
-
interests:
|
|
463
|
+
interests: mergedInterests,
|
|
339
464
|
timezone: userTimezone,
|
|
340
465
|
communicationStyle,
|
|
341
466
|
notes: userNotes,
|
|
@@ -345,8 +470,14 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
345
470
|
model: modelName,
|
|
346
471
|
apiKey: apiKey || '',
|
|
347
472
|
baseUrl,
|
|
348
|
-
api: 'auto',
|
|
349
|
-
maxOutputTokens: 4096,
|
|
473
|
+
api: existingConfig.model?.api || 'auto',
|
|
474
|
+
maxOutputTokens: existingConfig.model.maxOutputTokens || 4096,
|
|
475
|
+
...((existingConfig.model?.temperature !== undefined)
|
|
476
|
+
? { temperature: existingConfig.model.temperature }
|
|
477
|
+
: {}),
|
|
478
|
+
...((existingConfig.model?.reasoningEffort !== undefined)
|
|
479
|
+
? { reasoningEffort: existingConfig.model.reasoningEffort }
|
|
480
|
+
: {}),
|
|
350
481
|
},
|
|
351
482
|
// Seed the per-provider registry so `change model` can switch back later.
|
|
352
483
|
modelProviders: {
|
|
@@ -354,40 +485,39 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
354
485
|
[provider]: {
|
|
355
486
|
apiKey: apiKey || '',
|
|
356
487
|
model: modelName,
|
|
357
|
-
...(baseUrl ? { baseUrl } : {}),
|
|
358
|
-
api: 'auto',
|
|
488
|
+
...(baseUrl ? { baseUrl } : (prevProviderEntry.baseUrl ? { baseUrl: prevProviderEntry.baseUrl } : {})),
|
|
489
|
+
api: prevProviderEntry.api || 'auto',
|
|
359
490
|
},
|
|
360
491
|
},
|
|
361
492
|
gateway: {
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
trustProxy: false,
|
|
368
|
-
rateLimitMaxClients: 10000,
|
|
493
|
+
...(existingConfig.gateway || {}),
|
|
494
|
+
host: existingConfig.gateway?.host || '127.0.0.1',
|
|
495
|
+
port: existingConfig.gateway?.port || 4141,
|
|
496
|
+
enableHttp: existingConfig.gateway?.enableHttp ?? true,
|
|
497
|
+
...(gatewayApiKey ? { apiKey: gatewayApiKey } : { apiKey: undefined }),
|
|
369
498
|
},
|
|
370
499
|
channels: {
|
|
371
500
|
discord: {
|
|
372
501
|
enabled: enableDiscord,
|
|
373
502
|
token: discordToken,
|
|
374
|
-
|
|
503
|
+
clientId: existingConfig.channels.discord?.clientId,
|
|
504
|
+
allowedGuilds: existingConfig.channels.discord.allowedGuilds || [],
|
|
375
505
|
allowedUsers: allowedDiscordUsers,
|
|
376
506
|
allowedChannels: allowedDiscordChannels,
|
|
377
|
-
allowPublic: false,
|
|
507
|
+
allowPublic: existingConfig.channels.discord.allowPublic ?? false,
|
|
378
508
|
requireMentionInGuild: requireDiscordMention,
|
|
379
|
-
statusMessage: `${assistantName} | ${modelName}`,
|
|
509
|
+
statusMessage: existingConfig.channels.discord.statusMessage || `${assistantName} | ${modelName}`,
|
|
380
510
|
},
|
|
381
511
|
slack: {
|
|
382
512
|
enabled: enableSlack,
|
|
383
513
|
botToken: slackBotToken,
|
|
384
|
-
userToken: '',
|
|
514
|
+
userToken: existingConfig.channels.slack?.userToken || '',
|
|
385
515
|
appToken: slackAppToken,
|
|
386
|
-
signingSecret: '',
|
|
387
|
-
socketMode: true,
|
|
388
|
-
allowedChannels: [],
|
|
389
|
-
allowedUsers: [],
|
|
390
|
-
allowPublic: false,
|
|
516
|
+
signingSecret: existingConfig.channels.slack?.signingSecret || '',
|
|
517
|
+
socketMode: existingConfig.channels.slack?.socketMode ?? true,
|
|
518
|
+
allowedChannels: existingConfig.channels.slack?.allowedChannels || [],
|
|
519
|
+
allowedUsers: existingConfig.channels.slack?.allowedUsers || [],
|
|
520
|
+
allowPublic: existingConfig.channels.slack?.allowPublic ?? false,
|
|
391
521
|
replyInThread: slackReplyInThread,
|
|
392
522
|
},
|
|
393
523
|
telegram: {
|
|
@@ -395,8 +525,8 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
395
525
|
botToken: telegramBotToken,
|
|
396
526
|
allowedUsers: allowedTelegramUsers,
|
|
397
527
|
allowedChats: allowedTelegramChats,
|
|
398
|
-
allowPublic: false,
|
|
399
|
-
requireMentionInGroup: true,
|
|
528
|
+
allowPublic: existingConfig.channels.telegram?.allowPublic ?? false,
|
|
529
|
+
requireMentionInGroup: existingConfig.channels.telegram?.requireMentionInGroup ?? true,
|
|
400
530
|
},
|
|
401
531
|
cli: existingConfig.channels?.cli || {
|
|
402
532
|
enabled: false,
|
|
@@ -407,13 +537,9 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
407
537
|
},
|
|
408
538
|
},
|
|
409
539
|
memory: {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
autoRecallTopK: 6,
|
|
414
|
-
compactionThreshold: 20,
|
|
415
|
-
enableAutoCompaction: true,
|
|
416
|
-
preservedRecentMessages: 10,
|
|
540
|
+
...(existingConfig.memory || {}),
|
|
541
|
+
storageDir: existingConfig.memory?.storageDir || './data/memory',
|
|
542
|
+
sessionsDir: existingConfig.memory?.sessionsDir || './data/sessions',
|
|
417
543
|
},
|
|
418
544
|
media: existingConfig.media || { ...defaultMedia },
|
|
419
545
|
fileSandbox: existingConfig.fileSandbox || {
|
|
@@ -467,30 +593,59 @@ set up persistent memory, customize its name, and connect your channels (like Di
|
|
|
467
593
|
installedPath: servicePathInstalled,
|
|
468
594
|
}
|
|
469
595
|
: existingConfig.service,
|
|
596
|
+
// Preserve advanced sections the wizard does not manage so a second
|
|
597
|
+
// run never drops them.
|
|
598
|
+
...((existingConfig.identity !== undefined)
|
|
599
|
+
? { identity: existingConfig.identity }
|
|
600
|
+
: {}),
|
|
601
|
+
...((existingConfig.context !== undefined)
|
|
602
|
+
? { context: existingConfig.context }
|
|
603
|
+
: {}),
|
|
604
|
+
...((existingConfig.capabilities !== undefined)
|
|
605
|
+
? { capabilities: existingConfig.capabilities }
|
|
606
|
+
: {}),
|
|
607
|
+
...((existingConfig.learning !== undefined)
|
|
608
|
+
? { learning: existingConfig.learning }
|
|
609
|
+
: {}),
|
|
470
610
|
};
|
|
471
611
|
configLoader.save(newConfig);
|
|
472
|
-
// Initialize Memory Profile
|
|
612
|
+
// Initialize Memory Profile (merge: keep existing interests, avoid wiping
|
|
613
|
+
// profile fields the user kept by pressing Enter).
|
|
473
614
|
const memory = new MemoryManager(newConfig);
|
|
615
|
+
const prevProfile = memory.getProfile();
|
|
474
616
|
memory.updateProfile({
|
|
475
617
|
name: userName,
|
|
476
618
|
assistantCustomName: assistantName,
|
|
477
619
|
bio: userBio,
|
|
620
|
+
interests: mergedInterests.length ? mergedInterests : (prevProfile.interests || []),
|
|
478
621
|
timezone: userTimezone,
|
|
479
622
|
communicationStyle,
|
|
480
623
|
notes: userNotes,
|
|
481
624
|
});
|
|
482
|
-
// Save an initial memory fact from onboarding
|
|
625
|
+
// Save an initial memory fact from onboarding (deduplicated so running the
|
|
626
|
+
// wizard twice does not create duplicate entries nor delete old ones).
|
|
627
|
+
const memoryAlreadyHas = (needle) => {
|
|
628
|
+
const hay = needle.toLowerCase();
|
|
629
|
+
return memory.getAllMemories().some((m) => (m.content || '').toLowerCase().includes(hay));
|
|
630
|
+
};
|
|
483
631
|
if (userBio) {
|
|
484
|
-
|
|
632
|
+
const bioContent = `User ${userName} provided background: ${userBio}`;
|
|
633
|
+
if (!memoryAlreadyHas(userBio.toLowerCase().slice(0, 40)) && !memoryAlreadyHas(bioContent.toLowerCase().slice(0, 40))) {
|
|
634
|
+
memory.addMemory(bioContent, 'fact', ['onboarding', 'profile', 'bio']);
|
|
635
|
+
}
|
|
485
636
|
}
|
|
486
637
|
if (userNotes) {
|
|
487
|
-
|
|
638
|
+
const notesContent = `User preference: ${userNotes}`;
|
|
639
|
+
if (!memoryAlreadyHas(userNotes.toLowerCase().slice(0, 40))) {
|
|
640
|
+
memory.addMemory(notesContent, 'preference', ['preference', 'instruction']);
|
|
641
|
+
}
|
|
488
642
|
}
|
|
489
643
|
console.log(`\x1b[1m\x1b[32mOnboarding Complete!\x1b[0m`);
|
|
490
644
|
console.log(`=======================================================`);
|
|
491
645
|
console.log(`Assistant Name: \x1b[35m${assistantName}\x1b[0m`);
|
|
492
646
|
console.log(`Model: \x1b[36m${provider}/${modelName}\x1b[0m${baseUrl ? ` @ ${baseUrl}` : ''}`);
|
|
493
|
-
console.log(`Gateway: \x1b[33mhttp
|
|
647
|
+
console.log(`Gateway: \x1b[33mhttp://${newConfig.gateway.host}:${newConfig.gateway.port}\x1b[0m`);
|
|
648
|
+
console.log(`Gateway API Key:${gatewayKeyIsNew ? ` \x1b[32mNew key generated — copied above, keep it safe (${maskKey(gatewayApiKey)})\x1b[0m` : (gatewayApiKey ? ` \x1b[32mConfigured (${maskKey(gatewayApiKey)})\x1b[0m` : ' \x1b[2mNot set\x1b[0m')}`);
|
|
494
649
|
console.log(`Discord: ${enableDiscord ? '\x1b[32mEnabled\x1b[0m' : '\x1b[2mDisabled\x1b[0m'}`);
|
|
495
650
|
console.log(`Slack: ${enableSlack ? '\x1b[32mEnabled\x1b[0m' : '\x1b[2mDisabled\x1b[0m'}`);
|
|
496
651
|
console.log(`Telegram: ${enableTelegram ? '\x1b[32mEnabled\x1b[0m' : '\x1b[2mDisabled\x1b[0m'}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/wizard/onboarding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/wizard/onboarding.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "musonda",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
4
4
|
"description": "Musonda - Personal AI Assistant & Agent Harness running on an extensible Gateway with Discord channels, memory, tools, and any OpenAI-compatible model (OpenAI, Ollama, LM Studio, OpenRouter & more)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|