MCPcopy Create free account
hub / github.com/cursor/cookbook / validateModelMap

Function validateModelMap

sdk/dag-task-runner/src/dag.ts:191–207  ·  view source on GitHub ↗
(raw: unknown, label = "model map")

Source from the content-addressed store, hash-verified

189}
190
191export function validateModelMap(raw: unknown, label = "model map"): ModelMapOverride {
192 if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
193 throw new Error(`${label} must be a JSON object.`);
194 }
195 const obj = raw as Record<string, unknown>;
196 const models: ModelMapOverride = {};
197 for (const [key, value] of Object.entries(obj)) {
198 if (!COMPLEXITY_VALUES.has(key as Complexity)) {
199 throw new Error(`${label} contains unknown complexity key: ${key}`);
200 }
201 if (typeof value !== "string" || value.trim() === "") {
202 throw new Error(`${label}.${key} must be a non-empty string.`);
203 }
204 models[key as Complexity] = value.trim();
205 }
206 return models;
207}
208
209export function createModelResolver(overrides: ModelMapOverride = {}): (c: Complexity) => string {
210 const models: ModelMap = { ...DEFAULT_MODEL_MAP, ...overrides };

Callers 2

mainFunction · 0.85
parseDAGFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected