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<ServerSettings, "providers" | "providerInstances">; readonly instanceId: ProviderInstanceId; readonly instance: ProviderInstanceConfig; readonly driver: ProviderDriverKind; readonly isDefault: boolean; readonly textGenerationModelSelection?: | ServerSettings["textGenerationModelSelection"] | undefined;}): Partial<UnifiedSettings> { 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 } : {}), };}
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<ServerSettings, "providers" | "providerInstances">;
readonly instanceId: ProviderInstanceId;
readonly instance: ProviderInstanceConfig;
readonly driver: ProviderDriverKind;
readonly isDefault: boolean;
readonly textGenerationModelSelection?:
| ServerSettings["textGenerationModelSelection"]
| undefined;
}): Partial<UnifiedSettings> {
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 }
: {}),
};
}