config.schema.json 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. {
  2. "type": "object",
  3. "properties": {
  4. "$schema": {
  5. "type": "string"
  6. },
  7. "provider": {
  8. "type": "object",
  9. "additionalProperties": {
  10. "type": "object",
  11. "properties": {
  12. "name": {
  13. "type": "string"
  14. },
  15. "env": {
  16. "type": "array",
  17. "items": {
  18. "type": "string"
  19. }
  20. },
  21. "id": {
  22. "type": "string"
  23. },
  24. "models": {
  25. "type": "object",
  26. "additionalProperties": {
  27. "type": "object",
  28. "properties": {
  29. "name": {
  30. "type": "string"
  31. },
  32. "attachment": {
  33. "type": "boolean"
  34. },
  35. "reasoning": {
  36. "type": "boolean"
  37. },
  38. "temperature": {
  39. "type": "boolean"
  40. },
  41. "cost": {
  42. "type": "object",
  43. "properties": {
  44. "input": {
  45. "type": "number"
  46. },
  47. "output": {
  48. "type": "number"
  49. },
  50. "inputCached": {
  51. "type": "number"
  52. },
  53. "outputCached": {
  54. "type": "number"
  55. }
  56. },
  57. "required": [
  58. "input",
  59. "output",
  60. "inputCached",
  61. "outputCached"
  62. ],
  63. "additionalProperties": false
  64. },
  65. "limit": {
  66. "type": "object",
  67. "properties": {
  68. "context": {
  69. "type": "number"
  70. },
  71. "output": {
  72. "type": "number"
  73. }
  74. },
  75. "required": [
  76. "context",
  77. "output"
  78. ],
  79. "additionalProperties": false
  80. },
  81. "id": {
  82. "type": "string"
  83. }
  84. },
  85. "additionalProperties": false
  86. }
  87. },
  88. "options": {
  89. "type": "object",
  90. "additionalProperties": {}
  91. }
  92. },
  93. "required": [
  94. "models"
  95. ],
  96. "additionalProperties": false
  97. }
  98. },
  99. "mcp": {
  100. "type": "object",
  101. "additionalProperties": {
  102. "anyOf": [
  103. {
  104. "type": "object",
  105. "properties": {
  106. "type": {
  107. "type": "string",
  108. "const": "local"
  109. },
  110. "command": {
  111. "type": "array",
  112. "items": {
  113. "type": "string"
  114. }
  115. },
  116. "environment": {
  117. "type": "object",
  118. "additionalProperties": {
  119. "type": "string"
  120. }
  121. }
  122. },
  123. "required": [
  124. "type",
  125. "command"
  126. ],
  127. "additionalProperties": false
  128. },
  129. {
  130. "type": "object",
  131. "properties": {
  132. "type": {
  133. "type": "string",
  134. "const": "remote"
  135. },
  136. "url": {
  137. "type": "string"
  138. }
  139. },
  140. "required": [
  141. "type",
  142. "url"
  143. ],
  144. "additionalProperties": false
  145. }
  146. ]
  147. }
  148. }
  149. },
  150. "additionalProperties": false,
  151. "$schema": "http://json-schema.org/draft-07/schema#"
  152. }