@@ -0,0 +1,3589 @@
1+// Package swagger Code generated by swaggo/swag. DO NOT EDIT
4+import "github.com/swaggo/swag"
7+ "schemes": {{ marshal .Schemes }},
10+ "description": "{{escape .Description}}",
11+ "title": "{{.Title}}",
14+ "url": "https://charm.sh"
18+ "url": "https://github.com/charmbracelet/crush/blob/main/LICENSE"
20+ "version": "{{.Version}}"
23+ "basePath": "{{.BasePath}}",
33+ "summary": "Get server config",
52+ "summary": "Send server control command",
55+ "description": "Control command (e.g. shutdown)",
60+ "$ref": "#/definitions/proto.ServerControl"
69+ "description": "Bad Request",
71+ "$ref": "#/definitions/proto.Error"
82+ "summary": "Health check",
98+ "summary": "Get server version",
101+ "description": "OK",
103+ "$ref": "#/definitions/proto.VersionInfo"
117+ "summary": "List workspaces",
120+ "description": "OK",
124+ "$ref": "#/definitions/proto.Workspace"
140+ "summary": "Create workspace",
143+ "description": "Workspace creation params",
148+ "$ref": "#/definitions/proto.Workspace"
154+ "description": "OK",
156+ "$ref": "#/definitions/proto.Workspace"
160+ "description": "Bad Request",
162+ "$ref": "#/definitions/proto.Error"
166+ "description": "Internal Server Error",
168+ "$ref": "#/definitions/proto.Error"
174+ "/workspaces/{id}": {
182+ "summary": "Get workspace",
186+ "description": "Workspace ID",
194+ "description": "OK",
196+ "$ref": "#/definitions/proto.Workspace"
200+ "description": "Not Found",
202+ "$ref": "#/definitions/proto.Error"
206+ "description": "Internal Server Error",
208+ "$ref": "#/definitions/proto.Error"
217+ "summary": "Delete workspace",
221+ "description": "Workspace ID",
232+ "description": "Not Found",
234+ "$ref": "#/definitions/proto.Error"
240+ "/workspaces/{id}/agent": {
248+ "summary": "Get agent info",
252+ "description": "Workspace ID",
260+ "description": "OK",
262+ "$ref": "#/definitions/proto.AgentInfo"
266+ "description": "Not Found",
268+ "$ref": "#/definitions/proto.Error"
272+ "description": "Internal Server Error",
274+ "$ref": "#/definitions/proto.Error"
286+ "summary": "Send message to agent",
290+ "description": "Workspace ID",
296+ "description": "Agent message",
301+ "$ref": "#/definitions/proto.AgentMessage"
310+ "description": "Bad Request",
312+ "$ref": "#/definitions/proto.Error"
316+ "description": "Not Found",
318+ "$ref": "#/definitions/proto.Error"
322+ "description": "Internal Server Error",
324+ "$ref": "#/definitions/proto.Error"
330+ "/workspaces/{id}/agent/default-small-model": {
338+ "summary": "Get default small model",
342+ "description": "Workspace ID",
349+ "description": "Provider ID",
350+ "name": "provider_id",
356+ "description": "OK",
362+ "description": "Not Found",
364+ "$ref": "#/definitions/proto.Error"
368+ "description": "Internal Server Error",
370+ "$ref": "#/definitions/proto.Error"
376+ "/workspaces/{id}/agent/init": {
381+ "summary": "Initialize agent",
385+ "description": "Workspace ID",
396+ "description": "Not Found",
398+ "$ref": "#/definitions/proto.Error"
402+ "description": "Internal Server Error",
404+ "$ref": "#/definitions/proto.Error"
410+ "/workspaces/{id}/agent/sessions/{sid}": {
418+ "summary": "Get agent session",
422+ "description": "Workspace ID",
429+ "description": "Session ID",
437+ "description": "OK",
439+ "$ref": "#/definitions/proto.AgentSession"
443+ "description": "Not Found",
445+ "$ref": "#/definitions/proto.Error"
449+ "description": "Internal Server Error",
451+ "$ref": "#/definitions/proto.Error"
457+ "/workspaces/{id}/agent/sessions/{sid}/cancel": {
462+ "summary": "Cancel agent session",
466+ "description": "Workspace ID",
473+ "description": "Session ID",
484+ "description": "Not Found",
486+ "$ref": "#/definitions/proto.Error"
490+ "description": "Internal Server Error",
492+ "$ref": "#/definitions/proto.Error"
498+ "/workspaces/{id}/agent/sessions/{sid}/prompts/clear": {
503+ "summary": "Clear prompt queue",
507+ "description": "Workspace ID",
514+ "description": "Session ID",
525+ "description": "Not Found",
527+ "$ref": "#/definitions/proto.Error"
531+ "description": "Internal Server Error",
533+ "$ref": "#/definitions/proto.Error"
539+ "/workspaces/{id}/agent/sessions/{sid}/prompts/list": {
547+ "summary": "List queued prompts",
551+ "description": "Workspace ID",
558+ "description": "Session ID",
566+ "description": "OK",
575+ "description": "Not Found",
577+ "$ref": "#/definitions/proto.Error"
581+ "description": "Internal Server Error",
583+ "$ref": "#/definitions/proto.Error"
589+ "/workspaces/{id}/agent/sessions/{sid}/prompts/queued": {
597+ "summary": "Get queued prompt status",
601+ "description": "Workspace ID",
608+ "description": "Session ID",
616+ "description": "OK",
622+ "description": "Not Found",
624+ "$ref": "#/definitions/proto.Error"
628+ "description": "Internal Server Error",
630+ "$ref": "#/definitions/proto.Error"
636+ "/workspaces/{id}/agent/sessions/{sid}/summarize": {
641+ "summary": "Summarize session",
645+ "description": "Workspace ID",
652+ "description": "Session ID",
663+ "description": "Not Found",
665+ "$ref": "#/definitions/proto.Error"
669+ "description": "Internal Server Error",
671+ "$ref": "#/definitions/proto.Error"
677+ "/workspaces/{id}/agent/update": {
682+ "summary": "Update agent",
686+ "description": "Workspace ID",
697+ "description": "Not Found",
699+ "$ref": "#/definitions/proto.Error"
703+ "description": "Internal Server Error",
705+ "$ref": "#/definitions/proto.Error"
711+ "/workspaces/{id}/config": {
719+ "summary": "Get workspace config",
723+ "description": "Workspace ID",
731+ "description": "OK",
737+ "description": "Not Found",
739+ "$ref": "#/definitions/proto.Error"
743+ "description": "Internal Server Error",
745+ "$ref": "#/definitions/proto.Error"
751+ "/workspaces/{id}/config/compact": {
759+ "summary": "Set compact mode",
763+ "description": "Workspace ID",
769+ "description": "Config compact request",
774+ "$ref": "#/definitions/proto.ConfigCompactRequest"
783+ "description": "Bad Request",
785+ "$ref": "#/definitions/proto.Error"
789+ "description": "Not Found",
791+ "$ref": "#/definitions/proto.Error"
795+ "description": "Internal Server Error",
797+ "$ref": "#/definitions/proto.Error"
803+ "/workspaces/{id}/config/import-copilot": {
811+ "summary": "Import Copilot credentials",
815+ "description": "Workspace ID",
823+ "description": "OK",
825+ "$ref": "#/definitions/proto.ImportCopilotResponse"
829+ "description": "Not Found",
831+ "$ref": "#/definitions/proto.Error"
835+ "description": "Internal Server Error",
837+ "$ref": "#/definitions/proto.Error"
843+ "/workspaces/{id}/config/model": {
851+ "summary": "Set the preferred model",
855+ "description": "Workspace ID",
861+ "description": "Config model request",
866+ "$ref": "#/definitions/proto.ConfigModelRequest"
875+ "description": "Bad Request",
877+ "$ref": "#/definitions/proto.Error"
881+ "description": "Not Found",
883+ "$ref": "#/definitions/proto.Error"
887+ "description": "Internal Server Error",
889+ "$ref": "#/definitions/proto.Error"
895+ "/workspaces/{id}/config/provider-key": {
903+ "summary": "Set provider API key",
907+ "description": "Workspace ID",
913+ "description": "Config provider key request",
918+ "$ref": "#/definitions/proto.ConfigProviderKeyRequest"
927+ "description": "Bad Request",
929+ "$ref": "#/definitions/proto.Error"
933+ "description": "Not Found",
935+ "$ref": "#/definitions/proto.Error"
939+ "description": "Internal Server Error",
941+ "$ref": "#/definitions/proto.Error"
947+ "/workspaces/{id}/config/refresh-oauth": {
955+ "summary": "Refresh OAuth token",
959+ "description": "Workspace ID",
965+ "description": "Refresh OAuth request",
970+ "$ref": "#/definitions/proto.ConfigRefreshOAuthRequest"
979+ "description": "Bad Request",
981+ "$ref": "#/definitions/proto.Error"
985+ "description": "Not Found",
987+ "$ref": "#/definitions/proto.Error"
991+ "description": "Internal Server Error",
993+ "$ref": "#/definitions/proto.Error"
999+ "/workspaces/{id}/config/remove": {
1007+ "summary": "Remove a config field",
1011+ "description": "Workspace ID",
1017+ "description": "Config remove request",
1022+ "$ref": "#/definitions/proto.ConfigRemoveRequest"
1028+ "description": "OK"
1031+ "description": "Bad Request",
1033+ "$ref": "#/definitions/proto.Error"
1037+ "description": "Not Found",
1039+ "$ref": "#/definitions/proto.Error"
1043+ "description": "Internal Server Error",
1045+ "$ref": "#/definitions/proto.Error"
1051+ "/workspaces/{id}/config/set": {
1059+ "summary": "Set a config field",
1063+ "description": "Workspace ID",
1069+ "description": "Config set request",
1074+ "$ref": "#/definitions/proto.ConfigSetRequest"
1080+ "description": "OK"
1083+ "description": "Bad Request",
1085+ "$ref": "#/definitions/proto.Error"
1089+ "description": "Not Found",
1091+ "$ref": "#/definitions/proto.Error"
1095+ "description": "Internal Server Error",
1097+ "$ref": "#/definitions/proto.Error"
1103+ "/workspaces/{id}/events": {
1106+ "text/event-stream"
1111+ "summary": "Stream workspace events (SSE)",
1115+ "description": "Workspace ID",
1123+ "description": "OK"
1126+ "description": "Not Found",
1128+ "$ref": "#/definitions/proto.Error"
1132+ "description": "Internal Server Error",
1134+ "$ref": "#/definitions/proto.Error"
1140+ "/workspaces/{id}/filetracker/lastread": {
1148+ "summary": "Get last read time for file",
1152+ "description": "Workspace ID",
1159+ "description": "Session ID",
1160+ "name": "session_id",
1165+ "description": "File path",
1173+ "description": "OK",
1179+ "description": "Not Found",
1181+ "$ref": "#/definitions/proto.Error"
1185+ "description": "Internal Server Error",
1187+ "$ref": "#/definitions/proto.Error"
1193+ "/workspaces/{id}/filetracker/read": {
1201+ "summary": "Record file read",
1205+ "description": "Workspace ID",
1211+ "description": "File tracker read request",
1216+ "$ref": "#/definitions/proto.FileTrackerReadRequest"
1222+ "description": "OK"
1225+ "description": "Bad Request",
1227+ "$ref": "#/definitions/proto.Error"
1231+ "description": "Not Found",
1233+ "$ref": "#/definitions/proto.Error"
1237+ "description": "Internal Server Error",
1239+ "$ref": "#/definitions/proto.Error"
1245+ "/workspaces/{id}/lsps": {
1253+ "summary": "List LSP clients",
1257+ "description": "Workspace ID",
1265+ "description": "OK",
1268+ "additionalProperties": {
1269+ "$ref": "#/definitions/proto.LSPClientInfo"
1274+ "description": "Not Found",
1276+ "$ref": "#/definitions/proto.Error"
1280+ "description": "Internal Server Error",
1282+ "$ref": "#/definitions/proto.Error"
1288+ "/workspaces/{id}/lsps/start": {
1296+ "summary": "Start LSP server",
1300+ "description": "Workspace ID",
1306+ "description": "LSP start request",
1311+ "$ref": "#/definitions/proto.LSPStartRequest"
1317+ "description": "OK"
1320+ "description": "Bad Request",
1322+ "$ref": "#/definitions/proto.Error"
1326+ "description": "Not Found",
1328+ "$ref": "#/definitions/proto.Error"
1332+ "description": "Internal Server Error",
1334+ "$ref": "#/definitions/proto.Error"
1340+ "/workspaces/{id}/lsps/stop": {
1345+ "summary": "Stop all LSP servers",
1349+ "description": "Workspace ID",
1357+ "description": "OK"
1360+ "description": "Not Found",
1362+ "$ref": "#/definitions/proto.Error"
1366+ "description": "Internal Server Error",
1368+ "$ref": "#/definitions/proto.Error"
1374+ "/workspaces/{id}/lsps/{lsp}/diagnostics": {
1382+ "summary": "Get LSP diagnostics",
1386+ "description": "Workspace ID",
1393+ "description": "LSP client name",
1401+ "description": "OK",
1407+ "description": "Not Found",
1409+ "$ref": "#/definitions/proto.Error"
1413+ "description": "Internal Server Error",
1415+ "$ref": "#/definitions/proto.Error"
1421+ "/workspaces/{id}/mcp/get-prompt": {
1432+ "summary": "Get MCP prompt",
1436+ "description": "Workspace ID",
1442+ "description": "MCP get prompt request",
1447+ "$ref": "#/definitions/proto.MCPGetPromptRequest"
1453+ "description": "OK",
1455+ "$ref": "#/definitions/proto.MCPGetPromptResponse"
1459+ "description": "Bad Request",
1461+ "$ref": "#/definitions/proto.Error"
1465+ "description": "Not Found",
1467+ "$ref": "#/definitions/proto.Error"
1471+ "description": "Internal Server Error",
1473+ "$ref": "#/definitions/proto.Error"
1479+ "/workspaces/{id}/mcp/read-resource": {
1490+ "summary": "Read MCP resource",
1494+ "description": "Workspace ID",
1500+ "description": "MCP read resource request",
1505+ "$ref": "#/definitions/proto.MCPReadResourceRequest"
1511+ "description": "OK",
1517+ "description": "Bad Request",
1519+ "$ref": "#/definitions/proto.Error"
1523+ "description": "Not Found",
1525+ "$ref": "#/definitions/proto.Error"
1529+ "description": "Internal Server Error",
1531+ "$ref": "#/definitions/proto.Error"
1537+ "/workspaces/{id}/mcp/refresh-prompts": {
1545+ "summary": "Refresh MCP prompts",
1549+ "description": "Workspace ID",
1555+ "description": "MCP name request",
1560+ "$ref": "#/definitions/proto.MCPNameRequest"
1566+ "description": "OK"
1569+ "description": "Bad Request",
1571+ "$ref": "#/definitions/proto.Error"
1575+ "description": "Not Found",
1577+ "$ref": "#/definitions/proto.Error"
1581+ "description": "Internal Server Error",
1583+ "$ref": "#/definitions/proto.Error"
1589+ "/workspaces/{id}/mcp/refresh-resources": {
1597+ "summary": "Refresh MCP resources",
1601+ "description": "Workspace ID",
1607+ "description": "MCP name request",
1612+ "$ref": "#/definitions/proto.MCPNameRequest"
1618+ "description": "OK"
1621+ "description": "Bad Request",
1623+ "$ref": "#/definitions/proto.Error"
1627+ "description": "Not Found",
1629+ "$ref": "#/definitions/proto.Error"
1633+ "description": "Internal Server Error",
1635+ "$ref": "#/definitions/proto.Error"
1641+ "/workspaces/{id}/mcp/refresh-tools": {
1649+ "summary": "Refresh MCP tools",
1653+ "description": "Workspace ID",
1659+ "description": "MCP name request",
1664+ "$ref": "#/definitions/proto.MCPNameRequest"
1670+ "description": "OK"
1673+ "description": "Bad Request",
1675+ "$ref": "#/definitions/proto.Error"
1679+ "description": "Not Found",
1681+ "$ref": "#/definitions/proto.Error"
1685+ "description": "Internal Server Error",
1687+ "$ref": "#/definitions/proto.Error"
1693+ "/workspaces/{id}/mcp/states": {
1701+ "summary": "Get MCP client states",
1705+ "description": "Workspace ID",
1713+ "description": "OK",
1716+ "additionalProperties": {
1717+ "$ref": "#/definitions/proto.MCPClientInfo"
1722+ "description": "Not Found",
1724+ "$ref": "#/definitions/proto.Error"
1728+ "description": "Internal Server Error",
1730+ "$ref": "#/definitions/proto.Error"
1736+ "/workspaces/{id}/messages/user": {
1744+ "summary": "Get all user messages for workspace",
1748+ "description": "Workspace ID",
1756+ "description": "OK",
1760+ "$ref": "#/definitions/github_com_charmbracelet_crush_internal_proto.Message"
1765+ "description": "Not Found",
1767+ "$ref": "#/definitions/proto.Error"
1771+ "description": "Internal Server Error",
1773+ "$ref": "#/definitions/proto.Error"
1779+ "/workspaces/{id}/permissions/grant": {
1787+ "summary": "Grant permission",
1791+ "description": "Workspace ID",
1797+ "description": "Permission grant",
1802+ "$ref": "#/definitions/proto.PermissionGrant"
1808+ "description": "OK"
1811+ "description": "Bad Request",
1813+ "$ref": "#/definitions/proto.Error"
1817+ "description": "Not Found",
1819+ "$ref": "#/definitions/proto.Error"
1823+ "description": "Internal Server Error",
1825+ "$ref": "#/definitions/proto.Error"
1831+ "/workspaces/{id}/permissions/skip": {
1839+ "summary": "Get skip permissions status",
1843+ "description": "Workspace ID",
1851+ "description": "OK",
1853+ "$ref": "#/definitions/proto.PermissionSkipRequest"
1857+ "description": "Not Found",
1859+ "$ref": "#/definitions/proto.Error"
1863+ "description": "Internal Server Error",
1865+ "$ref": "#/definitions/proto.Error"
1877+ "summary": "Set skip permissions",
1881+ "description": "Workspace ID",
1887+ "description": "Permission skip request",
1892+ "$ref": "#/definitions/proto.PermissionSkipRequest"
1898+ "description": "OK"
1901+ "description": "Bad Request",
1903+ "$ref": "#/definitions/proto.Error"
1907+ "description": "Not Found",
1909+ "$ref": "#/definitions/proto.Error"
1913+ "description": "Internal Server Error",
1915+ "$ref": "#/definitions/proto.Error"
1921+ "/workspaces/{id}/project/init": {
1926+ "summary": "Mark project as initialized",
1930+ "description": "Workspace ID",
1938+ "description": "OK"
1941+ "description": "Not Found",
1943+ "$ref": "#/definitions/proto.Error"
1947+ "description": "Internal Server Error",
1949+ "$ref": "#/definitions/proto.Error"
1955+ "/workspaces/{id}/project/init-prompt": {
1963+ "summary": "Get project initialization prompt",
1967+ "description": "Workspace ID",
1975+ "description": "OK",
1977+ "$ref": "#/definitions/proto.ProjectInitPromptResponse"
1981+ "description": "Not Found",
1983+ "$ref": "#/definitions/proto.Error"
1987+ "description": "Internal Server Error",
1989+ "$ref": "#/definitions/proto.Error"
1995+ "/workspaces/{id}/project/needs-init": {
2003+ "summary": "Check if project needs initialization",
2007+ "description": "Workspace ID",
2015+ "description": "OK",
2017+ "$ref": "#/definitions/proto.ProjectNeedsInitResponse"
2021+ "description": "Not Found",
2023+ "$ref": "#/definitions/proto.Error"
2027+ "description": "Internal Server Error",
2029+ "$ref": "#/definitions/proto.Error"
2035+ "/workspaces/{id}/providers": {
2043+ "summary": "Get workspace providers",
2047+ "description": "Workspace ID",
2055+ "description": "OK",
2061+ "description": "Not Found",
2063+ "$ref": "#/definitions/proto.Error"
2067+ "description": "Internal Server Error",
2069+ "$ref": "#/definitions/proto.Error"
2075+ "/workspaces/{id}/sessions": {
2083+ "summary": "List sessions",
2087+ "description": "Workspace ID",
2095+ "description": "OK",
2099+ "$ref": "#/definitions/proto.Session"
2104+ "description": "Not Found",
2106+ "$ref": "#/definitions/proto.Error"
2110+ "description": "Internal Server Error",
2112+ "$ref": "#/definitions/proto.Error"
2127+ "summary": "Create session",
2131+ "description": "Workspace ID",
2137+ "description": "Session creation params (title)",
2142+ "$ref": "#/definitions/proto.Session"
2148+ "description": "OK",
2150+ "$ref": "#/definitions/proto.Session"
2154+ "description": "Bad Request",
2156+ "$ref": "#/definitions/proto.Error"
2160+ "description": "Not Found",
2162+ "$ref": "#/definitions/proto.Error"
2166+ "description": "Internal Server Error",
2168+ "$ref": "#/definitions/proto.Error"
2174+ "/workspaces/{id}/sessions/{sid}": {
2182+ "summary": "Get session",
2186+ "description": "Workspace ID",
2193+ "description": "Session ID",
2201+ "description": "OK",
2203+ "$ref": "#/definitions/proto.Session"
2207+ "description": "Not Found",
2209+ "$ref": "#/definitions/proto.Error"
2213+ "description": "Internal Server Error",
2215+ "$ref": "#/definitions/proto.Error"
2230+ "summary": "Update session",
2234+ "description": "Workspace ID",
2241+ "description": "Session ID",
2247+ "description": "Updated session",
2252+ "$ref": "#/definitions/proto.Session"
2258+ "description": "OK",
2260+ "$ref": "#/definitions/proto.Session"
2264+ "description": "Bad Request",
2266+ "$ref": "#/definitions/proto.Error"
2270+ "description": "Not Found",
2272+ "$ref": "#/definitions/proto.Error"
2276+ "description": "Internal Server Error",
2278+ "$ref": "#/definitions/proto.Error"
2287+ "summary": "Delete session",
2291+ "description": "Workspace ID",
2298+ "description": "Session ID",
2306+ "description": "OK"
2309+ "description": "Not Found",
2311+ "$ref": "#/definitions/proto.Error"
2315+ "description": "Internal Server Error",
2317+ "$ref": "#/definitions/proto.Error"
2323+ "/workspaces/{id}/sessions/{sid}/filetracker/files": {
2331+ "summary": "List tracked files for session",
2335+ "description": "Workspace ID",
2342+ "description": "Session ID",
2350+ "description": "OK",
2359+ "description": "Not Found",
2361+ "$ref": "#/definitions/proto.Error"
2365+ "description": "Internal Server Error",
2367+ "$ref": "#/definitions/proto.Error"
2373+ "/workspaces/{id}/sessions/{sid}/history": {
2381+ "summary": "Get session history",
2385+ "description": "Workspace ID",
2392+ "description": "Session ID",
2400+ "description": "OK",
2404+ "$ref": "#/definitions/proto.File"
2409+ "description": "Not Found",
2411+ "$ref": "#/definitions/proto.Error"
2415+ "description": "Internal Server Error",
2417+ "$ref": "#/definitions/proto.Error"
2423+ "/workspaces/{id}/sessions/{sid}/messages": {
2431+ "summary": "Get session messages",
2435+ "description": "Workspace ID",
2442+ "description": "Session ID",
2450+ "description": "OK",
2454+ "$ref": "#/definitions/github_com_charmbracelet_crush_internal_proto.Message"
2459+ "description": "Not Found",
2461+ "$ref": "#/definitions/proto.Error"
2465+ "description": "Internal Server Error",
2467+ "$ref": "#/definitions/proto.Error"
2473+ "/workspaces/{id}/sessions/{sid}/messages/user": {
2481+ "summary": "Get user messages for session",
2485+ "description": "Workspace ID",
2492+ "description": "Session ID",
2500+ "description": "OK",
2504+ "$ref": "#/definitions/github_com_charmbracelet_crush_internal_proto.Message"
2509+ "description": "Not Found",
2511+ "$ref": "#/definitions/proto.Error"
2515+ "description": "Internal Server Error",
2517+ "$ref": "#/definitions/proto.Error"
2531+ "context_window": {
2534+ "cost_per_1m_in": {
2537+ "cost_per_1m_in_cached": {
2540+ "cost_per_1m_out": {
2543+ "cost_per_1m_out_cached": {
2546+ "default_max_tokens": {
2549+ "default_reasoning_effort": {
2559+ "$ref": "#/definitions/catwalk.ModelOptions"
2561+ "reasoning_levels": {
2567+ "supports_attachments": {
2572+ "catwalk.ModelOptions": {
2575+ "frequency_penalty": {
2578+ "presence_penalty": {
2581+ "provider_options": {
2583+ "additionalProperties": {}
2596+ "config.Attribution": {
2599+ "co_authored_by": {
2602+ "generated_with": {
2606+ "$ref": "#/definitions/config.TrailerStyle"
2610+ "config.Completions": {
2621+ "config.LSPConfig": {
2638+ "additionalProperties": {
2650+ "additionalProperties": {}
2654+ "additionalProperties": {}
2669+ "additionalProperties": {
2670+ "$ref": "#/definitions/config.LSPConfig"
2673+ "config.MCPConfig": {
2688+ "disabled_tools": {
2696+ "additionalProperties": {
2701+ "description": "TODO: maybe make it possible to get the value from the env",
2703+ "additionalProperties": {
2711+ "$ref": "#/definitions/config.MCPType"
2718+ "config.MCPType": {
2725+ "x-enum-varnames": [
2733+ "additionalProperties": {
2734+ "$ref": "#/definitions/config.MCPConfig"
2737+ "config.Permissions": {
2754+ "x-enum-varnames": [
2759+ "config.SelectedModel": {
2762+ "frequency_penalty": {
2766+ "description": "Overrides the default model configuration.",
2770+ "description": "The model id as used by the provider API.\nRequired.",
2773+ "presence_penalty": {
2777+ "description": "The model provider, same as the key/id used in the providers config.\nRequired.",
2780+ "provider_options": {
2781+ "description": "Override provider specific options.",
2783+ "additionalProperties": {}
2785+ "reasoning_effort": {
2786+ "description": "Only used by models that use the openai provider and need this set.",
2793+ "description": "Used by anthropic models that can reason to indicate if the model should think.",
2804+ "config.SelectedModelType": {
2810+ "x-enum-varnames": [
2811+ "SelectedModelTypeLarge",
2812+ "SelectedModelTypeSmall"
2815+ "config.TUIOptions": {
2822+ "$ref": "#/definitions/config.Completions"
2832+ "config.ToolGrep": {
2836+ "$ref": "#/definitions/time.Duration"
2855+ "$ref": "#/definitions/config.ToolGrep"
2858+ "$ref": "#/definitions/config.ToolLs"
2862+ "config.TrailerStyle": {
2869+ "x-enum-varnames": [
2870+ "TrailerStyleNone",
2871+ "TrailerStyleCoAuthoredBy",
2872+ "TrailerStyleAssistedBy"
2875+ "csync.Map-string-config_ProviderConfig": {
2878+ "github_com_charmbracelet_crush_internal_config.Config": {
2885+ "$ref": "#/definitions/config.LSPs"
2888+ "$ref": "#/definitions/config.MCPs"
2891+ "description": "We currently only support large/small as values here.",
2893+ "additionalProperties": {
2894+ "$ref": "#/definitions/config.SelectedModel"
2898+ "$ref": "#/definitions/github_com_charmbracelet_crush_internal_config.Options"
2901+ "$ref": "#/definitions/config.Permissions"
2904+ "description": "The providers that are configured",
2907+ "$ref": "#/definitions/csync.Map-string-config_ProviderConfig"
2912+ "description": "Recently used models stored in the data directory config.",
2914+ "additionalProperties": {
2917+ "$ref": "#/definitions/config.SelectedModel"
2922+ "$ref": "#/definitions/config.Tools"
2926+ "github_com_charmbracelet_crush_internal_config.Options": {
2930+ "$ref": "#/definitions/config.Attribution"
2941+ "data_directory": {
2942+ "description": "Relative to the cwd",
2951+ "disable_auto_summarize": {
2954+ "disable_default_providers": {
2957+ "disable_metrics": {
2960+ "disable_notifications": {
2963+ "disable_provider_auto_update": {
2966+ "disabled_tools": {
2985+ "$ref": "#/definitions/config.TUIOptions"
2989+ "github_com_charmbracelet_crush_internal_proto.Message": {
3009+ "$ref": "#/definitions/proto.MessageRole"
3019+ "lsp.ServerState": {
3029+ "x-enum-varnames": [
3038+ "proto.AgentInfo": {
3048+ "$ref": "#/definitions/catwalk.Model"
3051+ "$ref": "#/definitions/config.SelectedModel"
3055+ "proto.AgentMessage": {
3061+ "$ref": "#/definitions/proto.Attachment"
3072+ "proto.AgentSession": {
3075+ "completion_tokens": {
3093+ "parent_session_id": {
3099+ "summary_message_id": {
3110+ "proto.Attachment": {
3130+ "proto.ConfigCompactRequest": {
3137+ "$ref": "#/definitions/config.Scope"
3141+ "proto.ConfigModelRequest": {
3145+ "$ref": "#/definitions/config.SelectedModel"
3148+ "$ref": "#/definitions/config.SelectedModelType"
3151+ "$ref": "#/definitions/config.Scope"
3155+ "proto.ConfigProviderKeyRequest": {
3163+ "$ref": "#/definitions/config.Scope"
3167+ "proto.ConfigRefreshOAuthRequest": {
3174+ "$ref": "#/definitions/config.Scope"
3178+ "proto.ConfigRemoveRequest": {
3185+ "$ref": "#/definitions/config.Scope"
3189+ "proto.ConfigSetRequest": {
3196+ "$ref": "#/definitions/config.Scope"
3235+ "proto.FileTrackerReadRequest": {
3246+ "proto.ImportCopilotResponse": {
3255+ "proto.LSPClientInfo": {
3261+ "diagnostic_count": {
3269+ "$ref": "#/definitions/lsp.ServerState"
3273+ "proto.LSPStartRequest": {
3281+ "proto.MCPClientInfo": {
3294+ "resource_count": {
3298+ "$ref": "#/definitions/proto.MCPState"
3305+ "proto.MCPGetPromptRequest": {
3310+ "additionalProperties": {
3322+ "proto.MCPGetPromptResponse": {
3330+ "proto.MCPNameRequest": {
3338+ "proto.MCPReadResourceRequest": {
3349+ "proto.MCPState": {
3357+ "x-enum-varnames": [
3358+ "MCPStateDisabled",
3359+ "MCPStateStarting",
3360+ "MCPStateConnected",
3364+ "proto.MessageRole": {
3372+ "x-enum-varnames": [
3379+ "proto.PermissionAction": {
3386+ "x-enum-varnames": [
3388+ "PermissionAllowForSession",
3392+ "proto.PermissionGrant": {
3396+ "$ref": "#/definitions/proto.PermissionAction"
3399+ "$ref": "#/definitions/proto.PermissionRequest"
3403+ "proto.PermissionRequest": {
3430+ "proto.PermissionSkipRequest": {
3438+ "proto.ProjectInitPromptResponse": {
3446+ "proto.ProjectNeedsInitResponse": {
3454+ "proto.ServerControl": {
3465+ "completion_tokens": {
3480+ "parent_session_id": {
3486+ "summary_message_id": {
3497+ "proto.VersionInfo": {
3514+ "proto.Workspace": {
3518+ "$ref": "#/definitions/github_com_charmbracelet_crush_internal_config.Config"
3550+ -9223372036854775808,
3551+ 9223372036854775807,
3559+ "x-enum-varnames": [
3573+// SwaggerInfo holds exported Swagger Info so clients can modify it
3574+var SwaggerInfo = &swag.Spec{
3578+ Schemes: []string{},
3579+ Title: "Crush API",
3580+ Description: "Crush is a terminal-based AI coding assistant. This API is served over a Unix socket (or Windows named pipe) and provides programmatic access to workspaces, sessions, agents, LSP, MCP, and more.",
3581+ InfoInstanceName: "swagger",
3582+ SwaggerTemplate: docTemplate,
3588+ swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)