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,250 @@
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 ``plugin`` resource."""
5
+
6
+ from __future__ import annotations
7
+
8
+ from collections.abc import Sequence
9
+ from typing import TYPE_CHECKING, cast
10
+
11
+ from .._base_client import RequestOptions
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
+ Location,
18
+ PluginCheckResponse,
19
+ PluginListResponse,
20
+ )
21
+
22
+ __all__ = ["PluginResource", "AsyncPluginResource"]
23
+
24
+
25
+ class PluginResource(SyncAPIResource):
26
+ """Operations under ``client.plugin`` (OpenCode ``plugin``)."""
27
+
28
+ def list(
29
+ self,
30
+ *,
31
+ location: Location | NotGiven | None = NOT_GIVEN,
32
+ extra_headers: Headers | None = None,
33
+ extra_query: Query | None = None,
34
+ extra_body: Body | None = None,
35
+ timeout: Timeout | NotGiven = NOT_GIVEN,
36
+ ) -> PluginListResponse:
37
+ """List plugins.
38
+
39
+ Retrieve enabled server plugins and their current status.
40
+
41
+ Raises:
42
+ InvalidRequestError: The server answered 400.
43
+ UnauthorizedError: The server answered 401.
44
+ LocationNotFoundError: The server answered 404.
45
+
46
+ ``GET /api/plugin``
47
+ """
48
+ return cast(
49
+ "PluginListResponse",
50
+ self._client.request(
51
+ RequestOptions(
52
+ method="GET",
53
+ path="/api/plugin",
54
+ query={"location": self._location(location)},
55
+ extra_headers=extra_headers,
56
+ extra_query=extra_query,
57
+ extra_body=extra_body,
58
+ timeout=timeout,
59
+ ),
60
+ response_type="PluginListResponse",
61
+ ),
62
+ )
63
+
64
+ def check(
65
+ self,
66
+ *,
67
+ location: Location | NotGiven | None = NOT_GIVEN,
68
+ target: str | NotGiven | None = NOT_GIVEN,
69
+ extra_headers: Headers | None = None,
70
+ extra_query: Query | None = None,
71
+ extra_body: Body | None = None,
72
+ timeout: Timeout | NotGiven = NOT_GIVEN,
73
+ ) -> PluginCheckResponse:
74
+ """Check plugin updates.
75
+
76
+ Check one or all package plugins for available updates.
77
+
78
+ Raises:
79
+ InvalidRequestError: The server answered 400.
80
+ UnauthorizedError: The server answered 401.
81
+ LocationNotFoundError: The server answered 404.
82
+
83
+ ``POST /api/plugin/check``
84
+ """
85
+ return cast(
86
+ "PluginCheckResponse",
87
+ self._client.request(
88
+ RequestOptions(
89
+ method="POST",
90
+ path="/api/plugin/check",
91
+ query={"location": self._location(location)},
92
+ body={"target": target},
93
+ extra_headers=extra_headers,
94
+ extra_query=extra_query,
95
+ extra_body=extra_body,
96
+ timeout=timeout,
97
+ ),
98
+ response_type="PluginCheckResponse",
99
+ ),
100
+ )
101
+
102
+ def update(
103
+ self,
104
+ *,
105
+ targets: Sequence[str],
106
+ location: Location | NotGiven | None = NOT_GIVEN,
107
+ extra_headers: Headers | None = None,
108
+ extra_query: Query | None = None,
109
+ extra_body: Body | None = None,
110
+ timeout: Timeout | NotGiven = NOT_GIVEN,
111
+ ) -> None:
112
+ """Update plugins.
113
+
114
+ Update package plugins concurrently and notify active locations to reload them. Responds once every update has finished; fails when any update fails.
115
+
116
+ Raises:
117
+ InvalidRequestError: The server answered 400.
118
+ UnauthorizedError: The server answered 401.
119
+ LocationNotFoundError: The server answered 404.
120
+ ServiceUnavailableError: The server answered 503.
121
+
122
+ ``POST /api/plugin/update``
123
+ """
124
+ self._client.request(
125
+ RequestOptions(
126
+ method="POST",
127
+ path="/api/plugin/update",
128
+ query={"location": self._location(location)},
129
+ body={"targets": targets},
130
+ extra_headers=extra_headers,
131
+ extra_query=extra_query,
132
+ extra_body=extra_body,
133
+ timeout=timeout,
134
+ ),
135
+ kind="void",
136
+ )
137
+
138
+
139
+ class AsyncPluginResource(AsyncAPIResource):
140
+ """Operations under ``client.plugin`` (OpenCode ``plugin``)."""
141
+
142
+ async def list(
143
+ self,
144
+ *,
145
+ location: Location | NotGiven | None = NOT_GIVEN,
146
+ extra_headers: Headers | None = None,
147
+ extra_query: Query | None = None,
148
+ extra_body: Body | None = None,
149
+ timeout: Timeout | NotGiven = NOT_GIVEN,
150
+ ) -> PluginListResponse:
151
+ """List plugins.
152
+
153
+ Retrieve enabled server plugins and their current status.
154
+
155
+ Raises:
156
+ InvalidRequestError: The server answered 400.
157
+ UnauthorizedError: The server answered 401.
158
+ LocationNotFoundError: The server answered 404.
159
+
160
+ ``GET /api/plugin``
161
+ """
162
+ return cast(
163
+ "PluginListResponse",
164
+ await self._client.request(
165
+ RequestOptions(
166
+ method="GET",
167
+ path="/api/plugin",
168
+ query={"location": self._location(location)},
169
+ extra_headers=extra_headers,
170
+ extra_query=extra_query,
171
+ extra_body=extra_body,
172
+ timeout=timeout,
173
+ ),
174
+ response_type="PluginListResponse",
175
+ ),
176
+ )
177
+
178
+ async def check(
179
+ self,
180
+ *,
181
+ location: Location | NotGiven | None = NOT_GIVEN,
182
+ target: str | NotGiven | None = NOT_GIVEN,
183
+ extra_headers: Headers | None = None,
184
+ extra_query: Query | None = None,
185
+ extra_body: Body | None = None,
186
+ timeout: Timeout | NotGiven = NOT_GIVEN,
187
+ ) -> PluginCheckResponse:
188
+ """Check plugin updates.
189
+
190
+ Check one or all package plugins for available updates.
191
+
192
+ Raises:
193
+ InvalidRequestError: The server answered 400.
194
+ UnauthorizedError: The server answered 401.
195
+ LocationNotFoundError: The server answered 404.
196
+
197
+ ``POST /api/plugin/check``
198
+ """
199
+ return cast(
200
+ "PluginCheckResponse",
201
+ await self._client.request(
202
+ RequestOptions(
203
+ method="POST",
204
+ path="/api/plugin/check",
205
+ query={"location": self._location(location)},
206
+ body={"target": target},
207
+ extra_headers=extra_headers,
208
+ extra_query=extra_query,
209
+ extra_body=extra_body,
210
+ timeout=timeout,
211
+ ),
212
+ response_type="PluginCheckResponse",
213
+ ),
214
+ )
215
+
216
+ async def update(
217
+ self,
218
+ *,
219
+ targets: Sequence[str],
220
+ location: Location | NotGiven | None = NOT_GIVEN,
221
+ extra_headers: Headers | None = None,
222
+ extra_query: Query | None = None,
223
+ extra_body: Body | None = None,
224
+ timeout: Timeout | NotGiven = NOT_GIVEN,
225
+ ) -> None:
226
+ """Update plugins.
227
+
228
+ Update package plugins concurrently and notify active locations to reload them. Responds once every update has finished; fails when any update fails.
229
+
230
+ Raises:
231
+ InvalidRequestError: The server answered 400.
232
+ UnauthorizedError: The server answered 401.
233
+ LocationNotFoundError: The server answered 404.
234
+ ServiceUnavailableError: The server answered 503.
235
+
236
+ ``POST /api/plugin/update``
237
+ """
238
+ await self._client.request(
239
+ RequestOptions(
240
+ method="POST",
241
+ path="/api/plugin/update",
242
+ query={"location": self._location(location)},
243
+ body={"targets": targets},
244
+ extra_headers=extra_headers,
245
+ extra_query=extra_query,
246
+ extra_body=extra_body,
247
+ timeout=timeout,
248
+ ),
249
+ kind="void",
250
+ )
@@ -0,0 +1,187 @@
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 ``project`` resource."""
5
+
6
+ from __future__ import annotations
7
+
8
+ import builtins
9
+ from typing import TYPE_CHECKING, cast
10
+
11
+ from .._base_client import RequestOptions
12
+ from .._qs import encode_path_segment
13
+ from .._resource import AsyncAPIResource, SyncAPIResource
14
+ from .._types import NOT_GIVEN, Body, Headers, NotGiven, Query, Timeout
15
+
16
+ if TYPE_CHECKING:
17
+ from ..types import (
18
+ AbsolutePath,
19
+ Project,
20
+ ProjectCommands,
21
+ ProjectIcon,
22
+ ProjectID,
23
+ )
24
+
25
+ __all__ = ["ProjectResource", "AsyncProjectResource"]
26
+
27
+
28
+ class ProjectResource(SyncAPIResource):
29
+ """Operations under ``client.project`` (OpenCode ``project``)."""
30
+
31
+ def list(
32
+ self,
33
+ *,
34
+ archived: bool | NotGiven | None = NOT_GIVEN,
35
+ extra_headers: Headers | None = None,
36
+ extra_query: Query | None = None,
37
+ extra_body: Body | None = None,
38
+ timeout: Timeout | NotGiven = NOT_GIVEN,
39
+ ) -> builtins.list[Project]:
40
+ """List projects.
41
+
42
+ List known projects. Archived projects are excluded unless archived=true.
43
+
44
+ Raises:
45
+ InvalidRequestError: The server answered 400.
46
+ UnauthorizedError: The server answered 401.
47
+ LocationNotFoundError: The server answered 404.
48
+
49
+ ``GET /api/project``
50
+ """
51
+ return cast(
52
+ "builtins.list[Project]",
53
+ self._client.request(
54
+ RequestOptions(
55
+ method="GET",
56
+ path="/api/project",
57
+ query={"archived": archived},
58
+ extra_headers=extra_headers,
59
+ extra_query=extra_query,
60
+ extra_body=extra_body,
61
+ timeout=timeout,
62
+ ),
63
+ response_type="builtins.list[Project]",
64
+ ),
65
+ )
66
+
67
+ def update(
68
+ self,
69
+ project_id: ProjectID,
70
+ *,
71
+ canonical: AbsolutePath | NotGiven = NOT_GIVEN,
72
+ name: str | NotGiven = NOT_GIVEN,
73
+ icon: ProjectIcon | NotGiven = NOT_GIVEN,
74
+ commands: ProjectCommands | NotGiven = NOT_GIVEN,
75
+ extra_headers: Headers | None = None,
76
+ extra_query: Query | None = None,
77
+ extra_body: Body | None = None,
78
+ timeout: Timeout | NotGiven = NOT_GIVEN,
79
+ ) -> Project:
80
+ """Update project.
81
+
82
+ Update the project canonical directory, display metadata, and workspace commands.
83
+
84
+ Raises:
85
+ InvalidRequestError: The server answered 400.
86
+ UnauthorizedError: The server answered 401.
87
+ ProjectNotFoundError: The server answered 404.
88
+ LocationNotFoundError: The server answered 404.
89
+
90
+ ``PATCH /api/project/:projectID``
91
+ """
92
+ return cast(
93
+ "Project",
94
+ self._client.request(
95
+ RequestOptions(
96
+ method="PATCH",
97
+ path=f"/api/project/{encode_path_segment(project_id)}",
98
+ body={"canonical": canonical, "name": name, "icon": icon, "commands": commands},
99
+ extra_headers=extra_headers,
100
+ extra_query=extra_query,
101
+ extra_body=extra_body,
102
+ timeout=timeout,
103
+ ),
104
+ response_type="Project",
105
+ ),
106
+ )
107
+
108
+
109
+ class AsyncProjectResource(AsyncAPIResource):
110
+ """Operations under ``client.project`` (OpenCode ``project``)."""
111
+
112
+ async def list(
113
+ self,
114
+ *,
115
+ archived: bool | NotGiven | None = NOT_GIVEN,
116
+ extra_headers: Headers | None = None,
117
+ extra_query: Query | None = None,
118
+ extra_body: Body | None = None,
119
+ timeout: Timeout | NotGiven = NOT_GIVEN,
120
+ ) -> builtins.list[Project]:
121
+ """List projects.
122
+
123
+ List known projects. Archived projects are excluded unless archived=true.
124
+
125
+ Raises:
126
+ InvalidRequestError: The server answered 400.
127
+ UnauthorizedError: The server answered 401.
128
+ LocationNotFoundError: The server answered 404.
129
+
130
+ ``GET /api/project``
131
+ """
132
+ return cast(
133
+ "builtins.list[Project]",
134
+ await self._client.request(
135
+ RequestOptions(
136
+ method="GET",
137
+ path="/api/project",
138
+ query={"archived": archived},
139
+ extra_headers=extra_headers,
140
+ extra_query=extra_query,
141
+ extra_body=extra_body,
142
+ timeout=timeout,
143
+ ),
144
+ response_type="builtins.list[Project]",
145
+ ),
146
+ )
147
+
148
+ async def update(
149
+ self,
150
+ project_id: ProjectID,
151
+ *,
152
+ canonical: AbsolutePath | NotGiven = NOT_GIVEN,
153
+ name: str | NotGiven = NOT_GIVEN,
154
+ icon: ProjectIcon | NotGiven = NOT_GIVEN,
155
+ commands: ProjectCommands | NotGiven = NOT_GIVEN,
156
+ extra_headers: Headers | None = None,
157
+ extra_query: Query | None = None,
158
+ extra_body: Body | None = None,
159
+ timeout: Timeout | NotGiven = NOT_GIVEN,
160
+ ) -> Project:
161
+ """Update project.
162
+
163
+ Update the project canonical directory, display metadata, and workspace commands.
164
+
165
+ Raises:
166
+ InvalidRequestError: The server answered 400.
167
+ UnauthorizedError: The server answered 401.
168
+ ProjectNotFoundError: The server answered 404.
169
+ LocationNotFoundError: The server answered 404.
170
+
171
+ ``PATCH /api/project/:projectID``
172
+ """
173
+ return cast(
174
+ "Project",
175
+ await self._client.request(
176
+ RequestOptions(
177
+ method="PATCH",
178
+ path=f"/api/project/{encode_path_segment(project_id)}",
179
+ body={"canonical": canonical, "name": name, "icon": icon, "commands": commands},
180
+ extra_headers=extra_headers,
181
+ extra_query=extra_query,
182
+ extra_body=extra_body,
183
+ timeout=timeout,
184
+ ),
185
+ response_type="Project",
186
+ ),
187
+ )
@@ -0,0 +1,183 @@
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 ``provider`` 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
+ Location,
18
+ ProviderGetResponse,
19
+ ProviderID,
20
+ ProviderListResponse,
21
+ )
22
+
23
+ __all__ = ["ProviderResource", "AsyncProviderResource"]
24
+
25
+
26
+ class ProviderResource(SyncAPIResource):
27
+ """Operations under ``client.provider`` (OpenCode ``provider``)."""
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
+ ) -> ProviderListResponse:
38
+ """List providers.
39
+
40
+ Retrieve active AI providers so clients can show provider availability and configuration.
41
+
42
+ Raises:
43
+ InvalidRequestError: The server answered 400.
44
+ UnauthorizedError: The server answered 401.
45
+ LocationNotFoundError: The server answered 404.
46
+ ServiceUnavailableError: The server answered 503.
47
+
48
+ ``GET /api/provider``
49
+ """
50
+ return cast(
51
+ "ProviderListResponse",
52
+ self._client.request(
53
+ RequestOptions(
54
+ method="GET",
55
+ path="/api/provider",
56
+ query={"location": self._location(location)},
57
+ extra_headers=extra_headers,
58
+ extra_query=extra_query,
59
+ extra_body=extra_body,
60
+ timeout=timeout,
61
+ ),
62
+ response_type="ProviderListResponse",
63
+ ),
64
+ )
65
+
66
+ def get(
67
+ self,
68
+ provider_id: ProviderID,
69
+ *,
70
+ location: Location | NotGiven | None = NOT_GIVEN,
71
+ extra_headers: Headers | None = None,
72
+ extra_query: Query | None = None,
73
+ extra_body: Body | None = None,
74
+ timeout: Timeout | NotGiven = NOT_GIVEN,
75
+ ) -> ProviderGetResponse:
76
+ """Get provider.
77
+
78
+ Retrieve a single AI provider so clients can inspect its availability and endpoint settings.
79
+
80
+ Raises:
81
+ InvalidRequestError: The server answered 400.
82
+ UnauthorizedError: The server answered 401.
83
+ ProviderNotFoundError: The server answered 404.
84
+ LocationNotFoundError: The server answered 404.
85
+ ServiceUnavailableError: The server answered 503.
86
+
87
+ ``GET /api/provider/:providerID``
88
+ """
89
+ return cast(
90
+ "ProviderGetResponse",
91
+ self._client.request(
92
+ RequestOptions(
93
+ method="GET",
94
+ path=f"/api/provider/{encode_path_segment(provider_id)}",
95
+ query={"location": self._location(location)},
96
+ extra_headers=extra_headers,
97
+ extra_query=extra_query,
98
+ extra_body=extra_body,
99
+ timeout=timeout,
100
+ ),
101
+ response_type="ProviderGetResponse",
102
+ ),
103
+ )
104
+
105
+
106
+ class AsyncProviderResource(AsyncAPIResource):
107
+ """Operations under ``client.provider`` (OpenCode ``provider``)."""
108
+
109
+ async def list(
110
+ self,
111
+ *,
112
+ location: Location | NotGiven | None = NOT_GIVEN,
113
+ extra_headers: Headers | None = None,
114
+ extra_query: Query | None = None,
115
+ extra_body: Body | None = None,
116
+ timeout: Timeout | NotGiven = NOT_GIVEN,
117
+ ) -> ProviderListResponse:
118
+ """List providers.
119
+
120
+ Retrieve active AI providers so clients can show provider availability and configuration.
121
+
122
+ Raises:
123
+ InvalidRequestError: The server answered 400.
124
+ UnauthorizedError: The server answered 401.
125
+ LocationNotFoundError: The server answered 404.
126
+ ServiceUnavailableError: The server answered 503.
127
+
128
+ ``GET /api/provider``
129
+ """
130
+ return cast(
131
+ "ProviderListResponse",
132
+ await self._client.request(
133
+ RequestOptions(
134
+ method="GET",
135
+ path="/api/provider",
136
+ query={"location": self._location(location)},
137
+ extra_headers=extra_headers,
138
+ extra_query=extra_query,
139
+ extra_body=extra_body,
140
+ timeout=timeout,
141
+ ),
142
+ response_type="ProviderListResponse",
143
+ ),
144
+ )
145
+
146
+ async def get(
147
+ self,
148
+ provider_id: ProviderID,
149
+ *,
150
+ location: Location | NotGiven | None = NOT_GIVEN,
151
+ extra_headers: Headers | None = None,
152
+ extra_query: Query | None = None,
153
+ extra_body: Body | None = None,
154
+ timeout: Timeout | NotGiven = NOT_GIVEN,
155
+ ) -> ProviderGetResponse:
156
+ """Get provider.
157
+
158
+ Retrieve a single AI provider so clients can inspect its availability and endpoint settings.
159
+
160
+ Raises:
161
+ InvalidRequestError: The server answered 400.
162
+ UnauthorizedError: The server answered 401.
163
+ ProviderNotFoundError: The server answered 404.
164
+ LocationNotFoundError: The server answered 404.
165
+ ServiceUnavailableError: The server answered 503.
166
+
167
+ ``GET /api/provider/:providerID``
168
+ """
169
+ return cast(
170
+ "ProviderGetResponse",
171
+ await self._client.request(
172
+ RequestOptions(
173
+ method="GET",
174
+ path=f"/api/provider/{encode_path_segment(provider_id)}",
175
+ query={"location": self._location(location)},
176
+ extra_headers=extra_headers,
177
+ extra_query=extra_query,
178
+ extra_body=extra_body,
179
+ timeout=timeout,
180
+ ),
181
+ response_type="ProviderGetResponse",
182
+ ),
183
+ )