From 894fa8516ee3846d2b2665a0cb7f5a799a94e149 Mon Sep 17 00:00:00 2001 From: Josh Bendavid Date: Wed, 22 Jul 2026 21:47:09 +0200 Subject: [PATCH] fix(omp): accept all command source types in slash command schema (#2175) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OmpRpcSlashCommandSchema had a strict source enum ['extension', 'prompt', 'skill', 'builtin'] that rejected omp commands with source 'custom' or 'file'. When omp reported any such command, the entire get_available_commands response failed Zod validation and listCommands returned an empty array — so the Paseo autocomplete only showed /exit and /clear instead of all omp commands. Relax source to z.string().optional(), matching the already-permissive OmpAvailableCommandSchema used for the available_commands_update event. --- packages/server/src/server/agent/providers/omp/rpc-types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/server/agent/providers/omp/rpc-types.ts b/packages/server/src/server/agent/providers/omp/rpc-types.ts index c97a3b7f3..31a057291 100644 --- a/packages/server/src/server/agent/providers/omp/rpc-types.ts +++ b/packages/server/src/server/agent/providers/omp/rpc-types.ts @@ -149,7 +149,7 @@ export const OmpRpcSlashCommandSchema = z .object({ name: z.string(), description: z.string().optional(), - source: z.enum(["extension", "prompt", "skill", "builtin"]), + source: z.string().optional(), sourceInfo: z.record(z.string(), z.unknown()).optional(), input: z.object({ hint: z.string().optional() }).passthrough().nullable().optional(), })