MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / sanitizeProviderValues

Method sanitizeProviderValues

src/core/config/ContextProxy.ts:479–508  ·  view source on GitHub ↗

* Sanitizes provider values by resetting unknown apiProvider values. * Active and retired providers are preserved.

(values: RooCodeSettings)

Source from the content-addressed store, hash-verified

477 * Active and retired providers are preserved.
478 */
479 private sanitizeProviderValues(values: RooCodeSettings): RooCodeSettings {
480 const { config: rooSanitizedValues } = downgradeLegacyRooConfig(values as Record<string, unknown>)
481 let sanitizedValues = rooSanitizedValues as RooCodeSettings
482
483 // Remove legacy Claude Code CLI wrapper keys that may still exist in global state.
484 // These keys were used by a removed local CLI runner and are no longer part of ProviderSettings.
485 const legacyKeys = ["claudeCodePath", "claudeCodeMaxOutputTokens"] as const
486
487 for (const key of legacyKeys) {
488 if (key in sanitizedValues) {
489 const copy = { ...sanitizedValues } as Record<string, unknown>
490 delete copy[key as string]
491 sanitizedValues = copy as RooCodeSettings
492 }
493 }
494
495 const isKnownProvider =
496 typeof sanitizedValues.apiProvider === "string" &&
497 (isProviderName(sanitizedValues.apiProvider) || isRetiredProvider(sanitizedValues.apiProvider))
498
499 if (sanitizedValues.apiProvider !== undefined && !isKnownProvider) {
500 logger.info(
501 `[ContextProxy] Sanitizing invalid provider "${sanitizedValues.apiProvider}" - resetting to undefined`,
502 )
503 // Return a new values object without the invalid apiProvider
504 const { apiProvider, ...restValues } = sanitizedValues
505 return restValues as RooCodeSettings
506 }
507 return sanitizedValues
508 }
509
510 public async setProviderSettings(values: ProviderSettings) {
511 // Explicitly clear out any old API configuration values before that

Callers 1

getProviderSettingsMethod · 0.95

Calls 4

downgradeLegacyRooConfigFunction · 0.90
isProviderNameFunction · 0.90
isRetiredProviderFunction · 0.90
infoMethod · 0.65

Tested by

no test coverage detected