deepclause-sdk 0.0.59 → 0.0.60

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 (86) hide show
  1. package/README.md +71 -19
  2. package/dist/cli/compile.d.ts +9 -0
  3. package/dist/cli/compile.d.ts.map +1 -1
  4. package/dist/cli/compile.js +106 -138
  5. package/dist/cli/compile.js.map +1 -1
  6. package/dist/cli/config.d.ts +73 -23
  7. package/dist/cli/config.d.ts.map +1 -1
  8. package/dist/cli/config.js +151 -58
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/index.js +64 -14
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/interactive.d.ts +2 -0
  13. package/dist/cli/interactive.d.ts.map +1 -0
  14. package/dist/cli/interactive.js +20 -0
  15. package/dist/cli/interactive.js.map +1 -0
  16. package/dist/cli/prompt.d.ts +1 -19
  17. package/dist/cli/prompt.d.ts.map +1 -1
  18. package/dist/cli/prompt.js +1 -869
  19. package/dist/cli/prompt.js.map +1 -1
  20. package/dist/cli/run.d.ts +6 -1
  21. package/dist/cli/run.d.ts.map +1 -1
  22. package/dist/cli/run.js +65 -279
  23. package/dist/cli/run.js.map +1 -1
  24. package/dist/cli/search.d.ts +1 -0
  25. package/dist/cli/search.d.ts.map +1 -1
  26. package/dist/cli/search.js +10 -4
  27. package/dist/cli/search.js.map +1 -1
  28. package/dist/cli/tools.d.ts +2 -2
  29. package/dist/cli/tools.d.ts.map +1 -1
  30. package/dist/cli/tools.js +30 -5
  31. package/dist/cli/tools.js.map +1 -1
  32. package/dist/cli/tui.d.ts +58 -0
  33. package/dist/cli/tui.d.ts.map +1 -0
  34. package/dist/cli/tui.js +1742 -0
  35. package/dist/cli/tui.js.map +1 -0
  36. package/dist/compiler_prompt.d.ts +1 -1
  37. package/dist/compiler_prompt.d.ts.map +1 -1
  38. package/dist/compiler_prompt.js +8 -10
  39. package/dist/compiler_prompt.js.map +1 -1
  40. package/dist/system/assets/docs/CONDUCTOR_PROMPT.md +46 -0
  41. package/dist/system/assets/docs/DML_COMPILER_PROMPT.md +654 -0
  42. package/dist/system/assets/index.d.ts +9 -0
  43. package/dist/system/assets/index.d.ts.map +1 -0
  44. package/dist/system/assets/index.js +47 -0
  45. package/dist/system/assets/index.js.map +1 -0
  46. package/dist/system/assets/skills/conductor.dml +70 -0
  47. package/dist/system/assets/skills/skill-creator.dml +182 -0
  48. package/dist/system/config/model-slots.d.ts +34 -0
  49. package/dist/system/config/model-slots.d.ts.map +1 -0
  50. package/dist/system/config/model-slots.js +121 -0
  51. package/dist/system/config/model-slots.js.map +1 -0
  52. package/dist/system/runtime/agentvm-manager.d.ts +18 -0
  53. package/dist/system/runtime/agentvm-manager.d.ts.map +1 -0
  54. package/dist/system/runtime/agentvm-manager.js +98 -0
  55. package/dist/system/runtime/agentvm-manager.js.map +1 -0
  56. package/dist/system/runtime/conductor.d.ts +54 -0
  57. package/dist/system/runtime/conductor.d.ts.map +1 -0
  58. package/dist/system/runtime/conductor.js +457 -0
  59. package/dist/system/runtime/conductor.js.map +1 -0
  60. package/dist/system/runtime/console-capture.d.ts +9 -0
  61. package/dist/system/runtime/console-capture.d.ts.map +1 -0
  62. package/dist/system/runtime/console-capture.js +67 -0
  63. package/dist/system/runtime/console-capture.js.map +1 -0
  64. package/dist/system/runtime/dml-executor.d.ts +41 -0
  65. package/dist/system/runtime/dml-executor.d.ts.map +1 -0
  66. package/dist/system/runtime/dml-executor.js +137 -0
  67. package/dist/system/runtime/dml-executor.js.map +1 -0
  68. package/dist/system/runtime/runtime-tools.d.ts +16 -0
  69. package/dist/system/runtime/runtime-tools.d.ts.map +1 -0
  70. package/dist/system/runtime/runtime-tools.js +146 -0
  71. package/dist/system/runtime/runtime-tools.js.map +1 -0
  72. package/dist/system/runtime/shell-manager.d.ts +20 -0
  73. package/dist/system/runtime/shell-manager.d.ts.map +1 -0
  74. package/dist/system/runtime/shell-manager.js +133 -0
  75. package/dist/system/runtime/shell-manager.js.map +1 -0
  76. package/dist/system/runtime/skill-creator.d.ts +33 -0
  77. package/dist/system/runtime/skill-creator.d.ts.map +1 -0
  78. package/dist/system/runtime/skill-creator.js +583 -0
  79. package/dist/system/runtime/skill-creator.js.map +1 -0
  80. package/dist/system/runtime/token-usage.d.ts +16 -0
  81. package/dist/system/runtime/token-usage.d.ts.map +1 -0
  82. package/dist/system/runtime/token-usage.js +45 -0
  83. package/dist/system/runtime/token-usage.js.map +1 -0
  84. package/dist/tools.js +1 -1
  85. package/dist/tools.js.map +1 -1
  86. package/package.json +4 -3
@@ -4,6 +4,9 @@
4
4
  * Handles configuration loading, validation, and management.
5
5
  */
6
6
  import { z } from 'zod';
7
+ import { type ModelSlot, type ResolvedModelConfig } from '../system/config/model-slots.js';
8
+ export type { ModelSlot, Provider, ResolvedModelConfig } from '../system/config/model-slots.js';
9
+ export { buildModelOverride } from '../system/config/model-slots.js';
7
10
  declare const MCPServerSchema: z.ZodObject<{
8
11
  command: z.ZodString;
9
12
  args: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
@@ -18,8 +21,32 @@ declare const MCPServerSchema: z.ZodObject<{
18
21
  env?: Record<string, string> | undefined;
19
22
  }>;
20
23
  export declare const ConfigSchema: z.ZodObject<{
21
- model: z.ZodString;
22
- provider: z.ZodDefault<z.ZodEnum<["openai", "anthropic", "google", "openrouter"]>>;
24
+ models: z.ZodDefault<z.ZodObject<{
25
+ gateway: z.ZodDefault<z.ZodString>;
26
+ run: z.ZodDefault<z.ZodString>;
27
+ compile: z.ZodDefault<z.ZodString>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ gateway: string;
30
+ run: string;
31
+ compile: string;
32
+ }, {
33
+ gateway?: string | undefined;
34
+ run?: string | undefined;
35
+ compile?: string | undefined;
36
+ }>>;
37
+ temperatures: z.ZodDefault<z.ZodObject<{
38
+ gateway: z.ZodDefault<z.ZodNumber>;
39
+ run: z.ZodDefault<z.ZodNumber>;
40
+ compile: z.ZodDefault<z.ZodNumber>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ gateway: number;
43
+ run: number;
44
+ compile: number;
45
+ }, {
46
+ gateway?: number | undefined;
47
+ run?: number | undefined;
48
+ compile?: number | undefined;
49
+ }>>;
23
50
  providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
24
51
  openai: z.ZodOptional<z.ZodObject<{
25
52
  apiKey: z.ZodOptional<z.ZodString>;
@@ -133,12 +160,22 @@ export declare const ConfigSchema: z.ZodObject<{
133
160
  }>>>;
134
161
  dmlBase: z.ZodDefault<z.ZodOptional<z.ZodString>>;
135
162
  workspace: z.ZodDefault<z.ZodOptional<z.ZodString>>;
163
+ model: z.ZodOptional<z.ZodString>;
164
+ provider: z.ZodOptional<z.ZodEnum<["openai", "anthropic", "google", "openrouter"]>>;
136
165
  }, "strip", z.ZodTypeAny, {
137
- provider: "openai" | "anthropic" | "google" | "openrouter";
138
- model: string;
139
166
  agentvm: {
140
167
  network: boolean;
141
168
  };
169
+ models: {
170
+ gateway: string;
171
+ run: string;
172
+ compile: string;
173
+ };
174
+ temperatures: {
175
+ gateway: number;
176
+ run: number;
177
+ compile: number;
178
+ };
142
179
  providers: {
143
180
  openai?: {
144
181
  apiKey?: string | undefined;
@@ -166,12 +203,24 @@ export declare const ConfigSchema: z.ZodObject<{
166
203
  };
167
204
  dmlBase: string;
168
205
  workspace: string;
206
+ provider?: "openai" | "anthropic" | "google" | "openrouter" | undefined;
207
+ model?: string | undefined;
169
208
  }, {
170
- model: string;
171
209
  provider?: "openai" | "anthropic" | "google" | "openrouter" | undefined;
210
+ model?: string | undefined;
172
211
  agentvm?: {
173
212
  network?: boolean | undefined;
174
213
  } | undefined;
214
+ models?: {
215
+ gateway?: string | undefined;
216
+ run?: string | undefined;
217
+ compile?: string | undefined;
218
+ } | undefined;
219
+ temperatures?: {
220
+ gateway?: number | undefined;
221
+ run?: number | undefined;
222
+ compile?: number | undefined;
223
+ } | undefined;
175
224
  providers?: {
176
225
  openai?: {
177
226
  apiKey?: string | undefined;
@@ -200,7 +249,6 @@ export declare const ConfigSchema: z.ZodObject<{
200
249
  dmlBase?: string | undefined;
201
250
  workspace?: string | undefined;
202
251
  }>;
203
- export type Provider = 'openai' | 'anthropic' | 'google' | 'openrouter';
204
252
  export type Config = z.infer<typeof ConfigSchema>;
205
253
  export type MCPServer = z.infer<typeof MCPServerSchema>;
206
254
  export declare function getConfigDir(workspaceRoot: string): string;
@@ -222,33 +270,36 @@ export declare function loadConfig(workspaceRoot: string): Promise<Config>;
222
270
  */
223
271
  export declare function validateConfig(config: unknown): Config;
224
272
  /**
225
- * Parse a model string in format "provider/model" or just "model"
226
- * If no provider specified, attempts to infer from model name
273
+ * Parse a model string in either canonical provider:model form, legacy provider/model form,
274
+ * or just model name form.
227
275
  */
228
- export declare function parseModelString(modelString: string): {
229
- provider: Provider;
230
- model: string;
231
- };
276
+ export declare function parseModelString(modelString: string): string;
232
277
  /**
233
- * Format provider and model as a single string
278
+ * Format a model id as canonical provider:model
234
279
  */
235
- export declare function formatModelString(provider: Provider, model: string): string;
280
+ export declare function formatModelString(modelId: string): string;
236
281
  /**
237
- * Set the default model in configuration
238
- * Accepts format: "provider/model" or just "model" (provider inferred)
282
+ * Set the default model in configuration.
283
+ * When slot is omitted, all slots are updated for backward compatibility.
239
284
  */
240
- export declare function setModel(workspaceRoot: string, modelString: string): Promise<{
241
- provider: Provider;
242
- model: string;
285
+ export declare function setModel(workspaceRoot: string, modelString: string, slot?: ModelSlot): Promise<{
286
+ modelId: string;
287
+ updatedSlots: ModelSlot[];
243
288
  }>;
244
289
  /**
245
- * Get the current model from configuration
290
+ * Get the current model configuration from configuration
246
291
  */
247
292
  export declare function showModel(workspaceRoot: string): Promise<{
248
- provider: Provider;
249
- model: string;
293
+ models: Record<ModelSlot, string>;
294
+ temperatures: Record<ModelSlot, number>;
250
295
  formatted: string;
251
296
  }>;
297
+ export declare function resolveModelSlot(config: Config, slot: ModelSlot, overrides?: {
298
+ modelId?: string;
299
+ temperature?: number;
300
+ }): ResolvedModelConfig;
301
+ export declare function applyResolvedModelConfig(selection: ResolvedModelConfig): void;
302
+ export declare function getDefaultConfig(): Config;
252
303
  /**
253
304
  * Update configuration with partial changes
254
305
  */
@@ -261,5 +312,4 @@ export declare function configExists(workspaceRoot: string): Promise<boolean>;
261
312
  * Get list of configured MCP servers
262
313
  */
263
314
  export declare function getMCPServers(config: Config): Record<string, MCPServer>;
264
- export {};
265
315
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,QAAA,MAAM,eAAe;;;;;;;;;;;;EAInB,CAAC;AAuBH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAhBvB,gEAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBhE,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAExE,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAoBxD,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEzD;AAMD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAChD,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBvE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAWtD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAkC3F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAWzH;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAOxH;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GACvB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAuCD;;GAEG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAEvE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@
6
6
  import { z } from 'zod';
7
7
  import * as fs from 'fs/promises';
8
8
  import * as path from 'path';
9
+ import { DEFAULT_MODEL_IDS, DEFAULT_TEMPERATURES, buildModelOverride, formatModelId, normalizeModelId, resolveModelSlotConfig, } from '../system/config/model-slots.js';
10
+ export { buildModelOverride } from '../system/config/model-slots.js';
9
11
  // =============================================================================
10
12
  // Configuration Schema
11
13
  // =============================================================================
@@ -31,21 +33,33 @@ const ProvidersSchema = z.object({
31
33
  google: ProviderConfigSchema.optional(),
32
34
  openrouter: ProviderConfigSchema.optional()
33
35
  }).optional().default({});
36
+ const ModelsSchema = z.object({
37
+ gateway: z.string().min(1).default(DEFAULT_MODEL_IDS.gateway),
38
+ run: z.string().min(1).default(DEFAULT_MODEL_IDS.run),
39
+ compile: z.string().min(1).default(DEFAULT_MODEL_IDS.compile),
40
+ });
41
+ const TemperaturesSchema = z.object({
42
+ gateway: z.number().min(0).max(2).default(DEFAULT_TEMPERATURES.gateway),
43
+ run: z.number().min(0).max(2).default(DEFAULT_TEMPERATURES.run),
44
+ compile: z.number().min(0).max(2).default(DEFAULT_TEMPERATURES.compile),
45
+ });
34
46
  export const ConfigSchema = z.object({
35
- model: z.string().min(1, 'Model is required'),
36
- provider: z.enum(['openai', 'anthropic', 'google', 'openrouter']).default('openai'),
47
+ models: ModelsSchema.default(DEFAULT_MODEL_IDS),
48
+ temperatures: TemperaturesSchema.default(DEFAULT_TEMPERATURES),
37
49
  providers: ProvidersSchema,
38
50
  mcp: MCPConfigSchema.optional().default({ servers: {} }),
39
51
  agentvm: AgentVMConfigSchema,
40
52
  dmlBase: z.string().optional().default('.deepclause/tools'),
41
- workspace: z.string().optional().default('./')
53
+ workspace: z.string().optional().default('./'),
54
+ model: z.string().optional(),
55
+ provider: z.enum(['openai', 'anthropic', 'google', 'openrouter']).optional(),
42
56
  });
43
57
  // =============================================================================
44
58
  // Default Configuration
45
59
  // =============================================================================
46
60
  const DEFAULT_CONFIG = {
47
- model: 'gpt-4o',
48
- provider: 'openai',
61
+ models: { ...DEFAULT_MODEL_IDS },
62
+ temperatures: { ...DEFAULT_TEMPERATURES },
49
63
  providers: {},
50
64
  mcp: { servers: {} },
51
65
  agentvm: { network: false },
@@ -90,12 +104,17 @@ export async function initConfig(workspaceRoot, options = {}) {
90
104
  await fs.mkdir(configDir, { recursive: true });
91
105
  await fs.mkdir(toolsDir, { recursive: true });
92
106
  // Create config with optional model override
107
+ const initialModelId = options.model ? normalizeModelId(options.model) : DEFAULT_MODEL_IDS.run;
93
108
  const config = {
94
109
  ...DEFAULT_CONFIG,
95
- model: options.model || DEFAULT_CONFIG.model
110
+ models: {
111
+ gateway: initialModelId,
112
+ run: initialModelId,
113
+ compile: initialModelId,
114
+ },
96
115
  };
97
116
  // Write config
98
- await fs.writeFile(configPath, JSON.stringify(config, null, 2) + '\n');
117
+ await fs.writeFile(configPath, serializeConfig(config));
99
118
  // Create .gitignore for the .deepclause directory
100
119
  const gitignorePath = path.join(configDir, '.gitignore');
101
120
  const gitignoreContent = `# DeepClause generated files
@@ -125,8 +144,9 @@ export async function loadConfig(workspaceRoot) {
125
144
  }
126
145
  // Resolve environment variables in config
127
146
  const resolvedConfig = resolveEnvVars(rawConfig);
147
+ const migratedConfig = migrateLegacyConfig(resolvedConfig);
128
148
  // Validate
129
- return validateConfig(resolvedConfig);
149
+ return validateConfig(migratedConfig);
130
150
  }
131
151
  /**
132
152
  * Validate configuration object
@@ -139,72 +159,89 @@ export function validateConfig(config) {
139
159
  .join('\n');
140
160
  throw new Error(`Invalid configuration:\n${errors}`);
141
161
  }
142
- return result.data;
162
+ return {
163
+ ...result.data,
164
+ models: {
165
+ gateway: normalizeModelId(result.data.models.gateway),
166
+ run: normalizeModelId(result.data.models.run),
167
+ compile: normalizeModelId(result.data.models.compile),
168
+ },
169
+ };
143
170
  }
144
171
  /**
145
- * Parse a model string in format "provider/model" or just "model"
146
- * If no provider specified, attempts to infer from model name
172
+ * Parse a model string in either canonical provider:model form, legacy provider/model form,
173
+ * or just model name form.
147
174
  */
148
175
  export function parseModelString(modelString) {
149
- if (!modelString || modelString.trim() === '') {
150
- throw new Error('Invalid model: model name cannot be empty');
151
- }
152
- // Check for provider/model format
153
- if (modelString.includes('/')) {
154
- const [providerPart, ...modelParts] = modelString.split('/');
155
- const provider = providerPart.toLowerCase();
156
- const model = modelParts.join('/'); // Handle models with / in name
157
- if (!['openai', 'anthropic', 'google', 'openrouter'].includes(provider)) {
158
- throw new Error(`Unknown provider: ${provider}. Valid providers: openai, anthropic, google, openrouter`);
159
- }
160
- return { provider, model };
161
- }
162
- // Infer provider from model name
163
- const model = modelString;
164
- let provider;
165
- if (model.startsWith('gpt-') || model.startsWith('o1') || model.startsWith('o3')) {
166
- provider = 'openai';
167
- }
168
- else if (model.startsWith('claude-')) {
169
- provider = 'anthropic';
170
- }
171
- else if (model.startsWith('gemini-')) {
172
- provider = 'google';
173
- }
174
- else {
175
- // Default to openrouter for unknown models
176
- provider = 'openrouter';
177
- }
178
- return { provider, model };
176
+ return normalizeModelId(modelString);
179
177
  }
180
178
  /**
181
- * Format provider and model as a single string
179
+ * Format a model id as canonical provider:model
182
180
  */
183
- export function formatModelString(provider, model) {
184
- return `${provider}/${model}`;
181
+ export function formatModelString(modelId) {
182
+ return formatModelId(modelId);
185
183
  }
186
184
  /**
187
- * Set the default model in configuration
188
- * Accepts format: "provider/model" or just "model" (provider inferred)
185
+ * Set the default model in configuration.
186
+ * When slot is omitted, all slots are updated for backward compatibility.
189
187
  */
190
- export async function setModel(workspaceRoot, modelString) {
191
- const { provider, model } = parseModelString(modelString);
188
+ export async function setModel(workspaceRoot, modelString, slot) {
189
+ const modelId = parseModelString(modelString);
192
190
  const config = await loadConfig(workspaceRoot);
193
- config.model = model;
194
- config.provider = provider;
191
+ const updatedSlots = slot ? [slot] : ['gateway', 'run', 'compile'];
192
+ for (const nextSlot of updatedSlots) {
193
+ config.models[nextSlot] = modelId;
194
+ }
195
195
  const configPath = getConfigPath(workspaceRoot);
196
- await fs.writeFile(configPath, JSON.stringify(config, null, 2) + '\n');
197
- return { provider, model };
196
+ await fs.writeFile(configPath, serializeConfig(config));
197
+ return { modelId, updatedSlots };
198
198
  }
199
199
  /**
200
- * Get the current model from configuration
200
+ * Get the current model configuration from configuration
201
201
  */
202
202
  export async function showModel(workspaceRoot) {
203
203
  const config = await loadConfig(workspaceRoot);
204
+ const lines = ['gateway', 'run', 'compile'].map((slotName) => {
205
+ const modelId = formatModelString(config.models[slotName]);
206
+ const temperature = config.temperatures[slotName];
207
+ return `${slotName}: ${modelId} (temperature=${temperature})`;
208
+ });
209
+ return {
210
+ models: { ...config.models },
211
+ temperatures: { ...config.temperatures },
212
+ formatted: lines.join('\n'),
213
+ };
214
+ }
215
+ export function resolveModelSlot(config, slot, overrides = {}) {
216
+ return resolveModelSlotConfig(config, slot, overrides);
217
+ }
218
+ export function applyResolvedModelConfig(selection) {
219
+ if (!selection.apiKey) {
220
+ return;
221
+ }
222
+ switch (selection.provider) {
223
+ case 'openai':
224
+ process.env.OPENAI_API_KEY = selection.apiKey;
225
+ break;
226
+ case 'anthropic':
227
+ process.env.ANTHROPIC_API_KEY = selection.apiKey;
228
+ break;
229
+ case 'google':
230
+ process.env.GOOGLE_GENERATIVE_AI_API_KEY = selection.apiKey;
231
+ break;
232
+ case 'openrouter':
233
+ process.env.OPENROUTER_API_KEY = selection.apiKey;
234
+ break;
235
+ }
236
+ }
237
+ export function getDefaultConfig() {
204
238
  return {
205
- provider: config.provider,
206
- model: config.model,
207
- formatted: formatModelString(config.provider, config.model)
239
+ ...DEFAULT_CONFIG,
240
+ models: { ...DEFAULT_CONFIG.models },
241
+ temperatures: { ...DEFAULT_CONFIG.temperatures },
242
+ providers: { ...DEFAULT_CONFIG.providers },
243
+ mcp: { servers: {} },
244
+ agentvm: { network: DEFAULT_CONFIG.agentvm?.network ?? false },
208
245
  };
209
246
  }
210
247
  /**
@@ -212,11 +249,19 @@ export async function showModel(workspaceRoot) {
212
249
  */
213
250
  export async function updateConfig(workspaceRoot, updates) {
214
251
  const config = await loadConfig(workspaceRoot);
215
- const updated = { ...config, ...updates };
252
+ const updated = {
253
+ ...config,
254
+ ...updates,
255
+ models: { ...config.models, ...updates.models },
256
+ temperatures: { ...config.temperatures, ...updates.temperatures },
257
+ providers: { ...config.providers, ...updates.providers },
258
+ mcp: updates.mcp ? { ...config.mcp, ...updates.mcp } : config.mcp,
259
+ agentvm: updates.agentvm ? { ...config.agentvm, ...updates.agentvm } : config.agentvm,
260
+ };
216
261
  // Re-validate
217
262
  const validated = validateConfig(updated);
218
263
  const configPath = getConfigPath(workspaceRoot);
219
- await fs.writeFile(configPath, JSON.stringify(validated, null, 2) + '\n');
264
+ await fs.writeFile(configPath, serializeConfig(validated));
220
265
  return validated;
221
266
  }
222
267
  // =============================================================================
@@ -251,6 +296,54 @@ function resolveEnvVars(obj) {
251
296
  }
252
297
  return obj;
253
298
  }
299
+ function migrateLegacyConfig(config) {
300
+ if (config === null || typeof config !== 'object' || Array.isArray(config)) {
301
+ return config;
302
+ }
303
+ const record = { ...config };
304
+ const legacyModel = typeof record.model === 'string' ? record.model : undefined;
305
+ const legacyProvider = typeof record.provider === 'string' ? record.provider : undefined;
306
+ const legacyModelId = legacyModel ? buildModelOverride(legacyModel, legacyProvider) : undefined;
307
+ const rawModels = record.models && typeof record.models === 'object' && !Array.isArray(record.models)
308
+ ? record.models
309
+ : {};
310
+ const rawTemperatures = record.temperatures && typeof record.temperatures === 'object' && !Array.isArray(record.temperatures)
311
+ ? record.temperatures
312
+ : {};
313
+ record.models = {
314
+ gateway: typeof rawModels.gateway === 'string'
315
+ ? normalizeModelId(rawModels.gateway)
316
+ : legacyModelId ?? DEFAULT_MODEL_IDS.gateway,
317
+ run: typeof rawModels.run === 'string'
318
+ ? normalizeModelId(rawModels.run)
319
+ : legacyModelId ?? DEFAULT_MODEL_IDS.run,
320
+ compile: typeof rawModels.compile === 'string'
321
+ ? normalizeModelId(rawModels.compile)
322
+ : legacyModelId ?? DEFAULT_MODEL_IDS.compile,
323
+ };
324
+ record.temperatures = {
325
+ gateway: coerceTemperature(rawTemperatures.gateway, DEFAULT_TEMPERATURES.gateway),
326
+ run: coerceTemperature(rawTemperatures.run, DEFAULT_TEMPERATURES.run),
327
+ compile: coerceTemperature(rawTemperatures.compile, DEFAULT_TEMPERATURES.compile),
328
+ };
329
+ return record;
330
+ }
331
+ function coerceTemperature(value, fallback) {
332
+ if (typeof value === 'number' && value >= 0 && value <= 2) {
333
+ return value;
334
+ }
335
+ if (typeof value === 'string') {
336
+ const parsed = Number.parseFloat(value);
337
+ if (Number.isFinite(parsed) && parsed >= 0 && parsed <= 2) {
338
+ return parsed;
339
+ }
340
+ }
341
+ return fallback;
342
+ }
343
+ function serializeConfig(config) {
344
+ const { model, provider, ...rest } = config;
345
+ return JSON.stringify(rest, null, 2) + '\n';
346
+ }
254
347
  /**
255
348
  * Check if configuration exists
256
349
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}