feat(backends): add optional pi_embedded backend and config wiring

This commit is contained in:
William Valentin
2026-02-23 21:12:52 -08:00
parent 0af44330b5
commit ac61c9c3fb
9 changed files with 426 additions and 10 deletions
+10 -2
View File
@@ -184,7 +184,7 @@ const modelsSchema = z.object({
});
const backendsSchema = z.object({
default: z.enum(['claude_code', 'opencode', 'codex', 'gemini']).optional(),
default: z.enum(['claude_code', 'opencode', 'codex', 'gemini', 'pi_embedded']).optional(),
claude_code: z.object({
enabled: z.boolean().default(false),
path: z.string().optional(),
@@ -209,6 +209,14 @@ const backendsSchema = z.object({
args: z.array(z.string()).default([]),
timeout_ms: z.number().min(1_000).max(600_000).default(120_000),
}).default({ enabled: false }),
pi_embedded: z.object({
enabled: z.boolean().default(false),
timeout_ms: z.number().min(1_000).max(600_000).default(120_000),
no_tools_mode: z.boolean().default(true),
model: z.string().optional(),
system_prompt_mode: z.enum(['flynn', 'pi_default', 'hybrid']).default('hybrid'),
module: z.string().optional(),
}).default({ enabled: false }),
native: z.object({
enabled: z.boolean().default(true),
}).default({ enabled: true }),
@@ -853,7 +861,7 @@ const sandboxSchema = z.object({
const agentConfigEntrySchema = z.object({
system_prompt: z.string().optional(),
model_tier: modelTierEnum.optional(),
backend: z.enum(['native', 'claude_code', 'opencode', 'codex', 'gemini']).optional(),
backend: z.enum(['native', 'claude_code', 'opencode', 'codex', 'gemini', 'pi_embedded']).optional(),
tool_profile: toolProfileEnum.optional(),
tool_overrides: toolOverrideSchema.optional(),
sandbox: z.boolean().default(false),