feat(backends): add retry/backoff controls for external CLI execution

This commit is contained in:
William Valentin
2026-02-17 09:49:06 -08:00
parent 1f3d35726b
commit 4400bdfcc9
5 changed files with 64 additions and 8 deletions
+8
View File
@@ -176,24 +176,32 @@ const backendsSchema = z.object({
path: z.string().optional(),
args: z.array(z.string()).default([]),
timeout_ms: z.number().min(1_000).max(600_000).default(120_000),
retries: z.number().min(0).max(5).default(0),
retry_delay_ms: z.number().min(0).max(30_000).default(300),
}).default({ enabled: false }),
opencode: z.object({
enabled: z.boolean().default(false),
path: z.string().optional(),
args: z.array(z.string()).default([]),
timeout_ms: z.number().min(1_000).max(600_000).default(120_000),
retries: z.number().min(0).max(5).default(0),
retry_delay_ms: z.number().min(0).max(30_000).default(300),
}).default({ enabled: false }),
codex: z.object({
enabled: z.boolean().default(false),
path: z.string().optional(),
args: z.array(z.string()).default([]),
timeout_ms: z.number().min(1_000).max(600_000).default(120_000),
retries: z.number().min(0).max(5).default(0),
retry_delay_ms: z.number().min(0).max(30_000).default(300),
}).default({ enabled: false }),
gemini: z.object({
enabled: z.boolean().default(false),
path: z.string().optional(),
args: z.array(z.string()).default([]),
timeout_ms: z.number().min(1_000).max(600_000).default(120_000),
retries: z.number().min(0).max(5).default(0),
retry_delay_ms: z.number().min(0).max(30_000).default(300),
}).default({ enabled: false }),
codex: z.object({
enabled: z.boolean().default(false),