import type { ProviderDriverKind, ProviderInstanceConfig, ProviderInstanceId, ServerSettings, UnifiedSettings, } from "@t3tools/contracts"; import { DEFAULT_UNIFIED_SETTINGS } from "@t3tools/contracts/settings"; function collapseOtelSignalsUrl(input: { readonly tracesUrl: string; readonly metricsUrl: string; }): string | null { const tracesSuffix = "/traces"; const metricsSuffix = "/metrics"; if (!input.tracesUrl.endsWith(tracesSuffix) || !input.metricsUrl.endsWith(metricsSuffix)) { return null; } const tracesBase = input.tracesUrl.slice(0, -tracesSuffix.length); const metricsBase = input.metricsUrl.slice(0, -metricsSuffix.length); if (tracesBase !== metricsBase) { return null; } return `${tracesBase}/{traces,metrics}`; } export function formatDiagnosticsDescription(input: { readonly localTracingEnabled: boolean; readonly otlpTracesEnabled: boolean; readonly otlpTracesUrl?: string | undefined; readonly otlpMetricsEnabled: boolean; readonly otlpMetricsUrl?: string | undefined; }): string { const mode = input.localTracingEnabled ? "Local trace file" : "Terminal logs only"; const tracesUrl = input.otlpTracesEnabled ? input.otlpTracesUrl : undefined; const metricsUrl = input.otlpMetricsEnabled ? input.otlpMetricsUrl : undefined; if (tracesUrl && metricsUrl) { const collapsedUrl = collapseOtelSignalsUrl({ tracesUrl, metricsUrl }); return collapsedUrl ? `${mode}. Exporting OTEL to ${collapsedUrl}.` : `${mode}. Exporting OTEL traces to ${tracesUrl} and metrics to ${metricsUrl}.`; } if (tracesUrl) { return `${mode}. Exporting OTEL traces to ${tracesUrl}.`; } if (metricsUrl) { return `${mode}. Exporting OTEL metrics to ${metricsUrl}.`; } return `${mode}.`; } export function buildProviderInstanceUpdatePatch(input: { readonly settings: Pick; readonly instanceId: ProviderInstanceId; readonly instance: ProviderInstanceConfig; readonly driver: ProviderDriverKind; readonly isDefault: boolean; readonly textGenerationModelSelection?: | ServerSettings["textGenerationModelSelection"] | undefined; }): Partial { type LegacyProviderSettings = ServerSettings["providers"][keyof ServerSettings["providers"]]; const legacyProviderDefaults = DEFAULT_UNIFIED_SETTINGS.providers as Record< string, LegacyProviderSettings | undefined >; const legacyProviderDefault = input.isDefault ? legacyProviderDefaults[input.driver] : undefined; return { ...(legacyProviderDefault !== undefined ? { providers: { ...input.settings.providers, [input.driver]: legacyProviderDefault, } as ServerSettings["providers"], } : {}), providerInstances: { ...input.settings.providerInstances, [input.instanceId]: input.instance, }, ...(input.textGenerationModelSelection !== undefined ? { textGenerationModelSelection: input.textGenerationModelSelection } : {}), }; }