|
|
@@ -44,9 +44,9 @@ export namespace Config {
|
|
|
|
|
|
export const McpLocal = z
|
|
|
.object({
|
|
|
- type: z.literal("local"),
|
|
|
- command: z.string().array(),
|
|
|
- environment: z.record(z.string(), z.string()).optional(),
|
|
|
+ type: z.literal("local").describe("Type of MCP server connection"),
|
|
|
+ command: z.string().array().describe("Command and arguments to run the MCP server"),
|
|
|
+ environment: z.record(z.string(), z.string()).optional().describe("Environment variables to set when running the MCP server"),
|
|
|
})
|
|
|
.openapi({
|
|
|
ref: "Config.McpLocal",
|
|
|
@@ -54,8 +54,8 @@ export namespace Config {
|
|
|
|
|
|
export const McpRemote = z
|
|
|
.object({
|
|
|
- type: z.literal("remote"),
|
|
|
- url: z.string(),
|
|
|
+ type: z.literal("remote").describe("Type of MCP server connection"),
|
|
|
+ url: z.string().describe("URL of the remote MCP server"),
|
|
|
})
|
|
|
.openapi({
|
|
|
ref: "Config.McpRemote",
|
|
|
@@ -66,42 +66,42 @@ export namespace Config {
|
|
|
|
|
|
export const Keybinds = z
|
|
|
.object({
|
|
|
- leader: z.string().optional(),
|
|
|
- help: z.string().optional(),
|
|
|
- editor_open: z.string().optional(),
|
|
|
- session_new: z.string().optional(),
|
|
|
- session_list: z.string().optional(),
|
|
|
- session_share: z.string().optional(),
|
|
|
- session_interrupt: z.string().optional(),
|
|
|
- session_compact: z.string().optional(),
|
|
|
- tool_details: z.string().optional(),
|
|
|
- model_list: z.string().optional(),
|
|
|
- theme_list: z.string().optional(),
|
|
|
- project_init: z.string().optional(),
|
|
|
- input_clear: z.string().optional(),
|
|
|
- input_paste: z.string().optional(),
|
|
|
- input_submit: z.string().optional(),
|
|
|
- input_newline: z.string().optional(),
|
|
|
- history_previous: z.string().optional(),
|
|
|
- history_next: z.string().optional(),
|
|
|
- messages_page_up: z.string().optional(),
|
|
|
- messages_page_down: z.string().optional(),
|
|
|
- messages_half_page_up: z.string().optional(),
|
|
|
- messages_half_page_down: z.string().optional(),
|
|
|
- messages_previous: z.string().optional(),
|
|
|
- messages_next: z.string().optional(),
|
|
|
- messages_first: z.string().optional(),
|
|
|
- messages_last: z.string().optional(),
|
|
|
- app_exit: z.string().optional(),
|
|
|
+ leader: z.string().optional().describe("Leader key for keybind combinations"),
|
|
|
+ help: z.string().optional().describe("Show help dialog"),
|
|
|
+ editor_open: z.string().optional().describe("Open external editor"),
|
|
|
+ session_new: z.string().optional().describe("Create a new session"),
|
|
|
+ session_list: z.string().optional().describe("List all sessions"),
|
|
|
+ session_share: z.string().optional().describe("Share current session"),
|
|
|
+ session_interrupt: z.string().optional().describe("Interrupt current session"),
|
|
|
+ session_compact: z.string().optional().describe("Toggle compact mode for session"),
|
|
|
+ tool_details: z.string().optional().describe("Show tool details"),
|
|
|
+ model_list: z.string().optional().describe("List available models"),
|
|
|
+ theme_list: z.string().optional().describe("List available themes"),
|
|
|
+ project_init: z.string().optional().describe("Initialize project configuration"),
|
|
|
+ input_clear: z.string().optional().describe("Clear input field"),
|
|
|
+ input_paste: z.string().optional().describe("Paste from clipboard"),
|
|
|
+ input_submit: z.string().optional().describe("Submit input"),
|
|
|
+ input_newline: z.string().optional().describe("Insert newline in input"),
|
|
|
+ history_previous: z.string().optional().describe("Navigate to previous history item"),
|
|
|
+ history_next: z.string().optional().describe("Navigate to next history item"),
|
|
|
+ messages_page_up: z.string().optional().describe("Scroll messages up by one page"),
|
|
|
+ messages_page_down: z.string().optional().describe("Scroll messages down by one page"),
|
|
|
+ messages_half_page_up: z.string().optional().describe("Scroll messages up by half page"),
|
|
|
+ messages_half_page_down: z.string().optional().describe("Scroll messages down by half page"),
|
|
|
+ messages_previous: z.string().optional().describe("Navigate to previous message"),
|
|
|
+ messages_next: z.string().optional().describe("Navigate to next message"),
|
|
|
+ messages_first: z.string().optional().describe("Navigate to first message"),
|
|
|
+ messages_last: z.string().optional().describe("Navigate to last message"),
|
|
|
+ app_exit: z.string().optional().describe("Exit the application"),
|
|
|
})
|
|
|
.openapi({
|
|
|
ref: "Config.Keybinds",
|
|
|
})
|
|
|
export const Info = z
|
|
|
.object({
|
|
|
- $schema: z.string().optional(),
|
|
|
- theme: z.string().optional(),
|
|
|
- keybinds: Keybinds.optional(),
|
|
|
+ $schema: z.string().optional().describe("JSON schema reference for configuration validation"),
|
|
|
+ theme: z.string().optional().describe("Theme name to use for the interface"),
|
|
|
+ keybinds: Keybinds.optional().describe("Custom keybind configurations"),
|
|
|
autoshare: z
|
|
|
.boolean()
|
|
|
.optional()
|
|
|
@@ -127,8 +127,9 @@ export namespace Config {
|
|
|
options: z.record(z.any()).optional(),
|
|
|
}),
|
|
|
)
|
|
|
- .optional(),
|
|
|
- mcp: z.record(z.string(), Mcp).optional(),
|
|
|
+ .optional()
|
|
|
+ .describe("Custom provider configurations and model overrides"),
|
|
|
+ mcp: z.record(z.string(), Mcp).optional().describe("MCP (Model Context Protocol) server configurations"),
|
|
|
})
|
|
|
.openapi({
|
|
|
ref: "Config.Info",
|