adding continuous
This commit is contained in:
@@ -23,13 +23,21 @@ export const miniModel = isGeneric ? (process.env.MODEL_NAME ?? 'default') : 'gp
|
||||
export const serviceOptions = isGeneric ? {} : { service_tier: 'flex' as const };
|
||||
export const supportsWebSearch = !isGeneric;
|
||||
|
||||
export async function parseWithRetry<T>(fn: () => Promise<T>, retries = 2): Promise<T> {
|
||||
function isJsonParseError(err: unknown): boolean {
|
||||
if (err instanceof SyntaxError) return true;
|
||||
if (!(err instanceof Error)) return false;
|
||||
|
||||
// Some providers wrap JSON parsing failures in plain Error objects.
|
||||
return /not valid json|unexpected token|json/i.test(err.message);
|
||||
}
|
||||
|
||||
export async function parseWithRetry<T>(fn: () => Promise<T>, retries = 3): Promise<T> {
|
||||
let lastErr: unknown;
|
||||
for (let attempt = 0; attempt <= retries; attempt++) {
|
||||
try {
|
||||
return await fn();
|
||||
} catch (err) {
|
||||
if (err instanceof SyntaxError && attempt < retries) {
|
||||
if (isJsonParseError(err) && attempt < retries) {
|
||||
lastErr = err;
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user