@markusylisiurunen/tau 0.2.66 → 0.2.68

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 (72) hide show
  1. package/README.md +45 -57
  2. package/dist/core/async/cli.js +150 -181
  3. package/dist/core/async/cli.js.map +1 -1
  4. package/dist/core/async/server_config.js +5 -8
  5. package/dist/core/async/server_config.js.map +1 -1
  6. package/dist/core/async/session_manager.js +65 -72
  7. package/dist/core/async/session_manager.js.map +1 -1
  8. package/dist/core/async/telegram.js +57 -6
  9. package/dist/core/async/telegram.js.map +1 -1
  10. package/dist/core/auth/auth_manager.js.map +1 -1
  11. package/dist/core/auth/auth_storage.js +55 -76
  12. package/dist/core/auth/auth_storage.js.map +1 -1
  13. package/dist/core/auth/credential_resolver.js +11 -1
  14. package/dist/core/auth/credential_resolver.js.map +1 -1
  15. package/dist/core/auth/jwt.js +9 -9
  16. package/dist/core/auth/jwt.js.map +1 -1
  17. package/dist/core/auth/providers/openai_codex.js +128 -194
  18. package/dist/core/auth/providers/openai_codex.js.map +1 -1
  19. package/dist/core/cli.js +40 -48
  20. package/dist/core/cli.js.map +1 -1
  21. package/dist/core/config/content_loader.js +118 -54
  22. package/dist/core/config/content_loader.js.map +1 -1
  23. package/dist/core/config/markdown_frontmatter.js.map +1 -1
  24. package/dist/core/config/paths.js +2 -1
  25. package/dist/core/config/paths.js.map +1 -1
  26. package/dist/core/config/runtime.js +13 -4
  27. package/dist/core/config/runtime.js.map +1 -1
  28. package/dist/core/config/schema.js +41 -45
  29. package/dist/core/config/schema.js.map +1 -1
  30. package/dist/core/config/skills_loader.js +5 -10
  31. package/dist/core/config/skills_loader.js.map +1 -1
  32. package/dist/core/config/virtual_bundle.js +1 -1
  33. package/dist/core/config/virtual_bundle.js.map +1 -1
  34. package/dist/core/events/parser.js +47 -25
  35. package/dist/core/events/parser.js.map +1 -1
  36. package/dist/core/install/cli.js +10 -4
  37. package/dist/core/install/cli.js.map +1 -1
  38. package/dist/core/models/catalog.js +409 -0
  39. package/dist/core/models/catalog.js.map +1 -0
  40. package/dist/core/models/tau_extensions.js +2 -0
  41. package/dist/core/models/tau_extensions.js.map +1 -0
  42. package/dist/core/personas.js +7 -7
  43. package/dist/core/personas.js.map +1 -1
  44. package/dist/core/session/session_engine.js +30 -1
  45. package/dist/core/session/session_engine.js.map +1 -1
  46. package/dist/core/subagents/control_plane.js +5 -2
  47. package/dist/core/subagents/control_plane.js.map +1 -1
  48. package/dist/core/subagents/launch_model.js +9 -15
  49. package/dist/core/subagents/launch_model.js.map +1 -1
  50. package/dist/core/subagents/subagent_engine.js +3 -4
  51. package/dist/core/subagents/subagent_engine.js.map +1 -1
  52. package/dist/core/tools/registry.js.map +1 -1
  53. package/dist/core/tools/send_input_to_agent.js +1 -0
  54. package/dist/core/tools/send_input_to_agent.js.map +1 -1
  55. package/dist/core/tools/spawn_agent.js +18 -2
  56. package/dist/core/tools/spawn_agent.js.map +1 -1
  57. package/dist/core/usage/cli.js +150 -130
  58. package/dist/core/usage/cli.js.map +1 -1
  59. package/dist/core/utils/agents_files.js +5 -1
  60. package/dist/core/utils/agents_files.js.map +1 -1
  61. package/dist/core/utils/model_stream.js +30 -4
  62. package/dist/core/utils/model_stream.js.map +1 -1
  63. package/dist/core/version.js +1 -1
  64. package/dist/main.js +5 -4
  65. package/dist/main.js.map +1 -1
  66. package/dist/tui/chat_controller/session_maintenance_service.js +10 -8
  67. package/dist/tui/chat_controller/session_maintenance_service.js.map +1 -1
  68. package/dist/tui/chat_controller.js +10 -18
  69. package/dist/tui/chat_controller.js.map +1 -1
  70. package/package.json +4 -4
  71. package/dist/core/utils/type_guards.js +0 -4
  72. package/dist/core/utils/type_guards.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { CORE_EVENT_VERSION, } from "./types.js";
2
2
  const stopReasons = ["stop", "length", "toolUse", "error", "aborted"];
3
3
  const subagentStatuses = ["running", "success", "error", "aborted"];
4
+ const noticeSeverities = ["info", "warn", "error"];
4
5
  const fail = (message) => ({ ok: false, message });
5
- const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
6
6
  export function parseCoreEvent(value) {
7
7
  const parsed = safeParseCoreEvent(value);
8
8
  if (!parsed.ok)
@@ -10,11 +10,16 @@ export function parseCoreEvent(value) {
10
10
  return parsed.value;
11
11
  }
12
12
  export function safeParseCoreEvent(value) {
13
- if (!isRecord(value))
13
+ if (!isRecord(value)) {
14
14
  return fail("core event payload must be an object");
15
- if (typeof value.type !== "string")
15
+ }
16
+ if (typeof value.type !== "string") {
16
17
  return fail("core event payload.type must be a string");
17
- return isCoreEvent(value) ? { ok: true, value } : fail("invalid core event payload");
18
+ }
19
+ if (!isValidCoreEvent(value, value.type)) {
20
+ return fail("invalid core event payload");
21
+ }
22
+ return { ok: true, value: value };
18
23
  }
19
24
  export function parseCoreEventEnvelope(value) {
20
25
  const parsed = safeParseCoreEventEnvelope(value);
@@ -23,21 +28,29 @@ export function parseCoreEventEnvelope(value) {
23
28
  return parsed.value;
24
29
  }
25
30
  export function safeParseCoreEventEnvelope(value) {
26
- if (!isRecord(value))
31
+ if (!isRecord(value)) {
27
32
  return fail("core event envelope must be an object");
28
- if (value.version !== CORE_EVENT_VERSION) {
33
+ }
34
+ if (!isCoreEventVersion(value.version)) {
29
35
  return fail(`unsupported core event version: ${String(value.version)}`);
30
36
  }
31
37
  const event = safeParseCoreEvent(value.event);
32
- return event.ok
33
- ? { ok: true, value: { version: CORE_EVENT_VERSION, event: event.value } }
34
- : fail(`invalid core event envelope: ${event.message}`);
38
+ if (!event.ok) {
39
+ return fail(`invalid core event envelope: ${event.message}`);
40
+ }
41
+ return {
42
+ ok: true,
43
+ value: {
44
+ version: CORE_EVENT_VERSION,
45
+ event: event.value,
46
+ },
47
+ };
35
48
  }
36
49
  export function isCoreEventVersion(value) {
37
50
  return value === CORE_EVENT_VERSION;
38
51
  }
39
- function isCoreEvent(value) {
40
- switch (value.type) {
52
+ function isValidCoreEvent(value, eventType) {
53
+ switch (eventType) {
41
54
  case "assistant_start":
42
55
  return typeof value.historyEntryId === "string";
43
56
  case "assistant_final":
@@ -45,8 +58,7 @@ function isCoreEvent(value) {
45
58
  case "assistant_partial":
46
59
  return typeof value.historyEntryId === "string" && isAssistantPartialSnapshot(value.snapshot);
47
60
  case "notice":
48
- return ((value.severity === "info" || value.severity === "warn" || value.severity === "error") &&
49
- typeof value.text === "string");
61
+ return isOneOf(value.severity, noticeSeverities) && typeof value.text === "string";
50
62
  case "tool_ui":
51
63
  return isToolUiEvent(value.uiEvent);
52
64
  case "subagent_ui":
@@ -60,8 +72,7 @@ function isCoreEvent(value) {
60
72
  function isAssistantMessage(value) {
61
73
  return (isRecord(value) &&
62
74
  value.role === "assistant" &&
63
- (value.stopReason === undefined ||
64
- (typeof value.stopReason === "string" && stopReasons.includes(value.stopReason))));
75
+ (value.stopReason === undefined || isOneOf(value.stopReason, stopReasons)));
65
76
  }
66
77
  function isToolResultMessage(value) {
67
78
  return (isRecord(value) &&
@@ -77,15 +88,18 @@ function isAssistantPartialSnapshot(value) {
77
88
  typeof value.hasAnyThinking === "boolean");
78
89
  }
79
90
  function isToolUiEvent(value) {
80
- if (!isRecord(value) || typeof value.type !== "string")
91
+ if (!isRecord(value) || typeof value.type !== "string") {
81
92
  return false;
82
- return value.type === "tool_pruned"
83
- ? typeof value.toolCallId === "string" && typeof value.content === "string"
84
- : typeof value.headerTarget === "string";
93
+ }
94
+ if (value.type === "tool_pruned") {
95
+ return typeof value.toolCallId === "string" && typeof value.content === "string";
96
+ }
97
+ return typeof value.headerTarget === "string";
85
98
  }
86
99
  function isSubagentUiEvent(value) {
87
- if (!isRecord(value) || typeof value.type !== "string")
100
+ if (!isRecord(value) || typeof value.type !== "string") {
88
101
  return false;
102
+ }
89
103
  switch (value.type) {
90
104
  case "subagent_spawned":
91
105
  case "subagent_finished":
@@ -93,9 +107,9 @@ function isSubagentUiEvent(value) {
93
107
  case "subagent_progress":
94
108
  return (typeof value.id === "string" &&
95
109
  typeof value.text === "string" &&
96
- typeof value.costTotal === "number" &&
97
- typeof value.turns === "number" &&
98
- typeof value.toolCalls === "number");
110
+ isFiniteNumber(value.costTotal) &&
111
+ isFiniteNumber(value.turns) &&
112
+ isFiniteNumber(value.toolCalls));
99
113
  case "subagent_emit_output":
100
114
  return typeof value.id === "string" && typeof value.text === "string";
101
115
  case "subagent_abort_requested":
@@ -109,7 +123,15 @@ function isSubagentState(value) {
109
123
  typeof value.id === "string" &&
110
124
  typeof value.name === "string" &&
111
125
  typeof value.title === "string" &&
112
- typeof value.status === "string" &&
113
- subagentStatuses.includes(value.status));
126
+ isOneOf(value.status, subagentStatuses));
127
+ }
128
+ function isRecord(value) {
129
+ return typeof value === "object" && value !== null && !Array.isArray(value);
130
+ }
131
+ function isFiniteNumber(value) {
132
+ return typeof value === "number" && Number.isFinite(value);
133
+ }
134
+ function isOneOf(value, values) {
135
+ return typeof value === "string" && values.includes(value);
114
136
  }
115
137
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/core/events/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/core/events/parser.ts"],"names":[],"mappings":"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"}
@@ -51,8 +51,8 @@ function parseInstallArgs(argv) {
51
51
  throw new InstallCliError("--prompt can only be provided once");
52
52
  }
53
53
  const parsed = parseValue(arg, argv, i);
54
- i = parsed.nextIndex;
55
54
  promptId = parsed.value;
55
+ i = parsed.nextIndex;
56
56
  continue;
57
57
  }
58
58
  if (arg === "--skill" || arg.startsWith("--skill=")) {
@@ -60,8 +60,8 @@ function parseInstallArgs(argv) {
60
60
  throw new InstallCliError("--skill can only be provided once");
61
61
  }
62
62
  const parsed = parseValue(arg, argv, i);
63
- i = parsed.nextIndex;
64
63
  skillName = parsed.value;
64
+ i = parsed.nextIndex;
65
65
  continue;
66
66
  }
67
67
  if (arg.startsWith("-")) {
@@ -69,10 +69,16 @@ function parseInstallArgs(argv) {
69
69
  }
70
70
  throw new InstallCliError(`unexpected argument: ${arg}`);
71
71
  }
72
- if (promptId && skillName) {
72
+ if (promptId !== undefined && skillName !== undefined) {
73
73
  throw new InstallCliError("--prompt and --skill are mutually exclusive");
74
74
  }
75
- return { help, global, force, promptId, skillName };
75
+ return {
76
+ help,
77
+ global,
78
+ force,
79
+ promptId,
80
+ skillName,
81
+ };
76
82
  }
77
83
  function resolveStarterContentRoot() {
78
84
  const currentFile = fileURLToPath(import.meta.url);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/core/install/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/core/install/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,409 @@
1
+ import { getModels, getProviders } from "@mariozechner/pi-ai";
2
+ import { z } from "zod";
3
+ import { TAU_PROVIDER_EXTENSIONS } from "./tau_extensions.js";
4
+ const CostSchema = z
5
+ .object({
6
+ input: z.number().nonnegative().optional(),
7
+ output: z.number().nonnegative().optional(),
8
+ cacheRead: z.number().nonnegative().optional(),
9
+ cacheWrite: z.number().nonnegative().optional(),
10
+ })
11
+ .optional();
12
+ const ModelSchema = z
13
+ .object({
14
+ id: z.string().trim().min(1),
15
+ name: z.string().trim().min(1).optional(),
16
+ api: z.string().trim().min(1).optional(),
17
+ baseUrl: z.string().trim().min(1).optional(),
18
+ headers: z.record(z.string(), z.string()).optional(),
19
+ reasoning: z.boolean().optional(),
20
+ input: z.array(z.enum(["text", "image"])).optional(),
21
+ cost: CostSchema,
22
+ contextWindow: z.number().int().positive().optional(),
23
+ maxTokens: z.number().int().positive().optional(),
24
+ compat: z.unknown().optional(),
25
+ })
26
+ .passthrough();
27
+ const ProviderSchema = z
28
+ .object({
29
+ api: z.string().trim().min(1).optional(),
30
+ baseUrl: z.string().trim().min(1).optional(),
31
+ headers: z.record(z.string(), z.string()).optional(),
32
+ compat: z.unknown().optional(),
33
+ models: z.array(ModelSchema).optional(),
34
+ })
35
+ .passthrough();
36
+ const ModelsFileSchema = z
37
+ .object({
38
+ providers: z.record(z.string(), ProviderSchema),
39
+ })
40
+ .passthrough();
41
+ let catalogState;
42
+ let extensionApiProvidersRegistered = false;
43
+ function registerExtensionApiProvidersOnce() {
44
+ if (extensionApiProvidersRegistered) {
45
+ return;
46
+ }
47
+ for (const extension of TAU_PROVIDER_EXTENSIONS) {
48
+ extension.registerApiProviders?.();
49
+ }
50
+ extensionApiProvidersRegistered = true;
51
+ }
52
+ function ensureProviderModels(providers, provider) {
53
+ const existing = providers.get(provider);
54
+ if (existing) {
55
+ return existing;
56
+ }
57
+ const created = new Map();
58
+ providers.set(provider, created);
59
+ return created;
60
+ }
61
+ function registerModel(args) {
62
+ const providerModels = ensureProviderModels(args.providers, args.provider);
63
+ const existing = providerModels.get(args.model.id);
64
+ if (existing) {
65
+ throw new Error(`duplicate model registration for '${args.provider}:${args.model.id}' from ${args.source}`);
66
+ }
67
+ providerModels.set(args.model.id, args.model);
68
+ }
69
+ function createCatalogState() {
70
+ registerExtensionApiProvidersOnce();
71
+ const providers = new Map();
72
+ for (const provider of getProviders()) {
73
+ for (const model of getModels(provider)) {
74
+ registerModel({ providers, provider, model, source: "pi-ai" });
75
+ }
76
+ }
77
+ const apiKeyResolvers = new Map();
78
+ for (const extension of TAU_PROVIDER_EXTENSIONS) {
79
+ if (extension.resolveApiKey) {
80
+ if (apiKeyResolvers.has(extension.id)) {
81
+ throw new Error(`duplicate api key resolver registration for provider '${extension.id}'`);
82
+ }
83
+ apiKeyResolvers.set(extension.id, extension.resolveApiKey);
84
+ }
85
+ for (const model of extension.models) {
86
+ if (model.provider !== extension.id) {
87
+ throw new Error(`invalid model registration for provider '${extension.id}': model '${model.id}' declares provider '${model.provider}'`);
88
+ }
89
+ registerModel({
90
+ providers,
91
+ provider: extension.id,
92
+ model,
93
+ source: `tau extension '${extension.id}'`,
94
+ });
95
+ }
96
+ }
97
+ return {
98
+ providers,
99
+ apiKeyResolvers,
100
+ };
101
+ }
102
+ function getCatalogState() {
103
+ if (!catalogState) {
104
+ catalogState = createCatalogState();
105
+ }
106
+ return catalogState;
107
+ }
108
+ function modelKey(provider, modelId) {
109
+ return `${provider}\u0000${modelId}`;
110
+ }
111
+ function cloneCompat(value) {
112
+ if (value === undefined) {
113
+ return undefined;
114
+ }
115
+ try {
116
+ return structuredClone(value);
117
+ }
118
+ catch {
119
+ return value;
120
+ }
121
+ }
122
+ function cloneModel(model) {
123
+ return {
124
+ ...model,
125
+ input: [...model.input],
126
+ cost: { ...model.cost },
127
+ ...(model.headers ? { headers: { ...model.headers } } : {}),
128
+ ...(model.compat !== undefined
129
+ ? { compat: cloneCompat(model.compat) }
130
+ : {}),
131
+ };
132
+ }
133
+ function isObject(value) {
134
+ return typeof value === "object" && value !== null && !Array.isArray(value);
135
+ }
136
+ function mergeCompat(base, patch) {
137
+ if (patch === undefined) {
138
+ return base;
139
+ }
140
+ if (isObject(base) && isObject(patch)) {
141
+ return {
142
+ ...base,
143
+ ...patch,
144
+ };
145
+ }
146
+ return patch;
147
+ }
148
+ function applyModelPatch(model, patch) {
149
+ let next = cloneModel(model);
150
+ if (patch.api !== undefined) {
151
+ next = { ...next, api: patch.api };
152
+ }
153
+ if (patch.baseUrl !== undefined) {
154
+ next = { ...next, baseUrl: patch.baseUrl };
155
+ }
156
+ if (patch.headers !== undefined) {
157
+ next = {
158
+ ...next,
159
+ headers: {
160
+ ...(next.headers ?? {}),
161
+ ...patch.headers,
162
+ },
163
+ };
164
+ }
165
+ if (patch.compat !== undefined) {
166
+ next = {
167
+ ...next,
168
+ compat: mergeCompat(next.compat, patch.compat),
169
+ };
170
+ }
171
+ if (patch.name !== undefined) {
172
+ next = { ...next, name: patch.name };
173
+ }
174
+ if (patch.reasoning !== undefined) {
175
+ next = { ...next, reasoning: patch.reasoning };
176
+ }
177
+ if (patch.input !== undefined) {
178
+ next = { ...next, input: [...patch.input] };
179
+ }
180
+ if (patch.cost !== undefined) {
181
+ next = {
182
+ ...next,
183
+ cost: {
184
+ ...next.cost,
185
+ ...patch.cost,
186
+ },
187
+ };
188
+ }
189
+ if (patch.contextWindow !== undefined) {
190
+ next = { ...next, contextWindow: patch.contextWindow };
191
+ }
192
+ if (patch.maxTokens !== undefined) {
193
+ next = { ...next, maxTokens: patch.maxTokens };
194
+ }
195
+ return next;
196
+ }
197
+ function mergeProviderPatch(base, overlay) {
198
+ const mergedHeaders = {
199
+ ...(base?.headers ?? {}),
200
+ ...(overlay.headers ?? {}),
201
+ };
202
+ return {
203
+ ...(base ?? {}),
204
+ ...overlay,
205
+ ...(Object.keys(mergedHeaders).length > 0 ? { headers: mergedHeaders } : {}),
206
+ compat: mergeCompat(base?.compat, overlay.compat),
207
+ };
208
+ }
209
+ function createProviderPatch(provider) {
210
+ return {
211
+ ...(provider.api !== undefined ? { api: provider.api } : {}),
212
+ ...(provider.baseUrl !== undefined ? { baseUrl: provider.baseUrl } : {}),
213
+ ...(provider.headers !== undefined ? { headers: provider.headers } : {}),
214
+ ...(provider.compat !== undefined ? { compat: provider.compat } : {}),
215
+ };
216
+ }
217
+ function createModelPatch(model) {
218
+ return {
219
+ ...(model.api !== undefined ? { api: model.api } : {}),
220
+ ...(model.baseUrl !== undefined ? { baseUrl: model.baseUrl } : {}),
221
+ ...(model.headers !== undefined ? { headers: model.headers } : {}),
222
+ ...(model.compat !== undefined ? { compat: model.compat } : {}),
223
+ ...(model.name !== undefined ? { name: model.name } : {}),
224
+ ...(model.reasoning !== undefined ? { reasoning: model.reasoning } : {}),
225
+ ...(model.input !== undefined ? { input: model.input } : {}),
226
+ ...(model.cost !== undefined ? { cost: model.cost } : {}),
227
+ ...(model.contextWindow !== undefined ? { contextWindow: model.contextWindow } : {}),
228
+ ...(model.maxTokens !== undefined ? { maxTokens: model.maxTokens } : {}),
229
+ };
230
+ }
231
+ function createSyntheticModel(provider, modelId, providerTemplates) {
232
+ const template = providerTemplates.get(provider);
233
+ if (!template) {
234
+ return undefined;
235
+ }
236
+ return {
237
+ ...cloneModel(template),
238
+ id: modelId,
239
+ name: modelId,
240
+ };
241
+ }
242
+ function formatZodError(error) {
243
+ return error.issues
244
+ .map((issue) => {
245
+ const path = issue.path.length > 0 ? `${issue.path.join(".")}: ` : "";
246
+ return `${path}${issue.message}`;
247
+ })
248
+ .join("; ");
249
+ }
250
+ function loadModelsFile(path, deps) {
251
+ let rawText;
252
+ try {
253
+ rawText = deps.fs.readFile(path);
254
+ }
255
+ catch (error) {
256
+ return {
257
+ error: `${path}: failed to read models file: ${error instanceof Error ? error.message : String(error)}`,
258
+ };
259
+ }
260
+ let parsedJson;
261
+ try {
262
+ parsedJson = JSON.parse(rawText);
263
+ }
264
+ catch (error) {
265
+ return {
266
+ error: `${path}: failed to parse json: ${error instanceof Error ? error.message : String(error)}`,
267
+ };
268
+ }
269
+ const parsed = ModelsFileSchema.safeParse(parsedJson);
270
+ if (!parsed.success) {
271
+ return {
272
+ error: `${path}: invalid models schema: ${formatZodError(parsed.error)}`,
273
+ };
274
+ }
275
+ return { data: parsed.data };
276
+ }
277
+ export function loadModelResolver(options) {
278
+ const deps = options.deps;
279
+ const levels = options.levels;
280
+ const state = getCatalogState();
281
+ const knownProviders = new Set(state.providers.keys());
282
+ const modelsByKey = new Map();
283
+ const providerTemplates = new Map();
284
+ for (const [provider, providerModels] of state.providers.entries()) {
285
+ const models = [...providerModels.values()];
286
+ if (models.length === 0) {
287
+ continue;
288
+ }
289
+ providerTemplates.set(provider, cloneModel(models[0]));
290
+ for (const model of models) {
291
+ modelsByKey.set(modelKey(provider, model.id), cloneModel(model));
292
+ }
293
+ }
294
+ const providerPatches = new Map();
295
+ const errors = [];
296
+ for (const level of levels) {
297
+ if (!deps.fs.exists(level.modelsPath)) {
298
+ continue;
299
+ }
300
+ const loaded = loadModelsFile(level.modelsPath, deps);
301
+ if (loaded.error) {
302
+ errors.push(loaded.error);
303
+ continue;
304
+ }
305
+ if (!loaded.data) {
306
+ continue;
307
+ }
308
+ for (const [providerNameRaw, providerConfig] of Object.entries(loaded.data.providers)) {
309
+ const providerName = providerNameRaw.trim().toLowerCase();
310
+ if (!providerName || !knownProviders.has(providerName)) {
311
+ errors.push(`${level.modelsPath}: unknown provider '${providerNameRaw}'.`);
312
+ continue;
313
+ }
314
+ const providerPatch = createProviderPatch(providerConfig);
315
+ if (Object.keys(providerPatch).length > 0) {
316
+ const mergedProviderPatch = mergeProviderPatch(providerPatches.get(providerName), providerPatch);
317
+ providerPatches.set(providerName, mergedProviderPatch);
318
+ for (const [key, candidate] of modelsByKey.entries()) {
319
+ if (candidate.provider !== providerName) {
320
+ continue;
321
+ }
322
+ modelsByKey.set(key, applyModelPatch(candidate, mergedProviderPatch));
323
+ }
324
+ }
325
+ for (const modelConfig of providerConfig.models ?? []) {
326
+ const key = modelKey(providerName, modelConfig.id);
327
+ const providerPatchForModel = providerPatches.get(providerName);
328
+ const existing = modelsByKey.get(key) ??
329
+ createSyntheticModel(providerName, modelConfig.id, providerTemplates);
330
+ if (!existing) {
331
+ errors.push(`${level.modelsPath}: provider '${providerName}' does not have bundled defaults to derive model '${modelConfig.id}'.`);
332
+ continue;
333
+ }
334
+ const withProviderDefaults = providerPatchForModel
335
+ ? applyModelPatch(existing, providerPatchForModel)
336
+ : existing;
337
+ const next = applyModelPatch(withProviderDefaults, createModelPatch(modelConfig));
338
+ modelsByKey.set(key, {
339
+ ...next,
340
+ id: modelConfig.id,
341
+ name: next.name || modelConfig.id,
342
+ provider: providerName,
343
+ });
344
+ }
345
+ }
346
+ }
347
+ const resolveConfiguredModel = (providerRaw, modelIdRaw) => {
348
+ const provider = providerRaw.trim().toLowerCase();
349
+ const modelId = modelIdRaw.trim();
350
+ if (!provider || !modelId || !knownProviders.has(provider)) {
351
+ return undefined;
352
+ }
353
+ const existing = modelsByKey.get(modelKey(provider, modelId));
354
+ if (!existing) {
355
+ return undefined;
356
+ }
357
+ return cloneModel(existing);
358
+ };
359
+ const resolveModel = (providerRaw, modelIdRaw) => {
360
+ const provider = providerRaw.trim().toLowerCase();
361
+ const modelId = modelIdRaw.trim();
362
+ if (!provider || !modelId || !knownProviders.has(provider)) {
363
+ return undefined;
364
+ }
365
+ const existing = resolveConfiguredModel(provider, modelId);
366
+ if (existing) {
367
+ return existing;
368
+ }
369
+ const synthetic = createSyntheticModel(provider, modelId, providerTemplates);
370
+ if (!synthetic) {
371
+ return undefined;
372
+ }
373
+ const providerPatch = providerPatches.get(provider);
374
+ if (!providerPatch) {
375
+ return synthetic;
376
+ }
377
+ return applyModelPatch(synthetic, providerPatch);
378
+ };
379
+ return {
380
+ resolveModel,
381
+ resolveConfiguredModel,
382
+ errors,
383
+ };
384
+ }
385
+ export function listProviders() {
386
+ return [...getCatalogState().providers.keys()];
387
+ }
388
+ export function listModels(provider) {
389
+ const providerModels = getCatalogState().providers.get(provider);
390
+ return providerModels ? [...providerModels.values()] : [];
391
+ }
392
+ export function resolveModel(provider, modelId) {
393
+ return getCatalogState().providers.get(provider)?.get(modelId);
394
+ }
395
+ export function resolveModelOrThrow(provider, modelId) {
396
+ const model = resolveModel(provider, modelId);
397
+ if (!model) {
398
+ throw new Error(`failed to resolve model '${provider}:${modelId}'`);
399
+ }
400
+ return model;
401
+ }
402
+ export function resolveProviderApiKey(args) {
403
+ const resolver = getCatalogState().apiKeyResolvers.get(args.provider);
404
+ if (!resolver) {
405
+ return undefined;
406
+ }
407
+ return resolver(args);
408
+ }
409
+ //# sourceMappingURL=catalog.js.map