diff --git a/extensions/local-db.ts b/extensions/local-db.ts index 3dd1fc8..a23e196 100644 --- a/extensions/local-db.ts +++ b/extensions/local-db.ts @@ -1025,7 +1025,7 @@ export async function submitOrQueue( cfg: MemoryConfig, payload: QueuePayload, opts?: { dbFile?: string; queue?: boolean }, -): Promise<{ queued: boolean; remote_id?: string; local_id?: string; queue_size?: number; status: number; data?: any; breaker?: ReturnType }> { +): Promise<{ ok: boolean; queued: boolean; remote_id?: string; local_id?: string; queue_size?: number; status: number; data?: any; breaker?: ReturnType }> { const queueAllowed = opts?.queue ?? cfg.offlineQueue !== false; const body = stripEmpty(payload as unknown as Record); const perRequestMs = Math.min(cfg.timeoutMs ?? 30_000, 15_000); @@ -1061,14 +1061,14 @@ export async function submitOrQueue( /* l'indice locale รจ best-effort sul percorso online */ } maybeBackgroundFlush(cfg, opts?.dbFile); - return { queued: false, remote_id: res.data.memory_id, status: res.status, data: res.data, breaker: res.breaker }; + return { ok: true, queued: false, remote_id: res.data.memory_id, status: res.status, data: res.data, breaker: res.breaker }; } const down = res.status === 0 || res.status >= 500 || res.status === 429; if (down && queueAllowed) { const q = await queueStore(payload, { dbFile: opts?.dbFile }); - return { queued: true, local_id: q.local_id, queue_size: q.queue_size, status: res.status, data: res.data, breaker: res.breaker }; + return { ok: false, queued: true, local_id: q.local_id, queue_size: q.queue_size, status: res.status, data: res.data, breaker: res.breaker }; } - return { queued: false, status: res.status, data: res.data, breaker: res.breaker }; + return { ok: false, queued: false, status: res.status, data: res.data, breaker: res.breaker }; } let flushInFlight: Promise | null = null;