config.schema.json 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. {
  2. "type": "object",
  3. "properties": {
  4. "$schema": {
  5. "type": "string"
  6. },
  7. "theme": {
  8. "type": "string"
  9. },
  10. "keybinds": {
  11. "type": "object",
  12. "properties": {
  13. "leader": {
  14. "type": "string"
  15. },
  16. "help": {
  17. "type": "string"
  18. },
  19. "editor_open": {
  20. "type": "string"
  21. },
  22. "session_new": {
  23. "type": "string"
  24. },
  25. "session_list": {
  26. "type": "string"
  27. },
  28. "session_share": {
  29. "type": "string"
  30. },
  31. "session_interrupt": {
  32. "type": "string"
  33. },
  34. "session_compact": {
  35. "type": "string"
  36. },
  37. "tool_details": {
  38. "type": "string"
  39. },
  40. "model_list": {
  41. "type": "string"
  42. },
  43. "theme_list": {
  44. "type": "string"
  45. },
  46. "project_init": {
  47. "type": "string"
  48. },
  49. "input_clear": {
  50. "type": "string"
  51. },
  52. "input_paste": {
  53. "type": "string"
  54. },
  55. "input_submit": {
  56. "type": "string"
  57. },
  58. "input_newline": {
  59. "type": "string"
  60. },
  61. "history_previous": {
  62. "type": "string"
  63. },
  64. "history_next": {
  65. "type": "string"
  66. },
  67. "messages_page_up": {
  68. "type": "string"
  69. },
  70. "messages_page_down": {
  71. "type": "string"
  72. },
  73. "messages_half_page_up": {
  74. "type": "string"
  75. },
  76. "messages_half_page_down": {
  77. "type": "string"
  78. },
  79. "messages_previous": {
  80. "type": "string"
  81. },
  82. "messages_next": {
  83. "type": "string"
  84. },
  85. "messages_first": {
  86. "type": "string"
  87. },
  88. "messages_last": {
  89. "type": "string"
  90. },
  91. "app_exit": {
  92. "type": "string"
  93. }
  94. },
  95. "additionalProperties": false
  96. },
  97. "autoshare": {
  98. "type": "boolean",
  99. "description": "Share newly created sessions automatically"
  100. },
  101. "autoupdate": {
  102. "type": "boolean",
  103. "description": "Automatically update to the latest version"
  104. },
  105. "disabled_providers": {
  106. "type": "array",
  107. "items": {
  108. "type": "string"
  109. },
  110. "description": "Disable providers that are loaded automatically"
  111. },
  112. "model": {
  113. "type": "string",
  114. "description": "Model to use in the format of provider/model, eg anthropic/claude-2"
  115. },
  116. "provider": {
  117. "type": "object",
  118. "additionalProperties": {
  119. "type": "object",
  120. "properties": {
  121. "api": {
  122. "type": "string"
  123. },
  124. "name": {
  125. "type": "string"
  126. },
  127. "env": {
  128. "type": "array",
  129. "items": {
  130. "type": "string"
  131. }
  132. },
  133. "id": {
  134. "type": "string"
  135. },
  136. "npm": {
  137. "type": "string"
  138. },
  139. "models": {
  140. "type": "object",
  141. "additionalProperties": {
  142. "type": "object",
  143. "properties": {
  144. "name": {
  145. "type": "string"
  146. },
  147. "attachment": {
  148. "type": "boolean"
  149. },
  150. "reasoning": {
  151. "type": "boolean"
  152. },
  153. "temperature": {
  154. "type": "boolean"
  155. },
  156. "cost": {
  157. "type": "object",
  158. "properties": {
  159. "input": {
  160. "type": "number"
  161. },
  162. "output": {
  163. "type": "number"
  164. },
  165. "cache_read": {
  166. "type": "number"
  167. },
  168. "cache_write": {
  169. "type": "number"
  170. }
  171. },
  172. "required": [
  173. "input",
  174. "output"
  175. ],
  176. "additionalProperties": false
  177. },
  178. "limit": {
  179. "type": "object",
  180. "properties": {
  181. "context": {
  182. "type": "number"
  183. },
  184. "output": {
  185. "type": "number"
  186. }
  187. },
  188. "required": [
  189. "context",
  190. "output"
  191. ],
  192. "additionalProperties": false
  193. },
  194. "id": {
  195. "type": "string"
  196. }
  197. },
  198. "additionalProperties": false
  199. }
  200. },
  201. "options": {
  202. "type": "object",
  203. "additionalProperties": {}
  204. }
  205. },
  206. "required": [
  207. "models"
  208. ],
  209. "additionalProperties": false
  210. }
  211. },
  212. "mcp": {
  213. "type": "object",
  214. "additionalProperties": {
  215. "anyOf": [
  216. {
  217. "type": "object",
  218. "properties": {
  219. "type": {
  220. "type": "string",
  221. "const": "local"
  222. },
  223. "command": {
  224. "type": "array",
  225. "items": {
  226. "type": "string"
  227. }
  228. },
  229. "environment": {
  230. "type": "object",
  231. "additionalProperties": {
  232. "type": "string"
  233. }
  234. }
  235. },
  236. "required": [
  237. "type",
  238. "command"
  239. ],
  240. "additionalProperties": false
  241. },
  242. {
  243. "type": "object",
  244. "properties": {
  245. "type": {
  246. "type": "string",
  247. "const": "remote"
  248. },
  249. "url": {
  250. "type": "string"
  251. }
  252. },
  253. "required": [
  254. "type",
  255. "url"
  256. ],
  257. "additionalProperties": false
  258. }
  259. ]
  260. }
  261. }
  262. },
  263. "additionalProperties": false,
  264. "$schema": "http://json-schema.org/draft-07/schema#"
  265. }