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.
- opencode/.generated.json +39 -0
- opencode/__init__.py +221 -0
- opencode/_base_client.py +539 -0
- opencode/_client.py +255 -0
- opencode/_constants.py +27 -0
- opencode/_errors.py +547 -0
- opencode/_events.py +732 -0
- opencode/_exceptions.py +271 -0
- opencode/_models.py +54 -0
- opencode/_pagination.py +192 -0
- opencode/_pty.py +586 -0
- opencode/_qs.py +95 -0
- opencode/_resource.py +42 -0
- opencode/_rpc.py +489 -0
- opencode/_server.py +335 -0
- opencode/_streaming.py +248 -0
- opencode/_types.py +77 -0
- opencode/_unions.py +46 -0
- opencode/_version.py +8 -0
- opencode/lib/__init__.py +5 -0
- opencode/lib/_ready.py +91 -0
- opencode/lib/_session.py +231 -0
- opencode/py.typed +0 -0
- opencode/resources/__init__.py +364 -0
- opencode/resources/agent.py +179 -0
- opencode/resources/command.py +100 -0
- opencode/resources/config.py +240 -0
- opencode/resources/credential.py +384 -0
- opencode/resources/debug.py +178 -0
- opencode/resources/event.py +88 -0
- opencode/resources/experimental.py +765 -0
- opencode/resources/file.py +355 -0
- opencode/resources/form.py +100 -0
- opencode/resources/generate.py +110 -0
- opencode/resources/integration.py +1033 -0
- opencode/resources/location.py +162 -0
- opencode/resources/mcp.py +492 -0
- opencode/resources/message.py +152 -0
- opencode/resources/migration.py +118 -0
- opencode/resources/model.py +177 -0
- opencode/resources/permission.py +704 -0
- opencode/resources/plugin.py +250 -0
- opencode/resources/project.py +187 -0
- opencode/resources/provider.py +183 -0
- opencode/resources/pty.py +522 -0
- opencode/resources/reference.py +100 -0
- opencode/resources/rpc.py +113 -0
- opencode/resources/server.py +230 -0
- opencode/resources/session.py +3567 -0
- opencode/resources/shell.py +412 -0
- opencode/resources/skill.py +100 -0
- opencode/resources/vcs.py +500 -0
- opencode/resources/voice.py +113 -0
- opencode/resources/websearch.py +184 -0
- opencode/resources/worktree.py +336 -0
- opencode/testing.py +508 -0
- opencode/types/__init__.py +1462 -0
- opencode/types/_generated.py +8540 -0
- opencode_python_sdk-0.0.1.dev1.dist-info/METADATA +468 -0
- opencode_python_sdk-0.0.1.dev1.dist-info/RECORD +62 -0
- opencode_python_sdk-0.0.1.dev1.dist-info/WHEEL +4 -0
- opencode_python_sdk-0.0.1.dev1.dist-info/licenses/LICENSE +21 -0
opencode/.generated.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
[
|
|
2
|
+
"api.md",
|
|
3
|
+
"src/opencode/__init__.py",
|
|
4
|
+
"src/opencode/_errors.py",
|
|
5
|
+
"src/opencode/resources/__init__.py",
|
|
6
|
+
"src/opencode/resources/agent.py",
|
|
7
|
+
"src/opencode/resources/command.py",
|
|
8
|
+
"src/opencode/resources/config.py",
|
|
9
|
+
"src/opencode/resources/credential.py",
|
|
10
|
+
"src/opencode/resources/debug.py",
|
|
11
|
+
"src/opencode/resources/event.py",
|
|
12
|
+
"src/opencode/resources/experimental.py",
|
|
13
|
+
"src/opencode/resources/file.py",
|
|
14
|
+
"src/opencode/resources/form.py",
|
|
15
|
+
"src/opencode/resources/generate.py",
|
|
16
|
+
"src/opencode/resources/integration.py",
|
|
17
|
+
"src/opencode/resources/location.py",
|
|
18
|
+
"src/opencode/resources/mcp.py",
|
|
19
|
+
"src/opencode/resources/message.py",
|
|
20
|
+
"src/opencode/resources/migration.py",
|
|
21
|
+
"src/opencode/resources/model.py",
|
|
22
|
+
"src/opencode/resources/permission.py",
|
|
23
|
+
"src/opencode/resources/plugin.py",
|
|
24
|
+
"src/opencode/resources/project.py",
|
|
25
|
+
"src/opencode/resources/provider.py",
|
|
26
|
+
"src/opencode/resources/pty.py",
|
|
27
|
+
"src/opencode/resources/reference.py",
|
|
28
|
+
"src/opencode/resources/rpc.py",
|
|
29
|
+
"src/opencode/resources/server.py",
|
|
30
|
+
"src/opencode/resources/session.py",
|
|
31
|
+
"src/opencode/resources/shell.py",
|
|
32
|
+
"src/opencode/resources/skill.py",
|
|
33
|
+
"src/opencode/resources/vcs.py",
|
|
34
|
+
"src/opencode/resources/voice.py",
|
|
35
|
+
"src/opencode/resources/websearch.py",
|
|
36
|
+
"src/opencode/resources/worktree.py",
|
|
37
|
+
"src/opencode/types/__init__.py",
|
|
38
|
+
"src/opencode/types/_generated.py"
|
|
39
|
+
]
|
opencode/__init__.py
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"""Typed Python client for the OpenCode 2.x server API.
|
|
2
|
+
|
|
3
|
+
Quick start::
|
|
4
|
+
|
|
5
|
+
from opencode import Opencode, OpencodeServer
|
|
6
|
+
|
|
7
|
+
with OpencodeServer() as server, Opencode(server.url, password=server.password) as client:
|
|
8
|
+
session = client.session.create(agent="build")
|
|
9
|
+
client.session.prompt(session.id, text="Summarize this repository")
|
|
10
|
+
client.session.wait(session.id)
|
|
11
|
+
for message in client.message.list(session.id):
|
|
12
|
+
print(message.type)
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from typing import TYPE_CHECKING, Any
|
|
18
|
+
|
|
19
|
+
from ._client import AsyncOpencode, Opencode
|
|
20
|
+
|
|
21
|
+
# <generated:error-imports>
|
|
22
|
+
from ._errors import (
|
|
23
|
+
AgentNotFoundError,
|
|
24
|
+
CommandExecutionError,
|
|
25
|
+
CommandNotFoundError,
|
|
26
|
+
ForbiddenError,
|
|
27
|
+
FormAlreadySettledError,
|
|
28
|
+
FormInvalidAnswerError,
|
|
29
|
+
FormNotFoundError,
|
|
30
|
+
InstructionEntryValueTooLargeError,
|
|
31
|
+
IntegrationAttemptNotFoundError,
|
|
32
|
+
IntegrationMethodNotFoundError,
|
|
33
|
+
IntegrationNotFoundError,
|
|
34
|
+
InvalidCursorError,
|
|
35
|
+
InvalidRequestError,
|
|
36
|
+
LocationNotFoundError,
|
|
37
|
+
McpServerNotFoundError,
|
|
38
|
+
MessageNotFoundError,
|
|
39
|
+
PermissionNotFoundError,
|
|
40
|
+
PermissionSavedNotFoundError,
|
|
41
|
+
ProjectNotFoundError,
|
|
42
|
+
ProviderNotFoundError,
|
|
43
|
+
PtyNotFoundError,
|
|
44
|
+
RemoteFileNotFoundError,
|
|
45
|
+
RpcError,
|
|
46
|
+
RpcInternalError,
|
|
47
|
+
SessionBusyError,
|
|
48
|
+
SessionNotFoundError,
|
|
49
|
+
ShellNotFoundError,
|
|
50
|
+
SkillNotFoundError,
|
|
51
|
+
UnauthorizedError,
|
|
52
|
+
UnknownError,
|
|
53
|
+
VcsInitNotSupportedError,
|
|
54
|
+
WorktreeError,
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
# </generated:error-imports>
|
|
58
|
+
from ._exceptions import (
|
|
59
|
+
APIConnectionError,
|
|
60
|
+
APIError,
|
|
61
|
+
APIResponseValidationError,
|
|
62
|
+
APIStatusError,
|
|
63
|
+
APITimeoutError,
|
|
64
|
+
AuthenticationError,
|
|
65
|
+
BadRequestError,
|
|
66
|
+
ConflictError,
|
|
67
|
+
ContentTooLargeError,
|
|
68
|
+
InternalServerError,
|
|
69
|
+
NotFoundError,
|
|
70
|
+
NotImplementedServerError,
|
|
71
|
+
OpencodeError,
|
|
72
|
+
PermissionDeniedError,
|
|
73
|
+
RateLimitError,
|
|
74
|
+
ServiceUnavailableError,
|
|
75
|
+
UnprocessableEntityError,
|
|
76
|
+
)
|
|
77
|
+
from ._models import BaseModel
|
|
78
|
+
from ._pagination import AsyncCursorPage, AsyncPaginator, SyncCursorPage
|
|
79
|
+
from ._pty import AsyncPtyConnection, PtyConnection, PtyConnectionError
|
|
80
|
+
from ._server import AsyncOpencodeServer, OpencodeServer, ServerStartError
|
|
81
|
+
from ._streaming import AsyncStream, Stream
|
|
82
|
+
from ._types import NOT_GIVEN, NotGiven
|
|
83
|
+
from ._version import __version__
|
|
84
|
+
|
|
85
|
+
# isort: split
|
|
86
|
+
# Hand-written helpers, kept apart from the generated error-import block above.
|
|
87
|
+
from ._events import (
|
|
88
|
+
SUBSCRIBER_CAPACITY,
|
|
89
|
+
AsyncEventHub,
|
|
90
|
+
AsyncSubscription,
|
|
91
|
+
EventHub,
|
|
92
|
+
EventOverflowError,
|
|
93
|
+
Reconnect,
|
|
94
|
+
Subscription,
|
|
95
|
+
session_id_of,
|
|
96
|
+
)
|
|
97
|
+
from ._rpc import (
|
|
98
|
+
AsyncRpcClient,
|
|
99
|
+
AsyncRpcEvents,
|
|
100
|
+
RpcCallError,
|
|
101
|
+
RpcCallInternalError,
|
|
102
|
+
RpcClient,
|
|
103
|
+
RpcDefinition,
|
|
104
|
+
RpcEventDefinition,
|
|
105
|
+
RpcEventPayload,
|
|
106
|
+
RpcEvents,
|
|
107
|
+
RpcMethod,
|
|
108
|
+
rpc_event,
|
|
109
|
+
rpc_method,
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
if TYPE_CHECKING:
|
|
113
|
+
from . import types
|
|
114
|
+
|
|
115
|
+
# <generated:api-version>
|
|
116
|
+
API_VERSION = "2.1.2"
|
|
117
|
+
"""The OpenCode server version this client was generated from."""
|
|
118
|
+
# </generated:api-version>
|
|
119
|
+
|
|
120
|
+
__all__ = [
|
|
121
|
+
"API_VERSION",
|
|
122
|
+
"NOT_GIVEN",
|
|
123
|
+
"APIConnectionError",
|
|
124
|
+
"APIError",
|
|
125
|
+
"APIResponseValidationError",
|
|
126
|
+
"APIStatusError",
|
|
127
|
+
"APITimeoutError",
|
|
128
|
+
"AsyncCursorPage",
|
|
129
|
+
"AsyncOpencode",
|
|
130
|
+
"AsyncOpencodeServer",
|
|
131
|
+
"AsyncPaginator",
|
|
132
|
+
"AsyncPtyConnection",
|
|
133
|
+
"AsyncStream",
|
|
134
|
+
"AuthenticationError",
|
|
135
|
+
"BadRequestError",
|
|
136
|
+
"BaseModel",
|
|
137
|
+
"ConflictError",
|
|
138
|
+
"ContentTooLargeError",
|
|
139
|
+
"InternalServerError",
|
|
140
|
+
"NotFoundError",
|
|
141
|
+
"NotGiven",
|
|
142
|
+
"NotImplementedServerError",
|
|
143
|
+
"Opencode",
|
|
144
|
+
"OpencodeError",
|
|
145
|
+
"OpencodeServer",
|
|
146
|
+
"PermissionDeniedError",
|
|
147
|
+
"PtyConnection",
|
|
148
|
+
"PtyConnectionError",
|
|
149
|
+
"RateLimitError",
|
|
150
|
+
"ServerStartError",
|
|
151
|
+
"ServiceUnavailableError",
|
|
152
|
+
"Stream",
|
|
153
|
+
"SyncCursorPage",
|
|
154
|
+
"UnprocessableEntityError",
|
|
155
|
+
"__version__",
|
|
156
|
+
"types",
|
|
157
|
+
# Shared event stream and typed plugin RPC
|
|
158
|
+
"SUBSCRIBER_CAPACITY",
|
|
159
|
+
"AsyncEventHub",
|
|
160
|
+
"AsyncRpcClient",
|
|
161
|
+
"AsyncRpcEvents",
|
|
162
|
+
"AsyncSubscription",
|
|
163
|
+
"EventHub",
|
|
164
|
+
"EventOverflowError",
|
|
165
|
+
"Reconnect",
|
|
166
|
+
"RpcCallError",
|
|
167
|
+
"RpcCallInternalError",
|
|
168
|
+
"RpcClient",
|
|
169
|
+
"RpcDefinition",
|
|
170
|
+
"RpcEventDefinition",
|
|
171
|
+
"RpcEventPayload",
|
|
172
|
+
"RpcEvents",
|
|
173
|
+
"RpcMethod",
|
|
174
|
+
"Subscription",
|
|
175
|
+
"rpc_event",
|
|
176
|
+
"rpc_method",
|
|
177
|
+
"session_id_of",
|
|
178
|
+
# <generated:error-exports>
|
|
179
|
+
"AgentNotFoundError",
|
|
180
|
+
"CommandExecutionError",
|
|
181
|
+
"CommandNotFoundError",
|
|
182
|
+
"RemoteFileNotFoundError",
|
|
183
|
+
"ForbiddenError",
|
|
184
|
+
"FormAlreadySettledError",
|
|
185
|
+
"FormInvalidAnswerError",
|
|
186
|
+
"FormNotFoundError",
|
|
187
|
+
"InstructionEntryValueTooLargeError",
|
|
188
|
+
"IntegrationAttemptNotFoundError",
|
|
189
|
+
"IntegrationMethodNotFoundError",
|
|
190
|
+
"IntegrationNotFoundError",
|
|
191
|
+
"InvalidCursorError",
|
|
192
|
+
"InvalidRequestError",
|
|
193
|
+
"LocationNotFoundError",
|
|
194
|
+
"McpServerNotFoundError",
|
|
195
|
+
"MessageNotFoundError",
|
|
196
|
+
"PermissionNotFoundError",
|
|
197
|
+
"PermissionSavedNotFoundError",
|
|
198
|
+
"ProjectNotFoundError",
|
|
199
|
+
"ProviderNotFoundError",
|
|
200
|
+
"PtyNotFoundError",
|
|
201
|
+
"RpcError",
|
|
202
|
+
"RpcInternalError",
|
|
203
|
+
"SessionBusyError",
|
|
204
|
+
"SessionNotFoundError",
|
|
205
|
+
"ShellNotFoundError",
|
|
206
|
+
"SkillNotFoundError",
|
|
207
|
+
"UnauthorizedError",
|
|
208
|
+
"UnknownError",
|
|
209
|
+
"VcsInitNotSupportedError",
|
|
210
|
+
"WorktreeError",
|
|
211
|
+
# </generated:error-exports>
|
|
212
|
+
]
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
def __getattr__(name: str) -> Any:
|
|
216
|
+
# `opencode.types` builds several hundred models, so it is imported on first use rather than with the package.
|
|
217
|
+
if name == "types":
|
|
218
|
+
import importlib
|
|
219
|
+
|
|
220
|
+
return importlib.import_module(".types", __name__)
|
|
221
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|