agentf 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. checksums.yaml +4 -4
  2. data/.opencode/agents/agentf-engineer.md +42 -0
  3. data/.opencode/agents/agentf-incident_responder.md +30 -0
  4. data/.opencode/agents/agentf-knowledge_manager.md +27 -0
  5. data/.opencode/agents/agentf-orchestrator.md +37 -0
  6. data/.opencode/agents/agentf-planner.md +27 -0
  7. data/.opencode/agents/agentf-qa_tester.md +42 -0
  8. data/.opencode/agents/agentf-researcher.md +30 -0
  9. data/.opencode/agents/agentf-reviewer.md +27 -0
  10. data/.opencode/agents/agentf-security_reviewer.md +30 -0
  11. data/.opencode/agents/agentf-ui_engineer.md +42 -0
  12. data/.opencode/bun.lock +18 -0
  13. data/.opencode/commands/agentf-architecture.md +17 -0
  14. data/.opencode/commands/agentf-debugger.md +17 -0
  15. data/.opencode/commands/agentf-designer.md +17 -0
  16. data/.opencode/commands/agentf-explorer.md +18 -0
  17. data/.opencode/commands/agentf-memory.md +19 -0
  18. data/.opencode/commands/agentf-metrics.md +17 -0
  19. data/.opencode/commands/agentf-security.md +17 -0
  20. data/.opencode/commands/agentf-tester.md +17 -0
  21. data/.opencode/memory/agentf-redis-schema.md +49 -0
  22. data/.opencode/node_modules/@opencode-ai/plugin/dist/example.d.ts +2 -0
  23. data/.opencode/node_modules/@opencode-ai/plugin/dist/example.js +16 -0
  24. data/.opencode/node_modules/@opencode-ai/plugin/dist/index.d.ts +232 -0
  25. data/.opencode/node_modules/@opencode-ai/plugin/dist/index.js +1 -0
  26. data/.opencode/node_modules/@opencode-ai/plugin/dist/shell.d.ts +109 -0
  27. data/.opencode/node_modules/@opencode-ai/plugin/dist/shell.js +0 -0
  28. data/.opencode/node_modules/@opencode-ai/plugin/dist/tool.d.ts +46 -0
  29. data/.opencode/node_modules/@opencode-ai/plugin/dist/tool.js +5 -0
  30. data/.opencode/node_modules/@opencode-ai/plugin/package.json +34 -0
  31. data/.opencode/node_modules/@opencode-ai/sdk/dist/client.d.ts +7 -0
  32. data/.opencode/node_modules/@opencode-ai/sdk/dist/client.js +25 -0
  33. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/client.gen.d.ts +2 -0
  34. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/client.gen.js +165 -0
  35. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/index.d.ts +7 -0
  36. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/index.js +5 -0
  37. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/types.gen.d.ts +127 -0
  38. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/types.gen.js +2 -0
  39. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/utils.gen.d.ts +38 -0
  40. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/utils.gen.js +226 -0
  41. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client.gen.d.ts +12 -0
  42. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client.gen.js +5 -0
  43. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/auth.gen.d.ts +18 -0
  44. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/auth.gen.js +14 -0
  45. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/bodySerializer.gen.d.ts +17 -0
  46. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/bodySerializer.gen.js +57 -0
  47. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/params.gen.d.ts +33 -0
  48. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/params.gen.js +89 -0
  49. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/pathSerializer.gen.d.ts +33 -0
  50. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/pathSerializer.gen.js +106 -0
  51. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/queryKeySerializer.gen.d.ts +18 -0
  52. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/queryKeySerializer.gen.js +93 -0
  53. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.d.ts +59 -0
  54. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js +117 -0
  55. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/types.gen.d.ts +78 -0
  56. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/types.gen.js +2 -0
  57. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/utils.gen.d.ts +14 -0
  58. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/utils.gen.js +69 -0
  59. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/sdk.gen.d.ts +403 -0
  60. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/sdk.gen.js +881 -0
  61. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/types.gen.d.ts +3380 -0
  62. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/types.gen.js +2 -0
  63. data/.opencode/node_modules/@opencode-ai/sdk/dist/index.d.ts +10 -0
  64. data/.opencode/node_modules/@opencode-ai/sdk/dist/index.js +16 -0
  65. data/.opencode/node_modules/@opencode-ai/sdk/dist/server.d.ts +23 -0
  66. data/.opencode/node_modules/@opencode-ai/sdk/dist/server.js +94 -0
  67. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/client.d.ts +8 -0
  68. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/client.js +33 -0
  69. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/client.gen.d.ts +2 -0
  70. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/client.gen.js +232 -0
  71. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/index.d.ts +8 -0
  72. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/index.js +6 -0
  73. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/types.gen.d.ts +117 -0
  74. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/types.gen.js +2 -0
  75. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/utils.gen.d.ts +33 -0
  76. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/utils.gen.js +226 -0
  77. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client.gen.d.ts +12 -0
  78. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client.gen.js +3 -0
  79. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/auth.gen.d.ts +18 -0
  80. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/auth.gen.js +14 -0
  81. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/bodySerializer.gen.d.ts +25 -0
  82. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/bodySerializer.gen.js +57 -0
  83. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/params.gen.d.ts +43 -0
  84. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/params.gen.js +102 -0
  85. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/pathSerializer.gen.d.ts +33 -0
  86. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/pathSerializer.gen.js +106 -0
  87. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/queryKeySerializer.gen.d.ts +18 -0
  88. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/queryKeySerializer.gen.js +93 -0
  89. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/serverSentEvents.gen.d.ts +71 -0
  90. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/serverSentEvents.gen.js +133 -0
  91. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/types.gen.d.ts +78 -0
  92. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/types.gen.js +2 -0
  93. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/utils.gen.d.ts +19 -0
  94. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/utils.gen.js +87 -0
  95. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/sdk.gen.d.ts +1271 -0
  96. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/sdk.gen.js +2575 -0
  97. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/types.gen.d.ts +4290 -0
  98. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/types.gen.js +2 -0
  99. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/index.d.ts +10 -0
  100. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/index.js +16 -0
  101. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/server.d.ts +23 -0
  102. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/server.js +94 -0
  103. data/.opencode/node_modules/@opencode-ai/sdk/package.json +52 -0
  104. data/.opencode/node_modules/zod/LICENSE +21 -0
  105. data/.opencode/node_modules/zod/README.md +208 -0
  106. data/.opencode/node_modules/zod/index.cjs +33 -0
  107. data/.opencode/node_modules/zod/index.d.cts +4 -0
  108. data/.opencode/node_modules/zod/index.d.ts +4 -0
  109. data/.opencode/node_modules/zod/index.js +4 -0
  110. data/.opencode/node_modules/zod/locales/index.cjs +17 -0
  111. data/.opencode/node_modules/zod/locales/index.d.cts +1 -0
  112. data/.opencode/node_modules/zod/locales/index.d.ts +1 -0
  113. data/.opencode/node_modules/zod/locales/index.js +1 -0
  114. data/.opencode/node_modules/zod/locales/package.json +6 -0
  115. data/.opencode/node_modules/zod/mini/index.cjs +17 -0
  116. data/.opencode/node_modules/zod/mini/index.d.cts +1 -0
  117. data/.opencode/node_modules/zod/mini/index.d.ts +1 -0
  118. data/.opencode/node_modules/zod/mini/index.js +1 -0
  119. data/.opencode/node_modules/zod/mini/package.json +6 -0
  120. data/.opencode/node_modules/zod/package.json +135 -0
  121. data/.opencode/node_modules/zod/src/index.ts +4 -0
  122. data/.opencode/node_modules/zod/src/locales/index.ts +1 -0
  123. data/.opencode/node_modules/zod/src/mini/index.ts +1 -0
  124. data/.opencode/node_modules/zod/src/v3/ZodError.ts +330 -0
  125. data/.opencode/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  126. data/.opencode/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  127. data/.opencode/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  128. data/.opencode/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  129. data/.opencode/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  130. data/.opencode/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  131. data/.opencode/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  132. data/.opencode/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  133. data/.opencode/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  134. data/.opencode/node_modules/zod/src/v3/errors.ts +13 -0
  135. data/.opencode/node_modules/zod/src/v3/external.ts +6 -0
  136. data/.opencode/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  137. data/.opencode/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  138. data/.opencode/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  139. data/.opencode/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  140. data/.opencode/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  141. data/.opencode/node_modules/zod/src/v3/helpers/util.ts +224 -0
  142. data/.opencode/node_modules/zod/src/v3/index.ts +4 -0
  143. data/.opencode/node_modules/zod/src/v3/locales/en.ts +124 -0
  144. data/.opencode/node_modules/zod/src/v3/standard-schema.ts +113 -0
  145. data/.opencode/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  146. data/.opencode/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  147. data/.opencode/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  148. data/.opencode/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  149. data/.opencode/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  150. data/.opencode/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  151. data/.opencode/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  152. data/.opencode/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  153. data/.opencode/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  154. data/.opencode/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  155. data/.opencode/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  156. data/.opencode/node_modules/zod/src/v3/tests/complex.test.ts +56 -0
  157. data/.opencode/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  158. data/.opencode/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  159. data/.opencode/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  160. data/.opencode/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  161. data/.opencode/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  162. data/.opencode/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  163. data/.opencode/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  164. data/.opencode/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  165. data/.opencode/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  166. data/.opencode/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  167. data/.opencode/node_modules/zod/src/v3/tests/function.test.ts +257 -0
  168. data/.opencode/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  169. data/.opencode/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  170. data/.opencode/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  171. data/.opencode/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  172. data/.opencode/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  173. data/.opencode/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  174. data/.opencode/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  175. data/.opencode/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  176. data/.opencode/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  177. data/.opencode/node_modules/zod/src/v3/tests/nan.test.ts +21 -0
  178. data/.opencode/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  179. data/.opencode/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  180. data/.opencode/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  181. data/.opencode/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  182. data/.opencode/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  183. data/.opencode/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  184. data/.opencode/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  185. data/.opencode/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  186. data/.opencode/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  187. data/.opencode/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  188. data/.opencode/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  189. data/.opencode/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  190. data/.opencode/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  191. data/.opencode/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  192. data/.opencode/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  193. data/.opencode/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  194. data/.opencode/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  195. data/.opencode/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  196. data/.opencode/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  197. data/.opencode/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  198. data/.opencode/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  199. data/.opencode/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  200. data/.opencode/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  201. data/.opencode/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  202. data/.opencode/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  203. data/.opencode/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  204. data/.opencode/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  205. data/.opencode/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  206. data/.opencode/node_modules/zod/src/v3/types.ts +5138 -0
  207. data/.opencode/node_modules/zod/src/v4/classic/checks.ts +31 -0
  208. data/.opencode/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  209. data/.opencode/node_modules/zod/src/v4/classic/compat.ts +70 -0
  210. data/.opencode/node_modules/zod/src/v4/classic/errors.ts +82 -0
  211. data/.opencode/node_modules/zod/src/v4/classic/external.ts +50 -0
  212. data/.opencode/node_modules/zod/src/v4/classic/index.ts +5 -0
  213. data/.opencode/node_modules/zod/src/v4/classic/iso.ts +90 -0
  214. data/.opencode/node_modules/zod/src/v4/classic/parse.ts +82 -0
  215. data/.opencode/node_modules/zod/src/v4/classic/schemas.ts +2205 -0
  216. data/.opencode/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  217. data/.opencode/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  218. data/.opencode/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  219. data/.opencode/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  220. data/.opencode/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  221. data/.opencode/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  222. data/.opencode/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  223. data/.opencode/node_modules/zod/src/v4/classic/tests/brand.test.ts +63 -0
  224. data/.opencode/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
  225. data/.opencode/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  226. data/.opencode/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  227. data/.opencode/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
  228. data/.opencode/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  229. data/.opencode/node_modules/zod/src/v4/classic/tests/continuability.test.ts +352 -0
  230. data/.opencode/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  231. data/.opencode/node_modules/zod/src/v4/classic/tests/date.test.ts +31 -0
  232. data/.opencode/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  233. data/.opencode/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
  234. data/.opencode/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  235. data/.opencode/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
  236. data/.opencode/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  237. data/.opencode/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
  238. data/.opencode/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  239. data/.opencode/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  240. data/.opencode/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  241. data/.opencode/node_modules/zod/src/v4/classic/tests/function.test.ts +308 -0
  242. data/.opencode/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  243. data/.opencode/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  244. data/.opencode/node_modules/zod/src/v4/classic/tests/index.test.ts +844 -0
  245. data/.opencode/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +34 -0
  246. data/.opencode/node_modules/zod/src/v4/classic/tests/intersection.test.ts +171 -0
  247. data/.opencode/node_modules/zod/src/v4/classic/tests/json.test.ts +108 -0
  248. data/.opencode/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  249. data/.opencode/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  250. data/.opencode/node_modules/zod/src/v4/classic/tests/map.test.ts +196 -0
  251. data/.opencode/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  252. data/.opencode/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  253. data/.opencode/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  254. data/.opencode/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  255. data/.opencode/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
  256. data/.opencode/node_modules/zod/src/v4/classic/tests/object.test.ts +609 -0
  257. data/.opencode/node_modules/zod/src/v4/classic/tests/optional.test.ts +136 -0
  258. data/.opencode/node_modules/zod/src/v4/classic/tests/partial.test.ts +340 -0
  259. data/.opencode/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +127 -0
  260. data/.opencode/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  261. data/.opencode/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  262. data/.opencode/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
  263. data/.opencode/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  264. data/.opencode/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  265. data/.opencode/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  266. data/.opencode/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  267. data/.opencode/node_modules/zod/src/v4/classic/tests/record.test.ts +356 -0
  268. data/.opencode/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +539 -0
  269. data/.opencode/node_modules/zod/src/v4/classic/tests/refine.test.ts +605 -0
  270. data/.opencode/node_modules/zod/src/v4/classic/tests/registries.test.ts +204 -0
  271. data/.opencode/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  272. data/.opencode/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +57 -0
  273. data/.opencode/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  274. data/.opencode/node_modules/zod/src/v4/classic/tests/string.test.ts +1080 -0
  275. data/.opencode/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  276. data/.opencode/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +763 -0
  277. data/.opencode/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2622 -0
  278. data/.opencode/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
  279. data/.opencode/node_modules/zod/src/v4/classic/tests/tuple.test.ts +163 -0
  280. data/.opencode/node_modules/zod/src/v4/classic/tests/union.test.ts +181 -0
  281. data/.opencode/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  282. data/.opencode/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  283. data/.opencode/node_modules/zod/src/v4/core/api.ts +1621 -0
  284. data/.opencode/node_modules/zod/src/v4/core/checks.ts +1287 -0
  285. data/.opencode/node_modules/zod/src/v4/core/config.ts +15 -0
  286. data/.opencode/node_modules/zod/src/v4/core/core.ts +115 -0
  287. data/.opencode/node_modules/zod/src/v4/core/doc.ts +44 -0
  288. data/.opencode/node_modules/zod/src/v4/core/errors.ts +423 -0
  289. data/.opencode/node_modules/zod/src/v4/core/index.ts +14 -0
  290. data/.opencode/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  291. data/.opencode/node_modules/zod/src/v4/core/parse.ts +195 -0
  292. data/.opencode/node_modules/zod/src/v4/core/regexes.ts +177 -0
  293. data/.opencode/node_modules/zod/src/v4/core/registries.ts +97 -0
  294. data/.opencode/node_modules/zod/src/v4/core/schemas.ts +4303 -0
  295. data/.opencode/node_modules/zod/src/v4/core/standard-schema.ts +64 -0
  296. data/.opencode/node_modules/zod/src/v4/core/tests/extend.test.ts +18 -0
  297. data/.opencode/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  298. data/.opencode/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  299. data/.opencode/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  300. data/.opencode/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  301. data/.opencode/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  302. data/.opencode/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  303. data/.opencode/node_modules/zod/src/v4/core/to-json-schema.ts +1044 -0
  304. data/.opencode/node_modules/zod/src/v4/core/util.ts +910 -0
  305. data/.opencode/node_modules/zod/src/v4/core/versions.ts +5 -0
  306. data/.opencode/node_modules/zod/src/v4/core/zsf.ts +323 -0
  307. data/.opencode/node_modules/zod/src/v4/index.ts +4 -0
  308. data/.opencode/node_modules/zod/src/v4/locales/ar.ts +125 -0
  309. data/.opencode/node_modules/zod/src/v4/locales/az.ts +121 -0
  310. data/.opencode/node_modules/zod/src/v4/locales/be.ts +184 -0
  311. data/.opencode/node_modules/zod/src/v4/locales/bg.ts +136 -0
  312. data/.opencode/node_modules/zod/src/v4/locales/ca.ts +127 -0
  313. data/.opencode/node_modules/zod/src/v4/locales/cs.ts +142 -0
  314. data/.opencode/node_modules/zod/src/v4/locales/da.ts +141 -0
  315. data/.opencode/node_modules/zod/src/v4/locales/de.ts +124 -0
  316. data/.opencode/node_modules/zod/src/v4/locales/en.ts +127 -0
  317. data/.opencode/node_modules/zod/src/v4/locales/eo.ts +125 -0
  318. data/.opencode/node_modules/zod/src/v4/locales/es.ts +159 -0
  319. data/.opencode/node_modules/zod/src/v4/locales/fa.ts +134 -0
  320. data/.opencode/node_modules/zod/src/v4/locales/fi.ts +131 -0
  321. data/.opencode/node_modules/zod/src/v4/locales/fr-CA.ts +126 -0
  322. data/.opencode/node_modules/zod/src/v4/locales/fr.ts +124 -0
  323. data/.opencode/node_modules/zod/src/v4/locales/he.ts +125 -0
  324. data/.opencode/node_modules/zod/src/v4/locales/hu.ts +126 -0
  325. data/.opencode/node_modules/zod/src/v4/locales/id.ts +125 -0
  326. data/.opencode/node_modules/zod/src/v4/locales/index.ts +46 -0
  327. data/.opencode/node_modules/zod/src/v4/locales/is.ts +127 -0
  328. data/.opencode/node_modules/zod/src/v4/locales/it.ts +125 -0
  329. data/.opencode/node_modules/zod/src/v4/locales/ja.ts +122 -0
  330. data/.opencode/node_modules/zod/src/v4/locales/ka.ts +138 -0
  331. data/.opencode/node_modules/zod/src/v4/locales/kh.ts +7 -0
  332. data/.opencode/node_modules/zod/src/v4/locales/km.ts +126 -0
  333. data/.opencode/node_modules/zod/src/v4/locales/ko.ts +131 -0
  334. data/.opencode/node_modules/zod/src/v4/locales/lt.ts +265 -0
  335. data/.opencode/node_modules/zod/src/v4/locales/mk.ts +127 -0
  336. data/.opencode/node_modules/zod/src/v4/locales/ms.ts +124 -0
  337. data/.opencode/node_modules/zod/src/v4/locales/nl.ts +126 -0
  338. data/.opencode/node_modules/zod/src/v4/locales/no.ts +124 -0
  339. data/.opencode/node_modules/zod/src/v4/locales/ota.ts +125 -0
  340. data/.opencode/node_modules/zod/src/v4/locales/pl.ts +126 -0
  341. data/.opencode/node_modules/zod/src/v4/locales/ps.ts +133 -0
  342. data/.opencode/node_modules/zod/src/v4/locales/pt.ts +123 -0
  343. data/.opencode/node_modules/zod/src/v4/locales/ru.ts +184 -0
  344. data/.opencode/node_modules/zod/src/v4/locales/sl.ts +126 -0
  345. data/.opencode/node_modules/zod/src/v4/locales/sv.ts +127 -0
  346. data/.opencode/node_modules/zod/src/v4/locales/ta.ts +125 -0
  347. data/.opencode/node_modules/zod/src/v4/locales/th.ts +126 -0
  348. data/.opencode/node_modules/zod/src/v4/locales/tr.ts +121 -0
  349. data/.opencode/node_modules/zod/src/v4/locales/ua.ts +7 -0
  350. data/.opencode/node_modules/zod/src/v4/locales/uk.ts +126 -0
  351. data/.opencode/node_modules/zod/src/v4/locales/ur.ts +126 -0
  352. data/.opencode/node_modules/zod/src/v4/locales/vi.ts +125 -0
  353. data/.opencode/node_modules/zod/src/v4/locales/yo.ts +131 -0
  354. data/.opencode/node_modules/zod/src/v4/locales/zh-CN.ts +123 -0
  355. data/.opencode/node_modules/zod/src/v4/locales/zh-TW.ts +125 -0
  356. data/.opencode/node_modules/zod/src/v4/mini/checks.ts +32 -0
  357. data/.opencode/node_modules/zod/src/v4/mini/coerce.ts +22 -0
  358. data/.opencode/node_modules/zod/src/v4/mini/external.ts +40 -0
  359. data/.opencode/node_modules/zod/src/v4/mini/index.ts +3 -0
  360. data/.opencode/node_modules/zod/src/v4/mini/iso.ts +62 -0
  361. data/.opencode/node_modules/zod/src/v4/mini/parse.ts +14 -0
  362. data/.opencode/node_modules/zod/src/v4/mini/schemas.ts +1739 -0
  363. data/.opencode/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  364. data/.opencode/node_modules/zod/src/v4/mini/tests/brand.test.ts +51 -0
  365. data/.opencode/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  366. data/.opencode/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
  367. data/.opencode/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  368. data/.opencode/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  369. data/.opencode/node_modules/zod/src/v4/mini/tests/functions.test.ts +43 -0
  370. data/.opencode/node_modules/zod/src/v4/mini/tests/index.test.ts +899 -0
  371. data/.opencode/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  372. data/.opencode/node_modules/zod/src/v4/mini/tests/object.test.ts +200 -0
  373. data/.opencode/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  374. data/.opencode/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  375. data/.opencode/node_modules/zod/src/v4/mini/tests/string.test.ts +315 -0
  376. data/.opencode/node_modules/zod/src/v4-mini/index.ts +1 -0
  377. data/.opencode/node_modules/zod/v3/ZodError.cjs +138 -0
  378. data/.opencode/node_modules/zod/v3/ZodError.d.cts +164 -0
  379. data/.opencode/node_modules/zod/v3/ZodError.d.ts +164 -0
  380. data/.opencode/node_modules/zod/v3/ZodError.js +133 -0
  381. data/.opencode/node_modules/zod/v3/errors.cjs +17 -0
  382. data/.opencode/node_modules/zod/v3/errors.d.cts +5 -0
  383. data/.opencode/node_modules/zod/v3/errors.d.ts +5 -0
  384. data/.opencode/node_modules/zod/v3/errors.js +9 -0
  385. data/.opencode/node_modules/zod/v3/external.cjs +22 -0
  386. data/.opencode/node_modules/zod/v3/external.d.cts +6 -0
  387. data/.opencode/node_modules/zod/v3/external.d.ts +6 -0
  388. data/.opencode/node_modules/zod/v3/external.js +6 -0
  389. data/.opencode/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  390. data/.opencode/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  391. data/.opencode/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  392. data/.opencode/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  393. data/.opencode/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  394. data/.opencode/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  395. data/.opencode/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  396. data/.opencode/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  397. data/.opencode/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  398. data/.opencode/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  399. data/.opencode/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  400. data/.opencode/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  401. data/.opencode/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  402. data/.opencode/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  403. data/.opencode/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  404. data/.opencode/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  405. data/.opencode/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  406. data/.opencode/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  407. data/.opencode/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  408. data/.opencode/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  409. data/.opencode/node_modules/zod/v3/helpers/util.cjs +137 -0
  410. data/.opencode/node_modules/zod/v3/helpers/util.d.cts +85 -0
  411. data/.opencode/node_modules/zod/v3/helpers/util.d.ts +85 -0
  412. data/.opencode/node_modules/zod/v3/helpers/util.js +133 -0
  413. data/.opencode/node_modules/zod/v3/index.cjs +33 -0
  414. data/.opencode/node_modules/zod/v3/index.d.cts +4 -0
  415. data/.opencode/node_modules/zod/v3/index.d.ts +4 -0
  416. data/.opencode/node_modules/zod/v3/index.js +4 -0
  417. data/.opencode/node_modules/zod/v3/locales/en.cjs +112 -0
  418. data/.opencode/node_modules/zod/v3/locales/en.d.cts +3 -0
  419. data/.opencode/node_modules/zod/v3/locales/en.d.ts +3 -0
  420. data/.opencode/node_modules/zod/v3/locales/en.js +109 -0
  421. data/.opencode/node_modules/zod/v3/package.json +6 -0
  422. data/.opencode/node_modules/zod/v3/standard-schema.cjs +2 -0
  423. data/.opencode/node_modules/zod/v3/standard-schema.d.cts +102 -0
  424. data/.opencode/node_modules/zod/v3/standard-schema.d.ts +102 -0
  425. data/.opencode/node_modules/zod/v3/standard-schema.js +1 -0
  426. data/.opencode/node_modules/zod/v3/types.cjs +3777 -0
  427. data/.opencode/node_modules/zod/v3/types.d.cts +1034 -0
  428. data/.opencode/node_modules/zod/v3/types.d.ts +1034 -0
  429. data/.opencode/node_modules/zod/v3/types.js +3695 -0
  430. data/.opencode/node_modules/zod/v4/classic/checks.cjs +32 -0
  431. data/.opencode/node_modules/zod/v4/classic/checks.d.cts +1 -0
  432. data/.opencode/node_modules/zod/v4/classic/checks.d.ts +1 -0
  433. data/.opencode/node_modules/zod/v4/classic/checks.js +1 -0
  434. data/.opencode/node_modules/zod/v4/classic/coerce.cjs +47 -0
  435. data/.opencode/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  436. data/.opencode/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  437. data/.opencode/node_modules/zod/v4/classic/coerce.js +17 -0
  438. data/.opencode/node_modules/zod/v4/classic/compat.cjs +61 -0
  439. data/.opencode/node_modules/zod/v4/classic/compat.d.cts +50 -0
  440. data/.opencode/node_modules/zod/v4/classic/compat.d.ts +50 -0
  441. data/.opencode/node_modules/zod/v4/classic/compat.js +31 -0
  442. data/.opencode/node_modules/zod/v4/classic/errors.cjs +74 -0
  443. data/.opencode/node_modules/zod/v4/classic/errors.d.cts +30 -0
  444. data/.opencode/node_modules/zod/v4/classic/errors.d.ts +30 -0
  445. data/.opencode/node_modules/zod/v4/classic/errors.js +48 -0
  446. data/.opencode/node_modules/zod/v4/classic/external.cjs +70 -0
  447. data/.opencode/node_modules/zod/v4/classic/external.d.cts +13 -0
  448. data/.opencode/node_modules/zod/v4/classic/external.d.ts +13 -0
  449. data/.opencode/node_modules/zod/v4/classic/external.js +18 -0
  450. data/.opencode/node_modules/zod/v4/classic/index.cjs +33 -0
  451. data/.opencode/node_modules/zod/v4/classic/index.d.cts +4 -0
  452. data/.opencode/node_modules/zod/v4/classic/index.d.ts +4 -0
  453. data/.opencode/node_modules/zod/v4/classic/index.js +4 -0
  454. data/.opencode/node_modules/zod/v4/classic/iso.cjs +60 -0
  455. data/.opencode/node_modules/zod/v4/classic/iso.d.cts +22 -0
  456. data/.opencode/node_modules/zod/v4/classic/iso.d.ts +22 -0
  457. data/.opencode/node_modules/zod/v4/classic/iso.js +30 -0
  458. data/.opencode/node_modules/zod/v4/classic/package.json +6 -0
  459. data/.opencode/node_modules/zod/v4/classic/parse.cjs +41 -0
  460. data/.opencode/node_modules/zod/v4/classic/parse.d.cts +31 -0
  461. data/.opencode/node_modules/zod/v4/classic/parse.d.ts +31 -0
  462. data/.opencode/node_modules/zod/v4/classic/parse.js +15 -0
  463. data/.opencode/node_modules/zod/v4/classic/schemas.cjs +1161 -0
  464. data/.opencode/node_modules/zod/v4/classic/schemas.d.cts +673 -0
  465. data/.opencode/node_modules/zod/v4/classic/schemas.d.ts +673 -0
  466. data/.opencode/node_modules/zod/v4/classic/schemas.js +1050 -0
  467. data/.opencode/node_modules/zod/v4/core/api.cjs +1060 -0
  468. data/.opencode/node_modules/zod/v4/core/api.d.cts +295 -0
  469. data/.opencode/node_modules/zod/v4/core/api.d.ts +295 -0
  470. data/.opencode/node_modules/zod/v4/core/api.js +925 -0
  471. data/.opencode/node_modules/zod/v4/core/checks.cjs +595 -0
  472. data/.opencode/node_modules/zod/v4/core/checks.d.cts +278 -0
  473. data/.opencode/node_modules/zod/v4/core/checks.d.ts +278 -0
  474. data/.opencode/node_modules/zod/v4/core/checks.js +569 -0
  475. data/.opencode/node_modules/zod/v4/core/core.cjs +74 -0
  476. data/.opencode/node_modules/zod/v4/core/core.d.cts +52 -0
  477. data/.opencode/node_modules/zod/v4/core/core.d.ts +52 -0
  478. data/.opencode/node_modules/zod/v4/core/core.js +67 -0
  479. data/.opencode/node_modules/zod/v4/core/doc.cjs +39 -0
  480. data/.opencode/node_modules/zod/v4/core/doc.d.cts +14 -0
  481. data/.opencode/node_modules/zod/v4/core/doc.d.ts +14 -0
  482. data/.opencode/node_modules/zod/v4/core/doc.js +35 -0
  483. data/.opencode/node_modules/zod/v4/core/errors.cjs +221 -0
  484. data/.opencode/node_modules/zod/v4/core/errors.d.cts +210 -0
  485. data/.opencode/node_modules/zod/v4/core/errors.d.ts +210 -0
  486. data/.opencode/node_modules/zod/v4/core/errors.js +190 -0
  487. data/.opencode/node_modules/zod/v4/core/index.cjs +43 -0
  488. data/.opencode/node_modules/zod/v4/core/index.d.cts +14 -0
  489. data/.opencode/node_modules/zod/v4/core/index.d.ts +14 -0
  490. data/.opencode/node_modules/zod/v4/core/index.js +14 -0
  491. data/.opencode/node_modules/zod/v4/core/json-schema.cjs +2 -0
  492. data/.opencode/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  493. data/.opencode/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  494. data/.opencode/node_modules/zod/v4/core/json-schema.js +1 -0
  495. data/.opencode/node_modules/zod/v4/core/package.json +6 -0
  496. data/.opencode/node_modules/zod/v4/core/parse.cjs +131 -0
  497. data/.opencode/node_modules/zod/v4/core/parse.d.cts +49 -0
  498. data/.opencode/node_modules/zod/v4/core/parse.d.ts +49 -0
  499. data/.opencode/node_modules/zod/v4/core/parse.js +93 -0
  500. data/.opencode/node_modules/zod/v4/core/regexes.cjs +136 -0
  501. data/.opencode/node_modules/zod/v4/core/regexes.d.cts +78 -0
  502. data/.opencode/node_modules/zod/v4/core/regexes.d.ts +78 -0
  503. data/.opencode/node_modules/zod/v4/core/regexes.js +127 -0
  504. data/.opencode/node_modules/zod/v4/core/registries.cjs +57 -0
  505. data/.opencode/node_modules/zod/v4/core/registries.d.cts +35 -0
  506. data/.opencode/node_modules/zod/v4/core/registries.d.ts +35 -0
  507. data/.opencode/node_modules/zod/v4/core/registries.js +52 -0
  508. data/.opencode/node_modules/zod/v4/core/schemas.cjs +1972 -0
  509. data/.opencode/node_modules/zod/v4/core/schemas.d.cts +1113 -0
  510. data/.opencode/node_modules/zod/v4/core/schemas.d.ts +1113 -0
  511. data/.opencode/node_modules/zod/v4/core/schemas.js +1941 -0
  512. data/.opencode/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  513. data/.opencode/node_modules/zod/v4/core/standard-schema.d.cts +55 -0
  514. data/.opencode/node_modules/zod/v4/core/standard-schema.d.ts +55 -0
  515. data/.opencode/node_modules/zod/v4/core/standard-schema.js +1 -0
  516. data/.opencode/node_modules/zod/v4/core/to-json-schema.cjs +920 -0
  517. data/.opencode/node_modules/zod/v4/core/to-json-schema.d.cts +90 -0
  518. data/.opencode/node_modules/zod/v4/core/to-json-schema.d.ts +90 -0
  519. data/.opencode/node_modules/zod/v4/core/to-json-schema.js +915 -0
  520. data/.opencode/node_modules/zod/v4/core/util.cjs +658 -0
  521. data/.opencode/node_modules/zod/v4/core/util.d.cts +197 -0
  522. data/.opencode/node_modules/zod/v4/core/util.d.ts +197 -0
  523. data/.opencode/node_modules/zod/v4/core/util.js +601 -0
  524. data/.opencode/node_modules/zod/v4/core/versions.cjs +8 -0
  525. data/.opencode/node_modules/zod/v4/core/versions.d.cts +5 -0
  526. data/.opencode/node_modules/zod/v4/core/versions.d.ts +5 -0
  527. data/.opencode/node_modules/zod/v4/core/versions.js +5 -0
  528. data/.opencode/node_modules/zod/v4/index.cjs +22 -0
  529. data/.opencode/node_modules/zod/v4/index.d.cts +3 -0
  530. data/.opencode/node_modules/zod/v4/index.d.ts +3 -0
  531. data/.opencode/node_modules/zod/v4/index.js +3 -0
  532. data/.opencode/node_modules/zod/v4/locales/ar.cjs +143 -0
  533. data/.opencode/node_modules/zod/v4/locales/ar.d.cts +5 -0
  534. data/.opencode/node_modules/zod/v4/locales/ar.d.ts +4 -0
  535. data/.opencode/node_modules/zod/v4/locales/ar.js +116 -0
  536. data/.opencode/node_modules/zod/v4/locales/az.cjs +142 -0
  537. data/.opencode/node_modules/zod/v4/locales/az.d.cts +5 -0
  538. data/.opencode/node_modules/zod/v4/locales/az.d.ts +4 -0
  539. data/.opencode/node_modules/zod/v4/locales/az.js +115 -0
  540. data/.opencode/node_modules/zod/v4/locales/be.cjs +191 -0
  541. data/.opencode/node_modules/zod/v4/locales/be.d.cts +5 -0
  542. data/.opencode/node_modules/zod/v4/locales/be.d.ts +4 -0
  543. data/.opencode/node_modules/zod/v4/locales/be.js +164 -0
  544. data/.opencode/node_modules/zod/v4/locales/bg.cjs +156 -0
  545. data/.opencode/node_modules/zod/v4/locales/bg.d.cts +5 -0
  546. data/.opencode/node_modules/zod/v4/locales/bg.d.ts +5 -0
  547. data/.opencode/node_modules/zod/v4/locales/bg.js +128 -0
  548. data/.opencode/node_modules/zod/v4/locales/ca.cjs +145 -0
  549. data/.opencode/node_modules/zod/v4/locales/ca.d.cts +5 -0
  550. data/.opencode/node_modules/zod/v4/locales/ca.d.ts +4 -0
  551. data/.opencode/node_modules/zod/v4/locales/ca.js +118 -0
  552. data/.opencode/node_modules/zod/v4/locales/cs.cjs +162 -0
  553. data/.opencode/node_modules/zod/v4/locales/cs.d.cts +5 -0
  554. data/.opencode/node_modules/zod/v4/locales/cs.d.ts +4 -0
  555. data/.opencode/node_modules/zod/v4/locales/cs.js +135 -0
  556. data/.opencode/node_modules/zod/v4/locales/da.cjs +158 -0
  557. data/.opencode/node_modules/zod/v4/locales/da.d.cts +5 -0
  558. data/.opencode/node_modules/zod/v4/locales/da.d.ts +4 -0
  559. data/.opencode/node_modules/zod/v4/locales/da.js +131 -0
  560. data/.opencode/node_modules/zod/v4/locales/de.cjs +143 -0
  561. data/.opencode/node_modules/zod/v4/locales/de.d.cts +5 -0
  562. data/.opencode/node_modules/zod/v4/locales/de.d.ts +4 -0
  563. data/.opencode/node_modules/zod/v4/locales/de.js +116 -0
  564. data/.opencode/node_modules/zod/v4/locales/en.cjs +145 -0
  565. data/.opencode/node_modules/zod/v4/locales/en.d.cts +5 -0
  566. data/.opencode/node_modules/zod/v4/locales/en.d.ts +5 -0
  567. data/.opencode/node_modules/zod/v4/locales/en.js +117 -0
  568. data/.opencode/node_modules/zod/v4/locales/eo.cjs +144 -0
  569. data/.opencode/node_modules/zod/v4/locales/eo.d.cts +5 -0
  570. data/.opencode/node_modules/zod/v4/locales/eo.d.ts +5 -0
  571. data/.opencode/node_modules/zod/v4/locales/eo.js +116 -0
  572. data/.opencode/node_modules/zod/v4/locales/es.cjs +176 -0
  573. data/.opencode/node_modules/zod/v4/locales/es.d.cts +5 -0
  574. data/.opencode/node_modules/zod/v4/locales/es.d.ts +4 -0
  575. data/.opencode/node_modules/zod/v4/locales/es.js +149 -0
  576. data/.opencode/node_modules/zod/v4/locales/fa.cjs +149 -0
  577. data/.opencode/node_modules/zod/v4/locales/fa.d.cts +5 -0
  578. data/.opencode/node_modules/zod/v4/locales/fa.d.ts +4 -0
  579. data/.opencode/node_modules/zod/v4/locales/fa.js +122 -0
  580. data/.opencode/node_modules/zod/v4/locales/fi.cjs +149 -0
  581. data/.opencode/node_modules/zod/v4/locales/fi.d.cts +5 -0
  582. data/.opencode/node_modules/zod/v4/locales/fi.d.ts +4 -0
  583. data/.opencode/node_modules/zod/v4/locales/fi.js +122 -0
  584. data/.opencode/node_modules/zod/v4/locales/fr-CA.cjs +144 -0
  585. data/.opencode/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  586. data/.opencode/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  587. data/.opencode/node_modules/zod/v4/locales/fr-CA.js +117 -0
  588. data/.opencode/node_modules/zod/v4/locales/fr.cjs +143 -0
  589. data/.opencode/node_modules/zod/v4/locales/fr.d.cts +5 -0
  590. data/.opencode/node_modules/zod/v4/locales/fr.d.ts +4 -0
  591. data/.opencode/node_modules/zod/v4/locales/fr.js +116 -0
  592. data/.opencode/node_modules/zod/v4/locales/he.cjs +144 -0
  593. data/.opencode/node_modules/zod/v4/locales/he.d.cts +5 -0
  594. data/.opencode/node_modules/zod/v4/locales/he.d.ts +4 -0
  595. data/.opencode/node_modules/zod/v4/locales/he.js +117 -0
  596. data/.opencode/node_modules/zod/v4/locales/hu.cjs +144 -0
  597. data/.opencode/node_modules/zod/v4/locales/hu.d.cts +5 -0
  598. data/.opencode/node_modules/zod/v4/locales/hu.d.ts +4 -0
  599. data/.opencode/node_modules/zod/v4/locales/hu.js +117 -0
  600. data/.opencode/node_modules/zod/v4/locales/id.cjs +143 -0
  601. data/.opencode/node_modules/zod/v4/locales/id.d.cts +5 -0
  602. data/.opencode/node_modules/zod/v4/locales/id.d.ts +4 -0
  603. data/.opencode/node_modules/zod/v4/locales/id.js +116 -0
  604. data/.opencode/node_modules/zod/v4/locales/index.cjs +98 -0
  605. data/.opencode/node_modules/zod/v4/locales/index.d.cts +46 -0
  606. data/.opencode/node_modules/zod/v4/locales/index.d.ts +46 -0
  607. data/.opencode/node_modules/zod/v4/locales/index.js +46 -0
  608. data/.opencode/node_modules/zod/v4/locales/is.cjs +145 -0
  609. data/.opencode/node_modules/zod/v4/locales/is.d.cts +5 -0
  610. data/.opencode/node_modules/zod/v4/locales/is.d.ts +5 -0
  611. data/.opencode/node_modules/zod/v4/locales/is.js +117 -0
  612. data/.opencode/node_modules/zod/v4/locales/it.cjs +144 -0
  613. data/.opencode/node_modules/zod/v4/locales/it.d.cts +5 -0
  614. data/.opencode/node_modules/zod/v4/locales/it.d.ts +4 -0
  615. data/.opencode/node_modules/zod/v4/locales/it.js +117 -0
  616. data/.opencode/node_modules/zod/v4/locales/ja.cjs +142 -0
  617. data/.opencode/node_modules/zod/v4/locales/ja.d.cts +5 -0
  618. data/.opencode/node_modules/zod/v4/locales/ja.d.ts +4 -0
  619. data/.opencode/node_modules/zod/v4/locales/ja.js +115 -0
  620. data/.opencode/node_modules/zod/v4/locales/ka.cjs +153 -0
  621. data/.opencode/node_modules/zod/v4/locales/ka.d.cts +5 -0
  622. data/.opencode/node_modules/zod/v4/locales/ka.d.ts +5 -0
  623. data/.opencode/node_modules/zod/v4/locales/ka.js +125 -0
  624. data/.opencode/node_modules/zod/v4/locales/kh.cjs +12 -0
  625. data/.opencode/node_modules/zod/v4/locales/kh.d.cts +5 -0
  626. data/.opencode/node_modules/zod/v4/locales/kh.d.ts +5 -0
  627. data/.opencode/node_modules/zod/v4/locales/kh.js +5 -0
  628. data/.opencode/node_modules/zod/v4/locales/km.cjs +144 -0
  629. data/.opencode/node_modules/zod/v4/locales/km.d.cts +5 -0
  630. data/.opencode/node_modules/zod/v4/locales/km.d.ts +4 -0
  631. data/.opencode/node_modules/zod/v4/locales/km.js +117 -0
  632. data/.opencode/node_modules/zod/v4/locales/ko.cjs +148 -0
  633. data/.opencode/node_modules/zod/v4/locales/ko.d.cts +5 -0
  634. data/.opencode/node_modules/zod/v4/locales/ko.d.ts +4 -0
  635. data/.opencode/node_modules/zod/v4/locales/ko.js +121 -0
  636. data/.opencode/node_modules/zod/v4/locales/lt.cjs +258 -0
  637. data/.opencode/node_modules/zod/v4/locales/lt.d.cts +5 -0
  638. data/.opencode/node_modules/zod/v4/locales/lt.d.ts +5 -0
  639. data/.opencode/node_modules/zod/v4/locales/lt.js +230 -0
  640. data/.opencode/node_modules/zod/v4/locales/mk.cjs +145 -0
  641. data/.opencode/node_modules/zod/v4/locales/mk.d.cts +5 -0
  642. data/.opencode/node_modules/zod/v4/locales/mk.d.ts +4 -0
  643. data/.opencode/node_modules/zod/v4/locales/mk.js +118 -0
  644. data/.opencode/node_modules/zod/v4/locales/ms.cjs +143 -0
  645. data/.opencode/node_modules/zod/v4/locales/ms.d.cts +5 -0
  646. data/.opencode/node_modules/zod/v4/locales/ms.d.ts +4 -0
  647. data/.opencode/node_modules/zod/v4/locales/ms.js +116 -0
  648. data/.opencode/node_modules/zod/v4/locales/nl.cjs +144 -0
  649. data/.opencode/node_modules/zod/v4/locales/nl.d.cts +5 -0
  650. data/.opencode/node_modules/zod/v4/locales/nl.d.ts +4 -0
  651. data/.opencode/node_modules/zod/v4/locales/nl.js +117 -0
  652. data/.opencode/node_modules/zod/v4/locales/no.cjs +143 -0
  653. data/.opencode/node_modules/zod/v4/locales/no.d.cts +5 -0
  654. data/.opencode/node_modules/zod/v4/locales/no.d.ts +4 -0
  655. data/.opencode/node_modules/zod/v4/locales/no.js +116 -0
  656. data/.opencode/node_modules/zod/v4/locales/ota.cjs +144 -0
  657. data/.opencode/node_modules/zod/v4/locales/ota.d.cts +5 -0
  658. data/.opencode/node_modules/zod/v4/locales/ota.d.ts +4 -0
  659. data/.opencode/node_modules/zod/v4/locales/ota.js +117 -0
  660. data/.opencode/node_modules/zod/v4/locales/package.json +6 -0
  661. data/.opencode/node_modules/zod/v4/locales/pl.cjs +144 -0
  662. data/.opencode/node_modules/zod/v4/locales/pl.d.cts +5 -0
  663. data/.opencode/node_modules/zod/v4/locales/pl.d.ts +4 -0
  664. data/.opencode/node_modules/zod/v4/locales/pl.js +117 -0
  665. data/.opencode/node_modules/zod/v4/locales/ps.cjs +149 -0
  666. data/.opencode/node_modules/zod/v4/locales/ps.d.cts +5 -0
  667. data/.opencode/node_modules/zod/v4/locales/ps.d.ts +4 -0
  668. data/.opencode/node_modules/zod/v4/locales/ps.js +122 -0
  669. data/.opencode/node_modules/zod/v4/locales/pt.cjs +143 -0
  670. data/.opencode/node_modules/zod/v4/locales/pt.d.cts +5 -0
  671. data/.opencode/node_modules/zod/v4/locales/pt.d.ts +4 -0
  672. data/.opencode/node_modules/zod/v4/locales/pt.js +116 -0
  673. data/.opencode/node_modules/zod/v4/locales/ru.cjs +191 -0
  674. data/.opencode/node_modules/zod/v4/locales/ru.d.cts +5 -0
  675. data/.opencode/node_modules/zod/v4/locales/ru.d.ts +4 -0
  676. data/.opencode/node_modules/zod/v4/locales/ru.js +164 -0
  677. data/.opencode/node_modules/zod/v4/locales/sl.cjs +144 -0
  678. data/.opencode/node_modules/zod/v4/locales/sl.d.cts +5 -0
  679. data/.opencode/node_modules/zod/v4/locales/sl.d.ts +4 -0
  680. data/.opencode/node_modules/zod/v4/locales/sl.js +117 -0
  681. data/.opencode/node_modules/zod/v4/locales/sv.cjs +145 -0
  682. data/.opencode/node_modules/zod/v4/locales/sv.d.cts +5 -0
  683. data/.opencode/node_modules/zod/v4/locales/sv.d.ts +4 -0
  684. data/.opencode/node_modules/zod/v4/locales/sv.js +118 -0
  685. data/.opencode/node_modules/zod/v4/locales/ta.cjs +144 -0
  686. data/.opencode/node_modules/zod/v4/locales/ta.d.cts +5 -0
  687. data/.opencode/node_modules/zod/v4/locales/ta.d.ts +4 -0
  688. data/.opencode/node_modules/zod/v4/locales/ta.js +117 -0
  689. data/.opencode/node_modules/zod/v4/locales/th.cjs +144 -0
  690. data/.opencode/node_modules/zod/v4/locales/th.d.cts +5 -0
  691. data/.opencode/node_modules/zod/v4/locales/th.d.ts +4 -0
  692. data/.opencode/node_modules/zod/v4/locales/th.js +117 -0
  693. data/.opencode/node_modules/zod/v4/locales/tr.cjs +143 -0
  694. data/.opencode/node_modules/zod/v4/locales/tr.d.cts +5 -0
  695. data/.opencode/node_modules/zod/v4/locales/tr.d.ts +5 -0
  696. data/.opencode/node_modules/zod/v4/locales/tr.js +115 -0
  697. data/.opencode/node_modules/zod/v4/locales/ua.cjs +12 -0
  698. data/.opencode/node_modules/zod/v4/locales/ua.d.cts +5 -0
  699. data/.opencode/node_modules/zod/v4/locales/ua.d.ts +5 -0
  700. data/.opencode/node_modules/zod/v4/locales/ua.js +5 -0
  701. data/.opencode/node_modules/zod/v4/locales/uk.cjs +144 -0
  702. data/.opencode/node_modules/zod/v4/locales/uk.d.cts +5 -0
  703. data/.opencode/node_modules/zod/v4/locales/uk.d.ts +4 -0
  704. data/.opencode/node_modules/zod/v4/locales/uk.js +117 -0
  705. data/.opencode/node_modules/zod/v4/locales/ur.cjs +144 -0
  706. data/.opencode/node_modules/zod/v4/locales/ur.d.cts +5 -0
  707. data/.opencode/node_modules/zod/v4/locales/ur.d.ts +4 -0
  708. data/.opencode/node_modules/zod/v4/locales/ur.js +117 -0
  709. data/.opencode/node_modules/zod/v4/locales/vi.cjs +143 -0
  710. data/.opencode/node_modules/zod/v4/locales/vi.d.cts +5 -0
  711. data/.opencode/node_modules/zod/v4/locales/vi.d.ts +4 -0
  712. data/.opencode/node_modules/zod/v4/locales/vi.js +116 -0
  713. data/.opencode/node_modules/zod/v4/locales/yo.cjs +142 -0
  714. data/.opencode/node_modules/zod/v4/locales/yo.d.cts +5 -0
  715. data/.opencode/node_modules/zod/v4/locales/yo.d.ts +4 -0
  716. data/.opencode/node_modules/zod/v4/locales/yo.js +115 -0
  717. data/.opencode/node_modules/zod/v4/locales/zh-CN.cjs +143 -0
  718. data/.opencode/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  719. data/.opencode/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  720. data/.opencode/node_modules/zod/v4/locales/zh-CN.js +116 -0
  721. data/.opencode/node_modules/zod/v4/locales/zh-TW.cjs +144 -0
  722. data/.opencode/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  723. data/.opencode/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  724. data/.opencode/node_modules/zod/v4/locales/zh-TW.js +117 -0
  725. data/.opencode/node_modules/zod/v4/mini/checks.cjs +34 -0
  726. data/.opencode/node_modules/zod/v4/mini/checks.d.cts +1 -0
  727. data/.opencode/node_modules/zod/v4/mini/checks.d.ts +1 -0
  728. data/.opencode/node_modules/zod/v4/mini/checks.js +1 -0
  729. data/.opencode/node_modules/zod/v4/mini/coerce.cjs +47 -0
  730. data/.opencode/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  731. data/.opencode/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  732. data/.opencode/node_modules/zod/v4/mini/coerce.js +17 -0
  733. data/.opencode/node_modules/zod/v4/mini/external.cjs +62 -0
  734. data/.opencode/node_modules/zod/v4/mini/external.d.cts +11 -0
  735. data/.opencode/node_modules/zod/v4/mini/external.d.ts +11 -0
  736. data/.opencode/node_modules/zod/v4/mini/external.js +13 -0
  737. data/.opencode/node_modules/zod/v4/mini/index.cjs +32 -0
  738. data/.opencode/node_modules/zod/v4/mini/index.d.cts +3 -0
  739. data/.opencode/node_modules/zod/v4/mini/index.d.ts +3 -0
  740. data/.opencode/node_modules/zod/v4/mini/index.js +3 -0
  741. data/.opencode/node_modules/zod/v4/mini/iso.cjs +60 -0
  742. data/.opencode/node_modules/zod/v4/mini/iso.d.cts +22 -0
  743. data/.opencode/node_modules/zod/v4/mini/iso.d.ts +22 -0
  744. data/.opencode/node_modules/zod/v4/mini/iso.js +30 -0
  745. data/.opencode/node_modules/zod/v4/mini/package.json +6 -0
  746. data/.opencode/node_modules/zod/v4/mini/parse.cjs +16 -0
  747. data/.opencode/node_modules/zod/v4/mini/parse.d.cts +1 -0
  748. data/.opencode/node_modules/zod/v4/mini/parse.d.ts +1 -0
  749. data/.opencode/node_modules/zod/v4/mini/parse.js +1 -0
  750. data/.opencode/node_modules/zod/v4/mini/schemas.cjs +906 -0
  751. data/.opencode/node_modules/zod/v4/mini/schemas.d.cts +407 -0
  752. data/.opencode/node_modules/zod/v4/mini/schemas.d.ts +407 -0
  753. data/.opencode/node_modules/zod/v4/mini/schemas.js +789 -0
  754. data/.opencode/node_modules/zod/v4/package.json +6 -0
  755. data/.opencode/node_modules/zod/v4-mini/index.cjs +17 -0
  756. data/.opencode/node_modules/zod/v4-mini/index.d.cts +1 -0
  757. data/.opencode/node_modules/zod/v4-mini/index.d.ts +1 -0
  758. data/.opencode/node_modules/zod/v4-mini/index.js +1 -0
  759. data/.opencode/node_modules/zod/v4-mini/package.json +6 -0
  760. data/.opencode/package.json +5 -0
  761. data/lib/agentf/commands/explorer.rb +12 -4
  762. data/lib/agentf/version.rb +1 -1
  763. metadata +761 -2
@@ -0,0 +1,4290 @@
1
+ export type ClientOptions = {
2
+ baseUrl: `${string}://${string}` | (string & {});
3
+ };
4
+ export type EventInstallationUpdated = {
5
+ type: "installation.updated";
6
+ properties: {
7
+ version: string;
8
+ };
9
+ };
10
+ export type EventInstallationUpdateAvailable = {
11
+ type: "installation.update-available";
12
+ properties: {
13
+ version: string;
14
+ };
15
+ };
16
+ export type Project = {
17
+ id: string;
18
+ worktree: string;
19
+ vcs?: "git";
20
+ name?: string;
21
+ icon?: {
22
+ url?: string;
23
+ override?: string;
24
+ color?: string;
25
+ };
26
+ commands?: {
27
+ /**
28
+ * Startup script to run when creating a new workspace (worktree)
29
+ */
30
+ start?: string;
31
+ };
32
+ time: {
33
+ created: number;
34
+ updated: number;
35
+ initialized?: number;
36
+ };
37
+ sandboxes: Array<string>;
38
+ };
39
+ export type EventProjectUpdated = {
40
+ type: "project.updated";
41
+ properties: Project;
42
+ };
43
+ export type EventServerInstanceDisposed = {
44
+ type: "server.instance.disposed";
45
+ properties: {
46
+ directory: string;
47
+ };
48
+ };
49
+ export type EventServerConnected = {
50
+ type: "server.connected";
51
+ properties: {
52
+ [key: string]: unknown;
53
+ };
54
+ };
55
+ export type EventGlobalDisposed = {
56
+ type: "global.disposed";
57
+ properties: {
58
+ [key: string]: unknown;
59
+ };
60
+ };
61
+ export type EventLspClientDiagnostics = {
62
+ type: "lsp.client.diagnostics";
63
+ properties: {
64
+ serverID: string;
65
+ path: string;
66
+ };
67
+ };
68
+ export type EventLspUpdated = {
69
+ type: "lsp.updated";
70
+ properties: {
71
+ [key: string]: unknown;
72
+ };
73
+ };
74
+ export type EventFileEdited = {
75
+ type: "file.edited";
76
+ properties: {
77
+ file: string;
78
+ };
79
+ };
80
+ export type OutputFormatText = {
81
+ type: "text";
82
+ };
83
+ export type JsonSchema = {
84
+ [key: string]: unknown;
85
+ };
86
+ export type OutputFormatJsonSchema = {
87
+ type: "json_schema";
88
+ schema: JsonSchema;
89
+ retryCount?: number;
90
+ };
91
+ export type OutputFormat = OutputFormatText | OutputFormatJsonSchema;
92
+ export type FileDiff = {
93
+ file: string;
94
+ before: string;
95
+ after: string;
96
+ additions: number;
97
+ deletions: number;
98
+ status?: "added" | "deleted" | "modified";
99
+ };
100
+ export type UserMessage = {
101
+ id: string;
102
+ sessionID: string;
103
+ role: "user";
104
+ time: {
105
+ created: number;
106
+ };
107
+ format?: OutputFormat;
108
+ summary?: {
109
+ title?: string;
110
+ body?: string;
111
+ diffs: Array<FileDiff>;
112
+ };
113
+ agent: string;
114
+ model: {
115
+ providerID: string;
116
+ modelID: string;
117
+ };
118
+ system?: string;
119
+ tools?: {
120
+ [key: string]: boolean;
121
+ };
122
+ variant?: string;
123
+ };
124
+ export type ProviderAuthError = {
125
+ name: "ProviderAuthError";
126
+ data: {
127
+ providerID: string;
128
+ message: string;
129
+ };
130
+ };
131
+ export type UnknownError = {
132
+ name: "UnknownError";
133
+ data: {
134
+ message: string;
135
+ };
136
+ };
137
+ export type MessageOutputLengthError = {
138
+ name: "MessageOutputLengthError";
139
+ data: {
140
+ [key: string]: unknown;
141
+ };
142
+ };
143
+ export type MessageAbortedError = {
144
+ name: "MessageAbortedError";
145
+ data: {
146
+ message: string;
147
+ };
148
+ };
149
+ export type StructuredOutputError = {
150
+ name: "StructuredOutputError";
151
+ data: {
152
+ message: string;
153
+ retries: number;
154
+ };
155
+ };
156
+ export type ContextOverflowError = {
157
+ name: "ContextOverflowError";
158
+ data: {
159
+ message: string;
160
+ responseBody?: string;
161
+ };
162
+ };
163
+ export type ApiError = {
164
+ name: "APIError";
165
+ data: {
166
+ message: string;
167
+ statusCode?: number;
168
+ isRetryable: boolean;
169
+ responseHeaders?: {
170
+ [key: string]: string;
171
+ };
172
+ responseBody?: string;
173
+ metadata?: {
174
+ [key: string]: string;
175
+ };
176
+ };
177
+ };
178
+ export type AssistantMessage = {
179
+ id: string;
180
+ sessionID: string;
181
+ role: "assistant";
182
+ time: {
183
+ created: number;
184
+ completed?: number;
185
+ };
186
+ error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | StructuredOutputError | ContextOverflowError | ApiError;
187
+ parentID: string;
188
+ modelID: string;
189
+ providerID: string;
190
+ mode: string;
191
+ agent: string;
192
+ path: {
193
+ cwd: string;
194
+ root: string;
195
+ };
196
+ summary?: boolean;
197
+ cost: number;
198
+ tokens: {
199
+ total?: number;
200
+ input: number;
201
+ output: number;
202
+ reasoning: number;
203
+ cache: {
204
+ read: number;
205
+ write: number;
206
+ };
207
+ };
208
+ structured?: unknown;
209
+ variant?: string;
210
+ finish?: string;
211
+ };
212
+ export type Message = UserMessage | AssistantMessage;
213
+ export type EventMessageUpdated = {
214
+ type: "message.updated";
215
+ properties: {
216
+ info: Message;
217
+ };
218
+ };
219
+ export type EventMessageRemoved = {
220
+ type: "message.removed";
221
+ properties: {
222
+ sessionID: string;
223
+ messageID: string;
224
+ };
225
+ };
226
+ export type TextPart = {
227
+ id: string;
228
+ sessionID: string;
229
+ messageID: string;
230
+ type: "text";
231
+ text: string;
232
+ synthetic?: boolean;
233
+ ignored?: boolean;
234
+ time?: {
235
+ start: number;
236
+ end?: number;
237
+ };
238
+ metadata?: {
239
+ [key: string]: unknown;
240
+ };
241
+ };
242
+ export type SubtaskPart = {
243
+ id: string;
244
+ sessionID: string;
245
+ messageID: string;
246
+ type: "subtask";
247
+ prompt: string;
248
+ description: string;
249
+ agent: string;
250
+ model?: {
251
+ providerID: string;
252
+ modelID: string;
253
+ };
254
+ command?: string;
255
+ };
256
+ export type ReasoningPart = {
257
+ id: string;
258
+ sessionID: string;
259
+ messageID: string;
260
+ type: "reasoning";
261
+ text: string;
262
+ metadata?: {
263
+ [key: string]: unknown;
264
+ };
265
+ time: {
266
+ start: number;
267
+ end?: number;
268
+ };
269
+ };
270
+ export type FilePartSourceText = {
271
+ value: string;
272
+ start: number;
273
+ end: number;
274
+ };
275
+ export type FileSource = {
276
+ text: FilePartSourceText;
277
+ type: "file";
278
+ path: string;
279
+ };
280
+ export type Range = {
281
+ start: {
282
+ line: number;
283
+ character: number;
284
+ };
285
+ end: {
286
+ line: number;
287
+ character: number;
288
+ };
289
+ };
290
+ export type SymbolSource = {
291
+ text: FilePartSourceText;
292
+ type: "symbol";
293
+ path: string;
294
+ range: Range;
295
+ name: string;
296
+ kind: number;
297
+ };
298
+ export type ResourceSource = {
299
+ text: FilePartSourceText;
300
+ type: "resource";
301
+ clientName: string;
302
+ uri: string;
303
+ };
304
+ export type FilePartSource = FileSource | SymbolSource | ResourceSource;
305
+ export type FilePart = {
306
+ id: string;
307
+ sessionID: string;
308
+ messageID: string;
309
+ type: "file";
310
+ mime: string;
311
+ filename?: string;
312
+ url: string;
313
+ source?: FilePartSource;
314
+ };
315
+ export type ToolStatePending = {
316
+ status: "pending";
317
+ input: {
318
+ [key: string]: unknown;
319
+ };
320
+ raw: string;
321
+ };
322
+ export type ToolStateRunning = {
323
+ status: "running";
324
+ input: {
325
+ [key: string]: unknown;
326
+ };
327
+ title?: string;
328
+ metadata?: {
329
+ [key: string]: unknown;
330
+ };
331
+ time: {
332
+ start: number;
333
+ };
334
+ };
335
+ export type ToolStateCompleted = {
336
+ status: "completed";
337
+ input: {
338
+ [key: string]: unknown;
339
+ };
340
+ output: string;
341
+ title: string;
342
+ metadata: {
343
+ [key: string]: unknown;
344
+ };
345
+ time: {
346
+ start: number;
347
+ end: number;
348
+ compacted?: number;
349
+ };
350
+ attachments?: Array<FilePart>;
351
+ };
352
+ export type ToolStateError = {
353
+ status: "error";
354
+ input: {
355
+ [key: string]: unknown;
356
+ };
357
+ error: string;
358
+ metadata?: {
359
+ [key: string]: unknown;
360
+ };
361
+ time: {
362
+ start: number;
363
+ end: number;
364
+ };
365
+ };
366
+ export type ToolState = ToolStatePending | ToolStateRunning | ToolStateCompleted | ToolStateError;
367
+ export type ToolPart = {
368
+ id: string;
369
+ sessionID: string;
370
+ messageID: string;
371
+ type: "tool";
372
+ callID: string;
373
+ tool: string;
374
+ state: ToolState;
375
+ metadata?: {
376
+ [key: string]: unknown;
377
+ };
378
+ };
379
+ export type StepStartPart = {
380
+ id: string;
381
+ sessionID: string;
382
+ messageID: string;
383
+ type: "step-start";
384
+ snapshot?: string;
385
+ };
386
+ export type StepFinishPart = {
387
+ id: string;
388
+ sessionID: string;
389
+ messageID: string;
390
+ type: "step-finish";
391
+ reason: string;
392
+ snapshot?: string;
393
+ cost: number;
394
+ tokens: {
395
+ total?: number;
396
+ input: number;
397
+ output: number;
398
+ reasoning: number;
399
+ cache: {
400
+ read: number;
401
+ write: number;
402
+ };
403
+ };
404
+ };
405
+ export type SnapshotPart = {
406
+ id: string;
407
+ sessionID: string;
408
+ messageID: string;
409
+ type: "snapshot";
410
+ snapshot: string;
411
+ };
412
+ export type PatchPart = {
413
+ id: string;
414
+ sessionID: string;
415
+ messageID: string;
416
+ type: "patch";
417
+ hash: string;
418
+ files: Array<string>;
419
+ };
420
+ export type AgentPart = {
421
+ id: string;
422
+ sessionID: string;
423
+ messageID: string;
424
+ type: "agent";
425
+ name: string;
426
+ source?: {
427
+ value: string;
428
+ start: number;
429
+ end: number;
430
+ };
431
+ };
432
+ export type RetryPart = {
433
+ id: string;
434
+ sessionID: string;
435
+ messageID: string;
436
+ type: "retry";
437
+ attempt: number;
438
+ error: ApiError;
439
+ time: {
440
+ created: number;
441
+ };
442
+ };
443
+ export type CompactionPart = {
444
+ id: string;
445
+ sessionID: string;
446
+ messageID: string;
447
+ type: "compaction";
448
+ auto: boolean;
449
+ overflow?: boolean;
450
+ };
451
+ export type Part = TextPart | SubtaskPart | ReasoningPart | FilePart | ToolPart | StepStartPart | StepFinishPart | SnapshotPart | PatchPart | AgentPart | RetryPart | CompactionPart;
452
+ export type EventMessagePartUpdated = {
453
+ type: "message.part.updated";
454
+ properties: {
455
+ part: Part;
456
+ };
457
+ };
458
+ export type EventMessagePartDelta = {
459
+ type: "message.part.delta";
460
+ properties: {
461
+ sessionID: string;
462
+ messageID: string;
463
+ partID: string;
464
+ field: string;
465
+ delta: string;
466
+ };
467
+ };
468
+ export type EventMessagePartRemoved = {
469
+ type: "message.part.removed";
470
+ properties: {
471
+ sessionID: string;
472
+ messageID: string;
473
+ partID: string;
474
+ };
475
+ };
476
+ export type PermissionRequest = {
477
+ id: string;
478
+ sessionID: string;
479
+ permission: string;
480
+ patterns: Array<string>;
481
+ metadata: {
482
+ [key: string]: unknown;
483
+ };
484
+ always: Array<string>;
485
+ tool?: {
486
+ messageID: string;
487
+ callID: string;
488
+ };
489
+ };
490
+ export type EventPermissionAsked = {
491
+ type: "permission.asked";
492
+ properties: PermissionRequest;
493
+ };
494
+ export type EventPermissionReplied = {
495
+ type: "permission.replied";
496
+ properties: {
497
+ sessionID: string;
498
+ requestID: string;
499
+ reply: "once" | "always" | "reject";
500
+ };
501
+ };
502
+ export type SessionStatus = {
503
+ type: "idle";
504
+ } | {
505
+ type: "retry";
506
+ attempt: number;
507
+ message: string;
508
+ next: number;
509
+ } | {
510
+ type: "busy";
511
+ };
512
+ export type EventSessionStatus = {
513
+ type: "session.status";
514
+ properties: {
515
+ sessionID: string;
516
+ status: SessionStatus;
517
+ };
518
+ };
519
+ export type EventSessionIdle = {
520
+ type: "session.idle";
521
+ properties: {
522
+ sessionID: string;
523
+ };
524
+ };
525
+ export type QuestionOption = {
526
+ /**
527
+ * Display text (1-5 words, concise)
528
+ */
529
+ label: string;
530
+ /**
531
+ * Explanation of choice
532
+ */
533
+ description: string;
534
+ };
535
+ export type QuestionInfo = {
536
+ /**
537
+ * Complete question
538
+ */
539
+ question: string;
540
+ /**
541
+ * Very short label (max 30 chars)
542
+ */
543
+ header: string;
544
+ /**
545
+ * Available choices
546
+ */
547
+ options: Array<QuestionOption>;
548
+ /**
549
+ * Allow selecting multiple choices
550
+ */
551
+ multiple?: boolean;
552
+ /**
553
+ * Allow typing a custom answer (default: true)
554
+ */
555
+ custom?: boolean;
556
+ };
557
+ export type QuestionRequest = {
558
+ id: string;
559
+ sessionID: string;
560
+ /**
561
+ * Questions to ask
562
+ */
563
+ questions: Array<QuestionInfo>;
564
+ tool?: {
565
+ messageID: string;
566
+ callID: string;
567
+ };
568
+ };
569
+ export type EventQuestionAsked = {
570
+ type: "question.asked";
571
+ properties: QuestionRequest;
572
+ };
573
+ export type QuestionAnswer = Array<string>;
574
+ export type EventQuestionReplied = {
575
+ type: "question.replied";
576
+ properties: {
577
+ sessionID: string;
578
+ requestID: string;
579
+ answers: Array<QuestionAnswer>;
580
+ };
581
+ };
582
+ export type EventQuestionRejected = {
583
+ type: "question.rejected";
584
+ properties: {
585
+ sessionID: string;
586
+ requestID: string;
587
+ };
588
+ };
589
+ export type EventSessionCompacted = {
590
+ type: "session.compacted";
591
+ properties: {
592
+ sessionID: string;
593
+ };
594
+ };
595
+ export type EventFileWatcherUpdated = {
596
+ type: "file.watcher.updated";
597
+ properties: {
598
+ file: string;
599
+ event: "add" | "change" | "unlink";
600
+ };
601
+ };
602
+ export type Todo = {
603
+ /**
604
+ * Brief description of the task
605
+ */
606
+ content: string;
607
+ /**
608
+ * Current status of the task: pending, in_progress, completed, cancelled
609
+ */
610
+ status: string;
611
+ /**
612
+ * Priority level of the task: high, medium, low
613
+ */
614
+ priority: string;
615
+ };
616
+ export type EventTodoUpdated = {
617
+ type: "todo.updated";
618
+ properties: {
619
+ sessionID: string;
620
+ todos: Array<Todo>;
621
+ };
622
+ };
623
+ export type EventTuiPromptAppend = {
624
+ type: "tui.prompt.append";
625
+ properties: {
626
+ text: string;
627
+ };
628
+ };
629
+ export type EventTuiCommandExecute = {
630
+ type: "tui.command.execute";
631
+ properties: {
632
+ command: "session.list" | "session.new" | "session.share" | "session.interrupt" | "session.compact" | "session.page.up" | "session.page.down" | "session.line.up" | "session.line.down" | "session.half.page.up" | "session.half.page.down" | "session.first" | "session.last" | "prompt.clear" | "prompt.submit" | "agent.cycle" | string;
633
+ };
634
+ };
635
+ export type EventTuiToastShow = {
636
+ type: "tui.toast.show";
637
+ properties: {
638
+ title?: string;
639
+ message: string;
640
+ variant: "info" | "success" | "warning" | "error";
641
+ /**
642
+ * Duration in milliseconds
643
+ */
644
+ duration?: number;
645
+ };
646
+ };
647
+ export type EventTuiSessionSelect = {
648
+ type: "tui.session.select";
649
+ properties: {
650
+ /**
651
+ * Session ID to navigate to
652
+ */
653
+ sessionID: string;
654
+ };
655
+ };
656
+ export type EventMcpToolsChanged = {
657
+ type: "mcp.tools.changed";
658
+ properties: {
659
+ server: string;
660
+ };
661
+ };
662
+ export type EventMcpBrowserOpenFailed = {
663
+ type: "mcp.browser.open.failed";
664
+ properties: {
665
+ mcpName: string;
666
+ url: string;
667
+ };
668
+ };
669
+ export type EventCommandExecuted = {
670
+ type: "command.executed";
671
+ properties: {
672
+ name: string;
673
+ sessionID: string;
674
+ arguments: string;
675
+ messageID: string;
676
+ };
677
+ };
678
+ export type PermissionAction = "allow" | "deny" | "ask";
679
+ export type PermissionRule = {
680
+ permission: string;
681
+ pattern: string;
682
+ action: PermissionAction;
683
+ };
684
+ export type PermissionRuleset = Array<PermissionRule>;
685
+ export type Session = {
686
+ id: string;
687
+ slug: string;
688
+ projectID: string;
689
+ workspaceID?: string;
690
+ directory: string;
691
+ parentID?: string;
692
+ summary?: {
693
+ additions: number;
694
+ deletions: number;
695
+ files: number;
696
+ diffs?: Array<FileDiff>;
697
+ };
698
+ share?: {
699
+ url: string;
700
+ };
701
+ title: string;
702
+ version: string;
703
+ time: {
704
+ created: number;
705
+ updated: number;
706
+ compacting?: number;
707
+ archived?: number;
708
+ };
709
+ permission?: PermissionRuleset;
710
+ revert?: {
711
+ messageID: string;
712
+ partID?: string;
713
+ snapshot?: string;
714
+ diff?: string;
715
+ };
716
+ };
717
+ export type EventSessionCreated = {
718
+ type: "session.created";
719
+ properties: {
720
+ info: Session;
721
+ };
722
+ };
723
+ export type EventSessionUpdated = {
724
+ type: "session.updated";
725
+ properties: {
726
+ info: Session;
727
+ };
728
+ };
729
+ export type EventSessionDeleted = {
730
+ type: "session.deleted";
731
+ properties: {
732
+ info: Session;
733
+ };
734
+ };
735
+ export type EventSessionDiff = {
736
+ type: "session.diff";
737
+ properties: {
738
+ sessionID: string;
739
+ diff: Array<FileDiff>;
740
+ };
741
+ };
742
+ export type EventSessionError = {
743
+ type: "session.error";
744
+ properties: {
745
+ sessionID?: string;
746
+ error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | StructuredOutputError | ContextOverflowError | ApiError;
747
+ };
748
+ };
749
+ export type EventVcsBranchUpdated = {
750
+ type: "vcs.branch.updated";
751
+ properties: {
752
+ branch?: string;
753
+ };
754
+ };
755
+ export type EventWorkspaceReady = {
756
+ type: "workspace.ready";
757
+ properties: {
758
+ name: string;
759
+ };
760
+ };
761
+ export type EventWorkspaceFailed = {
762
+ type: "workspace.failed";
763
+ properties: {
764
+ message: string;
765
+ };
766
+ };
767
+ export type Pty = {
768
+ id: string;
769
+ title: string;
770
+ command: string;
771
+ args: Array<string>;
772
+ cwd: string;
773
+ status: "running" | "exited";
774
+ pid: number;
775
+ };
776
+ export type EventPtyCreated = {
777
+ type: "pty.created";
778
+ properties: {
779
+ info: Pty;
780
+ };
781
+ };
782
+ export type EventPtyUpdated = {
783
+ type: "pty.updated";
784
+ properties: {
785
+ info: Pty;
786
+ };
787
+ };
788
+ export type EventPtyExited = {
789
+ type: "pty.exited";
790
+ properties: {
791
+ id: string;
792
+ exitCode: number;
793
+ };
794
+ };
795
+ export type EventPtyDeleted = {
796
+ type: "pty.deleted";
797
+ properties: {
798
+ id: string;
799
+ };
800
+ };
801
+ export type EventWorktreeReady = {
802
+ type: "worktree.ready";
803
+ properties: {
804
+ name: string;
805
+ branch: string;
806
+ };
807
+ };
808
+ export type EventWorktreeFailed = {
809
+ type: "worktree.failed";
810
+ properties: {
811
+ message: string;
812
+ };
813
+ };
814
+ export type Event = EventInstallationUpdated | EventInstallationUpdateAvailable | EventProjectUpdated | EventServerInstanceDisposed | EventServerConnected | EventGlobalDisposed | EventLspClientDiagnostics | EventLspUpdated | EventFileEdited | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartDelta | EventMessagePartRemoved | EventPermissionAsked | EventPermissionReplied | EventSessionStatus | EventSessionIdle | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventSessionCompacted | EventFileWatcherUpdated | EventTodoUpdated | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventCommandExecuted | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionDiff | EventSessionError | EventVcsBranchUpdated | EventWorkspaceReady | EventWorkspaceFailed | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventWorktreeReady | EventWorktreeFailed;
815
+ export type GlobalEvent = {
816
+ directory: string;
817
+ payload: Event;
818
+ };
819
+ /**
820
+ * Log level
821
+ */
822
+ export type LogLevel = "DEBUG" | "INFO" | "WARN" | "ERROR";
823
+ /**
824
+ * Server configuration for opencode serve and web commands
825
+ */
826
+ export type ServerConfig = {
827
+ /**
828
+ * Port to listen on
829
+ */
830
+ port?: number;
831
+ /**
832
+ * Hostname to listen on
833
+ */
834
+ hostname?: string;
835
+ /**
836
+ * Enable mDNS service discovery
837
+ */
838
+ mdns?: boolean;
839
+ /**
840
+ * Custom domain name for mDNS service (default: opencode.local)
841
+ */
842
+ mdnsDomain?: string;
843
+ /**
844
+ * Additional domains to allow for CORS
845
+ */
846
+ cors?: Array<string>;
847
+ };
848
+ export type PermissionActionConfig = "ask" | "allow" | "deny";
849
+ export type PermissionObjectConfig = {
850
+ [key: string]: PermissionActionConfig;
851
+ };
852
+ export type PermissionRuleConfig = PermissionActionConfig | PermissionObjectConfig;
853
+ export type PermissionConfig = {
854
+ __originalKeys?: Array<string>;
855
+ read?: PermissionRuleConfig;
856
+ edit?: PermissionRuleConfig;
857
+ glob?: PermissionRuleConfig;
858
+ grep?: PermissionRuleConfig;
859
+ list?: PermissionRuleConfig;
860
+ bash?: PermissionRuleConfig;
861
+ task?: PermissionRuleConfig;
862
+ external_directory?: PermissionRuleConfig;
863
+ todowrite?: PermissionActionConfig;
864
+ todoread?: PermissionActionConfig;
865
+ question?: PermissionActionConfig;
866
+ webfetch?: PermissionActionConfig;
867
+ websearch?: PermissionActionConfig;
868
+ codesearch?: PermissionActionConfig;
869
+ lsp?: PermissionRuleConfig;
870
+ doom_loop?: PermissionActionConfig;
871
+ skill?: PermissionRuleConfig;
872
+ [key: string]: PermissionRuleConfig | Array<string> | PermissionActionConfig | undefined;
873
+ } | PermissionActionConfig;
874
+ export type AgentConfig = {
875
+ model?: string;
876
+ /**
877
+ * Default model variant for this agent (applies only when using the agent's configured model).
878
+ */
879
+ variant?: string;
880
+ temperature?: number;
881
+ top_p?: number;
882
+ prompt?: string;
883
+ /**
884
+ * @deprecated Use 'permission' field instead
885
+ */
886
+ tools?: {
887
+ [key: string]: boolean;
888
+ };
889
+ disable?: boolean;
890
+ /**
891
+ * Description of when to use the agent
892
+ */
893
+ description?: string;
894
+ mode?: "subagent" | "primary" | "all";
895
+ /**
896
+ * Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent)
897
+ */
898
+ hidden?: boolean;
899
+ options?: {
900
+ [key: string]: unknown;
901
+ };
902
+ /**
903
+ * Hex color code (e.g., #FF5733) or theme color (e.g., primary)
904
+ */
905
+ color?: string | "primary" | "secondary" | "accent" | "success" | "warning" | "error" | "info";
906
+ /**
907
+ * Maximum number of agentic iterations before forcing text-only response
908
+ */
909
+ steps?: number;
910
+ /**
911
+ * @deprecated Use 'steps' field instead.
912
+ */
913
+ maxSteps?: number;
914
+ permission?: PermissionConfig;
915
+ [key: string]: unknown | string | number | {
916
+ [key: string]: boolean;
917
+ } | boolean | "subagent" | "primary" | "all" | {
918
+ [key: string]: unknown;
919
+ } | string | "primary" | "secondary" | "accent" | "success" | "warning" | "error" | "info" | number | PermissionConfig | undefined;
920
+ };
921
+ export type ProviderConfig = {
922
+ api?: string;
923
+ name?: string;
924
+ env?: Array<string>;
925
+ id?: string;
926
+ npm?: string;
927
+ models?: {
928
+ [key: string]: {
929
+ id?: string;
930
+ name?: string;
931
+ family?: string;
932
+ release_date?: string;
933
+ attachment?: boolean;
934
+ reasoning?: boolean;
935
+ temperature?: boolean;
936
+ tool_call?: boolean;
937
+ interleaved?: true | {
938
+ field: "reasoning_content" | "reasoning_details";
939
+ };
940
+ cost?: {
941
+ input: number;
942
+ output: number;
943
+ cache_read?: number;
944
+ cache_write?: number;
945
+ context_over_200k?: {
946
+ input: number;
947
+ output: number;
948
+ cache_read?: number;
949
+ cache_write?: number;
950
+ };
951
+ };
952
+ limit?: {
953
+ context: number;
954
+ input?: number;
955
+ output: number;
956
+ };
957
+ modalities?: {
958
+ input: Array<"text" | "audio" | "image" | "video" | "pdf">;
959
+ output: Array<"text" | "audio" | "image" | "video" | "pdf">;
960
+ };
961
+ experimental?: boolean;
962
+ status?: "alpha" | "beta" | "deprecated";
963
+ options?: {
964
+ [key: string]: unknown;
965
+ };
966
+ headers?: {
967
+ [key: string]: string;
968
+ };
969
+ provider?: {
970
+ npm?: string;
971
+ api?: string;
972
+ };
973
+ /**
974
+ * Variant-specific configuration
975
+ */
976
+ variants?: {
977
+ [key: string]: {
978
+ /**
979
+ * Disable this variant for the model
980
+ */
981
+ disabled?: boolean;
982
+ [key: string]: unknown | boolean | undefined;
983
+ };
984
+ };
985
+ };
986
+ };
987
+ whitelist?: Array<string>;
988
+ blacklist?: Array<string>;
989
+ options?: {
990
+ apiKey?: string;
991
+ baseURL?: string;
992
+ /**
993
+ * GitHub Enterprise URL for copilot authentication
994
+ */
995
+ enterpriseUrl?: string;
996
+ /**
997
+ * Enable promptCacheKey for this provider (default false)
998
+ */
999
+ setCacheKey?: boolean;
1000
+ /**
1001
+ * Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.
1002
+ */
1003
+ timeout?: number | false;
1004
+ [key: string]: unknown | string | boolean | number | false | undefined;
1005
+ };
1006
+ };
1007
+ export type McpLocalConfig = {
1008
+ /**
1009
+ * Type of MCP server connection
1010
+ */
1011
+ type: "local";
1012
+ /**
1013
+ * Command and arguments to run the MCP server
1014
+ */
1015
+ command: Array<string>;
1016
+ /**
1017
+ * Environment variables to set when running the MCP server
1018
+ */
1019
+ environment?: {
1020
+ [key: string]: string;
1021
+ };
1022
+ /**
1023
+ * Enable or disable the MCP server on startup
1024
+ */
1025
+ enabled?: boolean;
1026
+ /**
1027
+ * Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.
1028
+ */
1029
+ timeout?: number;
1030
+ };
1031
+ export type McpOAuthConfig = {
1032
+ /**
1033
+ * OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted.
1034
+ */
1035
+ clientId?: string;
1036
+ /**
1037
+ * OAuth client secret (if required by the authorization server)
1038
+ */
1039
+ clientSecret?: string;
1040
+ /**
1041
+ * OAuth scopes to request during authorization
1042
+ */
1043
+ scope?: string;
1044
+ };
1045
+ export type McpRemoteConfig = {
1046
+ /**
1047
+ * Type of MCP server connection
1048
+ */
1049
+ type: "remote";
1050
+ /**
1051
+ * URL of the remote MCP server
1052
+ */
1053
+ url: string;
1054
+ /**
1055
+ * Enable or disable the MCP server on startup
1056
+ */
1057
+ enabled?: boolean;
1058
+ /**
1059
+ * Headers to send with the request
1060
+ */
1061
+ headers?: {
1062
+ [key: string]: string;
1063
+ };
1064
+ /**
1065
+ * OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection.
1066
+ */
1067
+ oauth?: McpOAuthConfig | false;
1068
+ /**
1069
+ * Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.
1070
+ */
1071
+ timeout?: number;
1072
+ };
1073
+ /**
1074
+ * @deprecated Always uses stretch layout.
1075
+ */
1076
+ export type LayoutConfig = "auto" | "stretch";
1077
+ export type Config = {
1078
+ /**
1079
+ * JSON schema reference for configuration validation
1080
+ */
1081
+ $schema?: string;
1082
+ logLevel?: LogLevel;
1083
+ server?: ServerConfig;
1084
+ /**
1085
+ * Command configuration, see https://opencode.ai/docs/commands
1086
+ */
1087
+ command?: {
1088
+ [key: string]: {
1089
+ template: string;
1090
+ description?: string;
1091
+ agent?: string;
1092
+ model?: string;
1093
+ subtask?: boolean;
1094
+ };
1095
+ };
1096
+ /**
1097
+ * Additional skill folder paths
1098
+ */
1099
+ skills?: {
1100
+ /**
1101
+ * Additional paths to skill folders
1102
+ */
1103
+ paths?: Array<string>;
1104
+ /**
1105
+ * URLs to fetch skills from (e.g., https://example.com/.well-known/skills/)
1106
+ */
1107
+ urls?: Array<string>;
1108
+ };
1109
+ watcher?: {
1110
+ ignore?: Array<string>;
1111
+ };
1112
+ plugin?: Array<string>;
1113
+ snapshot?: boolean;
1114
+ /**
1115
+ * Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing
1116
+ */
1117
+ share?: "manual" | "auto" | "disabled";
1118
+ /**
1119
+ * @deprecated Use 'share' field instead. Share newly created sessions automatically
1120
+ */
1121
+ autoshare?: boolean;
1122
+ /**
1123
+ * Automatically update to the latest version. Set to true to auto-update, false to disable, or 'notify' to show update notifications
1124
+ */
1125
+ autoupdate?: boolean | "notify";
1126
+ /**
1127
+ * Disable providers that are loaded automatically
1128
+ */
1129
+ disabled_providers?: Array<string>;
1130
+ /**
1131
+ * When set, ONLY these providers will be enabled. All other providers will be ignored
1132
+ */
1133
+ enabled_providers?: Array<string>;
1134
+ /**
1135
+ * Model to use in the format of provider/model, eg anthropic/claude-2
1136
+ */
1137
+ model?: string;
1138
+ /**
1139
+ * Small model to use for tasks like title generation in the format of provider/model
1140
+ */
1141
+ small_model?: string;
1142
+ /**
1143
+ * Default agent to use when none is specified. Must be a primary agent. Falls back to 'build' if not set or if the specified agent is invalid.
1144
+ */
1145
+ default_agent?: string;
1146
+ /**
1147
+ * Custom username to display in conversations instead of system username
1148
+ */
1149
+ username?: string;
1150
+ /**
1151
+ * @deprecated Use `agent` field instead.
1152
+ */
1153
+ mode?: {
1154
+ build?: AgentConfig;
1155
+ plan?: AgentConfig;
1156
+ [key: string]: AgentConfig | undefined;
1157
+ };
1158
+ /**
1159
+ * Agent configuration, see https://opencode.ai/docs/agents
1160
+ */
1161
+ agent?: {
1162
+ plan?: AgentConfig;
1163
+ build?: AgentConfig;
1164
+ general?: AgentConfig;
1165
+ explore?: AgentConfig;
1166
+ title?: AgentConfig;
1167
+ summary?: AgentConfig;
1168
+ compaction?: AgentConfig;
1169
+ [key: string]: AgentConfig | undefined;
1170
+ };
1171
+ /**
1172
+ * Custom provider configurations and model overrides
1173
+ */
1174
+ provider?: {
1175
+ [key: string]: ProviderConfig;
1176
+ };
1177
+ /**
1178
+ * MCP (Model Context Protocol) server configurations
1179
+ */
1180
+ mcp?: {
1181
+ [key: string]: McpLocalConfig | McpRemoteConfig | {
1182
+ enabled: boolean;
1183
+ };
1184
+ };
1185
+ formatter?: false | {
1186
+ [key: string]: {
1187
+ disabled?: boolean;
1188
+ command?: Array<string>;
1189
+ environment?: {
1190
+ [key: string]: string;
1191
+ };
1192
+ extensions?: Array<string>;
1193
+ };
1194
+ };
1195
+ lsp?: false | {
1196
+ [key: string]: {
1197
+ disabled: true;
1198
+ } | {
1199
+ command: Array<string>;
1200
+ extensions?: Array<string>;
1201
+ disabled?: boolean;
1202
+ env?: {
1203
+ [key: string]: string;
1204
+ };
1205
+ initialization?: {
1206
+ [key: string]: unknown;
1207
+ };
1208
+ };
1209
+ };
1210
+ /**
1211
+ * Additional instruction files or patterns to include
1212
+ */
1213
+ instructions?: Array<string>;
1214
+ layout?: LayoutConfig;
1215
+ permission?: PermissionConfig;
1216
+ tools?: {
1217
+ [key: string]: boolean;
1218
+ };
1219
+ enterprise?: {
1220
+ /**
1221
+ * Enterprise URL
1222
+ */
1223
+ url?: string;
1224
+ };
1225
+ compaction?: {
1226
+ /**
1227
+ * Enable automatic compaction when context is full (default: true)
1228
+ */
1229
+ auto?: boolean;
1230
+ /**
1231
+ * Enable pruning of old tool outputs (default: true)
1232
+ */
1233
+ prune?: boolean;
1234
+ /**
1235
+ * Token buffer for compaction. Leaves enough window to avoid overflow during compaction.
1236
+ */
1237
+ reserved?: number;
1238
+ };
1239
+ experimental?: {
1240
+ disable_paste_summary?: boolean;
1241
+ /**
1242
+ * Enable the batch tool
1243
+ */
1244
+ batch_tool?: boolean;
1245
+ /**
1246
+ * Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag)
1247
+ */
1248
+ openTelemetry?: boolean;
1249
+ /**
1250
+ * Tools that should only be available to primary agents.
1251
+ */
1252
+ primary_tools?: Array<string>;
1253
+ /**
1254
+ * Continue the agent loop when a tool call is denied
1255
+ */
1256
+ continue_loop_on_deny?: boolean;
1257
+ /**
1258
+ * Timeout in milliseconds for model context protocol (MCP) requests
1259
+ */
1260
+ mcp_timeout?: number;
1261
+ };
1262
+ };
1263
+ export type BadRequestError = {
1264
+ data: unknown;
1265
+ errors: Array<{
1266
+ [key: string]: unknown;
1267
+ }>;
1268
+ success: false;
1269
+ };
1270
+ export type OAuth = {
1271
+ type: "oauth";
1272
+ refresh: string;
1273
+ access: string;
1274
+ expires: number;
1275
+ accountId?: string;
1276
+ enterpriseUrl?: string;
1277
+ };
1278
+ export type ApiAuth = {
1279
+ type: "api";
1280
+ key: string;
1281
+ };
1282
+ export type WellKnownAuth = {
1283
+ type: "wellknown";
1284
+ key: string;
1285
+ token: string;
1286
+ };
1287
+ export type Auth = OAuth | ApiAuth | WellKnownAuth;
1288
+ export type NotFoundError = {
1289
+ name: "NotFoundError";
1290
+ data: {
1291
+ message: string;
1292
+ };
1293
+ };
1294
+ export type Model = {
1295
+ id: string;
1296
+ providerID: string;
1297
+ api: {
1298
+ id: string;
1299
+ url: string;
1300
+ npm: string;
1301
+ };
1302
+ name: string;
1303
+ family?: string;
1304
+ capabilities: {
1305
+ temperature: boolean;
1306
+ reasoning: boolean;
1307
+ attachment: boolean;
1308
+ toolcall: boolean;
1309
+ input: {
1310
+ text: boolean;
1311
+ audio: boolean;
1312
+ image: boolean;
1313
+ video: boolean;
1314
+ pdf: boolean;
1315
+ };
1316
+ output: {
1317
+ text: boolean;
1318
+ audio: boolean;
1319
+ image: boolean;
1320
+ video: boolean;
1321
+ pdf: boolean;
1322
+ };
1323
+ interleaved: boolean | {
1324
+ field: "reasoning_content" | "reasoning_details";
1325
+ };
1326
+ };
1327
+ cost: {
1328
+ input: number;
1329
+ output: number;
1330
+ cache: {
1331
+ read: number;
1332
+ write: number;
1333
+ };
1334
+ experimentalOver200K?: {
1335
+ input: number;
1336
+ output: number;
1337
+ cache: {
1338
+ read: number;
1339
+ write: number;
1340
+ };
1341
+ };
1342
+ };
1343
+ limit: {
1344
+ context: number;
1345
+ input?: number;
1346
+ output: number;
1347
+ };
1348
+ status: "alpha" | "beta" | "deprecated" | "active";
1349
+ options: {
1350
+ [key: string]: unknown;
1351
+ };
1352
+ headers: {
1353
+ [key: string]: string;
1354
+ };
1355
+ release_date: string;
1356
+ variants?: {
1357
+ [key: string]: {
1358
+ [key: string]: unknown;
1359
+ };
1360
+ };
1361
+ };
1362
+ export type Provider = {
1363
+ id: string;
1364
+ name: string;
1365
+ source: "env" | "config" | "custom" | "api";
1366
+ env: Array<string>;
1367
+ key?: string;
1368
+ options: {
1369
+ [key: string]: unknown;
1370
+ };
1371
+ models: {
1372
+ [key: string]: Model;
1373
+ };
1374
+ };
1375
+ export type ToolIds = Array<string>;
1376
+ export type ToolListItem = {
1377
+ id: string;
1378
+ description: string;
1379
+ parameters: unknown;
1380
+ };
1381
+ export type ToolList = Array<ToolListItem>;
1382
+ export type Workspace = {
1383
+ id: string;
1384
+ type: string;
1385
+ branch: string | null;
1386
+ name: string | null;
1387
+ directory: string | null;
1388
+ extra: unknown | null;
1389
+ projectID: string;
1390
+ };
1391
+ export type Worktree = {
1392
+ name: string;
1393
+ branch: string;
1394
+ directory: string;
1395
+ };
1396
+ export type WorktreeCreateInput = {
1397
+ name?: string;
1398
+ /**
1399
+ * Additional startup script to run after the project's start command
1400
+ */
1401
+ startCommand?: string;
1402
+ };
1403
+ export type WorktreeRemoveInput = {
1404
+ directory: string;
1405
+ };
1406
+ export type WorktreeResetInput = {
1407
+ directory: string;
1408
+ };
1409
+ export type ProjectSummary = {
1410
+ id: string;
1411
+ name?: string;
1412
+ worktree: string;
1413
+ };
1414
+ export type GlobalSession = {
1415
+ id: string;
1416
+ slug: string;
1417
+ projectID: string;
1418
+ workspaceID?: string;
1419
+ directory: string;
1420
+ parentID?: string;
1421
+ summary?: {
1422
+ additions: number;
1423
+ deletions: number;
1424
+ files: number;
1425
+ diffs?: Array<FileDiff>;
1426
+ };
1427
+ share?: {
1428
+ url: string;
1429
+ };
1430
+ title: string;
1431
+ version: string;
1432
+ time: {
1433
+ created: number;
1434
+ updated: number;
1435
+ compacting?: number;
1436
+ archived?: number;
1437
+ };
1438
+ permission?: PermissionRuleset;
1439
+ revert?: {
1440
+ messageID: string;
1441
+ partID?: string;
1442
+ snapshot?: string;
1443
+ diff?: string;
1444
+ };
1445
+ project: ProjectSummary | null;
1446
+ };
1447
+ export type McpResource = {
1448
+ name: string;
1449
+ uri: string;
1450
+ description?: string;
1451
+ mimeType?: string;
1452
+ client: string;
1453
+ };
1454
+ export type TextPartInput = {
1455
+ id?: string;
1456
+ type: "text";
1457
+ text: string;
1458
+ synthetic?: boolean;
1459
+ ignored?: boolean;
1460
+ time?: {
1461
+ start: number;
1462
+ end?: number;
1463
+ };
1464
+ metadata?: {
1465
+ [key: string]: unknown;
1466
+ };
1467
+ };
1468
+ export type FilePartInput = {
1469
+ id?: string;
1470
+ type: "file";
1471
+ mime: string;
1472
+ filename?: string;
1473
+ url: string;
1474
+ source?: FilePartSource;
1475
+ };
1476
+ export type AgentPartInput = {
1477
+ id?: string;
1478
+ type: "agent";
1479
+ name: string;
1480
+ source?: {
1481
+ value: string;
1482
+ start: number;
1483
+ end: number;
1484
+ };
1485
+ };
1486
+ export type SubtaskPartInput = {
1487
+ id?: string;
1488
+ type: "subtask";
1489
+ prompt: string;
1490
+ description: string;
1491
+ agent: string;
1492
+ model?: {
1493
+ providerID: string;
1494
+ modelID: string;
1495
+ };
1496
+ command?: string;
1497
+ };
1498
+ export type ProviderAuthMethod = {
1499
+ type: "oauth" | "api";
1500
+ label: string;
1501
+ };
1502
+ export type ProviderAuthAuthorization = {
1503
+ url: string;
1504
+ method: "auto" | "code";
1505
+ instructions: string;
1506
+ };
1507
+ export type Symbol = {
1508
+ name: string;
1509
+ kind: number;
1510
+ location: {
1511
+ uri: string;
1512
+ range: Range;
1513
+ };
1514
+ };
1515
+ export type FileNode = {
1516
+ name: string;
1517
+ path: string;
1518
+ absolute: string;
1519
+ type: "file" | "directory";
1520
+ ignored: boolean;
1521
+ };
1522
+ export type FileContent = {
1523
+ type: "text" | "binary";
1524
+ content: string;
1525
+ diff?: string;
1526
+ patch?: {
1527
+ oldFileName: string;
1528
+ newFileName: string;
1529
+ oldHeader?: string;
1530
+ newHeader?: string;
1531
+ hunks: Array<{
1532
+ oldStart: number;
1533
+ oldLines: number;
1534
+ newStart: number;
1535
+ newLines: number;
1536
+ lines: Array<string>;
1537
+ }>;
1538
+ index?: string;
1539
+ };
1540
+ encoding?: "base64";
1541
+ mimeType?: string;
1542
+ };
1543
+ export type File = {
1544
+ path: string;
1545
+ added: number;
1546
+ removed: number;
1547
+ status: "added" | "deleted" | "modified";
1548
+ };
1549
+ export type McpStatusConnected = {
1550
+ status: "connected";
1551
+ };
1552
+ export type McpStatusDisabled = {
1553
+ status: "disabled";
1554
+ };
1555
+ export type McpStatusFailed = {
1556
+ status: "failed";
1557
+ error: string;
1558
+ };
1559
+ export type McpStatusNeedsAuth = {
1560
+ status: "needs_auth";
1561
+ };
1562
+ export type McpStatusNeedsClientRegistration = {
1563
+ status: "needs_client_registration";
1564
+ error: string;
1565
+ };
1566
+ export type McpStatus = McpStatusConnected | McpStatusDisabled | McpStatusFailed | McpStatusNeedsAuth | McpStatusNeedsClientRegistration;
1567
+ export type Path = {
1568
+ home: string;
1569
+ state: string;
1570
+ config: string;
1571
+ worktree: string;
1572
+ directory: string;
1573
+ };
1574
+ export type VcsInfo = {
1575
+ branch: string;
1576
+ };
1577
+ export type Command = {
1578
+ name: string;
1579
+ description?: string;
1580
+ agent?: string;
1581
+ model?: string;
1582
+ source?: "command" | "mcp" | "skill";
1583
+ template: string;
1584
+ subtask?: boolean;
1585
+ hints: Array<string>;
1586
+ };
1587
+ export type Agent = {
1588
+ name: string;
1589
+ description?: string;
1590
+ mode: "subagent" | "primary" | "all";
1591
+ native?: boolean;
1592
+ hidden?: boolean;
1593
+ topP?: number;
1594
+ temperature?: number;
1595
+ color?: string;
1596
+ permission: PermissionRuleset;
1597
+ model?: {
1598
+ modelID: string;
1599
+ providerID: string;
1600
+ };
1601
+ variant?: string;
1602
+ prompt?: string;
1603
+ options: {
1604
+ [key: string]: unknown;
1605
+ };
1606
+ steps?: number;
1607
+ };
1608
+ export type LspStatus = {
1609
+ id: string;
1610
+ name: string;
1611
+ root: string;
1612
+ status: "connected" | "error";
1613
+ };
1614
+ export type FormatterStatus = {
1615
+ name: string;
1616
+ extensions: Array<string>;
1617
+ enabled: boolean;
1618
+ };
1619
+ export type GlobalHealthData = {
1620
+ body?: never;
1621
+ path?: never;
1622
+ query?: never;
1623
+ url: "/global/health";
1624
+ };
1625
+ export type GlobalHealthResponses = {
1626
+ /**
1627
+ * Health information
1628
+ */
1629
+ 200: {
1630
+ healthy: true;
1631
+ version: string;
1632
+ };
1633
+ };
1634
+ export type GlobalHealthResponse = GlobalHealthResponses[keyof GlobalHealthResponses];
1635
+ export type GlobalEventData = {
1636
+ body?: never;
1637
+ path?: never;
1638
+ query?: never;
1639
+ url: "/global/event";
1640
+ };
1641
+ export type GlobalEventResponses = {
1642
+ /**
1643
+ * Event stream
1644
+ */
1645
+ 200: GlobalEvent;
1646
+ };
1647
+ export type GlobalEventResponse = GlobalEventResponses[keyof GlobalEventResponses];
1648
+ export type GlobalConfigGetData = {
1649
+ body?: never;
1650
+ path?: never;
1651
+ query?: never;
1652
+ url: "/global/config";
1653
+ };
1654
+ export type GlobalConfigGetResponses = {
1655
+ /**
1656
+ * Get global config info
1657
+ */
1658
+ 200: Config;
1659
+ };
1660
+ export type GlobalConfigGetResponse = GlobalConfigGetResponses[keyof GlobalConfigGetResponses];
1661
+ export type GlobalConfigUpdateData = {
1662
+ body?: Config;
1663
+ path?: never;
1664
+ query?: never;
1665
+ url: "/global/config";
1666
+ };
1667
+ export type GlobalConfigUpdateErrors = {
1668
+ /**
1669
+ * Bad request
1670
+ */
1671
+ 400: BadRequestError;
1672
+ };
1673
+ export type GlobalConfigUpdateError = GlobalConfigUpdateErrors[keyof GlobalConfigUpdateErrors];
1674
+ export type GlobalConfigUpdateResponses = {
1675
+ /**
1676
+ * Successfully updated global config
1677
+ */
1678
+ 200: Config;
1679
+ };
1680
+ export type GlobalConfigUpdateResponse = GlobalConfigUpdateResponses[keyof GlobalConfigUpdateResponses];
1681
+ export type GlobalDisposeData = {
1682
+ body?: never;
1683
+ path?: never;
1684
+ query?: never;
1685
+ url: "/global/dispose";
1686
+ };
1687
+ export type GlobalDisposeResponses = {
1688
+ /**
1689
+ * Global disposed
1690
+ */
1691
+ 200: boolean;
1692
+ };
1693
+ export type GlobalDisposeResponse = GlobalDisposeResponses[keyof GlobalDisposeResponses];
1694
+ export type AuthRemoveData = {
1695
+ body?: never;
1696
+ path: {
1697
+ providerID: string;
1698
+ };
1699
+ query?: never;
1700
+ url: "/auth/{providerID}";
1701
+ };
1702
+ export type AuthRemoveErrors = {
1703
+ /**
1704
+ * Bad request
1705
+ */
1706
+ 400: BadRequestError;
1707
+ };
1708
+ export type AuthRemoveError = AuthRemoveErrors[keyof AuthRemoveErrors];
1709
+ export type AuthRemoveResponses = {
1710
+ /**
1711
+ * Successfully removed authentication credentials
1712
+ */
1713
+ 200: boolean;
1714
+ };
1715
+ export type AuthRemoveResponse = AuthRemoveResponses[keyof AuthRemoveResponses];
1716
+ export type AuthSetData = {
1717
+ body?: Auth;
1718
+ path: {
1719
+ providerID: string;
1720
+ };
1721
+ query?: never;
1722
+ url: "/auth/{providerID}";
1723
+ };
1724
+ export type AuthSetErrors = {
1725
+ /**
1726
+ * Bad request
1727
+ */
1728
+ 400: BadRequestError;
1729
+ };
1730
+ export type AuthSetError = AuthSetErrors[keyof AuthSetErrors];
1731
+ export type AuthSetResponses = {
1732
+ /**
1733
+ * Successfully set authentication credentials
1734
+ */
1735
+ 200: boolean;
1736
+ };
1737
+ export type AuthSetResponse = AuthSetResponses[keyof AuthSetResponses];
1738
+ export type ProjectListData = {
1739
+ body?: never;
1740
+ path?: never;
1741
+ query?: {
1742
+ directory?: string;
1743
+ workspace?: string;
1744
+ };
1745
+ url: "/project";
1746
+ };
1747
+ export type ProjectListResponses = {
1748
+ /**
1749
+ * List of projects
1750
+ */
1751
+ 200: Array<Project>;
1752
+ };
1753
+ export type ProjectListResponse = ProjectListResponses[keyof ProjectListResponses];
1754
+ export type ProjectCurrentData = {
1755
+ body?: never;
1756
+ path?: never;
1757
+ query?: {
1758
+ directory?: string;
1759
+ workspace?: string;
1760
+ };
1761
+ url: "/project/current";
1762
+ };
1763
+ export type ProjectCurrentResponses = {
1764
+ /**
1765
+ * Current project information
1766
+ */
1767
+ 200: Project;
1768
+ };
1769
+ export type ProjectCurrentResponse = ProjectCurrentResponses[keyof ProjectCurrentResponses];
1770
+ export type ProjectInitGitData = {
1771
+ body?: never;
1772
+ path?: never;
1773
+ query?: {
1774
+ directory?: string;
1775
+ workspace?: string;
1776
+ };
1777
+ url: "/project/git/init";
1778
+ };
1779
+ export type ProjectInitGitResponses = {
1780
+ /**
1781
+ * Project information after git initialization
1782
+ */
1783
+ 200: Project;
1784
+ };
1785
+ export type ProjectInitGitResponse = ProjectInitGitResponses[keyof ProjectInitGitResponses];
1786
+ export type ProjectUpdateData = {
1787
+ body?: {
1788
+ name?: string;
1789
+ icon?: {
1790
+ url?: string;
1791
+ override?: string;
1792
+ color?: string;
1793
+ };
1794
+ commands?: {
1795
+ /**
1796
+ * Startup script to run when creating a new workspace (worktree)
1797
+ */
1798
+ start?: string;
1799
+ };
1800
+ };
1801
+ path: {
1802
+ projectID: string;
1803
+ };
1804
+ query?: {
1805
+ directory?: string;
1806
+ workspace?: string;
1807
+ };
1808
+ url: "/project/{projectID}";
1809
+ };
1810
+ export type ProjectUpdateErrors = {
1811
+ /**
1812
+ * Bad request
1813
+ */
1814
+ 400: BadRequestError;
1815
+ /**
1816
+ * Not found
1817
+ */
1818
+ 404: NotFoundError;
1819
+ };
1820
+ export type ProjectUpdateError = ProjectUpdateErrors[keyof ProjectUpdateErrors];
1821
+ export type ProjectUpdateResponses = {
1822
+ /**
1823
+ * Updated project information
1824
+ */
1825
+ 200: Project;
1826
+ };
1827
+ export type ProjectUpdateResponse = ProjectUpdateResponses[keyof ProjectUpdateResponses];
1828
+ export type PtyListData = {
1829
+ body?: never;
1830
+ path?: never;
1831
+ query?: {
1832
+ directory?: string;
1833
+ workspace?: string;
1834
+ };
1835
+ url: "/pty";
1836
+ };
1837
+ export type PtyListResponses = {
1838
+ /**
1839
+ * List of sessions
1840
+ */
1841
+ 200: Array<Pty>;
1842
+ };
1843
+ export type PtyListResponse = PtyListResponses[keyof PtyListResponses];
1844
+ export type PtyCreateData = {
1845
+ body?: {
1846
+ command?: string;
1847
+ args?: Array<string>;
1848
+ cwd?: string;
1849
+ title?: string;
1850
+ env?: {
1851
+ [key: string]: string;
1852
+ };
1853
+ };
1854
+ path?: never;
1855
+ query?: {
1856
+ directory?: string;
1857
+ workspace?: string;
1858
+ };
1859
+ url: "/pty";
1860
+ };
1861
+ export type PtyCreateErrors = {
1862
+ /**
1863
+ * Bad request
1864
+ */
1865
+ 400: BadRequestError;
1866
+ };
1867
+ export type PtyCreateError = PtyCreateErrors[keyof PtyCreateErrors];
1868
+ export type PtyCreateResponses = {
1869
+ /**
1870
+ * Created session
1871
+ */
1872
+ 200: Pty;
1873
+ };
1874
+ export type PtyCreateResponse = PtyCreateResponses[keyof PtyCreateResponses];
1875
+ export type PtyRemoveData = {
1876
+ body?: never;
1877
+ path: {
1878
+ ptyID: string;
1879
+ };
1880
+ query?: {
1881
+ directory?: string;
1882
+ workspace?: string;
1883
+ };
1884
+ url: "/pty/{ptyID}";
1885
+ };
1886
+ export type PtyRemoveErrors = {
1887
+ /**
1888
+ * Not found
1889
+ */
1890
+ 404: NotFoundError;
1891
+ };
1892
+ export type PtyRemoveError = PtyRemoveErrors[keyof PtyRemoveErrors];
1893
+ export type PtyRemoveResponses = {
1894
+ /**
1895
+ * Session removed
1896
+ */
1897
+ 200: boolean;
1898
+ };
1899
+ export type PtyRemoveResponse = PtyRemoveResponses[keyof PtyRemoveResponses];
1900
+ export type PtyGetData = {
1901
+ body?: never;
1902
+ path: {
1903
+ ptyID: string;
1904
+ };
1905
+ query?: {
1906
+ directory?: string;
1907
+ workspace?: string;
1908
+ };
1909
+ url: "/pty/{ptyID}";
1910
+ };
1911
+ export type PtyGetErrors = {
1912
+ /**
1913
+ * Not found
1914
+ */
1915
+ 404: NotFoundError;
1916
+ };
1917
+ export type PtyGetError = PtyGetErrors[keyof PtyGetErrors];
1918
+ export type PtyGetResponses = {
1919
+ /**
1920
+ * Session info
1921
+ */
1922
+ 200: Pty;
1923
+ };
1924
+ export type PtyGetResponse = PtyGetResponses[keyof PtyGetResponses];
1925
+ export type PtyUpdateData = {
1926
+ body?: {
1927
+ title?: string;
1928
+ size?: {
1929
+ rows: number;
1930
+ cols: number;
1931
+ };
1932
+ };
1933
+ path: {
1934
+ ptyID: string;
1935
+ };
1936
+ query?: {
1937
+ directory?: string;
1938
+ workspace?: string;
1939
+ };
1940
+ url: "/pty/{ptyID}";
1941
+ };
1942
+ export type PtyUpdateErrors = {
1943
+ /**
1944
+ * Bad request
1945
+ */
1946
+ 400: BadRequestError;
1947
+ };
1948
+ export type PtyUpdateError = PtyUpdateErrors[keyof PtyUpdateErrors];
1949
+ export type PtyUpdateResponses = {
1950
+ /**
1951
+ * Updated session
1952
+ */
1953
+ 200: Pty;
1954
+ };
1955
+ export type PtyUpdateResponse = PtyUpdateResponses[keyof PtyUpdateResponses];
1956
+ export type PtyConnectData = {
1957
+ body?: never;
1958
+ path: {
1959
+ ptyID: string;
1960
+ };
1961
+ query?: {
1962
+ directory?: string;
1963
+ workspace?: string;
1964
+ };
1965
+ url: "/pty/{ptyID}/connect";
1966
+ };
1967
+ export type PtyConnectErrors = {
1968
+ /**
1969
+ * Not found
1970
+ */
1971
+ 404: NotFoundError;
1972
+ };
1973
+ export type PtyConnectError = PtyConnectErrors[keyof PtyConnectErrors];
1974
+ export type PtyConnectResponses = {
1975
+ /**
1976
+ * Connected session
1977
+ */
1978
+ 200: boolean;
1979
+ };
1980
+ export type PtyConnectResponse = PtyConnectResponses[keyof PtyConnectResponses];
1981
+ export type ConfigGetData = {
1982
+ body?: never;
1983
+ path?: never;
1984
+ query?: {
1985
+ directory?: string;
1986
+ workspace?: string;
1987
+ };
1988
+ url: "/config";
1989
+ };
1990
+ export type ConfigGetResponses = {
1991
+ /**
1992
+ * Get config info
1993
+ */
1994
+ 200: Config;
1995
+ };
1996
+ export type ConfigGetResponse = ConfigGetResponses[keyof ConfigGetResponses];
1997
+ export type ConfigUpdateData = {
1998
+ body?: Config;
1999
+ path?: never;
2000
+ query?: {
2001
+ directory?: string;
2002
+ workspace?: string;
2003
+ };
2004
+ url: "/config";
2005
+ };
2006
+ export type ConfigUpdateErrors = {
2007
+ /**
2008
+ * Bad request
2009
+ */
2010
+ 400: BadRequestError;
2011
+ };
2012
+ export type ConfigUpdateError = ConfigUpdateErrors[keyof ConfigUpdateErrors];
2013
+ export type ConfigUpdateResponses = {
2014
+ /**
2015
+ * Successfully updated config
2016
+ */
2017
+ 200: Config;
2018
+ };
2019
+ export type ConfigUpdateResponse = ConfigUpdateResponses[keyof ConfigUpdateResponses];
2020
+ export type ConfigProvidersData = {
2021
+ body?: never;
2022
+ path?: never;
2023
+ query?: {
2024
+ directory?: string;
2025
+ workspace?: string;
2026
+ };
2027
+ url: "/config/providers";
2028
+ };
2029
+ export type ConfigProvidersResponses = {
2030
+ /**
2031
+ * List of providers
2032
+ */
2033
+ 200: {
2034
+ providers: Array<Provider>;
2035
+ default: {
2036
+ [key: string]: string;
2037
+ };
2038
+ };
2039
+ };
2040
+ export type ConfigProvidersResponse = ConfigProvidersResponses[keyof ConfigProvidersResponses];
2041
+ export type ToolIdsData = {
2042
+ body?: never;
2043
+ path?: never;
2044
+ query?: {
2045
+ directory?: string;
2046
+ workspace?: string;
2047
+ };
2048
+ url: "/experimental/tool/ids";
2049
+ };
2050
+ export type ToolIdsErrors = {
2051
+ /**
2052
+ * Bad request
2053
+ */
2054
+ 400: BadRequestError;
2055
+ };
2056
+ export type ToolIdsError = ToolIdsErrors[keyof ToolIdsErrors];
2057
+ export type ToolIdsResponses = {
2058
+ /**
2059
+ * Tool IDs
2060
+ */
2061
+ 200: ToolIds;
2062
+ };
2063
+ export type ToolIdsResponse = ToolIdsResponses[keyof ToolIdsResponses];
2064
+ export type ToolListData = {
2065
+ body?: never;
2066
+ path?: never;
2067
+ query: {
2068
+ directory?: string;
2069
+ workspace?: string;
2070
+ provider: string;
2071
+ model: string;
2072
+ };
2073
+ url: "/experimental/tool";
2074
+ };
2075
+ export type ToolListErrors = {
2076
+ /**
2077
+ * Bad request
2078
+ */
2079
+ 400: BadRequestError;
2080
+ };
2081
+ export type ToolListError = ToolListErrors[keyof ToolListErrors];
2082
+ export type ToolListResponses = {
2083
+ /**
2084
+ * Tools
2085
+ */
2086
+ 200: ToolList;
2087
+ };
2088
+ export type ToolListResponse = ToolListResponses[keyof ToolListResponses];
2089
+ export type ExperimentalWorkspaceListData = {
2090
+ body?: never;
2091
+ path?: never;
2092
+ query?: {
2093
+ directory?: string;
2094
+ workspace?: string;
2095
+ };
2096
+ url: "/experimental/workspace";
2097
+ };
2098
+ export type ExperimentalWorkspaceListResponses = {
2099
+ /**
2100
+ * Workspaces
2101
+ */
2102
+ 200: Array<Workspace>;
2103
+ };
2104
+ export type ExperimentalWorkspaceListResponse = ExperimentalWorkspaceListResponses[keyof ExperimentalWorkspaceListResponses];
2105
+ export type ExperimentalWorkspaceCreateData = {
2106
+ body?: {
2107
+ id?: string;
2108
+ type: string;
2109
+ branch: string | null;
2110
+ extra: unknown | null;
2111
+ };
2112
+ path?: never;
2113
+ query?: {
2114
+ directory?: string;
2115
+ workspace?: string;
2116
+ };
2117
+ url: "/experimental/workspace";
2118
+ };
2119
+ export type ExperimentalWorkspaceCreateErrors = {
2120
+ /**
2121
+ * Bad request
2122
+ */
2123
+ 400: BadRequestError;
2124
+ };
2125
+ export type ExperimentalWorkspaceCreateError = ExperimentalWorkspaceCreateErrors[keyof ExperimentalWorkspaceCreateErrors];
2126
+ export type ExperimentalWorkspaceCreateResponses = {
2127
+ /**
2128
+ * Workspace created
2129
+ */
2130
+ 200: Workspace;
2131
+ };
2132
+ export type ExperimentalWorkspaceCreateResponse = ExperimentalWorkspaceCreateResponses[keyof ExperimentalWorkspaceCreateResponses];
2133
+ export type ExperimentalWorkspaceRemoveData = {
2134
+ body?: never;
2135
+ path: {
2136
+ id: string;
2137
+ };
2138
+ query?: {
2139
+ directory?: string;
2140
+ workspace?: string;
2141
+ };
2142
+ url: "/experimental/workspace/{id}";
2143
+ };
2144
+ export type ExperimentalWorkspaceRemoveErrors = {
2145
+ /**
2146
+ * Bad request
2147
+ */
2148
+ 400: BadRequestError;
2149
+ };
2150
+ export type ExperimentalWorkspaceRemoveError = ExperimentalWorkspaceRemoveErrors[keyof ExperimentalWorkspaceRemoveErrors];
2151
+ export type ExperimentalWorkspaceRemoveResponses = {
2152
+ /**
2153
+ * Workspace removed
2154
+ */
2155
+ 200: Workspace;
2156
+ };
2157
+ export type ExperimentalWorkspaceRemoveResponse = ExperimentalWorkspaceRemoveResponses[keyof ExperimentalWorkspaceRemoveResponses];
2158
+ export type WorktreeRemoveData = {
2159
+ body?: WorktreeRemoveInput;
2160
+ path?: never;
2161
+ query?: {
2162
+ directory?: string;
2163
+ workspace?: string;
2164
+ };
2165
+ url: "/experimental/worktree";
2166
+ };
2167
+ export type WorktreeRemoveErrors = {
2168
+ /**
2169
+ * Bad request
2170
+ */
2171
+ 400: BadRequestError;
2172
+ };
2173
+ export type WorktreeRemoveError = WorktreeRemoveErrors[keyof WorktreeRemoveErrors];
2174
+ export type WorktreeRemoveResponses = {
2175
+ /**
2176
+ * Worktree removed
2177
+ */
2178
+ 200: boolean;
2179
+ };
2180
+ export type WorktreeRemoveResponse = WorktreeRemoveResponses[keyof WorktreeRemoveResponses];
2181
+ export type WorktreeListData = {
2182
+ body?: never;
2183
+ path?: never;
2184
+ query?: {
2185
+ directory?: string;
2186
+ workspace?: string;
2187
+ };
2188
+ url: "/experimental/worktree";
2189
+ };
2190
+ export type WorktreeListResponses = {
2191
+ /**
2192
+ * List of worktree directories
2193
+ */
2194
+ 200: Array<string>;
2195
+ };
2196
+ export type WorktreeListResponse = WorktreeListResponses[keyof WorktreeListResponses];
2197
+ export type WorktreeCreateData = {
2198
+ body?: WorktreeCreateInput;
2199
+ path?: never;
2200
+ query?: {
2201
+ directory?: string;
2202
+ workspace?: string;
2203
+ };
2204
+ url: "/experimental/worktree";
2205
+ };
2206
+ export type WorktreeCreateErrors = {
2207
+ /**
2208
+ * Bad request
2209
+ */
2210
+ 400: BadRequestError;
2211
+ };
2212
+ export type WorktreeCreateError = WorktreeCreateErrors[keyof WorktreeCreateErrors];
2213
+ export type WorktreeCreateResponses = {
2214
+ /**
2215
+ * Worktree created
2216
+ */
2217
+ 200: Worktree;
2218
+ };
2219
+ export type WorktreeCreateResponse = WorktreeCreateResponses[keyof WorktreeCreateResponses];
2220
+ export type WorktreeResetData = {
2221
+ body?: WorktreeResetInput;
2222
+ path?: never;
2223
+ query?: {
2224
+ directory?: string;
2225
+ workspace?: string;
2226
+ };
2227
+ url: "/experimental/worktree/reset";
2228
+ };
2229
+ export type WorktreeResetErrors = {
2230
+ /**
2231
+ * Bad request
2232
+ */
2233
+ 400: BadRequestError;
2234
+ };
2235
+ export type WorktreeResetError = WorktreeResetErrors[keyof WorktreeResetErrors];
2236
+ export type WorktreeResetResponses = {
2237
+ /**
2238
+ * Worktree reset
2239
+ */
2240
+ 200: boolean;
2241
+ };
2242
+ export type WorktreeResetResponse = WorktreeResetResponses[keyof WorktreeResetResponses];
2243
+ export type ExperimentalSessionListData = {
2244
+ body?: never;
2245
+ path?: never;
2246
+ query?: {
2247
+ /**
2248
+ * Filter sessions by project directory
2249
+ */
2250
+ directory?: string;
2251
+ workspace?: string;
2252
+ /**
2253
+ * Only return root sessions (no parentID)
2254
+ */
2255
+ roots?: boolean;
2256
+ /**
2257
+ * Filter sessions updated on or after this timestamp (milliseconds since epoch)
2258
+ */
2259
+ start?: number;
2260
+ /**
2261
+ * Return sessions updated before this timestamp (milliseconds since epoch)
2262
+ */
2263
+ cursor?: number;
2264
+ /**
2265
+ * Filter sessions by title (case-insensitive)
2266
+ */
2267
+ search?: string;
2268
+ /**
2269
+ * Maximum number of sessions to return
2270
+ */
2271
+ limit?: number;
2272
+ /**
2273
+ * Include archived sessions (default false)
2274
+ */
2275
+ archived?: boolean;
2276
+ };
2277
+ url: "/experimental/session";
2278
+ };
2279
+ export type ExperimentalSessionListResponses = {
2280
+ /**
2281
+ * List of sessions
2282
+ */
2283
+ 200: Array<GlobalSession>;
2284
+ };
2285
+ export type ExperimentalSessionListResponse = ExperimentalSessionListResponses[keyof ExperimentalSessionListResponses];
2286
+ export type ExperimentalResourceListData = {
2287
+ body?: never;
2288
+ path?: never;
2289
+ query?: {
2290
+ directory?: string;
2291
+ workspace?: string;
2292
+ };
2293
+ url: "/experimental/resource";
2294
+ };
2295
+ export type ExperimentalResourceListResponses = {
2296
+ /**
2297
+ * MCP resources
2298
+ */
2299
+ 200: {
2300
+ [key: string]: McpResource;
2301
+ };
2302
+ };
2303
+ export type ExperimentalResourceListResponse = ExperimentalResourceListResponses[keyof ExperimentalResourceListResponses];
2304
+ export type SessionListData = {
2305
+ body?: never;
2306
+ path?: never;
2307
+ query?: {
2308
+ /**
2309
+ * Filter sessions by project directory
2310
+ */
2311
+ directory?: string;
2312
+ workspace?: string;
2313
+ /**
2314
+ * Only return root sessions (no parentID)
2315
+ */
2316
+ roots?: boolean;
2317
+ /**
2318
+ * Filter sessions updated on or after this timestamp (milliseconds since epoch)
2319
+ */
2320
+ start?: number;
2321
+ /**
2322
+ * Filter sessions by title (case-insensitive)
2323
+ */
2324
+ search?: string;
2325
+ /**
2326
+ * Maximum number of sessions to return
2327
+ */
2328
+ limit?: number;
2329
+ };
2330
+ url: "/session";
2331
+ };
2332
+ export type SessionListResponses = {
2333
+ /**
2334
+ * List of sessions
2335
+ */
2336
+ 200: Array<Session>;
2337
+ };
2338
+ export type SessionListResponse = SessionListResponses[keyof SessionListResponses];
2339
+ export type SessionCreateData = {
2340
+ body?: {
2341
+ parentID?: string;
2342
+ title?: string;
2343
+ permission?: PermissionRuleset;
2344
+ };
2345
+ path?: never;
2346
+ query?: {
2347
+ directory?: string;
2348
+ workspace?: string;
2349
+ };
2350
+ url: "/session";
2351
+ };
2352
+ export type SessionCreateErrors = {
2353
+ /**
2354
+ * Bad request
2355
+ */
2356
+ 400: BadRequestError;
2357
+ };
2358
+ export type SessionCreateError = SessionCreateErrors[keyof SessionCreateErrors];
2359
+ export type SessionCreateResponses = {
2360
+ /**
2361
+ * Successfully created session
2362
+ */
2363
+ 200: Session;
2364
+ };
2365
+ export type SessionCreateResponse = SessionCreateResponses[keyof SessionCreateResponses];
2366
+ export type SessionStatusData = {
2367
+ body?: never;
2368
+ path?: never;
2369
+ query?: {
2370
+ directory?: string;
2371
+ workspace?: string;
2372
+ };
2373
+ url: "/session/status";
2374
+ };
2375
+ export type SessionStatusErrors = {
2376
+ /**
2377
+ * Bad request
2378
+ */
2379
+ 400: BadRequestError;
2380
+ };
2381
+ export type SessionStatusError = SessionStatusErrors[keyof SessionStatusErrors];
2382
+ export type SessionStatusResponses = {
2383
+ /**
2384
+ * Get session status
2385
+ */
2386
+ 200: {
2387
+ [key: string]: SessionStatus;
2388
+ };
2389
+ };
2390
+ export type SessionStatusResponse = SessionStatusResponses[keyof SessionStatusResponses];
2391
+ export type SessionDeleteData = {
2392
+ body?: never;
2393
+ path: {
2394
+ sessionID: string;
2395
+ };
2396
+ query?: {
2397
+ directory?: string;
2398
+ workspace?: string;
2399
+ };
2400
+ url: "/session/{sessionID}";
2401
+ };
2402
+ export type SessionDeleteErrors = {
2403
+ /**
2404
+ * Bad request
2405
+ */
2406
+ 400: BadRequestError;
2407
+ /**
2408
+ * Not found
2409
+ */
2410
+ 404: NotFoundError;
2411
+ };
2412
+ export type SessionDeleteError = SessionDeleteErrors[keyof SessionDeleteErrors];
2413
+ export type SessionDeleteResponses = {
2414
+ /**
2415
+ * Successfully deleted session
2416
+ */
2417
+ 200: boolean;
2418
+ };
2419
+ export type SessionDeleteResponse = SessionDeleteResponses[keyof SessionDeleteResponses];
2420
+ export type SessionGetData = {
2421
+ body?: never;
2422
+ path: {
2423
+ sessionID: string;
2424
+ };
2425
+ query?: {
2426
+ directory?: string;
2427
+ workspace?: string;
2428
+ };
2429
+ url: "/session/{sessionID}";
2430
+ };
2431
+ export type SessionGetErrors = {
2432
+ /**
2433
+ * Bad request
2434
+ */
2435
+ 400: BadRequestError;
2436
+ /**
2437
+ * Not found
2438
+ */
2439
+ 404: NotFoundError;
2440
+ };
2441
+ export type SessionGetError = SessionGetErrors[keyof SessionGetErrors];
2442
+ export type SessionGetResponses = {
2443
+ /**
2444
+ * Get session
2445
+ */
2446
+ 200: Session;
2447
+ };
2448
+ export type SessionGetResponse = SessionGetResponses[keyof SessionGetResponses];
2449
+ export type SessionUpdateData = {
2450
+ body?: {
2451
+ title?: string;
2452
+ time?: {
2453
+ archived?: number;
2454
+ };
2455
+ };
2456
+ path: {
2457
+ sessionID: string;
2458
+ };
2459
+ query?: {
2460
+ directory?: string;
2461
+ workspace?: string;
2462
+ };
2463
+ url: "/session/{sessionID}";
2464
+ };
2465
+ export type SessionUpdateErrors = {
2466
+ /**
2467
+ * Bad request
2468
+ */
2469
+ 400: BadRequestError;
2470
+ /**
2471
+ * Not found
2472
+ */
2473
+ 404: NotFoundError;
2474
+ };
2475
+ export type SessionUpdateError = SessionUpdateErrors[keyof SessionUpdateErrors];
2476
+ export type SessionUpdateResponses = {
2477
+ /**
2478
+ * Successfully updated session
2479
+ */
2480
+ 200: Session;
2481
+ };
2482
+ export type SessionUpdateResponse = SessionUpdateResponses[keyof SessionUpdateResponses];
2483
+ export type SessionChildrenData = {
2484
+ body?: never;
2485
+ path: {
2486
+ sessionID: string;
2487
+ };
2488
+ query?: {
2489
+ directory?: string;
2490
+ workspace?: string;
2491
+ };
2492
+ url: "/session/{sessionID}/children";
2493
+ };
2494
+ export type SessionChildrenErrors = {
2495
+ /**
2496
+ * Bad request
2497
+ */
2498
+ 400: BadRequestError;
2499
+ /**
2500
+ * Not found
2501
+ */
2502
+ 404: NotFoundError;
2503
+ };
2504
+ export type SessionChildrenError = SessionChildrenErrors[keyof SessionChildrenErrors];
2505
+ export type SessionChildrenResponses = {
2506
+ /**
2507
+ * List of children
2508
+ */
2509
+ 200: Array<Session>;
2510
+ };
2511
+ export type SessionChildrenResponse = SessionChildrenResponses[keyof SessionChildrenResponses];
2512
+ export type SessionTodoData = {
2513
+ body?: never;
2514
+ path: {
2515
+ /**
2516
+ * Session ID
2517
+ */
2518
+ sessionID: string;
2519
+ };
2520
+ query?: {
2521
+ directory?: string;
2522
+ workspace?: string;
2523
+ };
2524
+ url: "/session/{sessionID}/todo";
2525
+ };
2526
+ export type SessionTodoErrors = {
2527
+ /**
2528
+ * Bad request
2529
+ */
2530
+ 400: BadRequestError;
2531
+ /**
2532
+ * Not found
2533
+ */
2534
+ 404: NotFoundError;
2535
+ };
2536
+ export type SessionTodoError = SessionTodoErrors[keyof SessionTodoErrors];
2537
+ export type SessionTodoResponses = {
2538
+ /**
2539
+ * Todo list
2540
+ */
2541
+ 200: Array<Todo>;
2542
+ };
2543
+ export type SessionTodoResponse = SessionTodoResponses[keyof SessionTodoResponses];
2544
+ export type SessionInitData = {
2545
+ body?: {
2546
+ modelID: string;
2547
+ providerID: string;
2548
+ messageID: string;
2549
+ };
2550
+ path: {
2551
+ /**
2552
+ * Session ID
2553
+ */
2554
+ sessionID: string;
2555
+ };
2556
+ query?: {
2557
+ directory?: string;
2558
+ workspace?: string;
2559
+ };
2560
+ url: "/session/{sessionID}/init";
2561
+ };
2562
+ export type SessionInitErrors = {
2563
+ /**
2564
+ * Bad request
2565
+ */
2566
+ 400: BadRequestError;
2567
+ /**
2568
+ * Not found
2569
+ */
2570
+ 404: NotFoundError;
2571
+ };
2572
+ export type SessionInitError = SessionInitErrors[keyof SessionInitErrors];
2573
+ export type SessionInitResponses = {
2574
+ /**
2575
+ * 200
2576
+ */
2577
+ 200: boolean;
2578
+ };
2579
+ export type SessionInitResponse = SessionInitResponses[keyof SessionInitResponses];
2580
+ export type SessionForkData = {
2581
+ body?: {
2582
+ messageID?: string;
2583
+ };
2584
+ path: {
2585
+ sessionID: string;
2586
+ };
2587
+ query?: {
2588
+ directory?: string;
2589
+ workspace?: string;
2590
+ };
2591
+ url: "/session/{sessionID}/fork";
2592
+ };
2593
+ export type SessionForkResponses = {
2594
+ /**
2595
+ * 200
2596
+ */
2597
+ 200: Session;
2598
+ };
2599
+ export type SessionForkResponse = SessionForkResponses[keyof SessionForkResponses];
2600
+ export type SessionAbortData = {
2601
+ body?: never;
2602
+ path: {
2603
+ sessionID: string;
2604
+ };
2605
+ query?: {
2606
+ directory?: string;
2607
+ workspace?: string;
2608
+ };
2609
+ url: "/session/{sessionID}/abort";
2610
+ };
2611
+ export type SessionAbortErrors = {
2612
+ /**
2613
+ * Bad request
2614
+ */
2615
+ 400: BadRequestError;
2616
+ /**
2617
+ * Not found
2618
+ */
2619
+ 404: NotFoundError;
2620
+ };
2621
+ export type SessionAbortError = SessionAbortErrors[keyof SessionAbortErrors];
2622
+ export type SessionAbortResponses = {
2623
+ /**
2624
+ * Aborted session
2625
+ */
2626
+ 200: boolean;
2627
+ };
2628
+ export type SessionAbortResponse = SessionAbortResponses[keyof SessionAbortResponses];
2629
+ export type SessionUnshareData = {
2630
+ body?: never;
2631
+ path: {
2632
+ sessionID: string;
2633
+ };
2634
+ query?: {
2635
+ directory?: string;
2636
+ workspace?: string;
2637
+ };
2638
+ url: "/session/{sessionID}/share";
2639
+ };
2640
+ export type SessionUnshareErrors = {
2641
+ /**
2642
+ * Bad request
2643
+ */
2644
+ 400: BadRequestError;
2645
+ /**
2646
+ * Not found
2647
+ */
2648
+ 404: NotFoundError;
2649
+ };
2650
+ export type SessionUnshareError = SessionUnshareErrors[keyof SessionUnshareErrors];
2651
+ export type SessionUnshareResponses = {
2652
+ /**
2653
+ * Successfully unshared session
2654
+ */
2655
+ 200: Session;
2656
+ };
2657
+ export type SessionUnshareResponse = SessionUnshareResponses[keyof SessionUnshareResponses];
2658
+ export type SessionShareData = {
2659
+ body?: never;
2660
+ path: {
2661
+ sessionID: string;
2662
+ };
2663
+ query?: {
2664
+ directory?: string;
2665
+ workspace?: string;
2666
+ };
2667
+ url: "/session/{sessionID}/share";
2668
+ };
2669
+ export type SessionShareErrors = {
2670
+ /**
2671
+ * Bad request
2672
+ */
2673
+ 400: BadRequestError;
2674
+ /**
2675
+ * Not found
2676
+ */
2677
+ 404: NotFoundError;
2678
+ };
2679
+ export type SessionShareError = SessionShareErrors[keyof SessionShareErrors];
2680
+ export type SessionShareResponses = {
2681
+ /**
2682
+ * Successfully shared session
2683
+ */
2684
+ 200: Session;
2685
+ };
2686
+ export type SessionShareResponse = SessionShareResponses[keyof SessionShareResponses];
2687
+ export type SessionDiffData = {
2688
+ body?: never;
2689
+ path: {
2690
+ sessionID: string;
2691
+ };
2692
+ query?: {
2693
+ directory?: string;
2694
+ workspace?: string;
2695
+ messageID?: string;
2696
+ };
2697
+ url: "/session/{sessionID}/diff";
2698
+ };
2699
+ export type SessionDiffResponses = {
2700
+ /**
2701
+ * Successfully retrieved diff
2702
+ */
2703
+ 200: Array<FileDiff>;
2704
+ };
2705
+ export type SessionDiffResponse = SessionDiffResponses[keyof SessionDiffResponses];
2706
+ export type SessionSummarizeData = {
2707
+ body?: {
2708
+ providerID: string;
2709
+ modelID: string;
2710
+ auto?: boolean;
2711
+ };
2712
+ path: {
2713
+ /**
2714
+ * Session ID
2715
+ */
2716
+ sessionID: string;
2717
+ };
2718
+ query?: {
2719
+ directory?: string;
2720
+ workspace?: string;
2721
+ };
2722
+ url: "/session/{sessionID}/summarize";
2723
+ };
2724
+ export type SessionSummarizeErrors = {
2725
+ /**
2726
+ * Bad request
2727
+ */
2728
+ 400: BadRequestError;
2729
+ /**
2730
+ * Not found
2731
+ */
2732
+ 404: NotFoundError;
2733
+ };
2734
+ export type SessionSummarizeError = SessionSummarizeErrors[keyof SessionSummarizeErrors];
2735
+ export type SessionSummarizeResponses = {
2736
+ /**
2737
+ * Summarized session
2738
+ */
2739
+ 200: boolean;
2740
+ };
2741
+ export type SessionSummarizeResponse = SessionSummarizeResponses[keyof SessionSummarizeResponses];
2742
+ export type SessionMessagesData = {
2743
+ body?: never;
2744
+ path: {
2745
+ /**
2746
+ * Session ID
2747
+ */
2748
+ sessionID: string;
2749
+ };
2750
+ query?: {
2751
+ directory?: string;
2752
+ workspace?: string;
2753
+ limit?: number;
2754
+ };
2755
+ url: "/session/{sessionID}/message";
2756
+ };
2757
+ export type SessionMessagesErrors = {
2758
+ /**
2759
+ * Bad request
2760
+ */
2761
+ 400: BadRequestError;
2762
+ /**
2763
+ * Not found
2764
+ */
2765
+ 404: NotFoundError;
2766
+ };
2767
+ export type SessionMessagesError = SessionMessagesErrors[keyof SessionMessagesErrors];
2768
+ export type SessionMessagesResponses = {
2769
+ /**
2770
+ * List of messages
2771
+ */
2772
+ 200: Array<{
2773
+ info: Message;
2774
+ parts: Array<Part>;
2775
+ }>;
2776
+ };
2777
+ export type SessionMessagesResponse = SessionMessagesResponses[keyof SessionMessagesResponses];
2778
+ export type SessionPromptData = {
2779
+ body?: {
2780
+ messageID?: string;
2781
+ model?: {
2782
+ providerID: string;
2783
+ modelID: string;
2784
+ };
2785
+ agent?: string;
2786
+ noReply?: boolean;
2787
+ /**
2788
+ * @deprecated tools and permissions have been merged, you can set permissions on the session itself now
2789
+ */
2790
+ tools?: {
2791
+ [key: string]: boolean;
2792
+ };
2793
+ format?: OutputFormat;
2794
+ system?: string;
2795
+ variant?: string;
2796
+ parts: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput>;
2797
+ };
2798
+ path: {
2799
+ /**
2800
+ * Session ID
2801
+ */
2802
+ sessionID: string;
2803
+ };
2804
+ query?: {
2805
+ directory?: string;
2806
+ workspace?: string;
2807
+ };
2808
+ url: "/session/{sessionID}/message";
2809
+ };
2810
+ export type SessionPromptErrors = {
2811
+ /**
2812
+ * Bad request
2813
+ */
2814
+ 400: BadRequestError;
2815
+ /**
2816
+ * Not found
2817
+ */
2818
+ 404: NotFoundError;
2819
+ };
2820
+ export type SessionPromptError = SessionPromptErrors[keyof SessionPromptErrors];
2821
+ export type SessionPromptResponses = {
2822
+ /**
2823
+ * Created message
2824
+ */
2825
+ 200: {
2826
+ info: AssistantMessage;
2827
+ parts: Array<Part>;
2828
+ };
2829
+ };
2830
+ export type SessionPromptResponse = SessionPromptResponses[keyof SessionPromptResponses];
2831
+ export type SessionDeleteMessageData = {
2832
+ body?: never;
2833
+ path: {
2834
+ /**
2835
+ * Session ID
2836
+ */
2837
+ sessionID: string;
2838
+ /**
2839
+ * Message ID
2840
+ */
2841
+ messageID: string;
2842
+ };
2843
+ query?: {
2844
+ directory?: string;
2845
+ workspace?: string;
2846
+ };
2847
+ url: "/session/{sessionID}/message/{messageID}";
2848
+ };
2849
+ export type SessionDeleteMessageErrors = {
2850
+ /**
2851
+ * Bad request
2852
+ */
2853
+ 400: BadRequestError;
2854
+ /**
2855
+ * Not found
2856
+ */
2857
+ 404: NotFoundError;
2858
+ };
2859
+ export type SessionDeleteMessageError = SessionDeleteMessageErrors[keyof SessionDeleteMessageErrors];
2860
+ export type SessionDeleteMessageResponses = {
2861
+ /**
2862
+ * Successfully deleted message
2863
+ */
2864
+ 200: boolean;
2865
+ };
2866
+ export type SessionDeleteMessageResponse = SessionDeleteMessageResponses[keyof SessionDeleteMessageResponses];
2867
+ export type SessionMessageData = {
2868
+ body?: never;
2869
+ path: {
2870
+ /**
2871
+ * Session ID
2872
+ */
2873
+ sessionID: string;
2874
+ /**
2875
+ * Message ID
2876
+ */
2877
+ messageID: string;
2878
+ };
2879
+ query?: {
2880
+ directory?: string;
2881
+ workspace?: string;
2882
+ };
2883
+ url: "/session/{sessionID}/message/{messageID}";
2884
+ };
2885
+ export type SessionMessageErrors = {
2886
+ /**
2887
+ * Bad request
2888
+ */
2889
+ 400: BadRequestError;
2890
+ /**
2891
+ * Not found
2892
+ */
2893
+ 404: NotFoundError;
2894
+ };
2895
+ export type SessionMessageError = SessionMessageErrors[keyof SessionMessageErrors];
2896
+ export type SessionMessageResponses = {
2897
+ /**
2898
+ * Message
2899
+ */
2900
+ 200: {
2901
+ info: Message;
2902
+ parts: Array<Part>;
2903
+ };
2904
+ };
2905
+ export type SessionMessageResponse = SessionMessageResponses[keyof SessionMessageResponses];
2906
+ export type PartDeleteData = {
2907
+ body?: never;
2908
+ path: {
2909
+ /**
2910
+ * Session ID
2911
+ */
2912
+ sessionID: string;
2913
+ /**
2914
+ * Message ID
2915
+ */
2916
+ messageID: string;
2917
+ /**
2918
+ * Part ID
2919
+ */
2920
+ partID: string;
2921
+ };
2922
+ query?: {
2923
+ directory?: string;
2924
+ workspace?: string;
2925
+ };
2926
+ url: "/session/{sessionID}/message/{messageID}/part/{partID}";
2927
+ };
2928
+ export type PartDeleteErrors = {
2929
+ /**
2930
+ * Bad request
2931
+ */
2932
+ 400: BadRequestError;
2933
+ /**
2934
+ * Not found
2935
+ */
2936
+ 404: NotFoundError;
2937
+ };
2938
+ export type PartDeleteError = PartDeleteErrors[keyof PartDeleteErrors];
2939
+ export type PartDeleteResponses = {
2940
+ /**
2941
+ * Successfully deleted part
2942
+ */
2943
+ 200: boolean;
2944
+ };
2945
+ export type PartDeleteResponse = PartDeleteResponses[keyof PartDeleteResponses];
2946
+ export type PartUpdateData = {
2947
+ body?: Part;
2948
+ path: {
2949
+ /**
2950
+ * Session ID
2951
+ */
2952
+ sessionID: string;
2953
+ /**
2954
+ * Message ID
2955
+ */
2956
+ messageID: string;
2957
+ /**
2958
+ * Part ID
2959
+ */
2960
+ partID: string;
2961
+ };
2962
+ query?: {
2963
+ directory?: string;
2964
+ workspace?: string;
2965
+ };
2966
+ url: "/session/{sessionID}/message/{messageID}/part/{partID}";
2967
+ };
2968
+ export type PartUpdateErrors = {
2969
+ /**
2970
+ * Bad request
2971
+ */
2972
+ 400: BadRequestError;
2973
+ /**
2974
+ * Not found
2975
+ */
2976
+ 404: NotFoundError;
2977
+ };
2978
+ export type PartUpdateError = PartUpdateErrors[keyof PartUpdateErrors];
2979
+ export type PartUpdateResponses = {
2980
+ /**
2981
+ * Successfully updated part
2982
+ */
2983
+ 200: Part;
2984
+ };
2985
+ export type PartUpdateResponse = PartUpdateResponses[keyof PartUpdateResponses];
2986
+ export type SessionPromptAsyncData = {
2987
+ body?: {
2988
+ messageID?: string;
2989
+ model?: {
2990
+ providerID: string;
2991
+ modelID: string;
2992
+ };
2993
+ agent?: string;
2994
+ noReply?: boolean;
2995
+ /**
2996
+ * @deprecated tools and permissions have been merged, you can set permissions on the session itself now
2997
+ */
2998
+ tools?: {
2999
+ [key: string]: boolean;
3000
+ };
3001
+ format?: OutputFormat;
3002
+ system?: string;
3003
+ variant?: string;
3004
+ parts: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput>;
3005
+ };
3006
+ path: {
3007
+ /**
3008
+ * Session ID
3009
+ */
3010
+ sessionID: string;
3011
+ };
3012
+ query?: {
3013
+ directory?: string;
3014
+ workspace?: string;
3015
+ };
3016
+ url: "/session/{sessionID}/prompt_async";
3017
+ };
3018
+ export type SessionPromptAsyncErrors = {
3019
+ /**
3020
+ * Bad request
3021
+ */
3022
+ 400: BadRequestError;
3023
+ /**
3024
+ * Not found
3025
+ */
3026
+ 404: NotFoundError;
3027
+ };
3028
+ export type SessionPromptAsyncError = SessionPromptAsyncErrors[keyof SessionPromptAsyncErrors];
3029
+ export type SessionPromptAsyncResponses = {
3030
+ /**
3031
+ * Prompt accepted
3032
+ */
3033
+ 204: void;
3034
+ };
3035
+ export type SessionPromptAsyncResponse = SessionPromptAsyncResponses[keyof SessionPromptAsyncResponses];
3036
+ export type SessionCommandData = {
3037
+ body?: {
3038
+ messageID?: string;
3039
+ agent?: string;
3040
+ model?: string;
3041
+ arguments: string;
3042
+ command: string;
3043
+ variant?: string;
3044
+ parts?: Array<{
3045
+ id?: string;
3046
+ type: "file";
3047
+ mime: string;
3048
+ filename?: string;
3049
+ url: string;
3050
+ source?: FilePartSource;
3051
+ }>;
3052
+ };
3053
+ path: {
3054
+ /**
3055
+ * Session ID
3056
+ */
3057
+ sessionID: string;
3058
+ };
3059
+ query?: {
3060
+ directory?: string;
3061
+ workspace?: string;
3062
+ };
3063
+ url: "/session/{sessionID}/command";
3064
+ };
3065
+ export type SessionCommandErrors = {
3066
+ /**
3067
+ * Bad request
3068
+ */
3069
+ 400: BadRequestError;
3070
+ /**
3071
+ * Not found
3072
+ */
3073
+ 404: NotFoundError;
3074
+ };
3075
+ export type SessionCommandError = SessionCommandErrors[keyof SessionCommandErrors];
3076
+ export type SessionCommandResponses = {
3077
+ /**
3078
+ * Created message
3079
+ */
3080
+ 200: {
3081
+ info: AssistantMessage;
3082
+ parts: Array<Part>;
3083
+ };
3084
+ };
3085
+ export type SessionCommandResponse = SessionCommandResponses[keyof SessionCommandResponses];
3086
+ export type SessionShellData = {
3087
+ body?: {
3088
+ agent: string;
3089
+ model?: {
3090
+ providerID: string;
3091
+ modelID: string;
3092
+ };
3093
+ command: string;
3094
+ };
3095
+ path: {
3096
+ /**
3097
+ * Session ID
3098
+ */
3099
+ sessionID: string;
3100
+ };
3101
+ query?: {
3102
+ directory?: string;
3103
+ workspace?: string;
3104
+ };
3105
+ url: "/session/{sessionID}/shell";
3106
+ };
3107
+ export type SessionShellErrors = {
3108
+ /**
3109
+ * Bad request
3110
+ */
3111
+ 400: BadRequestError;
3112
+ /**
3113
+ * Not found
3114
+ */
3115
+ 404: NotFoundError;
3116
+ };
3117
+ export type SessionShellError = SessionShellErrors[keyof SessionShellErrors];
3118
+ export type SessionShellResponses = {
3119
+ /**
3120
+ * Created message
3121
+ */
3122
+ 200: AssistantMessage;
3123
+ };
3124
+ export type SessionShellResponse = SessionShellResponses[keyof SessionShellResponses];
3125
+ export type SessionRevertData = {
3126
+ body?: {
3127
+ messageID: string;
3128
+ partID?: string;
3129
+ };
3130
+ path: {
3131
+ sessionID: string;
3132
+ };
3133
+ query?: {
3134
+ directory?: string;
3135
+ workspace?: string;
3136
+ };
3137
+ url: "/session/{sessionID}/revert";
3138
+ };
3139
+ export type SessionRevertErrors = {
3140
+ /**
3141
+ * Bad request
3142
+ */
3143
+ 400: BadRequestError;
3144
+ /**
3145
+ * Not found
3146
+ */
3147
+ 404: NotFoundError;
3148
+ };
3149
+ export type SessionRevertError = SessionRevertErrors[keyof SessionRevertErrors];
3150
+ export type SessionRevertResponses = {
3151
+ /**
3152
+ * Updated session
3153
+ */
3154
+ 200: Session;
3155
+ };
3156
+ export type SessionRevertResponse = SessionRevertResponses[keyof SessionRevertResponses];
3157
+ export type SessionUnrevertData = {
3158
+ body?: never;
3159
+ path: {
3160
+ sessionID: string;
3161
+ };
3162
+ query?: {
3163
+ directory?: string;
3164
+ workspace?: string;
3165
+ };
3166
+ url: "/session/{sessionID}/unrevert";
3167
+ };
3168
+ export type SessionUnrevertErrors = {
3169
+ /**
3170
+ * Bad request
3171
+ */
3172
+ 400: BadRequestError;
3173
+ /**
3174
+ * Not found
3175
+ */
3176
+ 404: NotFoundError;
3177
+ };
3178
+ export type SessionUnrevertError = SessionUnrevertErrors[keyof SessionUnrevertErrors];
3179
+ export type SessionUnrevertResponses = {
3180
+ /**
3181
+ * Updated session
3182
+ */
3183
+ 200: Session;
3184
+ };
3185
+ export type SessionUnrevertResponse = SessionUnrevertResponses[keyof SessionUnrevertResponses];
3186
+ export type PermissionRespondData = {
3187
+ body?: {
3188
+ response: "once" | "always" | "reject";
3189
+ };
3190
+ path: {
3191
+ sessionID: string;
3192
+ permissionID: string;
3193
+ };
3194
+ query?: {
3195
+ directory?: string;
3196
+ workspace?: string;
3197
+ };
3198
+ url: "/session/{sessionID}/permissions/{permissionID}";
3199
+ };
3200
+ export type PermissionRespondErrors = {
3201
+ /**
3202
+ * Bad request
3203
+ */
3204
+ 400: BadRequestError;
3205
+ /**
3206
+ * Not found
3207
+ */
3208
+ 404: NotFoundError;
3209
+ };
3210
+ export type PermissionRespondError = PermissionRespondErrors[keyof PermissionRespondErrors];
3211
+ export type PermissionRespondResponses = {
3212
+ /**
3213
+ * Permission processed successfully
3214
+ */
3215
+ 200: boolean;
3216
+ };
3217
+ export type PermissionRespondResponse = PermissionRespondResponses[keyof PermissionRespondResponses];
3218
+ export type PermissionReplyData = {
3219
+ body?: {
3220
+ reply: "once" | "always" | "reject";
3221
+ message?: string;
3222
+ };
3223
+ path: {
3224
+ requestID: string;
3225
+ };
3226
+ query?: {
3227
+ directory?: string;
3228
+ workspace?: string;
3229
+ };
3230
+ url: "/permission/{requestID}/reply";
3231
+ };
3232
+ export type PermissionReplyErrors = {
3233
+ /**
3234
+ * Bad request
3235
+ */
3236
+ 400: BadRequestError;
3237
+ /**
3238
+ * Not found
3239
+ */
3240
+ 404: NotFoundError;
3241
+ };
3242
+ export type PermissionReplyError = PermissionReplyErrors[keyof PermissionReplyErrors];
3243
+ export type PermissionReplyResponses = {
3244
+ /**
3245
+ * Permission processed successfully
3246
+ */
3247
+ 200: boolean;
3248
+ };
3249
+ export type PermissionReplyResponse = PermissionReplyResponses[keyof PermissionReplyResponses];
3250
+ export type PermissionListData = {
3251
+ body?: never;
3252
+ path?: never;
3253
+ query?: {
3254
+ directory?: string;
3255
+ workspace?: string;
3256
+ };
3257
+ url: "/permission";
3258
+ };
3259
+ export type PermissionListResponses = {
3260
+ /**
3261
+ * List of pending permissions
3262
+ */
3263
+ 200: Array<PermissionRequest>;
3264
+ };
3265
+ export type PermissionListResponse = PermissionListResponses[keyof PermissionListResponses];
3266
+ export type QuestionListData = {
3267
+ body?: never;
3268
+ path?: never;
3269
+ query?: {
3270
+ directory?: string;
3271
+ workspace?: string;
3272
+ };
3273
+ url: "/question";
3274
+ };
3275
+ export type QuestionListResponses = {
3276
+ /**
3277
+ * List of pending questions
3278
+ */
3279
+ 200: Array<QuestionRequest>;
3280
+ };
3281
+ export type QuestionListResponse = QuestionListResponses[keyof QuestionListResponses];
3282
+ export type QuestionReplyData = {
3283
+ body?: {
3284
+ /**
3285
+ * User answers in order of questions (each answer is an array of selected labels)
3286
+ */
3287
+ answers: Array<QuestionAnswer>;
3288
+ };
3289
+ path: {
3290
+ requestID: string;
3291
+ };
3292
+ query?: {
3293
+ directory?: string;
3294
+ workspace?: string;
3295
+ };
3296
+ url: "/question/{requestID}/reply";
3297
+ };
3298
+ export type QuestionReplyErrors = {
3299
+ /**
3300
+ * Bad request
3301
+ */
3302
+ 400: BadRequestError;
3303
+ /**
3304
+ * Not found
3305
+ */
3306
+ 404: NotFoundError;
3307
+ };
3308
+ export type QuestionReplyError = QuestionReplyErrors[keyof QuestionReplyErrors];
3309
+ export type QuestionReplyResponses = {
3310
+ /**
3311
+ * Question answered successfully
3312
+ */
3313
+ 200: boolean;
3314
+ };
3315
+ export type QuestionReplyResponse = QuestionReplyResponses[keyof QuestionReplyResponses];
3316
+ export type QuestionRejectData = {
3317
+ body?: never;
3318
+ path: {
3319
+ requestID: string;
3320
+ };
3321
+ query?: {
3322
+ directory?: string;
3323
+ workspace?: string;
3324
+ };
3325
+ url: "/question/{requestID}/reject";
3326
+ };
3327
+ export type QuestionRejectErrors = {
3328
+ /**
3329
+ * Bad request
3330
+ */
3331
+ 400: BadRequestError;
3332
+ /**
3333
+ * Not found
3334
+ */
3335
+ 404: NotFoundError;
3336
+ };
3337
+ export type QuestionRejectError = QuestionRejectErrors[keyof QuestionRejectErrors];
3338
+ export type QuestionRejectResponses = {
3339
+ /**
3340
+ * Question rejected successfully
3341
+ */
3342
+ 200: boolean;
3343
+ };
3344
+ export type QuestionRejectResponse = QuestionRejectResponses[keyof QuestionRejectResponses];
3345
+ export type ProviderListData = {
3346
+ body?: never;
3347
+ path?: never;
3348
+ query?: {
3349
+ directory?: string;
3350
+ workspace?: string;
3351
+ };
3352
+ url: "/provider";
3353
+ };
3354
+ export type ProviderListResponses = {
3355
+ /**
3356
+ * List of providers
3357
+ */
3358
+ 200: {
3359
+ all: Array<{
3360
+ api?: string;
3361
+ name: string;
3362
+ env: Array<string>;
3363
+ id: string;
3364
+ npm?: string;
3365
+ models: {
3366
+ [key: string]: {
3367
+ id: string;
3368
+ name: string;
3369
+ family?: string;
3370
+ release_date: string;
3371
+ attachment: boolean;
3372
+ reasoning: boolean;
3373
+ temperature: boolean;
3374
+ tool_call: boolean;
3375
+ interleaved?: true | {
3376
+ field: "reasoning_content" | "reasoning_details";
3377
+ };
3378
+ cost?: {
3379
+ input: number;
3380
+ output: number;
3381
+ cache_read?: number;
3382
+ cache_write?: number;
3383
+ context_over_200k?: {
3384
+ input: number;
3385
+ output: number;
3386
+ cache_read?: number;
3387
+ cache_write?: number;
3388
+ };
3389
+ };
3390
+ limit: {
3391
+ context: number;
3392
+ input?: number;
3393
+ output: number;
3394
+ };
3395
+ modalities?: {
3396
+ input: Array<"text" | "audio" | "image" | "video" | "pdf">;
3397
+ output: Array<"text" | "audio" | "image" | "video" | "pdf">;
3398
+ };
3399
+ experimental?: boolean;
3400
+ status?: "alpha" | "beta" | "deprecated";
3401
+ options: {
3402
+ [key: string]: unknown;
3403
+ };
3404
+ headers?: {
3405
+ [key: string]: string;
3406
+ };
3407
+ provider?: {
3408
+ npm?: string;
3409
+ api?: string;
3410
+ };
3411
+ variants?: {
3412
+ [key: string]: {
3413
+ [key: string]: unknown;
3414
+ };
3415
+ };
3416
+ };
3417
+ };
3418
+ }>;
3419
+ default: {
3420
+ [key: string]: string;
3421
+ };
3422
+ connected: Array<string>;
3423
+ };
3424
+ };
3425
+ export type ProviderListResponse = ProviderListResponses[keyof ProviderListResponses];
3426
+ export type ProviderAuthData = {
3427
+ body?: never;
3428
+ path?: never;
3429
+ query?: {
3430
+ directory?: string;
3431
+ workspace?: string;
3432
+ };
3433
+ url: "/provider/auth";
3434
+ };
3435
+ export type ProviderAuthResponses = {
3436
+ /**
3437
+ * Provider auth methods
3438
+ */
3439
+ 200: {
3440
+ [key: string]: Array<ProviderAuthMethod>;
3441
+ };
3442
+ };
3443
+ export type ProviderAuthResponse = ProviderAuthResponses[keyof ProviderAuthResponses];
3444
+ export type ProviderOauthAuthorizeData = {
3445
+ body?: {
3446
+ /**
3447
+ * Auth method index
3448
+ */
3449
+ method: number;
3450
+ };
3451
+ path: {
3452
+ /**
3453
+ * Provider ID
3454
+ */
3455
+ providerID: string;
3456
+ };
3457
+ query?: {
3458
+ directory?: string;
3459
+ workspace?: string;
3460
+ };
3461
+ url: "/provider/{providerID}/oauth/authorize";
3462
+ };
3463
+ export type ProviderOauthAuthorizeErrors = {
3464
+ /**
3465
+ * Bad request
3466
+ */
3467
+ 400: BadRequestError;
3468
+ };
3469
+ export type ProviderOauthAuthorizeError = ProviderOauthAuthorizeErrors[keyof ProviderOauthAuthorizeErrors];
3470
+ export type ProviderOauthAuthorizeResponses = {
3471
+ /**
3472
+ * Authorization URL and method
3473
+ */
3474
+ 200: ProviderAuthAuthorization;
3475
+ };
3476
+ export type ProviderOauthAuthorizeResponse = ProviderOauthAuthorizeResponses[keyof ProviderOauthAuthorizeResponses];
3477
+ export type ProviderOauthCallbackData = {
3478
+ body?: {
3479
+ /**
3480
+ * Auth method index
3481
+ */
3482
+ method: number;
3483
+ /**
3484
+ * OAuth authorization code
3485
+ */
3486
+ code?: string;
3487
+ };
3488
+ path: {
3489
+ /**
3490
+ * Provider ID
3491
+ */
3492
+ providerID: string;
3493
+ };
3494
+ query?: {
3495
+ directory?: string;
3496
+ workspace?: string;
3497
+ };
3498
+ url: "/provider/{providerID}/oauth/callback";
3499
+ };
3500
+ export type ProviderOauthCallbackErrors = {
3501
+ /**
3502
+ * Bad request
3503
+ */
3504
+ 400: BadRequestError;
3505
+ };
3506
+ export type ProviderOauthCallbackError = ProviderOauthCallbackErrors[keyof ProviderOauthCallbackErrors];
3507
+ export type ProviderOauthCallbackResponses = {
3508
+ /**
3509
+ * OAuth callback processed successfully
3510
+ */
3511
+ 200: boolean;
3512
+ };
3513
+ export type ProviderOauthCallbackResponse = ProviderOauthCallbackResponses[keyof ProviderOauthCallbackResponses];
3514
+ export type FindTextData = {
3515
+ body?: never;
3516
+ path?: never;
3517
+ query: {
3518
+ directory?: string;
3519
+ workspace?: string;
3520
+ pattern: string;
3521
+ };
3522
+ url: "/find";
3523
+ };
3524
+ export type FindTextResponses = {
3525
+ /**
3526
+ * Matches
3527
+ */
3528
+ 200: Array<{
3529
+ path: {
3530
+ text: string;
3531
+ };
3532
+ lines: {
3533
+ text: string;
3534
+ };
3535
+ line_number: number;
3536
+ absolute_offset: number;
3537
+ submatches: Array<{
3538
+ match: {
3539
+ text: string;
3540
+ };
3541
+ start: number;
3542
+ end: number;
3543
+ }>;
3544
+ }>;
3545
+ };
3546
+ export type FindTextResponse = FindTextResponses[keyof FindTextResponses];
3547
+ export type FindFilesData = {
3548
+ body?: never;
3549
+ path?: never;
3550
+ query: {
3551
+ directory?: string;
3552
+ workspace?: string;
3553
+ query: string;
3554
+ dirs?: "true" | "false";
3555
+ type?: "file" | "directory";
3556
+ limit?: number;
3557
+ };
3558
+ url: "/find/file";
3559
+ };
3560
+ export type FindFilesResponses = {
3561
+ /**
3562
+ * File paths
3563
+ */
3564
+ 200: Array<string>;
3565
+ };
3566
+ export type FindFilesResponse = FindFilesResponses[keyof FindFilesResponses];
3567
+ export type FindSymbolsData = {
3568
+ body?: never;
3569
+ path?: never;
3570
+ query: {
3571
+ directory?: string;
3572
+ workspace?: string;
3573
+ query: string;
3574
+ };
3575
+ url: "/find/symbol";
3576
+ };
3577
+ export type FindSymbolsResponses = {
3578
+ /**
3579
+ * Symbols
3580
+ */
3581
+ 200: Array<Symbol>;
3582
+ };
3583
+ export type FindSymbolsResponse = FindSymbolsResponses[keyof FindSymbolsResponses];
3584
+ export type FileListData = {
3585
+ body?: never;
3586
+ path?: never;
3587
+ query: {
3588
+ directory?: string;
3589
+ workspace?: string;
3590
+ path: string;
3591
+ };
3592
+ url: "/file";
3593
+ };
3594
+ export type FileListResponses = {
3595
+ /**
3596
+ * Files and directories
3597
+ */
3598
+ 200: Array<FileNode>;
3599
+ };
3600
+ export type FileListResponse = FileListResponses[keyof FileListResponses];
3601
+ export type FileReadData = {
3602
+ body?: never;
3603
+ path?: never;
3604
+ query: {
3605
+ directory?: string;
3606
+ workspace?: string;
3607
+ path: string;
3608
+ };
3609
+ url: "/file/content";
3610
+ };
3611
+ export type FileReadResponses = {
3612
+ /**
3613
+ * File content
3614
+ */
3615
+ 200: FileContent;
3616
+ };
3617
+ export type FileReadResponse = FileReadResponses[keyof FileReadResponses];
3618
+ export type FileStatusData = {
3619
+ body?: never;
3620
+ path?: never;
3621
+ query?: {
3622
+ directory?: string;
3623
+ workspace?: string;
3624
+ };
3625
+ url: "/file/status";
3626
+ };
3627
+ export type FileStatusResponses = {
3628
+ /**
3629
+ * File status
3630
+ */
3631
+ 200: Array<File>;
3632
+ };
3633
+ export type FileStatusResponse = FileStatusResponses[keyof FileStatusResponses];
3634
+ export type McpStatusData = {
3635
+ body?: never;
3636
+ path?: never;
3637
+ query?: {
3638
+ directory?: string;
3639
+ workspace?: string;
3640
+ };
3641
+ url: "/mcp";
3642
+ };
3643
+ export type McpStatusResponses = {
3644
+ /**
3645
+ * MCP server status
3646
+ */
3647
+ 200: {
3648
+ [key: string]: McpStatus;
3649
+ };
3650
+ };
3651
+ export type McpStatusResponse = McpStatusResponses[keyof McpStatusResponses];
3652
+ export type McpAddData = {
3653
+ body?: {
3654
+ name: string;
3655
+ config: McpLocalConfig | McpRemoteConfig;
3656
+ };
3657
+ path?: never;
3658
+ query?: {
3659
+ directory?: string;
3660
+ workspace?: string;
3661
+ };
3662
+ url: "/mcp";
3663
+ };
3664
+ export type McpAddErrors = {
3665
+ /**
3666
+ * Bad request
3667
+ */
3668
+ 400: BadRequestError;
3669
+ };
3670
+ export type McpAddError = McpAddErrors[keyof McpAddErrors];
3671
+ export type McpAddResponses = {
3672
+ /**
3673
+ * MCP server added successfully
3674
+ */
3675
+ 200: {
3676
+ [key: string]: McpStatus;
3677
+ };
3678
+ };
3679
+ export type McpAddResponse = McpAddResponses[keyof McpAddResponses];
3680
+ export type McpAuthRemoveData = {
3681
+ body?: never;
3682
+ path: {
3683
+ name: string;
3684
+ };
3685
+ query?: {
3686
+ directory?: string;
3687
+ workspace?: string;
3688
+ };
3689
+ url: "/mcp/{name}/auth";
3690
+ };
3691
+ export type McpAuthRemoveErrors = {
3692
+ /**
3693
+ * Not found
3694
+ */
3695
+ 404: NotFoundError;
3696
+ };
3697
+ export type McpAuthRemoveError = McpAuthRemoveErrors[keyof McpAuthRemoveErrors];
3698
+ export type McpAuthRemoveResponses = {
3699
+ /**
3700
+ * OAuth credentials removed
3701
+ */
3702
+ 200: {
3703
+ success: true;
3704
+ };
3705
+ };
3706
+ export type McpAuthRemoveResponse = McpAuthRemoveResponses[keyof McpAuthRemoveResponses];
3707
+ export type McpAuthStartData = {
3708
+ body?: never;
3709
+ path: {
3710
+ name: string;
3711
+ };
3712
+ query?: {
3713
+ directory?: string;
3714
+ workspace?: string;
3715
+ };
3716
+ url: "/mcp/{name}/auth";
3717
+ };
3718
+ export type McpAuthStartErrors = {
3719
+ /**
3720
+ * Bad request
3721
+ */
3722
+ 400: BadRequestError;
3723
+ /**
3724
+ * Not found
3725
+ */
3726
+ 404: NotFoundError;
3727
+ };
3728
+ export type McpAuthStartError = McpAuthStartErrors[keyof McpAuthStartErrors];
3729
+ export type McpAuthStartResponses = {
3730
+ /**
3731
+ * OAuth flow started
3732
+ */
3733
+ 200: {
3734
+ /**
3735
+ * URL to open in browser for authorization
3736
+ */
3737
+ authorizationUrl: string;
3738
+ };
3739
+ };
3740
+ export type McpAuthStartResponse = McpAuthStartResponses[keyof McpAuthStartResponses];
3741
+ export type McpAuthCallbackData = {
3742
+ body?: {
3743
+ /**
3744
+ * Authorization code from OAuth callback
3745
+ */
3746
+ code: string;
3747
+ };
3748
+ path: {
3749
+ name: string;
3750
+ };
3751
+ query?: {
3752
+ directory?: string;
3753
+ workspace?: string;
3754
+ };
3755
+ url: "/mcp/{name}/auth/callback";
3756
+ };
3757
+ export type McpAuthCallbackErrors = {
3758
+ /**
3759
+ * Bad request
3760
+ */
3761
+ 400: BadRequestError;
3762
+ /**
3763
+ * Not found
3764
+ */
3765
+ 404: NotFoundError;
3766
+ };
3767
+ export type McpAuthCallbackError = McpAuthCallbackErrors[keyof McpAuthCallbackErrors];
3768
+ export type McpAuthCallbackResponses = {
3769
+ /**
3770
+ * OAuth authentication completed
3771
+ */
3772
+ 200: McpStatus;
3773
+ };
3774
+ export type McpAuthCallbackResponse = McpAuthCallbackResponses[keyof McpAuthCallbackResponses];
3775
+ export type McpAuthAuthenticateData = {
3776
+ body?: never;
3777
+ path: {
3778
+ name: string;
3779
+ };
3780
+ query?: {
3781
+ directory?: string;
3782
+ workspace?: string;
3783
+ };
3784
+ url: "/mcp/{name}/auth/authenticate";
3785
+ };
3786
+ export type McpAuthAuthenticateErrors = {
3787
+ /**
3788
+ * Bad request
3789
+ */
3790
+ 400: BadRequestError;
3791
+ /**
3792
+ * Not found
3793
+ */
3794
+ 404: NotFoundError;
3795
+ };
3796
+ export type McpAuthAuthenticateError = McpAuthAuthenticateErrors[keyof McpAuthAuthenticateErrors];
3797
+ export type McpAuthAuthenticateResponses = {
3798
+ /**
3799
+ * OAuth authentication completed
3800
+ */
3801
+ 200: McpStatus;
3802
+ };
3803
+ export type McpAuthAuthenticateResponse = McpAuthAuthenticateResponses[keyof McpAuthAuthenticateResponses];
3804
+ export type McpConnectData = {
3805
+ body?: never;
3806
+ path: {
3807
+ name: string;
3808
+ };
3809
+ query?: {
3810
+ directory?: string;
3811
+ workspace?: string;
3812
+ };
3813
+ url: "/mcp/{name}/connect";
3814
+ };
3815
+ export type McpConnectResponses = {
3816
+ /**
3817
+ * MCP server connected successfully
3818
+ */
3819
+ 200: boolean;
3820
+ };
3821
+ export type McpConnectResponse = McpConnectResponses[keyof McpConnectResponses];
3822
+ export type McpDisconnectData = {
3823
+ body?: never;
3824
+ path: {
3825
+ name: string;
3826
+ };
3827
+ query?: {
3828
+ directory?: string;
3829
+ workspace?: string;
3830
+ };
3831
+ url: "/mcp/{name}/disconnect";
3832
+ };
3833
+ export type McpDisconnectResponses = {
3834
+ /**
3835
+ * MCP server disconnected successfully
3836
+ */
3837
+ 200: boolean;
3838
+ };
3839
+ export type McpDisconnectResponse = McpDisconnectResponses[keyof McpDisconnectResponses];
3840
+ export type TuiAppendPromptData = {
3841
+ body?: {
3842
+ text: string;
3843
+ };
3844
+ path?: never;
3845
+ query?: {
3846
+ directory?: string;
3847
+ workspace?: string;
3848
+ };
3849
+ url: "/tui/append-prompt";
3850
+ };
3851
+ export type TuiAppendPromptErrors = {
3852
+ /**
3853
+ * Bad request
3854
+ */
3855
+ 400: BadRequestError;
3856
+ };
3857
+ export type TuiAppendPromptError = TuiAppendPromptErrors[keyof TuiAppendPromptErrors];
3858
+ export type TuiAppendPromptResponses = {
3859
+ /**
3860
+ * Prompt processed successfully
3861
+ */
3862
+ 200: boolean;
3863
+ };
3864
+ export type TuiAppendPromptResponse = TuiAppendPromptResponses[keyof TuiAppendPromptResponses];
3865
+ export type TuiOpenHelpData = {
3866
+ body?: never;
3867
+ path?: never;
3868
+ query?: {
3869
+ directory?: string;
3870
+ workspace?: string;
3871
+ };
3872
+ url: "/tui/open-help";
3873
+ };
3874
+ export type TuiOpenHelpResponses = {
3875
+ /**
3876
+ * Help dialog opened successfully
3877
+ */
3878
+ 200: boolean;
3879
+ };
3880
+ export type TuiOpenHelpResponse = TuiOpenHelpResponses[keyof TuiOpenHelpResponses];
3881
+ export type TuiOpenSessionsData = {
3882
+ body?: never;
3883
+ path?: never;
3884
+ query?: {
3885
+ directory?: string;
3886
+ workspace?: string;
3887
+ };
3888
+ url: "/tui/open-sessions";
3889
+ };
3890
+ export type TuiOpenSessionsResponses = {
3891
+ /**
3892
+ * Session dialog opened successfully
3893
+ */
3894
+ 200: boolean;
3895
+ };
3896
+ export type TuiOpenSessionsResponse = TuiOpenSessionsResponses[keyof TuiOpenSessionsResponses];
3897
+ export type TuiOpenThemesData = {
3898
+ body?: never;
3899
+ path?: never;
3900
+ query?: {
3901
+ directory?: string;
3902
+ workspace?: string;
3903
+ };
3904
+ url: "/tui/open-themes";
3905
+ };
3906
+ export type TuiOpenThemesResponses = {
3907
+ /**
3908
+ * Theme dialog opened successfully
3909
+ */
3910
+ 200: boolean;
3911
+ };
3912
+ export type TuiOpenThemesResponse = TuiOpenThemesResponses[keyof TuiOpenThemesResponses];
3913
+ export type TuiOpenModelsData = {
3914
+ body?: never;
3915
+ path?: never;
3916
+ query?: {
3917
+ directory?: string;
3918
+ workspace?: string;
3919
+ };
3920
+ url: "/tui/open-models";
3921
+ };
3922
+ export type TuiOpenModelsResponses = {
3923
+ /**
3924
+ * Model dialog opened successfully
3925
+ */
3926
+ 200: boolean;
3927
+ };
3928
+ export type TuiOpenModelsResponse = TuiOpenModelsResponses[keyof TuiOpenModelsResponses];
3929
+ export type TuiSubmitPromptData = {
3930
+ body?: never;
3931
+ path?: never;
3932
+ query?: {
3933
+ directory?: string;
3934
+ workspace?: string;
3935
+ };
3936
+ url: "/tui/submit-prompt";
3937
+ };
3938
+ export type TuiSubmitPromptResponses = {
3939
+ /**
3940
+ * Prompt submitted successfully
3941
+ */
3942
+ 200: boolean;
3943
+ };
3944
+ export type TuiSubmitPromptResponse = TuiSubmitPromptResponses[keyof TuiSubmitPromptResponses];
3945
+ export type TuiClearPromptData = {
3946
+ body?: never;
3947
+ path?: never;
3948
+ query?: {
3949
+ directory?: string;
3950
+ workspace?: string;
3951
+ };
3952
+ url: "/tui/clear-prompt";
3953
+ };
3954
+ export type TuiClearPromptResponses = {
3955
+ /**
3956
+ * Prompt cleared successfully
3957
+ */
3958
+ 200: boolean;
3959
+ };
3960
+ export type TuiClearPromptResponse = TuiClearPromptResponses[keyof TuiClearPromptResponses];
3961
+ export type TuiExecuteCommandData = {
3962
+ body?: {
3963
+ command: string;
3964
+ };
3965
+ path?: never;
3966
+ query?: {
3967
+ directory?: string;
3968
+ workspace?: string;
3969
+ };
3970
+ url: "/tui/execute-command";
3971
+ };
3972
+ export type TuiExecuteCommandErrors = {
3973
+ /**
3974
+ * Bad request
3975
+ */
3976
+ 400: BadRequestError;
3977
+ };
3978
+ export type TuiExecuteCommandError = TuiExecuteCommandErrors[keyof TuiExecuteCommandErrors];
3979
+ export type TuiExecuteCommandResponses = {
3980
+ /**
3981
+ * Command executed successfully
3982
+ */
3983
+ 200: boolean;
3984
+ };
3985
+ export type TuiExecuteCommandResponse = TuiExecuteCommandResponses[keyof TuiExecuteCommandResponses];
3986
+ export type TuiShowToastData = {
3987
+ body?: {
3988
+ title?: string;
3989
+ message: string;
3990
+ variant: "info" | "success" | "warning" | "error";
3991
+ /**
3992
+ * Duration in milliseconds
3993
+ */
3994
+ duration?: number;
3995
+ };
3996
+ path?: never;
3997
+ query?: {
3998
+ directory?: string;
3999
+ workspace?: string;
4000
+ };
4001
+ url: "/tui/show-toast";
4002
+ };
4003
+ export type TuiShowToastResponses = {
4004
+ /**
4005
+ * Toast notification shown successfully
4006
+ */
4007
+ 200: boolean;
4008
+ };
4009
+ export type TuiShowToastResponse = TuiShowToastResponses[keyof TuiShowToastResponses];
4010
+ export type TuiPublishData = {
4011
+ body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect;
4012
+ path?: never;
4013
+ query?: {
4014
+ directory?: string;
4015
+ workspace?: string;
4016
+ };
4017
+ url: "/tui/publish";
4018
+ };
4019
+ export type TuiPublishErrors = {
4020
+ /**
4021
+ * Bad request
4022
+ */
4023
+ 400: BadRequestError;
4024
+ };
4025
+ export type TuiPublishError = TuiPublishErrors[keyof TuiPublishErrors];
4026
+ export type TuiPublishResponses = {
4027
+ /**
4028
+ * Event published successfully
4029
+ */
4030
+ 200: boolean;
4031
+ };
4032
+ export type TuiPublishResponse = TuiPublishResponses[keyof TuiPublishResponses];
4033
+ export type TuiSelectSessionData = {
4034
+ body?: {
4035
+ /**
4036
+ * Session ID to navigate to
4037
+ */
4038
+ sessionID: string;
4039
+ };
4040
+ path?: never;
4041
+ query?: {
4042
+ directory?: string;
4043
+ workspace?: string;
4044
+ };
4045
+ url: "/tui/select-session";
4046
+ };
4047
+ export type TuiSelectSessionErrors = {
4048
+ /**
4049
+ * Bad request
4050
+ */
4051
+ 400: BadRequestError;
4052
+ /**
4053
+ * Not found
4054
+ */
4055
+ 404: NotFoundError;
4056
+ };
4057
+ export type TuiSelectSessionError = TuiSelectSessionErrors[keyof TuiSelectSessionErrors];
4058
+ export type TuiSelectSessionResponses = {
4059
+ /**
4060
+ * Session selected successfully
4061
+ */
4062
+ 200: boolean;
4063
+ };
4064
+ export type TuiSelectSessionResponse = TuiSelectSessionResponses[keyof TuiSelectSessionResponses];
4065
+ export type TuiControlNextData = {
4066
+ body?: never;
4067
+ path?: never;
4068
+ query?: {
4069
+ directory?: string;
4070
+ workspace?: string;
4071
+ };
4072
+ url: "/tui/control/next";
4073
+ };
4074
+ export type TuiControlNextResponses = {
4075
+ /**
4076
+ * Next TUI request
4077
+ */
4078
+ 200: {
4079
+ path: string;
4080
+ body: unknown;
4081
+ };
4082
+ };
4083
+ export type TuiControlNextResponse = TuiControlNextResponses[keyof TuiControlNextResponses];
4084
+ export type TuiControlResponseData = {
4085
+ body?: unknown;
4086
+ path?: never;
4087
+ query?: {
4088
+ directory?: string;
4089
+ workspace?: string;
4090
+ };
4091
+ url: "/tui/control/response";
4092
+ };
4093
+ export type TuiControlResponseResponses = {
4094
+ /**
4095
+ * Response submitted successfully
4096
+ */
4097
+ 200: boolean;
4098
+ };
4099
+ export type TuiControlResponseResponse = TuiControlResponseResponses[keyof TuiControlResponseResponses];
4100
+ export type InstanceDisposeData = {
4101
+ body?: never;
4102
+ path?: never;
4103
+ query?: {
4104
+ directory?: string;
4105
+ workspace?: string;
4106
+ };
4107
+ url: "/instance/dispose";
4108
+ };
4109
+ export type InstanceDisposeResponses = {
4110
+ /**
4111
+ * Instance disposed
4112
+ */
4113
+ 200: boolean;
4114
+ };
4115
+ export type InstanceDisposeResponse = InstanceDisposeResponses[keyof InstanceDisposeResponses];
4116
+ export type PathGetData = {
4117
+ body?: never;
4118
+ path?: never;
4119
+ query?: {
4120
+ directory?: string;
4121
+ workspace?: string;
4122
+ };
4123
+ url: "/path";
4124
+ };
4125
+ export type PathGetResponses = {
4126
+ /**
4127
+ * Path
4128
+ */
4129
+ 200: Path;
4130
+ };
4131
+ export type PathGetResponse = PathGetResponses[keyof PathGetResponses];
4132
+ export type VcsGetData = {
4133
+ body?: never;
4134
+ path?: never;
4135
+ query?: {
4136
+ directory?: string;
4137
+ workspace?: string;
4138
+ };
4139
+ url: "/vcs";
4140
+ };
4141
+ export type VcsGetResponses = {
4142
+ /**
4143
+ * VCS info
4144
+ */
4145
+ 200: VcsInfo;
4146
+ };
4147
+ export type VcsGetResponse = VcsGetResponses[keyof VcsGetResponses];
4148
+ export type CommandListData = {
4149
+ body?: never;
4150
+ path?: never;
4151
+ query?: {
4152
+ directory?: string;
4153
+ workspace?: string;
4154
+ };
4155
+ url: "/command";
4156
+ };
4157
+ export type CommandListResponses = {
4158
+ /**
4159
+ * List of commands
4160
+ */
4161
+ 200: Array<Command>;
4162
+ };
4163
+ export type CommandListResponse = CommandListResponses[keyof CommandListResponses];
4164
+ export type AppLogData = {
4165
+ body?: {
4166
+ /**
4167
+ * Service name for the log entry
4168
+ */
4169
+ service: string;
4170
+ /**
4171
+ * Log level
4172
+ */
4173
+ level: "debug" | "info" | "error" | "warn";
4174
+ /**
4175
+ * Log message
4176
+ */
4177
+ message: string;
4178
+ /**
4179
+ * Additional metadata for the log entry
4180
+ */
4181
+ extra?: {
4182
+ [key: string]: unknown;
4183
+ };
4184
+ };
4185
+ path?: never;
4186
+ query?: {
4187
+ directory?: string;
4188
+ workspace?: string;
4189
+ };
4190
+ url: "/log";
4191
+ };
4192
+ export type AppLogErrors = {
4193
+ /**
4194
+ * Bad request
4195
+ */
4196
+ 400: BadRequestError;
4197
+ };
4198
+ export type AppLogError = AppLogErrors[keyof AppLogErrors];
4199
+ export type AppLogResponses = {
4200
+ /**
4201
+ * Log entry written successfully
4202
+ */
4203
+ 200: boolean;
4204
+ };
4205
+ export type AppLogResponse = AppLogResponses[keyof AppLogResponses];
4206
+ export type AppAgentsData = {
4207
+ body?: never;
4208
+ path?: never;
4209
+ query?: {
4210
+ directory?: string;
4211
+ workspace?: string;
4212
+ };
4213
+ url: "/agent";
4214
+ };
4215
+ export type AppAgentsResponses = {
4216
+ /**
4217
+ * List of agents
4218
+ */
4219
+ 200: Array<Agent>;
4220
+ };
4221
+ export type AppAgentsResponse = AppAgentsResponses[keyof AppAgentsResponses];
4222
+ export type AppSkillsData = {
4223
+ body?: never;
4224
+ path?: never;
4225
+ query?: {
4226
+ directory?: string;
4227
+ workspace?: string;
4228
+ };
4229
+ url: "/skill";
4230
+ };
4231
+ export type AppSkillsResponses = {
4232
+ /**
4233
+ * List of skills
4234
+ */
4235
+ 200: Array<{
4236
+ name: string;
4237
+ description: string;
4238
+ location: string;
4239
+ content: string;
4240
+ }>;
4241
+ };
4242
+ export type AppSkillsResponse = AppSkillsResponses[keyof AppSkillsResponses];
4243
+ export type LspStatusData = {
4244
+ body?: never;
4245
+ path?: never;
4246
+ query?: {
4247
+ directory?: string;
4248
+ workspace?: string;
4249
+ };
4250
+ url: "/lsp";
4251
+ };
4252
+ export type LspStatusResponses = {
4253
+ /**
4254
+ * LSP server status
4255
+ */
4256
+ 200: Array<LspStatus>;
4257
+ };
4258
+ export type LspStatusResponse = LspStatusResponses[keyof LspStatusResponses];
4259
+ export type FormatterStatusData = {
4260
+ body?: never;
4261
+ path?: never;
4262
+ query?: {
4263
+ directory?: string;
4264
+ workspace?: string;
4265
+ };
4266
+ url: "/formatter";
4267
+ };
4268
+ export type FormatterStatusResponses = {
4269
+ /**
4270
+ * Formatter status
4271
+ */
4272
+ 200: Array<FormatterStatus>;
4273
+ };
4274
+ export type FormatterStatusResponse = FormatterStatusResponses[keyof FormatterStatusResponses];
4275
+ export type EventSubscribeData = {
4276
+ body?: never;
4277
+ path?: never;
4278
+ query?: {
4279
+ directory?: string;
4280
+ workspace?: string;
4281
+ };
4282
+ url: "/event";
4283
+ };
4284
+ export type EventSubscribeResponses = {
4285
+ /**
4286
+ * Event stream
4287
+ */
4288
+ 200: Event;
4289
+ };
4290
+ export type EventSubscribeResponse = EventSubscribeResponses[keyof EventSubscribeResponses];