musonda 1.0.27 → 1.0.28
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/README.md +22 -14
- package/dist/agent/chatCompletionsClient.js +2 -2
- package/dist/agent/chatCompletionsClient.js.map +1 -1
- package/dist/agent/modelErrors.d.ts +7 -8
- package/dist/agent/modelErrors.js +9 -10
- package/dist/agent/modelErrors.js.map +1 -1
- package/dist/agent/modelFactory.d.ts +21 -0
- package/dist/agent/modelFactory.js +50 -23
- package/dist/agent/modelFactory.js.map +1 -1
- package/dist/agent/modelRegistry.d.ts +112 -0
- package/dist/agent/modelRegistry.js +323 -0
- package/dist/agent/modelRegistry.js.map +1 -0
- package/dist/agent/openaiResponsesClient.js +3 -3
- package/dist/agent/openaiResponsesClient.js.map +1 -1
- package/dist/cli/commands/connect.js +2 -1
- package/dist/cli/commands/connect.js.map +1 -1
- package/dist/cli/commands/doctor.js +19 -9
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/gateway.js +10 -0
- package/dist/cli/commands/gateway.js.map +1 -1
- package/dist/cli/commands/help.js +34 -31
- package/dist/cli/commands/help.js.map +1 -1
- package/dist/cli/commands/model.d.ts +38 -25
- package/dist/cli/commands/model.js +307 -354
- package/dist/cli/commands/model.js.map +1 -1
- package/dist/cli/commands/status.js +4 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/interactiveMenu.js +2 -2
- package/dist/cli/interactiveMenu.js.map +1 -1
- package/dist/cli/musondaCli.js +16 -7
- package/dist/cli/musondaCli.js.map +1 -1
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/config/loader.js +70 -23
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +4 -0
- package/dist/config/types.js +4 -1
- package/dist/config/types.js.map +1 -1
- package/dist/gateway/server.js +21 -4
- package/dist/gateway/server.js.map +1 -1
- package/dist/wizard/onboarding.js +117 -80
- package/dist/wizard/onboarding.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -160,22 +160,24 @@ cp .env.example .env
|
|
|
160
160
|
2. Add your model credentials to `.env` (generic or provider-specific):
|
|
161
161
|
|
|
162
162
|
```bash
|
|
163
|
-
# Hosted (
|
|
163
|
+
# Hosted example (model id comes from the provider's live catalog —
|
|
164
|
+
# run `musonda model list openai` or pick interactively with `musonda model setup`)
|
|
164
165
|
MODEL_PROVIDER=openai
|
|
165
|
-
MODEL_NAME
|
|
166
|
+
MODEL_NAME=<model-id-from-provider-catalog>
|
|
166
167
|
MODEL_API_KEY=sk-...
|
|
167
168
|
|
|
168
|
-
# Local (Ollama example — no key needed)
|
|
169
|
+
# Local (Ollama example — no key needed; id from `ollama list` / `musonda model list ollama`)
|
|
169
170
|
MODEL_PROVIDER=ollama
|
|
170
|
-
MODEL_NAME
|
|
171
|
+
MODEL_NAME=<model-id-from-ollama-list>
|
|
171
172
|
MODEL_BASE_URL=http://localhost:11434/v1
|
|
172
173
|
```
|
|
173
174
|
|
|
174
|
-
Or configure interactively at any time:
|
|
175
|
+
Or configure interactively at any time (recommended — no ids to look up by hand):
|
|
175
176
|
|
|
176
177
|
```bash
|
|
177
|
-
musonda model setup
|
|
178
|
-
musonda model
|
|
178
|
+
musonda model setup # pick provider → pick model from live list
|
|
179
|
+
musonda model ollama/<model-id> # switch in one command
|
|
180
|
+
musonda model list openrouter # live catalog from the provider
|
|
179
181
|
```
|
|
180
182
|
|
|
181
183
|
3. Launch the container:
|
|
@@ -220,13 +222,14 @@ conversation.
|
|
|
220
222
|
| Command | What it does |
|
|
221
223
|
|---|---|
|
|
222
224
|
| `musonda` | Opens the interactive dashboard and menu |
|
|
223
|
-
| `musonda setup` | Runs the personal onboarding
|
|
224
|
-
| `musonda model` | Shows
|
|
225
|
-
| `musonda model setup` |
|
|
226
|
-
| `musonda model
|
|
225
|
+
| `musonda setup` | Runs the personal onboarding wizard (persona → model picker → channels) |
|
|
226
|
+
| `musonda model` | Shows active model + every provider's key status |
|
|
227
|
+
| `musonda model setup` | Interactive picker: provider → live model list → key (saved per provider) |
|
|
228
|
+
| `musonda model <provider>/<model-id>` | Switches model in one command (id from `musonda model list <provider>`) |
|
|
229
|
+
| `musonda model list [provider]` | Lists models from the provider's live `/models` endpoint |
|
|
227
230
|
| `musonda connect model` | Alias for `musonda model setup` |
|
|
228
|
-
| `musonda connect <provider>` |
|
|
229
|
-
| `musonda change model <provider>[/<model>]` |
|
|
231
|
+
| `musonda connect <provider>` | Alias for `musonda model setup` (e.g. `deepseek`, `ollama`) |
|
|
232
|
+
| `musonda change model <provider>[/<model>]` | Alias for `musonda model <provider>[/<model>]` |
|
|
230
233
|
| `musonda connect <channel>` | Connects a channel (telegram\|discord\|slack) without onboarding |
|
|
231
234
|
| `musonda connect langfuse` | Connects Langfuse tracing (agent observability) |
|
|
232
235
|
| `musonda disconnect langfuse` | Disables Langfuse tracing (keys are kept) |
|
|
@@ -252,12 +255,17 @@ conversation.
|
|
|
252
255
|
## Configuration
|
|
253
256
|
|
|
254
257
|
Musonda stores user configuration in `~/.musonda/config.json`.
|
|
258
|
+
Once set up, the saved config is authoritative: switching with
|
|
259
|
+
`musonda model …` always takes effect immediately (env vars only seed a fresh
|
|
260
|
+
install — set `MODEL_FORCE_ENV=true` to let env override saved config, e.g. in
|
|
261
|
+
ephemeral containers). Keys are saved per provider, so switching models never
|
|
262
|
+
asks for a key twice and never reuses the old provider's key/URL.
|
|
255
263
|
You can also supply environment variables in a `.env` file in your working directory:
|
|
256
264
|
|
|
257
265
|
| Environment Variable | Description | Default |
|
|
258
266
|
|---|---|---|
|
|
259
267
|
| `MODEL_PROVIDER` | Model provider (`openai`, `meta`, `ollama`, `lmstudio`, `openrouter`, `anthropic`, `google`, `groq`, `mistral`, `deepseek`, `together`, custom) | `openai` |
|
|
260
|
-
| `MODEL_NAME` |
|
|
268
|
+
| `MODEL_NAME` | Model id exactly as listed in the provider's live `/models` catalog (see `musonda model list <provider>`) | (none — pick with `musonda model setup`) |
|
|
261
269
|
| `MODEL_API_KEY` | Provider API key (not needed for `ollama`/`lmstudio`) | |
|
|
262
270
|
| `MODEL_BASE_URL` | Custom base URL (defaults to `https://api.meta.ai/v1` for `meta`) | provider default |
|
|
263
271
|
| `MODEL_API` | API dialect: `auto` / `chat` (universal) / `responses` (OpenAI/Meta) | `auto` |
|
|
@@ -21,7 +21,7 @@ export class ChatCompletionsClient {
|
|
|
21
21
|
maxOutputTokens;
|
|
22
22
|
readinessCache = null;
|
|
23
23
|
constructor(config) {
|
|
24
|
-
this.model = config.model || '
|
|
24
|
+
this.model = config.model || '';
|
|
25
25
|
this.provider = config.provider || 'openai-compatible';
|
|
26
26
|
this.baseUrl = config.baseUrl || undefined;
|
|
27
27
|
this.temperature = config.temperature;
|
|
@@ -352,7 +352,7 @@ export class ChatCompletionsClient {
|
|
|
352
352
|
toProviderError(err) {
|
|
353
353
|
logger.error(`Chat Completions error (provider "${this.provider}", model "${this.model}"):`, err.message || err);
|
|
354
354
|
if (err.status === 401 || (err.message && err.message.includes('API key'))) {
|
|
355
|
-
return new Error(`Model Authentication Error [${this.provider}]: API key is invalid or missing for model "${this.model}". Run 'musonda setup'
|
|
355
|
+
return new Error(`Model Authentication Error [${this.provider}]: API key is invalid or missing for model "${this.model}". Run 'musonda model setup' to save the key for this provider (saved per provider, switching never asks twice).`);
|
|
356
356
|
}
|
|
357
357
|
if (isModelNotFoundError(err)) {
|
|
358
358
|
return modelNotFoundError(this.provider, this.model, this.baseUrl, err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatCompletionsClient.js","sourceRoot":"","sources":["../../src/agent/chatCompletionsClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chatCompletionsClient.js","sourceRoot":"","sources":["../../src/agent/chatCompletionsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared helpers for provider model errors (notably 404 model-not-found).
|
|
3
3
|
*
|
|
4
|
-
* Context: the
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* fast) while telling the user exactly how to list models and switch.
|
|
4
|
+
* Context: a configured model id that is not in the account's catalog (or an
|
|
5
|
+
* endpoint that only speaks the other API dialect) 404s with "The requested
|
|
6
|
+
* model was not found". The raw SDK error gives the user nothing actionable,
|
|
7
|
+
* and readiness checks masked it by reporting healthy after a bare
|
|
8
|
+
* `models.list()` success. These helpers make the failure diagnosable: keep
|
|
9
|
+
* `.status = 404` (so retry logic still fails fast) while telling the user
|
|
10
|
+
* exactly how to list the live catalog and switch.
|
|
12
11
|
*/
|
|
13
12
|
export declare function isModelNotFoundError(err: any): boolean;
|
|
14
13
|
/** Extract model IDs from an OpenAI-style `models.list()` page. */
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared helpers for provider model errors (notably 404 model-not-found).
|
|
3
3
|
*
|
|
4
|
-
* Context: the
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* fast) while telling the user exactly how to list models and switch.
|
|
4
|
+
* Context: a configured model id that is not in the account's catalog (or an
|
|
5
|
+
* endpoint that only speaks the other API dialect) 404s with "The requested
|
|
6
|
+
* model was not found". The raw SDK error gives the user nothing actionable,
|
|
7
|
+
* and readiness checks masked it by reporting healthy after a bare
|
|
8
|
+
* `models.list()` success. These helpers make the failure diagnosable: keep
|
|
9
|
+
* `.status = 404` (so retry logic still fails fast) while telling the user
|
|
10
|
+
* exactly how to list the live catalog and switch.
|
|
12
11
|
*/
|
|
13
12
|
export function isModelNotFoundError(err) {
|
|
14
13
|
if (!err)
|
|
@@ -50,8 +49,8 @@ export function modelNotFoundError(provider, model, baseUrl, original) {
|
|
|
50
49
|
const where = baseUrl || 'provider default';
|
|
51
50
|
const err = new Error(`Model "${model}" was not found on provider "${provider}" (${where}). ` +
|
|
52
51
|
`The provider returned 404: ${original?.message || original}. ` +
|
|
53
|
-
`
|
|
54
|
-
`'musonda model
|
|
52
|
+
`Run 'musonda model list ${provider}' to see the provider's live catalog, then ` +
|
|
53
|
+
`'musonda model ${provider}/<id>'. ` +
|
|
55
54
|
`If the model ID is correct, the endpoint may only speak the other dialect — retry with '--api chat' or '--api responses'.`);
|
|
56
55
|
err.status = 404;
|
|
57
56
|
err.cause = original;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelErrors.js","sourceRoot":"","sources":["../../src/agent/modelErrors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"modelErrors.js","sourceRoot":"","sources":["../../src/agent/modelErrors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,UAAU,oBAAoB,CAAC,GAAQ;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,GAAG,EAAE,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,kGAAkG,CAAC,IAAI,CAC5G,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,qBAAqB,CAAC,UAAe;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;QAC1C,CAAC,CAAC,UAAU,CAAC,IAAI;QACjB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACpD,MAAM,CAAC,CAAC,EAAO,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAe,EAAE,KAAa;IAC7D,MAAM,GAAG,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,gDAAgD;IAChD,IAAK,UAAkB,EAAE,QAAQ;QAAE,OAAO,SAAS,CAAC;IACpD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,KAAa,EACb,OAA2B,EAC3B,QAAa;IAEb,MAAM,KAAK,GAAG,OAAO,IAAI,kBAAkB,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,UAAU,KAAK,gCAAgC,QAAQ,MAAM,KAAK,KAAK;QACrE,8BAA8B,QAAQ,EAAE,OAAO,IAAI,QAAQ,IAAI;QAC/D,2BAA2B,QAAQ,6CAA6C;QAChF,kBAAkB,QAAQ,UAAU;QACpC,2HAA2H,CAC9H,CAAC;IACD,GAAW,CAAC,MAAM,GAAG,GAAG,CAAC;IACzB,GAAW,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC9B,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -4,10 +4,31 @@ import { ChatCompletionsClient } from './chatCompletionsClient.js';
|
|
|
4
4
|
import { ModelClient } from './modelTypes.js';
|
|
5
5
|
/** Backwards-compatible alias: existing code/tests import OpenAIResponsesClient directly. */
|
|
6
6
|
export type AnyModelClient = OpenAIResponsesClient | ChatCompletionsClient | ModelClient;
|
|
7
|
+
/** Kept for backwards compat — now derived from the unified registry. */
|
|
7
8
|
export declare const PROVIDER_DEFAULT_BASE_URLS: Record<string, string>;
|
|
8
9
|
export declare function normalizeProvider(raw?: string): string;
|
|
9
10
|
/** Explicit per-model API override wins; otherwise infer a sensible default. */
|
|
10
11
|
export declare function resolveApiKind(config: ModelConfig): 'responses' | 'chat';
|
|
11
12
|
/** Apply well-known default base URLs when the provider is known and none is set. */
|
|
12
13
|
export declare function resolveBaseUrl(config: ModelConfig): string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Resolve the effective runtime model for a full app config
|
|
16
|
+
* (per-provider saved key + catalog defaults). Prefer this over reading
|
|
17
|
+
* `config.model` directly — it never inherits the previous provider's key/URL.
|
|
18
|
+
*/
|
|
19
|
+
export declare function resolveRuntimeModel(appConfig: any): {
|
|
20
|
+
provider: string;
|
|
21
|
+
model: string;
|
|
22
|
+
apiKey: string;
|
|
23
|
+
baseUrl?: string;
|
|
24
|
+
api: string;
|
|
25
|
+
};
|
|
13
26
|
export declare function createModelClient(config: ModelConfig): ModelClient;
|
|
27
|
+
/**
|
|
28
|
+
* Stand-in client used when no model id has been selected yet (e.g. tests
|
|
29
|
+
* that exercise non-model subsystems, or a gateway started before setup).
|
|
30
|
+
* Construction never throws; the friendly error surfaces only if a message
|
|
31
|
+
* is actually processed. Real entry points (`start gateway`, `cli`) fail
|
|
32
|
+
* fast via `assertModelSelected` instead.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createUnconfiguredModelClient(config: ModelConfig): ModelClient;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { OpenAIResponsesClient } from './openaiResponsesClient.js';
|
|
2
2
|
import { ChatCompletionsClient } from './chatCompletionsClient.js';
|
|
3
|
+
import { normalizeProvider as registryNormalize, defaultBaseUrlFor, resolveEffectiveModel, } from './modelRegistry.js';
|
|
4
|
+
/** Kept for backwards compat — now derived from the unified registry. */
|
|
3
5
|
export const PROVIDER_DEFAULT_BASE_URLS = {
|
|
4
6
|
ollama: 'http://localhost:11434/v1',
|
|
5
7
|
lmstudio: 'http://localhost:1234/v1',
|
|
@@ -10,27 +12,11 @@ export const PROVIDER_DEFAULT_BASE_URLS = {
|
|
|
10
12
|
together: 'https://api.together.xyz/v1',
|
|
11
13
|
xai: 'https://api.x.ai/v1',
|
|
12
14
|
meta: 'https://api.meta.ai/v1',
|
|
15
|
+
anthropic: 'https://api.anthropic.com/v1',
|
|
16
|
+
google: 'https://generativelanguage.googleapis.com/v1beta/openai/',
|
|
13
17
|
};
|
|
14
18
|
export function normalizeProvider(raw) {
|
|
15
|
-
|
|
16
|
-
const aliases = {
|
|
17
|
-
'openai-compatible': 'openai-compatible',
|
|
18
|
-
openai_compatible: 'openai-compatible',
|
|
19
|
-
custom: 'openai-compatible',
|
|
20
|
-
generic: 'openai-compatible',
|
|
21
|
-
lm_studio: 'lmstudio',
|
|
22
|
-
'lm-studio': 'lmstudio',
|
|
23
|
-
google: 'google',
|
|
24
|
-
gemini: 'google',
|
|
25
|
-
'google-gemini': 'google',
|
|
26
|
-
anthropic: 'anthropic',
|
|
27
|
-
claude: 'anthropic',
|
|
28
|
-
'meta-ai': 'meta',
|
|
29
|
-
metaai: 'meta',
|
|
30
|
-
muse: 'meta',
|
|
31
|
-
'muse-spark': 'meta',
|
|
32
|
-
};
|
|
33
|
-
return aliases[p] || p;
|
|
19
|
+
return registryNormalize(raw);
|
|
34
20
|
}
|
|
35
21
|
/** Explicit per-model API override wins; otherwise infer a sensible default. */
|
|
36
22
|
export function resolveApiKind(config) {
|
|
@@ -39,9 +25,9 @@ export function resolveApiKind(config) {
|
|
|
39
25
|
return 'responses';
|
|
40
26
|
if (explicit === 'chat' || explicit === 'chat-completions' || explicit === 'chat_completions')
|
|
41
27
|
return 'chat';
|
|
42
|
-
// Responses API is spoken by OpenAI (api.openai.com) and Meta (api.meta.ai
|
|
43
|
-
//
|
|
44
|
-
//
|
|
28
|
+
// Responses API is spoken by OpenAI (api.openai.com) and Meta (api.meta.ai).
|
|
29
|
+
// Everything else uses Chat Completions, the interoperable dialect every
|
|
30
|
+
// OpenAI-compatible provider speaks.
|
|
45
31
|
const provider = normalizeProvider(config.provider);
|
|
46
32
|
const baseUrl = config.baseUrl || '';
|
|
47
33
|
// A Meta endpoint always speaks Responses, regardless of provider label.
|
|
@@ -66,9 +52,29 @@ export function resolveBaseUrl(config) {
|
|
|
66
52
|
if (config.baseUrl)
|
|
67
53
|
return config.baseUrl;
|
|
68
54
|
const provider = normalizeProvider(config.provider);
|
|
69
|
-
return PROVIDER_DEFAULT_BASE_URLS[provider];
|
|
55
|
+
return (defaultBaseUrlFor(provider) ?? PROVIDER_DEFAULT_BASE_URLS[provider]);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolve the effective runtime model for a full app config
|
|
59
|
+
* (per-provider saved key + catalog defaults). Prefer this over reading
|
|
60
|
+
* `config.model` directly — it never inherits the previous provider's key/URL.
|
|
61
|
+
*/
|
|
62
|
+
export function resolveRuntimeModel(appConfig) {
|
|
63
|
+
const eff = resolveEffectiveModel(appConfig);
|
|
64
|
+
return {
|
|
65
|
+
provider: eff.provider,
|
|
66
|
+
model: eff.model,
|
|
67
|
+
apiKey: eff.apiKey,
|
|
68
|
+
baseUrl: eff.baseUrl,
|
|
69
|
+
api: eff.api,
|
|
70
|
+
};
|
|
70
71
|
}
|
|
71
72
|
export function createModelClient(config) {
|
|
73
|
+
if (!(config.model || '').trim()) {
|
|
74
|
+
throw new Error(`No model selected for provider "${normalizeProvider(config.provider)}". ` +
|
|
75
|
+
`Pick one from the provider's live catalog with 'musonda model setup', ` +
|
|
76
|
+
`or switch directly with 'musonda model <provider>/<model-id>'.`);
|
|
77
|
+
}
|
|
72
78
|
const kind = resolveApiKind(config);
|
|
73
79
|
const effective = {
|
|
74
80
|
...config,
|
|
@@ -80,4 +86,25 @@ export function createModelClient(config) {
|
|
|
80
86
|
}
|
|
81
87
|
return new ChatCompletionsClient(effective);
|
|
82
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Stand-in client used when no model id has been selected yet (e.g. tests
|
|
91
|
+
* that exercise non-model subsystems, or a gateway started before setup).
|
|
92
|
+
* Construction never throws; the friendly error surfaces only if a message
|
|
93
|
+
* is actually processed. Real entry points (`start gateway`, `cli`) fail
|
|
94
|
+
* fast via `assertModelSelected` instead.
|
|
95
|
+
*/
|
|
96
|
+
export function createUnconfiguredModelClient(config) {
|
|
97
|
+
const provider = normalizeProvider(config.provider);
|
|
98
|
+
const message = `No model selected for provider "${provider}". ` +
|
|
99
|
+
`Pick one from the provider's live catalog with 'musonda model setup', ` +
|
|
100
|
+
`or switch directly with 'musonda model <provider>/<model-id>'.`;
|
|
101
|
+
return {
|
|
102
|
+
getModelName: () => '',
|
|
103
|
+
getProviderName: () => provider,
|
|
104
|
+
generate: async () => {
|
|
105
|
+
throw new Error(message);
|
|
106
|
+
},
|
|
107
|
+
checkReadiness: async () => ({ ready: false, reason: 'model_unavailable' }),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
83
110
|
//# sourceMappingURL=modelFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelFactory.js","sourceRoot":"","sources":["../../src/agent/modelFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"modelFactory.js","sourceRoot":"","sources":["../../src/agent/modelFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Musonda Unified Model Registry — single source of truth for providers & models.
|
|
3
|
+
*
|
|
4
|
+
* Model ids are NEVER hardcoded here. They always come from the provider's own
|
|
5
|
+
* `/models` endpoint catalog (`fetchAvailableModels`), which every
|
|
6
|
+
* OpenAI-compatible provider exposes. The only thing persisted per provider is
|
|
7
|
+
* what the user chose plus a cache of the last live catalog seen
|
|
8
|
+
* (`knownModels`), used only when the endpoint is temporarily unreachable.
|
|
9
|
+
*
|
|
10
|
+
* Keys are stored PER PROVIDER (config.modelProviders + provider env vars) so
|
|
11
|
+
* switching models never leaks or demands another key.
|
|
12
|
+
*/
|
|
13
|
+
export interface ProviderDefinition {
|
|
14
|
+
/** Canonical id, e.g. "openai", "ollama". */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Human label shown in pickers. */
|
|
17
|
+
label: string;
|
|
18
|
+
/** Default base URL (undefined = provider SDK default, e.g. OpenAI). */
|
|
19
|
+
defaultBaseUrl?: string;
|
|
20
|
+
/** True when no API key is ever needed (local runtimes). */
|
|
21
|
+
keyless?: boolean;
|
|
22
|
+
/** Env vars checked (in order) for this provider's key. */
|
|
23
|
+
keyEnvVars: string[];
|
|
24
|
+
/** Where to get a key. */
|
|
25
|
+
keyUrl?: string;
|
|
26
|
+
/** Suggested API dialect. */
|
|
27
|
+
apiHint: 'auto' | 'chat' | 'responses';
|
|
28
|
+
/** Short hint shown during setup. */
|
|
29
|
+
hint?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const PROVIDERS: ProviderDefinition[];
|
|
32
|
+
/** Canonicalize any user-typed provider name. Unknown names pass through (custom endpoints). */
|
|
33
|
+
export declare function normalizeProvider(raw?: string): string;
|
|
34
|
+
export declare function getProviderDef(provider: string): ProviderDefinition | undefined;
|
|
35
|
+
export declare function providerNeedsKey(provider: string): boolean;
|
|
36
|
+
export declare function defaultBaseUrlFor(provider: string): string | undefined;
|
|
37
|
+
export interface ProviderEntry {
|
|
38
|
+
apiKey?: string;
|
|
39
|
+
model?: string;
|
|
40
|
+
baseUrl?: string;
|
|
41
|
+
api?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Last live `/models` catalog seen for this provider. Displayed only when
|
|
44
|
+
* the endpoint is temporarily unreachable — never a hardcoded list.
|
|
45
|
+
*/
|
|
46
|
+
knownModels?: string[];
|
|
47
|
+
knownModelsAt?: number;
|
|
48
|
+
}
|
|
49
|
+
export declare function getRegistry(config: any): Record<string, ProviderEntry>;
|
|
50
|
+
/** Last live catalog seen for a provider (empty when never fetched). */
|
|
51
|
+
export declare function getKnownModels(config: any, provider: string): string[];
|
|
52
|
+
/** Cache a live catalog (caller must save config afterwards). */
|
|
53
|
+
export declare function saveKnownModels(config: any, provider: string, models: string[]): void;
|
|
54
|
+
/** Key lookup order: explicit → saved registry → active config (same provider) → provider env → generic MODEL_API_KEY. */
|
|
55
|
+
export declare function resolveProviderKey(config: any, provider: string, explicit?: string): {
|
|
56
|
+
key: string;
|
|
57
|
+
source: 'flag' | 'saved' | 'active' | 'env' | 'none';
|
|
58
|
+
};
|
|
59
|
+
export interface EffectiveModel {
|
|
60
|
+
provider: string;
|
|
61
|
+
model: string;
|
|
62
|
+
apiKey: string;
|
|
63
|
+
keySource: 'flag' | 'saved' | 'active' | 'env' | 'none';
|
|
64
|
+
baseUrl?: string;
|
|
65
|
+
api: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Single resolution path for "what model are we actually using?".
|
|
69
|
+
* Target provider's credentials are NEVER inherited from the previous provider:
|
|
70
|
+
* baseUrl/key/api fall back to the target's saved entry → env → catalog default.
|
|
71
|
+
* The model id is ONLY ever the user's saved choice (or '' when none picked yet).
|
|
72
|
+
*/
|
|
73
|
+
export declare function resolveEffectiveModel(config: any): EffectiveModel;
|
|
74
|
+
/**
|
|
75
|
+
* Persist a provider switch atomically: saves the per-provider entry AND
|
|
76
|
+
* points the active model at it. Never carries the old provider's
|
|
77
|
+
* baseUrl/apiKey/api across.
|
|
78
|
+
*/
|
|
79
|
+
export declare function applyModelSwitch(config: any, target: {
|
|
80
|
+
provider: string;
|
|
81
|
+
model: string;
|
|
82
|
+
apiKey?: string;
|
|
83
|
+
baseUrl?: string;
|
|
84
|
+
api?: string;
|
|
85
|
+
knownModels?: string[];
|
|
86
|
+
}): EffectiveModel;
|
|
87
|
+
export type ModelsFetchReason = 'ok' | 'no-key' | 'no-endpoint' | 'unauthorized' | 'unreachable';
|
|
88
|
+
/**
|
|
89
|
+
* Throw a friendly, actionable error when no model id has been selected yet.
|
|
90
|
+
* Used at gateway/CLI startup so a missing model never surfaces as a cryptic
|
|
91
|
+
* provider 404.
|
|
92
|
+
*/
|
|
93
|
+
export declare function assertModelSelected(config: any): {
|
|
94
|
+
provider: string;
|
|
95
|
+
model: string;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* List models straight from the provider's own endpoint catalog
|
|
99
|
+
* (`GET <baseUrl>/models`, the endpoint every OpenAI-compatible provider
|
|
100
|
+
* exposes). Returns an empty list (with a reason) when the catalog cannot be
|
|
101
|
+
* reached — callers then fall back to the cached catalog or ask the user to
|
|
102
|
+
* type the model id. Nothing is ever invented.
|
|
103
|
+
*/
|
|
104
|
+
export declare function fetchAvailableModels(provider: string, opts?: {
|
|
105
|
+
apiKey?: string;
|
|
106
|
+
baseUrl?: string;
|
|
107
|
+
timeoutMs?: number;
|
|
108
|
+
}): Promise<{
|
|
109
|
+
models: string[];
|
|
110
|
+
live: boolean;
|
|
111
|
+
reason: ModelsFetchReason;
|
|
112
|
+
}>;
|