casedev 0.1.0__py3-none-any.whl → 0.2.0__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 (135) hide show
  1. casedev/_base_client.py +140 -11
  2. casedev/_client.py +290 -119
  3. casedev/_models.py +16 -1
  4. casedev/_types.py +12 -2
  5. casedev/_version.py +1 -1
  6. casedev/resources/__init__.py +0 -70
  7. casedev/resources/compute/v1/__init__.py +0 -42
  8. casedev/resources/compute/v1/environments.py +16 -19
  9. casedev/resources/compute/v1/secrets.py +35 -41
  10. casedev/resources/compute/v1/v1.py +14 -276
  11. casedev/resources/format/v1/templates.py +11 -13
  12. casedev/resources/llm/llm.py +6 -7
  13. casedev/resources/llm/v1/v1.py +11 -13
  14. casedev/resources/ocr/v1.py +10 -13
  15. casedev/resources/search/v1.py +6 -7
  16. casedev/resources/vault/graphrag.py +11 -13
  17. casedev/resources/vault/objects.py +20 -25
  18. casedev/resources/vault/vault.py +64 -28
  19. casedev/resources/voice/streaming.py +6 -7
  20. casedev/resources/voice/transcription.py +82 -23
  21. casedev/resources/voice/v1/speak.py +1 -195
  22. casedev/resources/voice/v1/v1.py +6 -7
  23. casedev/types/__init__.py +2 -0
  24. casedev/types/compute/__init__.py +1 -2
  25. casedev/types/compute/v1/__init__.py +7 -5
  26. casedev/types/compute/v1/environment_list_response.py +40 -0
  27. casedev/types/compute/v1/environment_retrieve_response.py +36 -0
  28. casedev/types/compute/v1/environment_set_default_response.py +36 -0
  29. casedev/types/{convert/v1_webhook_response.py → compute/v1/secret_delete_group_response.py} +3 -3
  30. casedev/types/compute/v1/secret_list_response.py +31 -0
  31. casedev/types/compute/v1/secret_retrieve_group_response.py +38 -0
  32. casedev/types/compute/v1/secret_update_group_response.py +22 -0
  33. casedev/types/compute/v1_get_usage_response.py +51 -0
  34. casedev/types/format/v1/__init__.py +2 -0
  35. casedev/types/format/v1/template_list_response.py +40 -0
  36. casedev/types/format/v1/template_retrieve_response.py +33 -0
  37. casedev/types/llm/__init__.py +2 -0
  38. casedev/types/llm/v1_create_embedding_response.py +31 -0
  39. casedev/types/llm/v1_list_models_response.py +41 -0
  40. casedev/types/llm_get_config_response.py +33 -0
  41. casedev/types/ocr/__init__.py +2 -0
  42. casedev/types/ocr/v1_download_response.py +7 -0
  43. casedev/types/ocr/v1_process_params.py +2 -0
  44. casedev/types/ocr/v1_retrieve_response.py +32 -0
  45. casedev/types/search/__init__.py +1 -0
  46. casedev/types/search/v1_retrieve_research_response.py +74 -0
  47. casedev/types/vault/__init__.py +6 -0
  48. casedev/types/vault/graphrag_get_stats_response.py +31 -0
  49. casedev/types/{workflows/v1_delete_response.py → vault/graphrag_init_response.py} +6 -2
  50. casedev/types/vault/object_download_response.py +7 -0
  51. casedev/types/vault/object_get_text_response.py +35 -0
  52. casedev/types/vault/object_list_response.py +64 -0
  53. casedev/types/vault/object_retrieve_response.py +57 -0
  54. casedev/types/vault_create_params.py +16 -1
  55. casedev/types/vault_create_response.py +5 -2
  56. casedev/types/vault_ingest_response.py +15 -5
  57. casedev/types/vault_retrieve_response.py +76 -0
  58. casedev/types/vault_search_params.py +19 -5
  59. casedev/types/vault_search_response.py +25 -1
  60. casedev/types/vault_upload_params.py +7 -0
  61. casedev/types/vault_upload_response.py +6 -0
  62. casedev/types/voice/__init__.py +3 -0
  63. casedev/types/voice/streaming_get_url_response.py +44 -0
  64. casedev/types/voice/transcription_create_params.py +23 -3
  65. casedev/types/voice/transcription_create_response.py +22 -0
  66. casedev/types/voice/transcription_retrieve_response.py +19 -17
  67. casedev/types/voice/v1/__init__.py +0 -1
  68. casedev/types/voice/v1/speak_create_params.py +2 -0
  69. casedev/types/voice/v1_list_voices_response.py +40 -0
  70. casedev/types/webhooks/__init__.py +0 -3
  71. {casedev-0.1.0.dist-info → casedev-0.2.0.dist-info}/METADATA +10 -13
  72. casedev-0.2.0.dist-info/RECORD +149 -0
  73. {casedev-0.1.0.dist-info → casedev-0.2.0.dist-info}/licenses/LICENSE +1 -1
  74. casedev/resources/actions/__init__.py +0 -33
  75. casedev/resources/actions/actions.py +0 -102
  76. casedev/resources/actions/v1.py +0 -640
  77. casedev/resources/compute/v1/functions.py +0 -278
  78. casedev/resources/compute/v1/invoke.py +0 -216
  79. casedev/resources/compute/v1/runs.py +0 -290
  80. casedev/resources/convert/__init__.py +0 -33
  81. casedev/resources/convert/convert.py +0 -102
  82. casedev/resources/convert/v1/__init__.py +0 -33
  83. casedev/resources/convert/v1/jobs.py +0 -254
  84. casedev/resources/convert/v1/v1.py +0 -450
  85. casedev/resources/templates/__init__.py +0 -33
  86. casedev/resources/templates/templates.py +0 -102
  87. casedev/resources/templates/v1.py +0 -633
  88. casedev/resources/webhooks/__init__.py +0 -33
  89. casedev/resources/webhooks/v1.py +0 -447
  90. casedev/resources/webhooks/webhooks.py +0 -102
  91. casedev/resources/workflows/__init__.py +0 -33
  92. casedev/resources/workflows/v1.py +0 -1053
  93. casedev/resources/workflows/workflows.py +0 -102
  94. casedev/types/actions/__init__.py +0 -8
  95. casedev/types/actions/v1_create_params.py +0 -22
  96. casedev/types/actions/v1_create_response.py +0 -33
  97. casedev/types/actions/v1_execute_params.py +0 -16
  98. casedev/types/actions/v1_execute_response.py +0 -31
  99. casedev/types/compute/v1/function_get_logs_params.py +0 -12
  100. casedev/types/compute/v1/function_list_params.py +0 -12
  101. casedev/types/compute/v1/invoke_run_params.py +0 -21
  102. casedev/types/compute/v1/invoke_run_response.py +0 -39
  103. casedev/types/compute/v1/run_list_params.py +0 -18
  104. casedev/types/compute/v1_deploy_params.py +0 -114
  105. casedev/types/compute/v1_deploy_response.py +0 -30
  106. casedev/types/convert/__init__.py +0 -8
  107. casedev/types/convert/v1/__init__.py +0 -3
  108. casedev/types/convert/v1_process_params.py +0 -15
  109. casedev/types/convert/v1_process_response.py +0 -19
  110. casedev/types/convert/v1_webhook_params.py +0 -32
  111. casedev/types/templates/__init__.py +0 -8
  112. casedev/types/templates/v1_execute_params.py +0 -22
  113. casedev/types/templates/v1_execute_response.py +0 -31
  114. casedev/types/templates/v1_list_params.py +0 -32
  115. casedev/types/templates/v1_search_params.py +0 -18
  116. casedev/types/voice/v1/speak_stream_params.py +0 -58
  117. casedev/types/webhooks/v1_create_params.py +0 -20
  118. casedev/types/webhooks/v1_create_response.py +0 -33
  119. casedev/types/workflows/__init__.py +0 -19
  120. casedev/types/workflows/v1_create_params.py +0 -32
  121. casedev/types/workflows/v1_create_response.py +0 -29
  122. casedev/types/workflows/v1_deploy_response.py +0 -20
  123. casedev/types/workflows/v1_execute_params.py +0 -12
  124. casedev/types/workflows/v1_execute_response.py +0 -22
  125. casedev/types/workflows/v1_list_executions_params.py +0 -13
  126. casedev/types/workflows/v1_list_executions_response.py +0 -27
  127. casedev/types/workflows/v1_list_params.py +0 -18
  128. casedev/types/workflows/v1_list_response.py +0 -37
  129. casedev/types/workflows/v1_retrieve_execution_response.py +0 -31
  130. casedev/types/workflows/v1_retrieve_response.py +0 -35
  131. casedev/types/workflows/v1_undeploy_response.py +0 -13
  132. casedev/types/workflows/v1_update_params.py +0 -26
  133. casedev/types/workflows/v1_update_response.py +0 -17
  134. casedev-0.1.0.dist-info/RECORD +0 -185
  135. {casedev-0.1.0.dist-info → casedev-0.2.0.dist-info}/WHEEL +0 -0
@@ -8,22 +8,6 @@ from .v1 import (
8
8
  V1ResourceWithStreamingResponse,
9
9
  AsyncV1ResourceWithStreamingResponse,
10
10
  )
11
- from .runs import (
12
- RunsResource,
13
- AsyncRunsResource,
14
- RunsResourceWithRawResponse,
15
- AsyncRunsResourceWithRawResponse,
16
- RunsResourceWithStreamingResponse,
17
- AsyncRunsResourceWithStreamingResponse,
18
- )
19
- from .invoke import (
20
- InvokeResource,
21
- AsyncInvokeResource,
22
- InvokeResourceWithRawResponse,
23
- AsyncInvokeResourceWithRawResponse,
24
- InvokeResourceWithStreamingResponse,
25
- AsyncInvokeResourceWithStreamingResponse,
26
- )
27
11
  from .secrets import (
28
12
  SecretsResource,
29
13
  AsyncSecretsResource,
@@ -32,14 +16,6 @@ from .secrets import (
32
16
  SecretsResourceWithStreamingResponse,
33
17
  AsyncSecretsResourceWithStreamingResponse,
34
18
  )
35
- from .functions import (
36
- FunctionsResource,
37
- AsyncFunctionsResource,
38
- FunctionsResourceWithRawResponse,
39
- AsyncFunctionsResourceWithRawResponse,
40
- FunctionsResourceWithStreamingResponse,
41
- AsyncFunctionsResourceWithStreamingResponse,
42
- )
43
19
  from .environments import (
44
20
  EnvironmentsResource,
45
21
  AsyncEnvironmentsResource,
@@ -56,24 +32,6 @@ __all__ = [
56
32
  "AsyncEnvironmentsResourceWithRawResponse",
57
33
  "EnvironmentsResourceWithStreamingResponse",
58
34
  "AsyncEnvironmentsResourceWithStreamingResponse",
59
- "FunctionsResource",
60
- "AsyncFunctionsResource",
61
- "FunctionsResourceWithRawResponse",
62
- "AsyncFunctionsResourceWithRawResponse",
63
- "FunctionsResourceWithStreamingResponse",
64
- "AsyncFunctionsResourceWithStreamingResponse",
65
- "InvokeResource",
66
- "AsyncInvokeResource",
67
- "InvokeResourceWithRawResponse",
68
- "AsyncInvokeResourceWithRawResponse",
69
- "InvokeResourceWithStreamingResponse",
70
- "AsyncInvokeResourceWithStreamingResponse",
71
- "RunsResource",
72
- "AsyncRunsResource",
73
- "RunsResourceWithRawResponse",
74
- "AsyncRunsResourceWithRawResponse",
75
- "RunsResourceWithStreamingResponse",
76
- "AsyncRunsResourceWithStreamingResponse",
77
35
  "SecretsResource",
78
36
  "AsyncSecretsResource",
79
37
  "SecretsResourceWithRawResponse",
@@ -4,7 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import httpx
6
6
 
7
- from ...._types import Body, Query, Headers, NoneType, NotGiven, not_given
7
+ from ...._types import Body, Query, Headers, NotGiven, not_given
8
8
  from ...._utils import maybe_transform, async_maybe_transform
9
9
  from ...._compat import cached_property
10
10
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -16,8 +16,11 @@ from ...._response import (
16
16
  )
17
17
  from ...._base_client import make_request_options
18
18
  from ....types.compute.v1 import environment_create_params
19
+ from ....types.compute.v1.environment_list_response import EnvironmentListResponse
19
20
  from ....types.compute.v1.environment_create_response import EnvironmentCreateResponse
20
21
  from ....types.compute.v1.environment_delete_response import EnvironmentDeleteResponse
22
+ from ....types.compute.v1.environment_retrieve_response import EnvironmentRetrieveResponse
23
+ from ....types.compute.v1.environment_set_default_response import EnvironmentSetDefaultResponse
21
24
 
22
25
  __all__ = ["EnvironmentsResource", "AsyncEnvironmentsResource"]
23
26
 
@@ -90,7 +93,7 @@ class EnvironmentsResource(SyncAPIResource):
90
93
  extra_query: Query | None = None,
91
94
  extra_body: Body | None = None,
92
95
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
93
- ) -> None:
96
+ ) -> EnvironmentRetrieveResponse:
94
97
  """Retrieve a specific compute environment by name.
95
98
 
96
99
  Returns environment
@@ -108,13 +111,12 @@ class EnvironmentsResource(SyncAPIResource):
108
111
  """
109
112
  if not name:
110
113
  raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
111
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
112
114
  return self._get(
113
115
  f"/compute/v1/environments/{name}",
114
116
  options=make_request_options(
115
117
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
116
118
  ),
117
- cast_to=NoneType,
119
+ cast_to=EnvironmentRetrieveResponse,
118
120
  )
119
121
 
120
122
  def list(
@@ -126,19 +128,18 @@ class EnvironmentsResource(SyncAPIResource):
126
128
  extra_query: Query | None = None,
127
129
  extra_body: Body | None = None,
128
130
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
129
- ) -> None:
131
+ ) -> EnvironmentListResponse:
130
132
  """Retrieve all compute environments for your organization.
131
133
 
132
134
  Environments provide
133
135
  isolated execution contexts for running code and workflows.
134
136
  """
135
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
136
137
  return self._get(
137
138
  "/compute/v1/environments",
138
139
  options=make_request_options(
139
140
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
140
141
  ),
141
- cast_to=NoneType,
142
+ cast_to=EnvironmentListResponse,
142
143
  )
143
144
 
144
145
  def delete(
@@ -187,7 +188,7 @@ class EnvironmentsResource(SyncAPIResource):
187
188
  extra_query: Query | None = None,
188
189
  extra_body: Body | None = None,
189
190
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
190
- ) -> None:
191
+ ) -> EnvironmentSetDefaultResponse:
191
192
  """Sets a compute environment as the default for the organization.
192
193
 
193
194
  Only one
@@ -205,13 +206,12 @@ class EnvironmentsResource(SyncAPIResource):
205
206
  """
206
207
  if not name:
207
208
  raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
208
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
209
209
  return self._post(
210
210
  f"/compute/v1/environments/{name}/default",
211
211
  options=make_request_options(
212
212
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
213
213
  ),
214
- cast_to=NoneType,
214
+ cast_to=EnvironmentSetDefaultResponse,
215
215
  )
216
216
 
217
217
 
@@ -283,7 +283,7 @@ class AsyncEnvironmentsResource(AsyncAPIResource):
283
283
  extra_query: Query | None = None,
284
284
  extra_body: Body | None = None,
285
285
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
286
- ) -> None:
286
+ ) -> EnvironmentRetrieveResponse:
287
287
  """Retrieve a specific compute environment by name.
288
288
 
289
289
  Returns environment
@@ -301,13 +301,12 @@ class AsyncEnvironmentsResource(AsyncAPIResource):
301
301
  """
302
302
  if not name:
303
303
  raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
304
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
305
304
  return await self._get(
306
305
  f"/compute/v1/environments/{name}",
307
306
  options=make_request_options(
308
307
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
309
308
  ),
310
- cast_to=NoneType,
309
+ cast_to=EnvironmentRetrieveResponse,
311
310
  )
312
311
 
313
312
  async def list(
@@ -319,19 +318,18 @@ class AsyncEnvironmentsResource(AsyncAPIResource):
319
318
  extra_query: Query | None = None,
320
319
  extra_body: Body | None = None,
321
320
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
322
- ) -> None:
321
+ ) -> EnvironmentListResponse:
323
322
  """Retrieve all compute environments for your organization.
324
323
 
325
324
  Environments provide
326
325
  isolated execution contexts for running code and workflows.
327
326
  """
328
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
329
327
  return await self._get(
330
328
  "/compute/v1/environments",
331
329
  options=make_request_options(
332
330
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
333
331
  ),
334
- cast_to=NoneType,
332
+ cast_to=EnvironmentListResponse,
335
333
  )
336
334
 
337
335
  async def delete(
@@ -380,7 +378,7 @@ class AsyncEnvironmentsResource(AsyncAPIResource):
380
378
  extra_query: Query | None = None,
381
379
  extra_body: Body | None = None,
382
380
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
383
- ) -> None:
381
+ ) -> EnvironmentSetDefaultResponse:
384
382
  """Sets a compute environment as the default for the organization.
385
383
 
386
384
  Only one
@@ -398,13 +396,12 @@ class AsyncEnvironmentsResource(AsyncAPIResource):
398
396
  """
399
397
  if not name:
400
398
  raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
401
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
402
399
  return await self._post(
403
400
  f"/compute/v1/environments/{name}/default",
404
401
  options=make_request_options(
405
402
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
406
403
  ),
407
- cast_to=NoneType,
404
+ cast_to=EnvironmentSetDefaultResponse,
408
405
  )
409
406
 
410
407
 
@@ -6,7 +6,7 @@ from typing import Dict
6
6
 
7
7
  import httpx
8
8
 
9
- from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
9
+ from ...._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
10
10
  from ...._utils import maybe_transform, async_maybe_transform
11
11
  from ...._compat import cached_property
12
12
  from ...._resource import SyncAPIResource, AsyncAPIResource
@@ -24,7 +24,11 @@ from ....types.compute.v1 import (
24
24
  secret_update_group_params,
25
25
  secret_retrieve_group_params,
26
26
  )
27
+ from ....types.compute.v1.secret_list_response import SecretListResponse
27
28
  from ....types.compute.v1.secret_create_response import SecretCreateResponse
29
+ from ....types.compute.v1.secret_delete_group_response import SecretDeleteGroupResponse
30
+ from ....types.compute.v1.secret_update_group_response import SecretUpdateGroupResponse
31
+ from ....types.compute.v1.secret_retrieve_group_response import SecretRetrieveGroupResponse
28
32
 
29
33
  __all__ = ["SecretsResource", "AsyncSecretsResource"]
30
34
 
@@ -119,7 +123,7 @@ class SecretsResource(SyncAPIResource):
119
123
  extra_query: Query | None = None,
120
124
  extra_body: Body | None = None,
121
125
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
122
- ) -> None:
126
+ ) -> SecretListResponse:
123
127
  """Retrieve all secret groups for a compute environment.
124
128
 
125
129
  Secret groups organize
@@ -138,7 +142,6 @@ class SecretsResource(SyncAPIResource):
138
142
 
139
143
  timeout: Override the client-level default timeout for this request, in seconds
140
144
  """
141
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
142
145
  return self._get(
143
146
  "/compute/v1/secrets",
144
147
  options=make_request_options(
@@ -148,7 +151,7 @@ class SecretsResource(SyncAPIResource):
148
151
  timeout=timeout,
149
152
  query=maybe_transform({"env": env}, secret_list_params.SecretListParams),
150
153
  ),
151
- cast_to=NoneType,
154
+ cast_to=SecretListResponse,
152
155
  )
153
156
 
154
157
  def delete_group(
@@ -163,13 +166,12 @@ class SecretsResource(SyncAPIResource):
163
166
  extra_query: Query | None = None,
164
167
  extra_body: Body | None = None,
165
168
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
166
- ) -> None:
167
- """
168
- Delete an entire secret group or a specific key within a secret group.
169
- Automatically syncs the deletion to Modal compute infrastructure. When deleting
170
- a specific key, the remaining secrets in the group are re-synced. When deleting
171
- the entire group, all secrets and the group itself are removed from both the
172
- database and Modal.
169
+ ) -> SecretDeleteGroupResponse:
170
+ """Delete an entire secret group or a specific key within a secret group.
171
+
172
+ When
173
+ deleting a specific key, the remaining secrets in the group are preserved. When
174
+ deleting the entire group, all secrets and the group itself are removed.
173
175
 
174
176
  Args:
175
177
  env: Environment name. If not provided, uses the default environment
@@ -187,7 +189,6 @@ class SecretsResource(SyncAPIResource):
187
189
  """
188
190
  if not group:
189
191
  raise ValueError(f"Expected a non-empty value for `group` but received {group!r}")
190
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
191
192
  return self._delete(
192
193
  f"/compute/v1/secrets/{group}",
193
194
  options=make_request_options(
@@ -203,7 +204,7 @@ class SecretsResource(SyncAPIResource):
203
204
  secret_delete_group_params.SecretDeleteGroupParams,
204
205
  ),
205
206
  ),
206
- cast_to=NoneType,
207
+ cast_to=SecretDeleteGroupResponse,
207
208
  )
208
209
 
209
210
  def retrieve_group(
@@ -217,7 +218,7 @@ class SecretsResource(SyncAPIResource):
217
218
  extra_query: Query | None = None,
218
219
  extra_body: Body | None = None,
219
220
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
220
- ) -> None:
221
+ ) -> SecretRetrieveGroupResponse:
221
222
  """
222
223
  Retrieve the keys (names) of secrets in a specified group within a compute
223
224
  environment. For security reasons, actual secret values are not returned - only
@@ -236,7 +237,6 @@ class SecretsResource(SyncAPIResource):
236
237
  """
237
238
  if not group:
238
239
  raise ValueError(f"Expected a non-empty value for `group` but received {group!r}")
239
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
240
240
  return self._get(
241
241
  f"/compute/v1/secrets/{group}",
242
242
  options=make_request_options(
@@ -246,7 +246,7 @@ class SecretsResource(SyncAPIResource):
246
246
  timeout=timeout,
247
247
  query=maybe_transform({"env": env}, secret_retrieve_group_params.SecretRetrieveGroupParams),
248
248
  ),
249
- cast_to=NoneType,
249
+ cast_to=SecretRetrieveGroupResponse,
250
250
  )
251
251
 
252
252
  def update_group(
@@ -261,12 +261,12 @@ class SecretsResource(SyncAPIResource):
261
261
  extra_query: Query | None = None,
262
262
  extra_body: Body | None = None,
263
263
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
264
- ) -> None:
264
+ ) -> SecretUpdateGroupResponse:
265
265
  """Set or update secrets in a compute secret group.
266
266
 
267
267
  Secrets are encrypted with
268
- AES-256-GCM and synced to compute infrastructure in real-time. Use this to
269
- manage environment variables and API keys for your compute workloads.
268
+ AES-256-GCM. Use this to manage environment variables and API keys for your
269
+ compute workloads.
270
270
 
271
271
  Args:
272
272
  secrets: Key-value pairs of secrets to set
@@ -283,7 +283,6 @@ class SecretsResource(SyncAPIResource):
283
283
  """
284
284
  if not group:
285
285
  raise ValueError(f"Expected a non-empty value for `group` but received {group!r}")
286
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
287
286
  return self._put(
288
287
  f"/compute/v1/secrets/{group}",
289
288
  body=maybe_transform(
@@ -296,7 +295,7 @@ class SecretsResource(SyncAPIResource):
296
295
  options=make_request_options(
297
296
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
298
297
  ),
299
- cast_to=NoneType,
298
+ cast_to=SecretUpdateGroupResponse,
300
299
  )
301
300
 
302
301
 
@@ -390,7 +389,7 @@ class AsyncSecretsResource(AsyncAPIResource):
390
389
  extra_query: Query | None = None,
391
390
  extra_body: Body | None = None,
392
391
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
393
- ) -> None:
392
+ ) -> SecretListResponse:
394
393
  """Retrieve all secret groups for a compute environment.
395
394
 
396
395
  Secret groups organize
@@ -409,7 +408,6 @@ class AsyncSecretsResource(AsyncAPIResource):
409
408
 
410
409
  timeout: Override the client-level default timeout for this request, in seconds
411
410
  """
412
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
413
411
  return await self._get(
414
412
  "/compute/v1/secrets",
415
413
  options=make_request_options(
@@ -419,7 +417,7 @@ class AsyncSecretsResource(AsyncAPIResource):
419
417
  timeout=timeout,
420
418
  query=await async_maybe_transform({"env": env}, secret_list_params.SecretListParams),
421
419
  ),
422
- cast_to=NoneType,
420
+ cast_to=SecretListResponse,
423
421
  )
424
422
 
425
423
  async def delete_group(
@@ -434,13 +432,12 @@ class AsyncSecretsResource(AsyncAPIResource):
434
432
  extra_query: Query | None = None,
435
433
  extra_body: Body | None = None,
436
434
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
437
- ) -> None:
438
- """
439
- Delete an entire secret group or a specific key within a secret group.
440
- Automatically syncs the deletion to Modal compute infrastructure. When deleting
441
- a specific key, the remaining secrets in the group are re-synced. When deleting
442
- the entire group, all secrets and the group itself are removed from both the
443
- database and Modal.
435
+ ) -> SecretDeleteGroupResponse:
436
+ """Delete an entire secret group or a specific key within a secret group.
437
+
438
+ When
439
+ deleting a specific key, the remaining secrets in the group are preserved. When
440
+ deleting the entire group, all secrets and the group itself are removed.
444
441
 
445
442
  Args:
446
443
  env: Environment name. If not provided, uses the default environment
@@ -458,7 +455,6 @@ class AsyncSecretsResource(AsyncAPIResource):
458
455
  """
459
456
  if not group:
460
457
  raise ValueError(f"Expected a non-empty value for `group` but received {group!r}")
461
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
462
458
  return await self._delete(
463
459
  f"/compute/v1/secrets/{group}",
464
460
  options=make_request_options(
@@ -474,7 +470,7 @@ class AsyncSecretsResource(AsyncAPIResource):
474
470
  secret_delete_group_params.SecretDeleteGroupParams,
475
471
  ),
476
472
  ),
477
- cast_to=NoneType,
473
+ cast_to=SecretDeleteGroupResponse,
478
474
  )
479
475
 
480
476
  async def retrieve_group(
@@ -488,7 +484,7 @@ class AsyncSecretsResource(AsyncAPIResource):
488
484
  extra_query: Query | None = None,
489
485
  extra_body: Body | None = None,
490
486
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
491
- ) -> None:
487
+ ) -> SecretRetrieveGroupResponse:
492
488
  """
493
489
  Retrieve the keys (names) of secrets in a specified group within a compute
494
490
  environment. For security reasons, actual secret values are not returned - only
@@ -507,7 +503,6 @@ class AsyncSecretsResource(AsyncAPIResource):
507
503
  """
508
504
  if not group:
509
505
  raise ValueError(f"Expected a non-empty value for `group` but received {group!r}")
510
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
511
506
  return await self._get(
512
507
  f"/compute/v1/secrets/{group}",
513
508
  options=make_request_options(
@@ -517,7 +512,7 @@ class AsyncSecretsResource(AsyncAPIResource):
517
512
  timeout=timeout,
518
513
  query=await async_maybe_transform({"env": env}, secret_retrieve_group_params.SecretRetrieveGroupParams),
519
514
  ),
520
- cast_to=NoneType,
515
+ cast_to=SecretRetrieveGroupResponse,
521
516
  )
522
517
 
523
518
  async def update_group(
@@ -532,12 +527,12 @@ class AsyncSecretsResource(AsyncAPIResource):
532
527
  extra_query: Query | None = None,
533
528
  extra_body: Body | None = None,
534
529
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
535
- ) -> None:
530
+ ) -> SecretUpdateGroupResponse:
536
531
  """Set or update secrets in a compute secret group.
537
532
 
538
533
  Secrets are encrypted with
539
- AES-256-GCM and synced to compute infrastructure in real-time. Use this to
540
- manage environment variables and API keys for your compute workloads.
534
+ AES-256-GCM. Use this to manage environment variables and API keys for your
535
+ compute workloads.
541
536
 
542
537
  Args:
543
538
  secrets: Key-value pairs of secrets to set
@@ -554,7 +549,6 @@ class AsyncSecretsResource(AsyncAPIResource):
554
549
  """
555
550
  if not group:
556
551
  raise ValueError(f"Expected a non-empty value for `group` but received {group!r}")
557
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
558
552
  return await self._put(
559
553
  f"/compute/v1/secrets/{group}",
560
554
  body=await async_maybe_transform(
@@ -567,7 +561,7 @@ class AsyncSecretsResource(AsyncAPIResource):
567
561
  options=make_request_options(
568
562
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
569
563
  ),
570
- cast_to=NoneType,
564
+ cast_to=SecretUpdateGroupResponse,
571
565
  )
572
566
 
573
567