@opencode-ai/sdk 0.1.0-alpha.2 → 0.1.0-alpha.20

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 (300) hide show
  1. package/CHANGELOG.md +173 -0
  2. package/LICENSE +198 -4
  3. package/README.md +27 -9
  4. package/client.d.mts +25 -53
  5. package/client.d.mts.map +1 -1
  6. package/client.d.ts +25 -53
  7. package/client.d.ts.map +1 -1
  8. package/client.js +25 -55
  9. package/client.js.map +1 -1
  10. package/client.mjs +25 -55
  11. package/client.mjs.map +1 -1
  12. package/core/streaming.d.mts +33 -0
  13. package/core/streaming.d.mts.map +1 -0
  14. package/core/streaming.d.ts +33 -0
  15. package/core/streaming.d.ts.map +1 -0
  16. package/core/streaming.js +263 -0
  17. package/core/streaming.js.map +1 -0
  18. package/core/streaming.mjs +258 -0
  19. package/core/streaming.mjs.map +1 -0
  20. package/internal/decoders/line.d.mts +17 -0
  21. package/internal/decoders/line.d.mts.map +1 -0
  22. package/internal/decoders/line.d.ts +17 -0
  23. package/internal/decoders/line.d.ts.map +1 -0
  24. package/internal/decoders/line.js +113 -0
  25. package/internal/decoders/line.js.map +1 -0
  26. package/internal/decoders/line.mjs +108 -0
  27. package/internal/decoders/line.mjs.map +1 -0
  28. package/internal/parse.d.mts.map +1 -1
  29. package/internal/parse.d.ts.map +1 -1
  30. package/internal/parse.js +10 -0
  31. package/internal/parse.js.map +1 -1
  32. package/internal/parse.mjs +10 -0
  33. package/internal/parse.mjs.map +1 -1
  34. package/internal/request-options.d.mts +44 -0
  35. package/internal/request-options.d.mts.map +1 -1
  36. package/internal/request-options.d.ts +44 -0
  37. package/internal/request-options.d.ts.map +1 -1
  38. package/internal/request-options.js.map +1 -1
  39. package/internal/request-options.mjs.map +1 -1
  40. package/internal/tslib.js +6 -6
  41. package/internal/types.d.mts +8 -6
  42. package/internal/types.d.mts.map +1 -1
  43. package/internal/types.d.ts +8 -6
  44. package/internal/types.d.ts.map +1 -1
  45. package/internal/uploads.js +1 -1
  46. package/internal/uploads.js.map +1 -1
  47. package/internal/uploads.mjs +1 -1
  48. package/internal/uploads.mjs.map +1 -1
  49. package/internal/utils/log.js +1 -1
  50. package/internal/utils/log.js.map +1 -1
  51. package/internal/utils/log.mjs +1 -1
  52. package/internal/utils/log.mjs.map +1 -1
  53. package/internal/utils/path.d.mts.map +1 -1
  54. package/internal/utils/path.d.ts.map +1 -1
  55. package/internal/utils/path.js +26 -5
  56. package/internal/utils/path.js.map +1 -1
  57. package/internal/utils/path.mjs +26 -5
  58. package/internal/utils/path.mjs.map +1 -1
  59. package/package.json +13 -3
  60. package/resources/app.d.mts +130 -0
  61. package/resources/app.d.mts.map +1 -0
  62. package/resources/app.d.ts +130 -0
  63. package/resources/app.d.ts.map +1 -0
  64. package/resources/app.js +39 -0
  65. package/resources/app.js.map +1 -0
  66. package/resources/app.mjs +35 -0
  67. package/resources/app.mjs.map +1 -0
  68. package/resources/config.d.mts +344 -0
  69. package/resources/config.d.mts.map +1 -0
  70. package/resources/config.d.ts +344 -0
  71. package/resources/config.d.ts.map +1 -0
  72. package/resources/{config-get.js → config.js} +6 -6
  73. package/resources/config.js.map +1 -0
  74. package/resources/{config-get.mjs → config.mjs} +4 -4
  75. package/resources/config.mjs.map +1 -0
  76. package/resources/event.d.mts +82 -29
  77. package/resources/event.d.mts.map +1 -1
  78. package/resources/event.d.ts +82 -29
  79. package/resources/event.d.ts.map +1 -1
  80. package/resources/event.js +1 -1
  81. package/resources/event.js.map +1 -1
  82. package/resources/event.mjs +1 -1
  83. package/resources/event.mjs.map +1 -1
  84. package/resources/file.d.mts +31 -0
  85. package/resources/file.d.mts.map +1 -0
  86. package/resources/file.d.ts +31 -0
  87. package/resources/file.d.ts.map +1 -0
  88. package/resources/file.js +21 -0
  89. package/resources/file.js.map +1 -0
  90. package/resources/file.mjs +17 -0
  91. package/resources/file.mjs.map +1 -0
  92. package/resources/find.d.mts +85 -0
  93. package/resources/find.d.mts.map +1 -0
  94. package/resources/find.d.ts +85 -0
  95. package/resources/find.d.ts.map +1 -0
  96. package/resources/find.js +27 -0
  97. package/resources/find.js.map +1 -0
  98. package/resources/find.mjs +23 -0
  99. package/resources/find.mjs.map +1 -0
  100. package/resources/index.d.mts +6 -16
  101. package/resources/index.d.mts.map +1 -1
  102. package/resources/index.d.ts +6 -16
  103. package/resources/index.d.ts.map +1 -1
  104. package/resources/index.js +13 -33
  105. package/resources/index.js.map +1 -1
  106. package/resources/index.mjs +6 -16
  107. package/resources/index.mjs.map +1 -1
  108. package/resources/session.d.mts +272 -0
  109. package/resources/session.d.mts.map +1 -0
  110. package/resources/session.d.ts +272 -0
  111. package/resources/session.d.ts.map +1 -0
  112. package/resources/session.js +70 -0
  113. package/resources/session.js.map +1 -0
  114. package/resources/session.mjs +66 -0
  115. package/resources/session.mjs.map +1 -0
  116. package/resources/shared.d.mts +24 -0
  117. package/resources/shared.d.mts.map +1 -0
  118. package/resources/shared.d.ts +24 -0
  119. package/resources/shared.d.ts.map +1 -0
  120. package/resources/shared.js +4 -0
  121. package/resources/shared.js.map +1 -0
  122. package/resources/shared.mjs +3 -0
  123. package/resources/shared.mjs.map +1 -0
  124. package/src/client.ts +145 -128
  125. package/src/core/streaming.ts +315 -0
  126. package/src/internal/decoders/line.ts +135 -0
  127. package/src/internal/parse.ts +14 -0
  128. package/src/internal/request-options.ts +55 -0
  129. package/src/internal/types.ts +9 -6
  130. package/src/internal/uploads.ts +1 -1
  131. package/src/internal/utils/log.ts +1 -1
  132. package/src/internal/utils/path.ts +32 -7
  133. package/src/resources/app.ts +196 -0
  134. package/src/resources/config.ts +431 -0
  135. package/src/resources/event.ts +119 -39
  136. package/src/resources/file.ts +52 -0
  137. package/src/resources/find.ts +133 -0
  138. package/src/resources/index.ts +65 -32
  139. package/src/resources/session.ts +457 -0
  140. package/src/resources/shared.ts +33 -0
  141. package/src/streaming.ts +2 -0
  142. package/src/version.ts +1 -1
  143. package/streaming.d.mts +2 -0
  144. package/streaming.d.mts.map +1 -0
  145. package/streaming.d.ts +2 -0
  146. package/streaming.d.ts.map +1 -0
  147. package/streaming.js +6 -0
  148. package/streaming.js.map +1 -0
  149. package/streaming.mjs +2 -0
  150. package/streaming.mjs.map +1 -0
  151. package/version.d.mts +1 -1
  152. package/version.d.mts.map +1 -1
  153. package/version.d.ts +1 -1
  154. package/version.d.ts.map +1 -1
  155. package/version.js +1 -1
  156. package/version.js.map +1 -1
  157. package/version.mjs +1 -1
  158. package/version.mjs.map +1 -1
  159. package/resources/app-info.d.mts +0 -31
  160. package/resources/app-info.d.mts.map +0 -1
  161. package/resources/app-info.d.ts +0 -31
  162. package/resources/app-info.d.ts.map +0 -1
  163. package/resources/app-info.js +0 -15
  164. package/resources/app-info.js.map +0 -1
  165. package/resources/app-info.mjs +0 -11
  166. package/resources/app-info.mjs.map +0 -1
  167. package/resources/app-initialize.d.mts +0 -14
  168. package/resources/app-initialize.d.mts.map +0 -1
  169. package/resources/app-initialize.d.ts +0 -14
  170. package/resources/app-initialize.d.ts.map +0 -1
  171. package/resources/app-initialize.js +0 -15
  172. package/resources/app-initialize.js.map +0 -1
  173. package/resources/app-initialize.mjs +0 -11
  174. package/resources/app-initialize.mjs.map +0 -1
  175. package/resources/config-get.d.mts +0 -236
  176. package/resources/config-get.d.mts.map +0 -1
  177. package/resources/config-get.d.ts +0 -236
  178. package/resources/config-get.d.ts.map +0 -1
  179. package/resources/config-get.js.map +0 -1
  180. package/resources/config-get.mjs.map +0 -1
  181. package/resources/file-search.d.mts +0 -17
  182. package/resources/file-search.d.mts.map +0 -1
  183. package/resources/file-search.d.ts +0 -17
  184. package/resources/file-search.d.ts.map +0 -1
  185. package/resources/file-search.js +0 -15
  186. package/resources/file-search.js.map +0 -1
  187. package/resources/file-search.mjs +0 -11
  188. package/resources/file-search.mjs.map +0 -1
  189. package/resources/installation-info.d.mts +0 -17
  190. package/resources/installation-info.d.mts.map +0 -1
  191. package/resources/installation-info.d.ts +0 -17
  192. package/resources/installation-info.d.ts.map +0 -1
  193. package/resources/installation-info.js +0 -15
  194. package/resources/installation-info.js.map +0 -1
  195. package/resources/installation-info.mjs +0 -11
  196. package/resources/installation-info.mjs.map +0 -1
  197. package/resources/path-get.d.mts +0 -19
  198. package/resources/path-get.d.mts.map +0 -1
  199. package/resources/path-get.d.ts +0 -19
  200. package/resources/path-get.d.ts.map +0 -1
  201. package/resources/path-get.js +0 -15
  202. package/resources/path-get.js.map +0 -1
  203. package/resources/path-get.mjs +0 -11
  204. package/resources/path-get.mjs.map +0 -1
  205. package/resources/provider-list.d.mts +0 -58
  206. package/resources/provider-list.d.mts.map +0 -1
  207. package/resources/provider-list.d.ts +0 -58
  208. package/resources/provider-list.d.ts.map +0 -1
  209. package/resources/provider-list.js +0 -15
  210. package/resources/provider-list.js.map +0 -1
  211. package/resources/provider-list.mjs +0 -11
  212. package/resources/provider-list.mjs.map +0 -1
  213. package/resources/session-abort.d.mts +0 -17
  214. package/resources/session-abort.d.mts.map +0 -1
  215. package/resources/session-abort.d.ts +0 -17
  216. package/resources/session-abort.d.ts.map +0 -1
  217. package/resources/session-abort.js +0 -15
  218. package/resources/session-abort.js.map +0 -1
  219. package/resources/session-abort.mjs +0 -11
  220. package/resources/session-abort.mjs.map +0 -1
  221. package/resources/session-chat.d.mts +0 -160
  222. package/resources/session-chat.d.mts.map +0 -1
  223. package/resources/session-chat.d.ts +0 -160
  224. package/resources/session-chat.d.ts.map +0 -1
  225. package/resources/session-chat.js +0 -15
  226. package/resources/session-chat.js.map +0 -1
  227. package/resources/session-chat.mjs +0 -11
  228. package/resources/session-chat.mjs.map +0 -1
  229. package/resources/session-create.d.mts +0 -30
  230. package/resources/session-create.d.mts.map +0 -1
  231. package/resources/session-create.d.ts +0 -30
  232. package/resources/session-create.d.ts.map +0 -1
  233. package/resources/session-create.js +0 -15
  234. package/resources/session-create.js.map +0 -1
  235. package/resources/session-create.mjs +0 -11
  236. package/resources/session-create.mjs.map +0 -1
  237. package/resources/session-initialize.d.mts +0 -19
  238. package/resources/session-initialize.d.mts.map +0 -1
  239. package/resources/session-initialize.d.ts +0 -19
  240. package/resources/session-initialize.d.ts.map +0 -1
  241. package/resources/session-initialize.js +0 -15
  242. package/resources/session-initialize.js.map +0 -1
  243. package/resources/session-initialize.mjs +0 -11
  244. package/resources/session-initialize.mjs.map +0 -1
  245. package/resources/session-list.d.mts +0 -15
  246. package/resources/session-list.d.mts.map +0 -1
  247. package/resources/session-list.d.ts +0 -15
  248. package/resources/session-list.d.ts.map +0 -1
  249. package/resources/session-list.js +0 -15
  250. package/resources/session-list.js.map +0 -1
  251. package/resources/session-list.mjs +0 -11
  252. package/resources/session-list.mjs.map +0 -1
  253. package/resources/session-messages.d.mts +0 -18
  254. package/resources/session-messages.d.mts.map +0 -1
  255. package/resources/session-messages.d.ts +0 -18
  256. package/resources/session-messages.d.ts.map +0 -1
  257. package/resources/session-messages.js +0 -15
  258. package/resources/session-messages.js.map +0 -1
  259. package/resources/session-messages.mjs +0 -11
  260. package/resources/session-messages.mjs.map +0 -1
  261. package/resources/session-share.d.mts +0 -17
  262. package/resources/session-share.d.mts.map +0 -1
  263. package/resources/session-share.d.ts +0 -17
  264. package/resources/session-share.d.ts.map +0 -1
  265. package/resources/session-share.js +0 -15
  266. package/resources/session-share.js.map +0 -1
  267. package/resources/session-share.mjs +0 -11
  268. package/resources/session-share.mjs.map +0 -1
  269. package/resources/session-summarize.d.mts +0 -19
  270. package/resources/session-summarize.d.mts.map +0 -1
  271. package/resources/session-summarize.d.ts +0 -19
  272. package/resources/session-summarize.d.ts.map +0 -1
  273. package/resources/session-summarize.js +0 -15
  274. package/resources/session-summarize.js.map +0 -1
  275. package/resources/session-summarize.mjs +0 -11
  276. package/resources/session-summarize.mjs.map +0 -1
  277. package/resources/session-unshare.d.mts +0 -17
  278. package/resources/session-unshare.d.mts.map +0 -1
  279. package/resources/session-unshare.d.ts +0 -17
  280. package/resources/session-unshare.d.ts.map +0 -1
  281. package/resources/session-unshare.js +0 -15
  282. package/resources/session-unshare.js.map +0 -1
  283. package/resources/session-unshare.mjs +0 -11
  284. package/resources/session-unshare.mjs.map +0 -1
  285. package/src/resources/app-info.ts +0 -46
  286. package/src/resources/app-initialize.ts +0 -20
  287. package/src/resources/config-get.ts +0 -294
  288. package/src/resources/file-search.ts +0 -27
  289. package/src/resources/installation-info.ts +0 -24
  290. package/src/resources/path-get.ts +0 -28
  291. package/src/resources/provider-list.ts +0 -80
  292. package/src/resources/session-abort.ts +0 -27
  293. package/src/resources/session-chat.ts +0 -250
  294. package/src/resources/session-create.ts +0 -44
  295. package/src/resources/session-initialize.ts +0 -34
  296. package/src/resources/session-list.ts +0 -21
  297. package/src/resources/session-messages.ts +0 -31
  298. package/src/resources/session-share.ts +0 -23
  299. package/src/resources/session-summarize.ts +0 -34
  300. package/src/resources/session-unshare.ts +0 -26
@@ -0,0 +1,344 @@
1
+ import { APIResource } from "../core/resource.mjs";
2
+ import * as ConfigAPI from "./config.mjs";
3
+ import * as AppAPI from "./app.mjs";
4
+ import { APIPromise } from "../core/api-promise.mjs";
5
+ import { RequestOptions } from "../internal/request-options.mjs";
6
+ export declare class ConfigResource extends APIResource {
7
+ /**
8
+ * Get config info
9
+ */
10
+ get(options?: RequestOptions): APIPromise<Config>;
11
+ }
12
+ export interface Config {
13
+ /**
14
+ * JSON schema reference for configuration validation
15
+ */
16
+ $schema?: string;
17
+ /**
18
+ * @deprecated Use 'share' field instead. Share newly created sessions
19
+ * automatically
20
+ */
21
+ autoshare?: boolean;
22
+ /**
23
+ * Automatically update to the latest version
24
+ */
25
+ autoupdate?: boolean;
26
+ /**
27
+ * Disable providers that are loaded automatically
28
+ */
29
+ disabled_providers?: Array<string>;
30
+ experimental?: Config.Experimental;
31
+ /**
32
+ * Additional instruction files or patterns to include
33
+ */
34
+ instructions?: Array<string>;
35
+ /**
36
+ * Custom keybind configurations
37
+ */
38
+ keybinds?: KeybindsConfig;
39
+ /**
40
+ * Layout to use for the TUI
41
+ */
42
+ layout?: LayoutConfig;
43
+ /**
44
+ * Minimum log level to write to log files
45
+ */
46
+ log_level?: AppAPI.LogLevel;
47
+ /**
48
+ * MCP (Model Context Protocol) server configurations
49
+ */
50
+ mcp?: {
51
+ [key: string]: McpLocalConfig | McpRemoteConfig;
52
+ };
53
+ /**
54
+ * Modes configuration, see https://opencode.ai/docs/modes
55
+ */
56
+ mode?: Config.Mode;
57
+ /**
58
+ * Model to use in the format of provider/model, eg anthropic/claude-2
59
+ */
60
+ model?: string;
61
+ /**
62
+ * Custom provider configurations and model overrides
63
+ */
64
+ provider?: {
65
+ [key: string]: Config.Provider;
66
+ };
67
+ /**
68
+ * Control sharing behavior: 'auto' enables automatic sharing, 'disabled' disables
69
+ * all sharing
70
+ */
71
+ share?: 'auto' | 'disabled';
72
+ /**
73
+ * Theme name to use for the interface
74
+ */
75
+ theme?: string;
76
+ /**
77
+ * Custom username to display in conversations instead of system username
78
+ */
79
+ username?: string;
80
+ }
81
+ export declare namespace Config {
82
+ interface Experimental {
83
+ hook?: Experimental.Hook;
84
+ }
85
+ namespace Experimental {
86
+ interface Hook {
87
+ file_edited?: {
88
+ [key: string]: Array<Hook.FileEdited>;
89
+ };
90
+ session_completed?: Array<Hook.SessionCompleted>;
91
+ }
92
+ namespace Hook {
93
+ interface FileEdited {
94
+ command: Array<string>;
95
+ environment?: {
96
+ [key: string]: string;
97
+ };
98
+ }
99
+ interface SessionCompleted {
100
+ command: Array<string>;
101
+ environment?: {
102
+ [key: string]: string;
103
+ };
104
+ }
105
+ }
106
+ }
107
+ /**
108
+ * Modes configuration, see https://opencode.ai/docs/modes
109
+ */
110
+ interface Mode {
111
+ build?: ConfigAPI.ModeConfig;
112
+ plan?: ConfigAPI.ModeConfig;
113
+ [k: string]: ConfigAPI.ModeConfig | undefined;
114
+ }
115
+ interface Provider {
116
+ models: {
117
+ [key: string]: Provider.Models;
118
+ };
119
+ id?: string;
120
+ api?: string;
121
+ env?: Array<string>;
122
+ name?: string;
123
+ npm?: string;
124
+ options?: {
125
+ [key: string]: unknown;
126
+ };
127
+ }
128
+ namespace Provider {
129
+ interface Models {
130
+ id?: string;
131
+ attachment?: boolean;
132
+ cost?: Models.Cost;
133
+ limit?: Models.Limit;
134
+ name?: string;
135
+ options?: {
136
+ [key: string]: unknown;
137
+ };
138
+ reasoning?: boolean;
139
+ release_date?: string;
140
+ temperature?: boolean;
141
+ tool_call?: boolean;
142
+ }
143
+ namespace Models {
144
+ interface Cost {
145
+ input: number;
146
+ output: number;
147
+ cache_read?: number;
148
+ cache_write?: number;
149
+ }
150
+ interface Limit {
151
+ context: number;
152
+ output: number;
153
+ }
154
+ }
155
+ }
156
+ }
157
+ export interface KeybindsConfig {
158
+ /**
159
+ * Exit the application
160
+ */
161
+ app_exit: string;
162
+ /**
163
+ * Show help dialog
164
+ */
165
+ app_help: string;
166
+ /**
167
+ * Open external editor
168
+ */
169
+ editor_open: string;
170
+ /**
171
+ * Close file
172
+ */
173
+ file_close: string;
174
+ /**
175
+ * Split/unified diff
176
+ */
177
+ file_diff_toggle: string;
178
+ /**
179
+ * List files
180
+ */
181
+ file_list: string;
182
+ /**
183
+ * Search file
184
+ */
185
+ file_search: string;
186
+ /**
187
+ * Clear input field
188
+ */
189
+ input_clear: string;
190
+ /**
191
+ * Insert newline in input
192
+ */
193
+ input_newline: string;
194
+ /**
195
+ * Paste from clipboard
196
+ */
197
+ input_paste: string;
198
+ /**
199
+ * Submit input
200
+ */
201
+ input_submit: string;
202
+ /**
203
+ * Leader key for keybind combinations
204
+ */
205
+ leader: string;
206
+ /**
207
+ * Copy message
208
+ */
209
+ messages_copy: string;
210
+ /**
211
+ * Navigate to first message
212
+ */
213
+ messages_first: string;
214
+ /**
215
+ * Scroll messages down by half page
216
+ */
217
+ messages_half_page_down: string;
218
+ /**
219
+ * Scroll messages up by half page
220
+ */
221
+ messages_half_page_up: string;
222
+ /**
223
+ * Navigate to last message
224
+ */
225
+ messages_last: string;
226
+ /**
227
+ * Toggle layout
228
+ */
229
+ messages_layout_toggle: string;
230
+ /**
231
+ * Navigate to next message
232
+ */
233
+ messages_next: string;
234
+ /**
235
+ * Scroll messages down by one page
236
+ */
237
+ messages_page_down: string;
238
+ /**
239
+ * Scroll messages up by one page
240
+ */
241
+ messages_page_up: string;
242
+ /**
243
+ * Navigate to previous message
244
+ */
245
+ messages_previous: string;
246
+ /**
247
+ * Revert message
248
+ */
249
+ messages_revert: string;
250
+ /**
251
+ * List available models
252
+ */
253
+ model_list: string;
254
+ /**
255
+ * Create/update AGENTS.md
256
+ */
257
+ project_init: string;
258
+ /**
259
+ * Compact the session
260
+ */
261
+ session_compact: string;
262
+ /**
263
+ * Export session to editor
264
+ */
265
+ session_export: string;
266
+ /**
267
+ * Interrupt current session
268
+ */
269
+ session_interrupt: string;
270
+ /**
271
+ * List all sessions
272
+ */
273
+ session_list: string;
274
+ /**
275
+ * Create a new session
276
+ */
277
+ session_new: string;
278
+ /**
279
+ * Share current session
280
+ */
281
+ session_share: string;
282
+ /**
283
+ * Unshare current session
284
+ */
285
+ session_unshare: string;
286
+ /**
287
+ * Switch mode
288
+ */
289
+ switch_mode: string;
290
+ /**
291
+ * List available themes
292
+ */
293
+ theme_list: string;
294
+ /**
295
+ * Toggle tool details
296
+ */
297
+ tool_details: string;
298
+ }
299
+ export type LayoutConfig = 'auto' | 'stretch';
300
+ export interface McpLocalConfig {
301
+ /**
302
+ * Command and arguments to run the MCP server
303
+ */
304
+ command: Array<string>;
305
+ /**
306
+ * Type of MCP server connection
307
+ */
308
+ type: 'local';
309
+ /**
310
+ * Enable or disable the MCP server on startup
311
+ */
312
+ enabled?: boolean;
313
+ /**
314
+ * Environment variables to set when running the MCP server
315
+ */
316
+ environment?: {
317
+ [key: string]: string;
318
+ };
319
+ }
320
+ export interface McpRemoteConfig {
321
+ /**
322
+ * Type of MCP server connection
323
+ */
324
+ type: 'remote';
325
+ /**
326
+ * URL of the remote MCP server
327
+ */
328
+ url: string;
329
+ /**
330
+ * Enable or disable the MCP server on startup
331
+ */
332
+ enabled?: boolean;
333
+ }
334
+ export interface ModeConfig {
335
+ model?: string;
336
+ prompt?: string;
337
+ tools?: {
338
+ [key: string]: boolean;
339
+ };
340
+ }
341
+ export declare namespace ConfigResource {
342
+ export { type Config as Config, type KeybindsConfig as KeybindsConfig, type LayoutConfig as LayoutConfig, type McpLocalConfig as McpLocalConfig, type McpRemoteConfig as McpRemoteConfig, type ModeConfig as ModeConfig, };
343
+ }
344
+ //# sourceMappingURL=config.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.mts","sourceRoot":"","sources":["../src/resources/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,344 @@
1
+ import { APIResource } from "../core/resource.js";
2
+ import * as ConfigAPI from "./config.js";
3
+ import * as AppAPI from "./app.js";
4
+ import { APIPromise } from "../core/api-promise.js";
5
+ import { RequestOptions } from "../internal/request-options.js";
6
+ export declare class ConfigResource extends APIResource {
7
+ /**
8
+ * Get config info
9
+ */
10
+ get(options?: RequestOptions): APIPromise<Config>;
11
+ }
12
+ export interface Config {
13
+ /**
14
+ * JSON schema reference for configuration validation
15
+ */
16
+ $schema?: string;
17
+ /**
18
+ * @deprecated Use 'share' field instead. Share newly created sessions
19
+ * automatically
20
+ */
21
+ autoshare?: boolean;
22
+ /**
23
+ * Automatically update to the latest version
24
+ */
25
+ autoupdate?: boolean;
26
+ /**
27
+ * Disable providers that are loaded automatically
28
+ */
29
+ disabled_providers?: Array<string>;
30
+ experimental?: Config.Experimental;
31
+ /**
32
+ * Additional instruction files or patterns to include
33
+ */
34
+ instructions?: Array<string>;
35
+ /**
36
+ * Custom keybind configurations
37
+ */
38
+ keybinds?: KeybindsConfig;
39
+ /**
40
+ * Layout to use for the TUI
41
+ */
42
+ layout?: LayoutConfig;
43
+ /**
44
+ * Minimum log level to write to log files
45
+ */
46
+ log_level?: AppAPI.LogLevel;
47
+ /**
48
+ * MCP (Model Context Protocol) server configurations
49
+ */
50
+ mcp?: {
51
+ [key: string]: McpLocalConfig | McpRemoteConfig;
52
+ };
53
+ /**
54
+ * Modes configuration, see https://opencode.ai/docs/modes
55
+ */
56
+ mode?: Config.Mode;
57
+ /**
58
+ * Model to use in the format of provider/model, eg anthropic/claude-2
59
+ */
60
+ model?: string;
61
+ /**
62
+ * Custom provider configurations and model overrides
63
+ */
64
+ provider?: {
65
+ [key: string]: Config.Provider;
66
+ };
67
+ /**
68
+ * Control sharing behavior: 'auto' enables automatic sharing, 'disabled' disables
69
+ * all sharing
70
+ */
71
+ share?: 'auto' | 'disabled';
72
+ /**
73
+ * Theme name to use for the interface
74
+ */
75
+ theme?: string;
76
+ /**
77
+ * Custom username to display in conversations instead of system username
78
+ */
79
+ username?: string;
80
+ }
81
+ export declare namespace Config {
82
+ interface Experimental {
83
+ hook?: Experimental.Hook;
84
+ }
85
+ namespace Experimental {
86
+ interface Hook {
87
+ file_edited?: {
88
+ [key: string]: Array<Hook.FileEdited>;
89
+ };
90
+ session_completed?: Array<Hook.SessionCompleted>;
91
+ }
92
+ namespace Hook {
93
+ interface FileEdited {
94
+ command: Array<string>;
95
+ environment?: {
96
+ [key: string]: string;
97
+ };
98
+ }
99
+ interface SessionCompleted {
100
+ command: Array<string>;
101
+ environment?: {
102
+ [key: string]: string;
103
+ };
104
+ }
105
+ }
106
+ }
107
+ /**
108
+ * Modes configuration, see https://opencode.ai/docs/modes
109
+ */
110
+ interface Mode {
111
+ build?: ConfigAPI.ModeConfig;
112
+ plan?: ConfigAPI.ModeConfig;
113
+ [k: string]: ConfigAPI.ModeConfig | undefined;
114
+ }
115
+ interface Provider {
116
+ models: {
117
+ [key: string]: Provider.Models;
118
+ };
119
+ id?: string;
120
+ api?: string;
121
+ env?: Array<string>;
122
+ name?: string;
123
+ npm?: string;
124
+ options?: {
125
+ [key: string]: unknown;
126
+ };
127
+ }
128
+ namespace Provider {
129
+ interface Models {
130
+ id?: string;
131
+ attachment?: boolean;
132
+ cost?: Models.Cost;
133
+ limit?: Models.Limit;
134
+ name?: string;
135
+ options?: {
136
+ [key: string]: unknown;
137
+ };
138
+ reasoning?: boolean;
139
+ release_date?: string;
140
+ temperature?: boolean;
141
+ tool_call?: boolean;
142
+ }
143
+ namespace Models {
144
+ interface Cost {
145
+ input: number;
146
+ output: number;
147
+ cache_read?: number;
148
+ cache_write?: number;
149
+ }
150
+ interface Limit {
151
+ context: number;
152
+ output: number;
153
+ }
154
+ }
155
+ }
156
+ }
157
+ export interface KeybindsConfig {
158
+ /**
159
+ * Exit the application
160
+ */
161
+ app_exit: string;
162
+ /**
163
+ * Show help dialog
164
+ */
165
+ app_help: string;
166
+ /**
167
+ * Open external editor
168
+ */
169
+ editor_open: string;
170
+ /**
171
+ * Close file
172
+ */
173
+ file_close: string;
174
+ /**
175
+ * Split/unified diff
176
+ */
177
+ file_diff_toggle: string;
178
+ /**
179
+ * List files
180
+ */
181
+ file_list: string;
182
+ /**
183
+ * Search file
184
+ */
185
+ file_search: string;
186
+ /**
187
+ * Clear input field
188
+ */
189
+ input_clear: string;
190
+ /**
191
+ * Insert newline in input
192
+ */
193
+ input_newline: string;
194
+ /**
195
+ * Paste from clipboard
196
+ */
197
+ input_paste: string;
198
+ /**
199
+ * Submit input
200
+ */
201
+ input_submit: string;
202
+ /**
203
+ * Leader key for keybind combinations
204
+ */
205
+ leader: string;
206
+ /**
207
+ * Copy message
208
+ */
209
+ messages_copy: string;
210
+ /**
211
+ * Navigate to first message
212
+ */
213
+ messages_first: string;
214
+ /**
215
+ * Scroll messages down by half page
216
+ */
217
+ messages_half_page_down: string;
218
+ /**
219
+ * Scroll messages up by half page
220
+ */
221
+ messages_half_page_up: string;
222
+ /**
223
+ * Navigate to last message
224
+ */
225
+ messages_last: string;
226
+ /**
227
+ * Toggle layout
228
+ */
229
+ messages_layout_toggle: string;
230
+ /**
231
+ * Navigate to next message
232
+ */
233
+ messages_next: string;
234
+ /**
235
+ * Scroll messages down by one page
236
+ */
237
+ messages_page_down: string;
238
+ /**
239
+ * Scroll messages up by one page
240
+ */
241
+ messages_page_up: string;
242
+ /**
243
+ * Navigate to previous message
244
+ */
245
+ messages_previous: string;
246
+ /**
247
+ * Revert message
248
+ */
249
+ messages_revert: string;
250
+ /**
251
+ * List available models
252
+ */
253
+ model_list: string;
254
+ /**
255
+ * Create/update AGENTS.md
256
+ */
257
+ project_init: string;
258
+ /**
259
+ * Compact the session
260
+ */
261
+ session_compact: string;
262
+ /**
263
+ * Export session to editor
264
+ */
265
+ session_export: string;
266
+ /**
267
+ * Interrupt current session
268
+ */
269
+ session_interrupt: string;
270
+ /**
271
+ * List all sessions
272
+ */
273
+ session_list: string;
274
+ /**
275
+ * Create a new session
276
+ */
277
+ session_new: string;
278
+ /**
279
+ * Share current session
280
+ */
281
+ session_share: string;
282
+ /**
283
+ * Unshare current session
284
+ */
285
+ session_unshare: string;
286
+ /**
287
+ * Switch mode
288
+ */
289
+ switch_mode: string;
290
+ /**
291
+ * List available themes
292
+ */
293
+ theme_list: string;
294
+ /**
295
+ * Toggle tool details
296
+ */
297
+ tool_details: string;
298
+ }
299
+ export type LayoutConfig = 'auto' | 'stretch';
300
+ export interface McpLocalConfig {
301
+ /**
302
+ * Command and arguments to run the MCP server
303
+ */
304
+ command: Array<string>;
305
+ /**
306
+ * Type of MCP server connection
307
+ */
308
+ type: 'local';
309
+ /**
310
+ * Enable or disable the MCP server on startup
311
+ */
312
+ enabled?: boolean;
313
+ /**
314
+ * Environment variables to set when running the MCP server
315
+ */
316
+ environment?: {
317
+ [key: string]: string;
318
+ };
319
+ }
320
+ export interface McpRemoteConfig {
321
+ /**
322
+ * Type of MCP server connection
323
+ */
324
+ type: 'remote';
325
+ /**
326
+ * URL of the remote MCP server
327
+ */
328
+ url: string;
329
+ /**
330
+ * Enable or disable the MCP server on startup
331
+ */
332
+ enabled?: boolean;
333
+ }
334
+ export interface ModeConfig {
335
+ model?: string;
336
+ prompt?: string;
337
+ tools?: {
338
+ [key: string]: boolean;
339
+ };
340
+ }
341
+ export declare namespace ConfigResource {
342
+ export { type Config as Config, type KeybindsConfig as KeybindsConfig, type LayoutConfig as LayoutConfig, type McpLocalConfig as McpLocalConfig, type McpRemoteConfig as McpRemoteConfig, type ModeConfig as ModeConfig, };
343
+ }
344
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/resources/config.ts"],"names":[],"mappings":"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"}