import type { ProviderInstanceId } from "@t3tools/contracts"; const MODEL_KEY_PREFIX = "model:";const LEGACY_SECTION_KEY_PREFIX = "legacy-models:"; export function modelPickerModelKey(instanceId: ProviderInstanceId, slug: string): string { return `${MODEL_KEY_PREFIX}${instanceId.length}:${instanceId}${slug}`;} export function parseModelPickerModelKey( key: string,): { instanceId: ProviderInstanceId; slug: string } | null { if (!key.startsWith(MODEL_KEY_PREFIX)) { return null; } const encoded = key.slice(MODEL_KEY_PREFIX.length); const separatorIndex = encoded.indexOf(":"); if (separatorIndex === -1) { return null; } const instanceIdLengthText = encoded.slice(0, separatorIndex); if (!/^\d+$/.test(instanceIdLengthText)) { return null; } const instanceIdLength = Number(instanceIdLengthText); const value = encoded.slice(separatorIndex + 1); if (!Number.isSafeInteger(instanceIdLength) || instanceIdLength > value.length) { return null; } return { instanceId: value.slice(0, instanceIdLength) as ProviderInstanceId, slug: value.slice(instanceIdLength), };} export function modelPickerLegacySectionKey(instanceId: ProviderInstanceId): string { return `${LEGACY_SECTION_KEY_PREFIX}${instanceId}`;} export function parseModelPickerLegacySectionKey(key: string): ProviderInstanceId | null { return key.startsWith(LEGACY_SECTION_KEY_PREFIX) ? (key.slice(LEGACY_SECTION_KEY_PREFIX.length) as ProviderInstanceId) : null;}
import type { ProviderInstanceId } from "@t3tools/contracts";
const MODEL_KEY_PREFIX = "model:";
const LEGACY_SECTION_KEY_PREFIX = "legacy-models:";
export function modelPickerModelKey(instanceId: ProviderInstanceId, slug: string): string {
return `${MODEL_KEY_PREFIX}${instanceId.length}:${instanceId}${slug}`;
}
export function parseModelPickerModelKey(
key: string,
): { instanceId: ProviderInstanceId; slug: string } | null {
if (!key.startsWith(MODEL_KEY_PREFIX)) {
return null;
}
const encoded = key.slice(MODEL_KEY_PREFIX.length);
const separatorIndex = encoded.indexOf(":");
if (separatorIndex === -1) {
return null;
}
const instanceIdLengthText = encoded.slice(0, separatorIndex);
if (!/^\d+$/.test(instanceIdLengthText)) {
return null;
}
const instanceIdLength = Number(instanceIdLengthText);
const value = encoded.slice(separatorIndex + 1);
if (!Number.isSafeInteger(instanceIdLength) || instanceIdLength > value.length) {
return null;
}
return {
instanceId: value.slice(0, instanceIdLength) as ProviderInstanceId,
slug: value.slice(instanceIdLength),
};
}
export function modelPickerLegacySectionKey(instanceId: ProviderInstanceId): string {
return `${LEGACY_SECTION_KEY_PREFIX}${instanceId}`;
}
export function parseModelPickerLegacySectionKey(key: string): ProviderInstanceId | null {
return key.startsWith(LEGACY_SECTION_KEY_PREFIX)
? (key.slice(LEGACY_SECTION_KEY_PREFIX.length) as ProviderInstanceId)
: null;
}