Spaces:
Runtime error
Runtime error
File size: 972 Bytes
46252cd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | export const INSTANCE_ID_PATTERN = /^[a-zA-Z0-9_-]{1,64}$/;
export function isValidInstanceId(id: string): boolean {
return INSTANCE_ID_PATTERN.test(id);
}
type ParseResult = { ok: true; value: Record<string, unknown> | undefined } | { ok: false };
/** Blank → auto-generate (server-side). Otherwise must be a real secret (>= 16 chars), mirroring the server DTO. */
export function isValidInstanceSecret(raw: string): boolean {
return raw.trim() === '' || raw.trim().length >= 16;
}
/** Blank → no config (undefined). Otherwise must parse to a plain JSON object. */
export function parseInstanceConfig(raw: string): ParseResult {
if (raw.trim() === '') return { ok: true, value: undefined };
try {
const parsed: unknown = JSON.parse(raw);
if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) return { ok: false };
return { ok: true, value: parsed as Record<string, unknown> };
} catch {
return { ok: false };
}
}
|