opencode-python-sdk 0.0.1.dev1__py3-none-any.whl

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 (62) hide show
  1. opencode/.generated.json +39 -0
  2. opencode/__init__.py +221 -0
  3. opencode/_base_client.py +539 -0
  4. opencode/_client.py +255 -0
  5. opencode/_constants.py +27 -0
  6. opencode/_errors.py +547 -0
  7. opencode/_events.py +732 -0
  8. opencode/_exceptions.py +271 -0
  9. opencode/_models.py +54 -0
  10. opencode/_pagination.py +192 -0
  11. opencode/_pty.py +586 -0
  12. opencode/_qs.py +95 -0
  13. opencode/_resource.py +42 -0
  14. opencode/_rpc.py +489 -0
  15. opencode/_server.py +335 -0
  16. opencode/_streaming.py +248 -0
  17. opencode/_types.py +77 -0
  18. opencode/_unions.py +46 -0
  19. opencode/_version.py +8 -0
  20. opencode/lib/__init__.py +5 -0
  21. opencode/lib/_ready.py +91 -0
  22. opencode/lib/_session.py +231 -0
  23. opencode/py.typed +0 -0
  24. opencode/resources/__init__.py +364 -0
  25. opencode/resources/agent.py +179 -0
  26. opencode/resources/command.py +100 -0
  27. opencode/resources/config.py +240 -0
  28. opencode/resources/credential.py +384 -0
  29. opencode/resources/debug.py +178 -0
  30. opencode/resources/event.py +88 -0
  31. opencode/resources/experimental.py +765 -0
  32. opencode/resources/file.py +355 -0
  33. opencode/resources/form.py +100 -0
  34. opencode/resources/generate.py +110 -0
  35. opencode/resources/integration.py +1033 -0
  36. opencode/resources/location.py +162 -0
  37. opencode/resources/mcp.py +492 -0
  38. opencode/resources/message.py +152 -0
  39. opencode/resources/migration.py +118 -0
  40. opencode/resources/model.py +177 -0
  41. opencode/resources/permission.py +704 -0
  42. opencode/resources/plugin.py +250 -0
  43. opencode/resources/project.py +187 -0
  44. opencode/resources/provider.py +183 -0
  45. opencode/resources/pty.py +522 -0
  46. opencode/resources/reference.py +100 -0
  47. opencode/resources/rpc.py +113 -0
  48. opencode/resources/server.py +230 -0
  49. opencode/resources/session.py +3567 -0
  50. opencode/resources/shell.py +412 -0
  51. opencode/resources/skill.py +100 -0
  52. opencode/resources/vcs.py +500 -0
  53. opencode/resources/voice.py +113 -0
  54. opencode/resources/websearch.py +184 -0
  55. opencode/resources/worktree.py +336 -0
  56. opencode/testing.py +508 -0
  57. opencode/types/__init__.py +1462 -0
  58. opencode/types/_generated.py +8540 -0
  59. opencode_python_sdk-0.0.1.dev1.dist-info/METADATA +468 -0
  60. opencode_python_sdk-0.0.1.dev1.dist-info/RECORD +62 -0
  61. opencode_python_sdk-0.0.1.dev1.dist-info/WHEEL +4 -0
  62. opencode_python_sdk-0.0.1.dev1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,364 @@
1
+ # This file is generated by `python -m codegen` from spec/contract.json. Do not edit it by hand.
2
+ # OpenCode 2.1.2
3
+
4
+ """Resource groups attached to the clients."""
5
+
6
+ from __future__ import annotations
7
+
8
+ from functools import cached_property
9
+ from typing import TYPE_CHECKING, cast
10
+
11
+ from .agent import AgentResource, AsyncAgentResource
12
+ from .command import AsyncCommandResource, CommandResource
13
+ from .config import AsyncConfigResource, ConfigResource
14
+ from .credential import AsyncCredentialResource, CredentialResource
15
+ from .debug import AsyncDebugResource, DebugResource
16
+ from .event import AsyncEventResource, EventResource
17
+ from .experimental import AsyncExperimentalResource, ExperimentalResource
18
+ from .file import AsyncFileResource, FileResource
19
+ from .form import AsyncFormResource, FormResource
20
+ from .generate import AsyncGenerateResource, GenerateResource
21
+ from .integration import AsyncIntegrationResource, IntegrationResource
22
+ from .location import AsyncLocationResource, LocationResource
23
+ from .mcp import AsyncMcpResource, McpResource
24
+ from .message import AsyncMessageResource, MessageResource
25
+ from .migration import AsyncMigrationResource, MigrationResource
26
+ from .model import AsyncModelResource, ModelResource
27
+ from .permission import AsyncPermissionResource, PermissionResource
28
+ from .plugin import AsyncPluginResource, PluginResource
29
+ from .project import AsyncProjectResource, ProjectResource
30
+ from .provider import AsyncProviderResource, ProviderResource
31
+ from .pty import AsyncPtyResource, PtyResource
32
+ from .reference import AsyncReferenceResource, ReferenceResource
33
+ from .rpc import AsyncRpcResource, RpcResource
34
+ from .server import AsyncServerResource, ServerResource
35
+ from .session import AsyncSessionResource, SessionResource
36
+ from .shell import AsyncShellResource, ShellResource
37
+ from .skill import AsyncSkillResource, SkillResource
38
+ from .vcs import AsyncVcsResource, VcsResource
39
+ from .voice import AsyncVoiceResource, VoiceResource
40
+ from .websearch import AsyncWebsearchResource, WebsearchResource
41
+ from .worktree import AsyncWorktreeResource, WorktreeResource
42
+
43
+ if TYPE_CHECKING:
44
+ from .._client import AsyncOpencode, Opencode
45
+
46
+ __all__ = ["AsyncResources", "SyncResources"]
47
+
48
+
49
+ class SyncResources:
50
+ """Resource groups of :class:`opencode.Opencode`."""
51
+
52
+ @cached_property
53
+ def agent(self) -> AgentResource:
54
+ """Operations for OpenCode ``agent``."""
55
+ return AgentResource(cast("Opencode", self))
56
+
57
+ @cached_property
58
+ def command(self) -> CommandResource:
59
+ """Operations for OpenCode ``command``."""
60
+ return CommandResource(cast("Opencode", self))
61
+
62
+ @cached_property
63
+ def config(self) -> ConfigResource:
64
+ """Operations for OpenCode ``config``."""
65
+ return ConfigResource(cast("Opencode", self))
66
+
67
+ @cached_property
68
+ def credential(self) -> CredentialResource:
69
+ """Operations for OpenCode ``credential``."""
70
+ return CredentialResource(cast("Opencode", self))
71
+
72
+ @cached_property
73
+ def debug(self) -> DebugResource:
74
+ """Operations for OpenCode ``debug``."""
75
+ return DebugResource(cast("Opencode", self))
76
+
77
+ @cached_property
78
+ def event(self) -> EventResource:
79
+ """Operations for OpenCode ``event``."""
80
+ return EventResource(cast("Opencode", self))
81
+
82
+ @cached_property
83
+ def experimental(self) -> ExperimentalResource:
84
+ """Operations for OpenCode ``experimental``."""
85
+ return ExperimentalResource(cast("Opencode", self))
86
+
87
+ @cached_property
88
+ def file(self) -> FileResource:
89
+ """Operations for OpenCode ``file``."""
90
+ return FileResource(cast("Opencode", self))
91
+
92
+ @cached_property
93
+ def form(self) -> FormResource:
94
+ """Operations for OpenCode ``form``."""
95
+ return FormResource(cast("Opencode", self))
96
+
97
+ @cached_property
98
+ def generate(self) -> GenerateResource:
99
+ """Operations for OpenCode ``generate``."""
100
+ return GenerateResource(cast("Opencode", self))
101
+
102
+ @cached_property
103
+ def integration(self) -> IntegrationResource:
104
+ """Operations for OpenCode ``integration``."""
105
+ return IntegrationResource(cast("Opencode", self))
106
+
107
+ @cached_property
108
+ def location(self) -> LocationResource:
109
+ """Operations for OpenCode ``location``."""
110
+ return LocationResource(cast("Opencode", self))
111
+
112
+ @cached_property
113
+ def mcp(self) -> McpResource:
114
+ """Operations for OpenCode ``mcp``."""
115
+ return McpResource(cast("Opencode", self))
116
+
117
+ @cached_property
118
+ def message(self) -> MessageResource:
119
+ """Operations for OpenCode ``message``."""
120
+ return MessageResource(cast("Opencode", self))
121
+
122
+ @cached_property
123
+ def migration(self) -> MigrationResource:
124
+ """Operations for OpenCode ``migration``."""
125
+ return MigrationResource(cast("Opencode", self))
126
+
127
+ @cached_property
128
+ def model(self) -> ModelResource:
129
+ """Operations for OpenCode ``model``."""
130
+ return ModelResource(cast("Opencode", self))
131
+
132
+ @cached_property
133
+ def permission(self) -> PermissionResource:
134
+ """Operations for OpenCode ``permission``."""
135
+ return PermissionResource(cast("Opencode", self))
136
+
137
+ @cached_property
138
+ def plugin(self) -> PluginResource:
139
+ """Operations for OpenCode ``plugin``."""
140
+ return PluginResource(cast("Opencode", self))
141
+
142
+ @cached_property
143
+ def project(self) -> ProjectResource:
144
+ """Operations for OpenCode ``project``."""
145
+ return ProjectResource(cast("Opencode", self))
146
+
147
+ @cached_property
148
+ def provider(self) -> ProviderResource:
149
+ """Operations for OpenCode ``provider``."""
150
+ return ProviderResource(cast("Opencode", self))
151
+
152
+ @cached_property
153
+ def pty(self) -> PtyResource:
154
+ """Operations for OpenCode ``pty``."""
155
+ return PtyResource(cast("Opencode", self))
156
+
157
+ @cached_property
158
+ def reference(self) -> ReferenceResource:
159
+ """Operations for OpenCode ``reference``."""
160
+ return ReferenceResource(cast("Opencode", self))
161
+
162
+ @cached_property
163
+ def rpc(self) -> RpcResource:
164
+ """Operations for OpenCode ``rpc``."""
165
+ return RpcResource(cast("Opencode", self))
166
+
167
+ @cached_property
168
+ def server(self) -> ServerResource:
169
+ """Operations for OpenCode ``server``."""
170
+ return ServerResource(cast("Opencode", self))
171
+
172
+ @cached_property
173
+ def session(self) -> SessionResource:
174
+ """Operations for OpenCode ``session``."""
175
+ return SessionResource(cast("Opencode", self))
176
+
177
+ @cached_property
178
+ def shell(self) -> ShellResource:
179
+ """Operations for OpenCode ``shell``."""
180
+ return ShellResource(cast("Opencode", self))
181
+
182
+ @cached_property
183
+ def skill(self) -> SkillResource:
184
+ """Operations for OpenCode ``skill``."""
185
+ return SkillResource(cast("Opencode", self))
186
+
187
+ @cached_property
188
+ def vcs(self) -> VcsResource:
189
+ """Operations for OpenCode ``vcs``."""
190
+ return VcsResource(cast("Opencode", self))
191
+
192
+ @cached_property
193
+ def voice(self) -> VoiceResource:
194
+ """Operations for OpenCode ``voice``."""
195
+ return VoiceResource(cast("Opencode", self))
196
+
197
+ @cached_property
198
+ def websearch(self) -> WebsearchResource:
199
+ """Operations for OpenCode ``websearch``."""
200
+ return WebsearchResource(cast("Opencode", self))
201
+
202
+ @cached_property
203
+ def worktree(self) -> WorktreeResource:
204
+ """Operations for OpenCode ``worktree``."""
205
+ return WorktreeResource(cast("Opencode", self))
206
+
207
+
208
+ class AsyncResources:
209
+ """Resource groups of :class:`opencode.AsyncOpencode`."""
210
+
211
+ @cached_property
212
+ def agent(self) -> AsyncAgentResource:
213
+ """Operations for OpenCode ``agent``."""
214
+ return AsyncAgentResource(cast("AsyncOpencode", self))
215
+
216
+ @cached_property
217
+ def command(self) -> AsyncCommandResource:
218
+ """Operations for OpenCode ``command``."""
219
+ return AsyncCommandResource(cast("AsyncOpencode", self))
220
+
221
+ @cached_property
222
+ def config(self) -> AsyncConfigResource:
223
+ """Operations for OpenCode ``config``."""
224
+ return AsyncConfigResource(cast("AsyncOpencode", self))
225
+
226
+ @cached_property
227
+ def credential(self) -> AsyncCredentialResource:
228
+ """Operations for OpenCode ``credential``."""
229
+ return AsyncCredentialResource(cast("AsyncOpencode", self))
230
+
231
+ @cached_property
232
+ def debug(self) -> AsyncDebugResource:
233
+ """Operations for OpenCode ``debug``."""
234
+ return AsyncDebugResource(cast("AsyncOpencode", self))
235
+
236
+ @cached_property
237
+ def event(self) -> AsyncEventResource:
238
+ """Operations for OpenCode ``event``."""
239
+ return AsyncEventResource(cast("AsyncOpencode", self))
240
+
241
+ @cached_property
242
+ def experimental(self) -> AsyncExperimentalResource:
243
+ """Operations for OpenCode ``experimental``."""
244
+ return AsyncExperimentalResource(cast("AsyncOpencode", self))
245
+
246
+ @cached_property
247
+ def file(self) -> AsyncFileResource:
248
+ """Operations for OpenCode ``file``."""
249
+ return AsyncFileResource(cast("AsyncOpencode", self))
250
+
251
+ @cached_property
252
+ def form(self) -> AsyncFormResource:
253
+ """Operations for OpenCode ``form``."""
254
+ return AsyncFormResource(cast("AsyncOpencode", self))
255
+
256
+ @cached_property
257
+ def generate(self) -> AsyncGenerateResource:
258
+ """Operations for OpenCode ``generate``."""
259
+ return AsyncGenerateResource(cast("AsyncOpencode", self))
260
+
261
+ @cached_property
262
+ def integration(self) -> AsyncIntegrationResource:
263
+ """Operations for OpenCode ``integration``."""
264
+ return AsyncIntegrationResource(cast("AsyncOpencode", self))
265
+
266
+ @cached_property
267
+ def location(self) -> AsyncLocationResource:
268
+ """Operations for OpenCode ``location``."""
269
+ return AsyncLocationResource(cast("AsyncOpencode", self))
270
+
271
+ @cached_property
272
+ def mcp(self) -> AsyncMcpResource:
273
+ """Operations for OpenCode ``mcp``."""
274
+ return AsyncMcpResource(cast("AsyncOpencode", self))
275
+
276
+ @cached_property
277
+ def message(self) -> AsyncMessageResource:
278
+ """Operations for OpenCode ``message``."""
279
+ return AsyncMessageResource(cast("AsyncOpencode", self))
280
+
281
+ @cached_property
282
+ def migration(self) -> AsyncMigrationResource:
283
+ """Operations for OpenCode ``migration``."""
284
+ return AsyncMigrationResource(cast("AsyncOpencode", self))
285
+
286
+ @cached_property
287
+ def model(self) -> AsyncModelResource:
288
+ """Operations for OpenCode ``model``."""
289
+ return AsyncModelResource(cast("AsyncOpencode", self))
290
+
291
+ @cached_property
292
+ def permission(self) -> AsyncPermissionResource:
293
+ """Operations for OpenCode ``permission``."""
294
+ return AsyncPermissionResource(cast("AsyncOpencode", self))
295
+
296
+ @cached_property
297
+ def plugin(self) -> AsyncPluginResource:
298
+ """Operations for OpenCode ``plugin``."""
299
+ return AsyncPluginResource(cast("AsyncOpencode", self))
300
+
301
+ @cached_property
302
+ def project(self) -> AsyncProjectResource:
303
+ """Operations for OpenCode ``project``."""
304
+ return AsyncProjectResource(cast("AsyncOpencode", self))
305
+
306
+ @cached_property
307
+ def provider(self) -> AsyncProviderResource:
308
+ """Operations for OpenCode ``provider``."""
309
+ return AsyncProviderResource(cast("AsyncOpencode", self))
310
+
311
+ @cached_property
312
+ def pty(self) -> AsyncPtyResource:
313
+ """Operations for OpenCode ``pty``."""
314
+ return AsyncPtyResource(cast("AsyncOpencode", self))
315
+
316
+ @cached_property
317
+ def reference(self) -> AsyncReferenceResource:
318
+ """Operations for OpenCode ``reference``."""
319
+ return AsyncReferenceResource(cast("AsyncOpencode", self))
320
+
321
+ @cached_property
322
+ def rpc(self) -> AsyncRpcResource:
323
+ """Operations for OpenCode ``rpc``."""
324
+ return AsyncRpcResource(cast("AsyncOpencode", self))
325
+
326
+ @cached_property
327
+ def server(self) -> AsyncServerResource:
328
+ """Operations for OpenCode ``server``."""
329
+ return AsyncServerResource(cast("AsyncOpencode", self))
330
+
331
+ @cached_property
332
+ def session(self) -> AsyncSessionResource:
333
+ """Operations for OpenCode ``session``."""
334
+ return AsyncSessionResource(cast("AsyncOpencode", self))
335
+
336
+ @cached_property
337
+ def shell(self) -> AsyncShellResource:
338
+ """Operations for OpenCode ``shell``."""
339
+ return AsyncShellResource(cast("AsyncOpencode", self))
340
+
341
+ @cached_property
342
+ def skill(self) -> AsyncSkillResource:
343
+ """Operations for OpenCode ``skill``."""
344
+ return AsyncSkillResource(cast("AsyncOpencode", self))
345
+
346
+ @cached_property
347
+ def vcs(self) -> AsyncVcsResource:
348
+ """Operations for OpenCode ``vcs``."""
349
+ return AsyncVcsResource(cast("AsyncOpencode", self))
350
+
351
+ @cached_property
352
+ def voice(self) -> AsyncVoiceResource:
353
+ """Operations for OpenCode ``voice``."""
354
+ return AsyncVoiceResource(cast("AsyncOpencode", self))
355
+
356
+ @cached_property
357
+ def websearch(self) -> AsyncWebsearchResource:
358
+ """Operations for OpenCode ``websearch``."""
359
+ return AsyncWebsearchResource(cast("AsyncOpencode", self))
360
+
361
+ @cached_property
362
+ def worktree(self) -> AsyncWorktreeResource:
363
+ """Operations for OpenCode ``worktree``."""
364
+ return AsyncWorktreeResource(cast("AsyncOpencode", self))
@@ -0,0 +1,179 @@
1
+ # This file is generated by `python -m codegen` from spec/contract.json. Do not edit it by hand.
2
+ # OpenCode 2.1.2
3
+
4
+ """The ``agent`` resource."""
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING, cast
9
+
10
+ from .._base_client import RequestOptions
11
+ from .._qs import encode_path_segment
12
+ from .._resource import AsyncAPIResource, SyncAPIResource
13
+ from .._types import NOT_GIVEN, Body, Headers, NotGiven, Query, Timeout
14
+
15
+ if TYPE_CHECKING:
16
+ from ..types import (
17
+ AgentGetResponse,
18
+ AgentID,
19
+ AgentListResponse,
20
+ Location,
21
+ )
22
+
23
+ __all__ = ["AgentResource", "AsyncAgentResource"]
24
+
25
+
26
+ class AgentResource(SyncAPIResource):
27
+ """Operations under ``client.agent`` (OpenCode ``agent``)."""
28
+
29
+ def list(
30
+ self,
31
+ *,
32
+ location: Location | NotGiven | None = NOT_GIVEN,
33
+ extra_headers: Headers | None = None,
34
+ extra_query: Query | None = None,
35
+ extra_body: Body | None = None,
36
+ timeout: Timeout | NotGiven = NOT_GIVEN,
37
+ ) -> AgentListResponse:
38
+ """List agents.
39
+
40
+ Retrieve currently registered agents.
41
+
42
+ Raises:
43
+ InvalidRequestError: The server answered 400.
44
+ UnauthorizedError: The server answered 401.
45
+ LocationNotFoundError: The server answered 404.
46
+
47
+ ``GET /api/agent``
48
+ """
49
+ return cast(
50
+ "AgentListResponse",
51
+ self._client.request(
52
+ RequestOptions(
53
+ method="GET",
54
+ path="/api/agent",
55
+ query={"location": self._location(location)},
56
+ extra_headers=extra_headers,
57
+ extra_query=extra_query,
58
+ extra_body=extra_body,
59
+ timeout=timeout,
60
+ ),
61
+ response_type="AgentListResponse",
62
+ ),
63
+ )
64
+
65
+ def get(
66
+ self,
67
+ agent_id: AgentID,
68
+ *,
69
+ location: Location | NotGiven | None = NOT_GIVEN,
70
+ extra_headers: Headers | None = None,
71
+ extra_query: Query | None = None,
72
+ extra_body: Body | None = None,
73
+ timeout: Timeout | NotGiven = NOT_GIVEN,
74
+ ) -> AgentGetResponse:
75
+ """Get agent.
76
+
77
+ Retrieve a single currently registered agent.
78
+
79
+ Raises:
80
+ InvalidRequestError: The server answered 400.
81
+ UnauthorizedError: The server answered 401.
82
+ AgentNotFoundError: The server answered 404.
83
+ LocationNotFoundError: The server answered 404.
84
+
85
+ ``GET /api/agent/:agentID``
86
+ """
87
+ return cast(
88
+ "AgentGetResponse",
89
+ self._client.request(
90
+ RequestOptions(
91
+ method="GET",
92
+ path=f"/api/agent/{encode_path_segment(agent_id)}",
93
+ query={"location": self._location(location)},
94
+ extra_headers=extra_headers,
95
+ extra_query=extra_query,
96
+ extra_body=extra_body,
97
+ timeout=timeout,
98
+ ),
99
+ response_type="AgentGetResponse",
100
+ ),
101
+ )
102
+
103
+
104
+ class AsyncAgentResource(AsyncAPIResource):
105
+ """Operations under ``client.agent`` (OpenCode ``agent``)."""
106
+
107
+ async def list(
108
+ self,
109
+ *,
110
+ location: Location | NotGiven | None = NOT_GIVEN,
111
+ extra_headers: Headers | None = None,
112
+ extra_query: Query | None = None,
113
+ extra_body: Body | None = None,
114
+ timeout: Timeout | NotGiven = NOT_GIVEN,
115
+ ) -> AgentListResponse:
116
+ """List agents.
117
+
118
+ Retrieve currently registered agents.
119
+
120
+ Raises:
121
+ InvalidRequestError: The server answered 400.
122
+ UnauthorizedError: The server answered 401.
123
+ LocationNotFoundError: The server answered 404.
124
+
125
+ ``GET /api/agent``
126
+ """
127
+ return cast(
128
+ "AgentListResponse",
129
+ await self._client.request(
130
+ RequestOptions(
131
+ method="GET",
132
+ path="/api/agent",
133
+ query={"location": self._location(location)},
134
+ extra_headers=extra_headers,
135
+ extra_query=extra_query,
136
+ extra_body=extra_body,
137
+ timeout=timeout,
138
+ ),
139
+ response_type="AgentListResponse",
140
+ ),
141
+ )
142
+
143
+ async def get(
144
+ self,
145
+ agent_id: AgentID,
146
+ *,
147
+ location: Location | NotGiven | None = NOT_GIVEN,
148
+ extra_headers: Headers | None = None,
149
+ extra_query: Query | None = None,
150
+ extra_body: Body | None = None,
151
+ timeout: Timeout | NotGiven = NOT_GIVEN,
152
+ ) -> AgentGetResponse:
153
+ """Get agent.
154
+
155
+ Retrieve a single currently registered agent.
156
+
157
+ Raises:
158
+ InvalidRequestError: The server answered 400.
159
+ UnauthorizedError: The server answered 401.
160
+ AgentNotFoundError: The server answered 404.
161
+ LocationNotFoundError: The server answered 404.
162
+
163
+ ``GET /api/agent/:agentID``
164
+ """
165
+ return cast(
166
+ "AgentGetResponse",
167
+ await self._client.request(
168
+ RequestOptions(
169
+ method="GET",
170
+ path=f"/api/agent/{encode_path_segment(agent_id)}",
171
+ query={"location": self._location(location)},
172
+ extra_headers=extra_headers,
173
+ extra_query=extra_query,
174
+ extra_body=extra_body,
175
+ timeout=timeout,
176
+ ),
177
+ response_type="AgentGetResponse",
178
+ ),
179
+ )
@@ -0,0 +1,100 @@
1
+ # This file is generated by `python -m codegen` from spec/contract.json. Do not edit it by hand.
2
+ # OpenCode 2.1.2
3
+
4
+ """The ``command`` resource."""
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING, cast
9
+
10
+ from .._base_client import RequestOptions
11
+ from .._resource import AsyncAPIResource, SyncAPIResource
12
+ from .._types import NOT_GIVEN, Body, Headers, NotGiven, Query, Timeout
13
+
14
+ if TYPE_CHECKING:
15
+ from ..types import (
16
+ CommandListResponse,
17
+ Location,
18
+ )
19
+
20
+ __all__ = ["CommandResource", "AsyncCommandResource"]
21
+
22
+
23
+ class CommandResource(SyncAPIResource):
24
+ """Operations under ``client.command`` (OpenCode ``command``)."""
25
+
26
+ def list(
27
+ self,
28
+ *,
29
+ location: Location | NotGiven | None = NOT_GIVEN,
30
+ extra_headers: Headers | None = None,
31
+ extra_query: Query | None = None,
32
+ extra_body: Body | None = None,
33
+ timeout: Timeout | NotGiven = NOT_GIVEN,
34
+ ) -> CommandListResponse:
35
+ """List commands.
36
+
37
+ Retrieve currently registered commands.
38
+
39
+ Raises:
40
+ InvalidRequestError: The server answered 400.
41
+ UnauthorizedError: The server answered 401.
42
+ LocationNotFoundError: The server answered 404.
43
+
44
+ ``GET /api/command``
45
+ """
46
+ return cast(
47
+ "CommandListResponse",
48
+ self._client.request(
49
+ RequestOptions(
50
+ method="GET",
51
+ path="/api/command",
52
+ query={"location": self._location(location)},
53
+ extra_headers=extra_headers,
54
+ extra_query=extra_query,
55
+ extra_body=extra_body,
56
+ timeout=timeout,
57
+ ),
58
+ response_type="CommandListResponse",
59
+ ),
60
+ )
61
+
62
+
63
+ class AsyncCommandResource(AsyncAPIResource):
64
+ """Operations under ``client.command`` (OpenCode ``command``)."""
65
+
66
+ async def list(
67
+ self,
68
+ *,
69
+ location: Location | NotGiven | None = NOT_GIVEN,
70
+ extra_headers: Headers | None = None,
71
+ extra_query: Query | None = None,
72
+ extra_body: Body | None = None,
73
+ timeout: Timeout | NotGiven = NOT_GIVEN,
74
+ ) -> CommandListResponse:
75
+ """List commands.
76
+
77
+ Retrieve currently registered commands.
78
+
79
+ Raises:
80
+ InvalidRequestError: The server answered 400.
81
+ UnauthorizedError: The server answered 401.
82
+ LocationNotFoundError: The server answered 404.
83
+
84
+ ``GET /api/command``
85
+ """
86
+ return cast(
87
+ "CommandListResponse",
88
+ await self._client.request(
89
+ RequestOptions(
90
+ method="GET",
91
+ path="/api/command",
92
+ query={"location": self._location(location)},
93
+ extra_headers=extra_headers,
94
+ extra_query=extra_query,
95
+ extra_body=extra_body,
96
+ timeout=timeout,
97
+ ),
98
+ response_type="CommandListResponse",
99
+ ),
100
+ )