MCPcopy Index your code
hub / github.com/ChatGPTBox-dev/chatGPTBox / normalizeCustomProviderForStorage

Function normalizeCustomProviderForStorage

src/config/index.mjs:936–963  ·  view source on GitHub ↗
(provider, index, providerIdSet)

Source from the content-addressed store, hash-verified

934}
935
936function normalizeCustomProviderForStorage(provider, index, providerIdSet) {
937 if (!provider || typeof provider !== 'object') return null
938 const originalRawId = normalizeText(provider.id)
939 const originalId = normalizeProviderId(provider.id)
940 const sourceProviderOriginalRawId = normalizeText(provider.sourceProviderId)
941 const sourceProviderId = normalizeProviderId(provider.sourceProviderId)
942 const preferredId = originalId || `custom-provider-${index + 1}`
943 const id = ensureUniqueProviderId(providerIdSet, preferredId)
944 providerIdSet.add(id)
945 return {
946 originalId,
947 originalRawId,
948 sourceProviderOriginalId: sourceProviderId,
949 sourceProviderOriginalRawId,
950 provider: {
951 id,
952 name: normalizeText(provider.name) || `Custom Provider ${index + 1}`,
953 baseUrl: normalizeText(provider.baseUrl),
954 chatCompletionsPath: normalizeText(provider.chatCompletionsPath) || '/v1/chat/completions',
955 completionsPath: normalizeText(provider.completionsPath) || '/v1/completions',
956 chatCompletionsUrl: normalizeText(provider.chatCompletionsUrl),
957 completionsUrl: normalizeText(provider.completionsUrl),
958 enabled: provider.enabled !== false,
959 allowLegacyResponseField: provider.allowLegacyResponseField !== false,
960 ...(sourceProviderId ? { sourceProviderId } : {}),
961 },
962 }
963}
964
965function migrateUserConfig(options) {
966 const migrated = { ...options }

Callers 1

migrateUserConfigFunction · 0.85

Calls 3

ensureUniqueProviderIdFunction · 0.85
normalizeTextFunction · 0.70
normalizeProviderIdFunction · 0.70

Tested by

no test coverage detected