casedev 0.2.0__py3-none-any.whl → 0.4.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 (157) hide show
  1. casedev/_base_client.py +5 -2
  2. casedev/_client.py +275 -1
  3. casedev/_compat.py +3 -3
  4. casedev/_utils/_json.py +35 -0
  5. casedev/_version.py +1 -1
  6. casedev/resources/__init__.py +98 -0
  7. casedev/resources/applications/__init__.py +33 -0
  8. casedev/resources/applications/applications.py +102 -0
  9. casedev/resources/applications/v1/__init__.py +61 -0
  10. casedev/resources/applications/v1/deployments.py +867 -0
  11. casedev/resources/applications/v1/projects.py +1377 -0
  12. casedev/resources/applications/v1/v1.py +166 -0
  13. casedev/resources/applications/v1/workflows.py +182 -0
  14. casedev/resources/compute/v1/__init__.py +28 -0
  15. casedev/resources/compute/v1/instance_types.py +145 -0
  16. casedev/resources/compute/v1/instances.py +448 -0
  17. casedev/resources/compute/v1/v1.py +64 -0
  18. casedev/resources/database/__init__.py +33 -0
  19. casedev/resources/database/database.py +102 -0
  20. casedev/resources/database/v1/__init__.py +33 -0
  21. casedev/resources/database/v1/projects.py +771 -0
  22. casedev/resources/database/v1/v1.py +175 -0
  23. casedev/resources/legal/__init__.py +33 -0
  24. casedev/resources/legal/legal.py +102 -0
  25. casedev/resources/legal/v1.py +924 -0
  26. casedev/resources/memory/__init__.py +33 -0
  27. casedev/resources/memory/memory.py +102 -0
  28. casedev/resources/memory/v1.py +1100 -0
  29. casedev/resources/ocr/v1.py +2 -2
  30. casedev/resources/privilege/__init__.py +33 -0
  31. casedev/resources/privilege/privilege.py +102 -0
  32. casedev/resources/privilege/v1.py +260 -0
  33. casedev/resources/superdoc/__init__.py +33 -0
  34. casedev/resources/superdoc/superdoc.py +102 -0
  35. casedev/resources/superdoc/v1.py +349 -0
  36. casedev/resources/translate/__init__.py +33 -0
  37. casedev/resources/translate/translate.py +102 -0
  38. casedev/resources/translate/v1.py +418 -0
  39. casedev/resources/vault/__init__.py +14 -0
  40. casedev/resources/vault/graphrag.py +91 -0
  41. casedev/resources/vault/multipart.py +549 -0
  42. casedev/resources/vault/objects.py +481 -1
  43. casedev/resources/vault/vault.py +264 -5
  44. casedev/resources/voice/streaming.py +2 -2
  45. casedev/types/__init__.py +4 -0
  46. casedev/types/applications/v1/__init__.py +20 -0
  47. casedev/types/applications/v1/deployment_cancel_params.py +14 -0
  48. casedev/types/applications/v1/deployment_create_params.py +20 -0
  49. casedev/types/applications/v1/deployment_get_logs_params.py +14 -0
  50. casedev/types/applications/v1/deployment_list_params.py +23 -0
  51. casedev/types/applications/v1/deployment_retrieve_params.py +17 -0
  52. casedev/types/applications/v1/deployment_stream_params.py +17 -0
  53. casedev/types/applications/v1/project_create_deployment_params.py +29 -0
  54. casedev/types/applications/v1/project_create_domain_params.py +17 -0
  55. casedev/types/applications/v1/project_create_env_params.py +27 -0
  56. casedev/types/applications/v1/project_create_params.py +53 -0
  57. casedev/types/applications/v1/project_delete_params.py +14 -0
  58. casedev/types/applications/v1/project_get_runtime_logs_params.py +12 -0
  59. casedev/types/applications/v1/project_list_deployments_params.py +18 -0
  60. casedev/types/applications/v1/project_list_env_params.py +12 -0
  61. casedev/types/applications/v1/project_list_response.py +45 -0
  62. casedev/types/applications/v1/workflow_get_status_params.py +14 -0
  63. casedev/types/compute/v1/__init__.py +6 -0
  64. casedev/types/compute/v1/instance_create_params.py +28 -0
  65. casedev/types/compute/v1/instance_create_response.py +35 -0
  66. casedev/types/compute/v1/instance_delete_response.py +23 -0
  67. casedev/types/compute/v1/instance_list_response.py +45 -0
  68. casedev/types/compute/v1/instance_retrieve_response.py +55 -0
  69. casedev/types/compute/v1/instance_type_list_response.py +46 -0
  70. casedev/types/database/__init__.py +5 -0
  71. casedev/types/database/v1/__init__.py +14 -0
  72. casedev/types/database/v1/project_create_branch_params.py +17 -0
  73. casedev/types/database/v1/project_create_branch_response.py +30 -0
  74. casedev/types/database/v1/project_create_params.py +27 -0
  75. casedev/types/database/v1/project_create_response.py +47 -0
  76. casedev/types/database/v1/project_delete_response.py +13 -0
  77. casedev/types/database/v1/project_get_connection_params.py +15 -0
  78. casedev/types/database/v1/project_get_connection_response.py +18 -0
  79. casedev/types/database/v1/project_list_branches_response.py +37 -0
  80. casedev/types/database/v1/project_list_response.py +64 -0
  81. casedev/types/database/v1/project_retrieve_response.py +100 -0
  82. casedev/types/database/v1_get_usage_response.py +116 -0
  83. casedev/types/legal/__init__.py +20 -0
  84. casedev/types/legal/v1_find_params.py +23 -0
  85. casedev/types/legal/v1_find_response.py +37 -0
  86. casedev/types/legal/v1_get_citations_from_url_params.py +12 -0
  87. casedev/types/legal/v1_get_citations_from_url_response.py +69 -0
  88. casedev/types/legal/v1_get_citations_params.py +16 -0
  89. casedev/types/legal/v1_get_citations_response.py +60 -0
  90. casedev/types/legal/v1_get_full_text_params.py +23 -0
  91. casedev/types/legal/v1_get_full_text_response.py +35 -0
  92. casedev/types/legal/v1_list_jurisdictions_params.py +12 -0
  93. casedev/types/legal/v1_list_jurisdictions_response.py +35 -0
  94. casedev/types/legal/v1_research_params.py +27 -0
  95. casedev/types/legal/v1_research_response.py +51 -0
  96. casedev/types/legal/v1_similar_params.py +25 -0
  97. casedev/types/legal/v1_similar_response.py +42 -0
  98. casedev/types/legal/v1_verify_params.py +16 -0
  99. casedev/types/legal/v1_verify_response.py +92 -0
  100. casedev/types/memory/__init__.py +14 -0
  101. casedev/types/memory/v1_create_params.py +69 -0
  102. casedev/types/memory/v1_create_response.py +23 -0
  103. casedev/types/memory/v1_delete_all_params.py +45 -0
  104. casedev/types/memory/v1_delete_all_response.py +12 -0
  105. casedev/types/memory/v1_delete_response.py +13 -0
  106. casedev/types/memory/v1_list_params.py +54 -0
  107. casedev/types/memory/v1_list_response.py +29 -0
  108. casedev/types/memory/v1_retrieve_response.py +23 -0
  109. casedev/types/memory/v1_search_params.py +54 -0
  110. casedev/types/memory/v1_search_response.py +61 -0
  111. casedev/types/ocr/v1_process_params.py +21 -13
  112. casedev/types/ocr/v1_retrieve_response.py +7 -7
  113. casedev/types/privilege/__init__.py +6 -0
  114. casedev/types/privilege/v1_detect_params.py +34 -0
  115. casedev/types/privilege/v1_detect_response.py +41 -0
  116. casedev/types/superdoc/__init__.py +6 -0
  117. casedev/types/superdoc/v1_annotate_params.py +56 -0
  118. casedev/types/superdoc/v1_convert_params.py +23 -0
  119. casedev/types/translate/__init__.py +10 -0
  120. casedev/types/translate/v1_detect_params.py +18 -0
  121. casedev/types/translate/v1_detect_response.py +28 -0
  122. casedev/types/translate/v1_list_languages_params.py +18 -0
  123. casedev/types/translate/v1_list_languages_response.py +23 -0
  124. casedev/types/translate/v1_translate_params.py +30 -0
  125. casedev/types/translate/v1_translate_response.py +28 -0
  126. casedev/types/vault/__init__.py +14 -0
  127. casedev/types/vault/graphrag_process_object_response.py +45 -0
  128. casedev/types/vault/multipart_abort_params.py +15 -0
  129. casedev/types/vault/multipart_complete_params.py +26 -0
  130. casedev/types/vault/multipart_get_part_urls_params.py +24 -0
  131. casedev/types/vault/multipart_get_part_urls_response.py +19 -0
  132. casedev/types/vault/multipart_init_params.py +32 -0
  133. casedev/types/vault/multipart_init_response.py +23 -0
  134. casedev/types/vault/object_create_presigned_url_params.py +6 -0
  135. casedev/types/vault/object_delete_params.py +17 -0
  136. casedev/types/vault/object_delete_response.py +29 -0
  137. casedev/types/vault/object_get_ocr_words_params.py +28 -0
  138. casedev/types/vault/object_get_ocr_words_response.py +48 -0
  139. casedev/types/vault/object_get_summarize_job_response.py +40 -0
  140. casedev/types/vault/object_get_text_response.py +10 -10
  141. casedev/types/vault/object_list_response.py +13 -13
  142. casedev/types/vault/object_retrieve_response.py +13 -13
  143. casedev/types/vault/object_update_params.py +24 -0
  144. casedev/types/vault/object_update_response.py +39 -0
  145. casedev/types/vault_delete_params.py +17 -0
  146. casedev/types/vault_delete_response.py +30 -0
  147. casedev/types/vault_retrieve_response.py +13 -13
  148. casedev/types/vault_search_response.py +14 -0
  149. casedev/types/vault_update_params.py +21 -0
  150. casedev/types/vault_update_response.py +60 -0
  151. casedev/types/vault_upload_params.py +5 -2
  152. {casedev-0.2.0.dist-info → casedev-0.4.0.dist-info}/METADATA +1 -1
  153. casedev-0.4.0.dist-info/RECORD +275 -0
  154. casedev-0.2.0.dist-info/RECORD +0 -149
  155. /casedev/types/{webhooks → applications}/__init__.py +0 -0
  156. {casedev-0.2.0.dist-info → casedev-0.4.0.dist-info}/WHEEL +0 -0
  157. {casedev-0.2.0.dist-info → casedev-0.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,11 +2,18 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Optional
5
6
  from typing_extensions import Literal
6
7
 
7
8
  import httpx
8
9
 
9
- from ...types import vault_create_params, vault_search_params, vault_upload_params
10
+ from ...types import (
11
+ vault_create_params,
12
+ vault_delete_params,
13
+ vault_search_params,
14
+ vault_update_params,
15
+ vault_upload_params,
16
+ )
10
17
  from .objects import (
11
18
  ObjectsResource,
12
19
  AsyncObjectsResource,
@@ -26,6 +33,14 @@ from .graphrag import (
26
33
  AsyncGraphragResourceWithStreamingResponse,
27
34
  )
28
35
  from ..._compat import cached_property
36
+ from .multipart import (
37
+ MultipartResource,
38
+ AsyncMultipartResource,
39
+ MultipartResourceWithRawResponse,
40
+ AsyncMultipartResourceWithRawResponse,
41
+ MultipartResourceWithStreamingResponse,
42
+ AsyncMultipartResourceWithStreamingResponse,
43
+ )
29
44
  from ..._resource import SyncAPIResource, AsyncAPIResource
30
45
  from ..._response import (
31
46
  to_raw_response_wrapper,
@@ -36,8 +51,10 @@ from ..._response import (
36
51
  from ..._base_client import make_request_options
37
52
  from ...types.vault_list_response import VaultListResponse
38
53
  from ...types.vault_create_response import VaultCreateResponse
54
+ from ...types.vault_delete_response import VaultDeleteResponse
39
55
  from ...types.vault_ingest_response import VaultIngestResponse
40
56
  from ...types.vault_search_response import VaultSearchResponse
57
+ from ...types.vault_update_response import VaultUpdateResponse
41
58
  from ...types.vault_upload_response import VaultUploadResponse
42
59
  from ...types.vault_retrieve_response import VaultRetrieveResponse
43
60
 
@@ -49,6 +66,10 @@ class VaultResource(SyncAPIResource):
49
66
  def graphrag(self) -> GraphragResource:
50
67
  return GraphragResource(self._client)
51
68
 
69
+ @cached_property
70
+ def multipart(self) -> MultipartResource:
71
+ return MultipartResource(self._client)
72
+
52
73
  @cached_property
53
74
  def objects(self) -> ObjectsResource:
54
75
  return ObjectsResource(self._client)
@@ -168,6 +189,59 @@ class VaultResource(SyncAPIResource):
168
189
  cast_to=VaultRetrieveResponse,
169
190
  )
170
191
 
192
+ def update(
193
+ self,
194
+ id: str,
195
+ *,
196
+ description: Optional[str] | Omit = omit,
197
+ enable_graph: bool | Omit = omit,
198
+ name: str | Omit = omit,
199
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
200
+ # The extra values given here take precedence over values defined on the client or passed to this method.
201
+ extra_headers: Headers | None = None,
202
+ extra_query: Query | None = None,
203
+ extra_body: Body | None = None,
204
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
205
+ ) -> VaultUpdateResponse:
206
+ """Update vault settings including name, description, and enableGraph.
207
+
208
+ Changing
209
+ enableGraph only affects future document uploads - existing documents retain
210
+ their current graph/non-graph state.
211
+
212
+ Args:
213
+ description: New description for the vault. Set to null to remove.
214
+
215
+ enable_graph: Whether to enable GraphRAG for future document uploads
216
+
217
+ name: New name for the vault
218
+
219
+ extra_headers: Send extra headers
220
+
221
+ extra_query: Add additional query parameters to the request
222
+
223
+ extra_body: Add additional JSON properties to the request
224
+
225
+ timeout: Override the client-level default timeout for this request, in seconds
226
+ """
227
+ if not id:
228
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
229
+ return self._patch(
230
+ f"/vault/{id}",
231
+ body=maybe_transform(
232
+ {
233
+ "description": description,
234
+ "enable_graph": enable_graph,
235
+ "name": name,
236
+ },
237
+ vault_update_params.VaultUpdateParams,
238
+ ),
239
+ options=make_request_options(
240
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
241
+ ),
242
+ cast_to=VaultUpdateResponse,
243
+ )
244
+
171
245
  def list(
172
246
  self,
173
247
  *,
@@ -191,6 +265,49 @@ class VaultResource(SyncAPIResource):
191
265
  cast_to=VaultListResponse,
192
266
  )
193
267
 
268
+ def delete(
269
+ self,
270
+ id: str,
271
+ *,
272
+ async_: bool | Omit = omit,
273
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
274
+ # The extra values given here take precedence over values defined on the client or passed to this method.
275
+ extra_headers: Headers | None = None,
276
+ extra_query: Query | None = None,
277
+ extra_body: Body | None = None,
278
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
279
+ ) -> VaultDeleteResponse:
280
+ """
281
+ Permanently deletes a vault and all its contents including documents, vectors,
282
+ graph data, and S3 buckets. This operation cannot be undone. For large vaults,
283
+ use the async=true query parameter to queue deletion in the background.
284
+
285
+ Args:
286
+ async_: If true and vault has many objects, queue deletion in background and return
287
+ immediately
288
+
289
+ extra_headers: Send extra headers
290
+
291
+ extra_query: Add additional query parameters to the request
292
+
293
+ extra_body: Add additional JSON properties to the request
294
+
295
+ timeout: Override the client-level default timeout for this request, in seconds
296
+ """
297
+ if not id:
298
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
299
+ return self._delete(
300
+ f"/vault/{id}",
301
+ options=make_request_options(
302
+ extra_headers=extra_headers,
303
+ extra_query=extra_query,
304
+ extra_body=extra_body,
305
+ timeout=timeout,
306
+ query=maybe_transform({"async_": async_}, vault_delete_params.VaultDeleteParams),
307
+ ),
308
+ cast_to=VaultDeleteResponse,
309
+ )
310
+
194
311
  def ingest(
195
312
  self,
196
313
  object_id: str,
@@ -299,7 +416,7 @@ class VaultResource(SyncAPIResource):
299
416
  auto_index: bool | Omit = omit,
300
417
  metadata: object | Omit = omit,
301
418
  path: str | Omit = omit,
302
- size_bytes: float | Omit = omit,
419
+ size_bytes: int | Omit = omit,
303
420
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
304
421
  # The extra values given here take precedence over values defined on the client or passed to this method.
305
422
  extra_headers: Headers | None = None,
@@ -326,7 +443,8 @@ class VaultResource(SyncAPIResource):
326
443
  source folder structure from systems like NetDocs, Clio, or Smokeball. Example:
327
444
  '/Discovery/Depositions/2024'
328
445
 
329
- size_bytes: Estimated file size in bytes for cost calculation
446
+ size_bytes: File size in bytes (optional, max 5GB for single PUT uploads). When provided,
447
+ enforces exact file size at S3 level.
330
448
 
331
449
  extra_headers: Send extra headers
332
450
 
@@ -363,6 +481,10 @@ class AsyncVaultResource(AsyncAPIResource):
363
481
  def graphrag(self) -> AsyncGraphragResource:
364
482
  return AsyncGraphragResource(self._client)
365
483
 
484
+ @cached_property
485
+ def multipart(self) -> AsyncMultipartResource:
486
+ return AsyncMultipartResource(self._client)
487
+
366
488
  @cached_property
367
489
  def objects(self) -> AsyncObjectsResource:
368
490
  return AsyncObjectsResource(self._client)
@@ -482,6 +604,59 @@ class AsyncVaultResource(AsyncAPIResource):
482
604
  cast_to=VaultRetrieveResponse,
483
605
  )
484
606
 
607
+ async def update(
608
+ self,
609
+ id: str,
610
+ *,
611
+ description: Optional[str] | Omit = omit,
612
+ enable_graph: bool | Omit = omit,
613
+ name: str | Omit = omit,
614
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
615
+ # The extra values given here take precedence over values defined on the client or passed to this method.
616
+ extra_headers: Headers | None = None,
617
+ extra_query: Query | None = None,
618
+ extra_body: Body | None = None,
619
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
620
+ ) -> VaultUpdateResponse:
621
+ """Update vault settings including name, description, and enableGraph.
622
+
623
+ Changing
624
+ enableGraph only affects future document uploads - existing documents retain
625
+ their current graph/non-graph state.
626
+
627
+ Args:
628
+ description: New description for the vault. Set to null to remove.
629
+
630
+ enable_graph: Whether to enable GraphRAG for future document uploads
631
+
632
+ name: New name for the vault
633
+
634
+ extra_headers: Send extra headers
635
+
636
+ extra_query: Add additional query parameters to the request
637
+
638
+ extra_body: Add additional JSON properties to the request
639
+
640
+ timeout: Override the client-level default timeout for this request, in seconds
641
+ """
642
+ if not id:
643
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
644
+ return await self._patch(
645
+ f"/vault/{id}",
646
+ body=await async_maybe_transform(
647
+ {
648
+ "description": description,
649
+ "enable_graph": enable_graph,
650
+ "name": name,
651
+ },
652
+ vault_update_params.VaultUpdateParams,
653
+ ),
654
+ options=make_request_options(
655
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
656
+ ),
657
+ cast_to=VaultUpdateResponse,
658
+ )
659
+
485
660
  async def list(
486
661
  self,
487
662
  *,
@@ -505,6 +680,49 @@ class AsyncVaultResource(AsyncAPIResource):
505
680
  cast_to=VaultListResponse,
506
681
  )
507
682
 
683
+ async def delete(
684
+ self,
685
+ id: str,
686
+ *,
687
+ async_: bool | Omit = omit,
688
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
689
+ # The extra values given here take precedence over values defined on the client or passed to this method.
690
+ extra_headers: Headers | None = None,
691
+ extra_query: Query | None = None,
692
+ extra_body: Body | None = None,
693
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
694
+ ) -> VaultDeleteResponse:
695
+ """
696
+ Permanently deletes a vault and all its contents including documents, vectors,
697
+ graph data, and S3 buckets. This operation cannot be undone. For large vaults,
698
+ use the async=true query parameter to queue deletion in the background.
699
+
700
+ Args:
701
+ async_: If true and vault has many objects, queue deletion in background and return
702
+ immediately
703
+
704
+ extra_headers: Send extra headers
705
+
706
+ extra_query: Add additional query parameters to the request
707
+
708
+ extra_body: Add additional JSON properties to the request
709
+
710
+ timeout: Override the client-level default timeout for this request, in seconds
711
+ """
712
+ if not id:
713
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
714
+ return await self._delete(
715
+ f"/vault/{id}",
716
+ options=make_request_options(
717
+ extra_headers=extra_headers,
718
+ extra_query=extra_query,
719
+ extra_body=extra_body,
720
+ timeout=timeout,
721
+ query=await async_maybe_transform({"async_": async_}, vault_delete_params.VaultDeleteParams),
722
+ ),
723
+ cast_to=VaultDeleteResponse,
724
+ )
725
+
508
726
  async def ingest(
509
727
  self,
510
728
  object_id: str,
@@ -613,7 +831,7 @@ class AsyncVaultResource(AsyncAPIResource):
613
831
  auto_index: bool | Omit = omit,
614
832
  metadata: object | Omit = omit,
615
833
  path: str | Omit = omit,
616
- size_bytes: float | Omit = omit,
834
+ size_bytes: int | Omit = omit,
617
835
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
618
836
  # The extra values given here take precedence over values defined on the client or passed to this method.
619
837
  extra_headers: Headers | None = None,
@@ -640,7 +858,8 @@ class AsyncVaultResource(AsyncAPIResource):
640
858
  source folder structure from systems like NetDocs, Clio, or Smokeball. Example:
641
859
  '/Discovery/Depositions/2024'
642
860
 
643
- size_bytes: Estimated file size in bytes for cost calculation
861
+ size_bytes: File size in bytes (optional, max 5GB for single PUT uploads). When provided,
862
+ enforces exact file size at S3 level.
644
863
 
645
864
  extra_headers: Send extra headers
646
865
 
@@ -682,9 +901,15 @@ class VaultResourceWithRawResponse:
682
901
  self.retrieve = to_raw_response_wrapper(
683
902
  vault.retrieve,
684
903
  )
904
+ self.update = to_raw_response_wrapper(
905
+ vault.update,
906
+ )
685
907
  self.list = to_raw_response_wrapper(
686
908
  vault.list,
687
909
  )
910
+ self.delete = to_raw_response_wrapper(
911
+ vault.delete,
912
+ )
688
913
  self.ingest = to_raw_response_wrapper(
689
914
  vault.ingest,
690
915
  )
@@ -699,6 +924,10 @@ class VaultResourceWithRawResponse:
699
924
  def graphrag(self) -> GraphragResourceWithRawResponse:
700
925
  return GraphragResourceWithRawResponse(self._vault.graphrag)
701
926
 
927
+ @cached_property
928
+ def multipart(self) -> MultipartResourceWithRawResponse:
929
+ return MultipartResourceWithRawResponse(self._vault.multipart)
930
+
702
931
  @cached_property
703
932
  def objects(self) -> ObjectsResourceWithRawResponse:
704
933
  return ObjectsResourceWithRawResponse(self._vault.objects)
@@ -714,9 +943,15 @@ class AsyncVaultResourceWithRawResponse:
714
943
  self.retrieve = async_to_raw_response_wrapper(
715
944
  vault.retrieve,
716
945
  )
946
+ self.update = async_to_raw_response_wrapper(
947
+ vault.update,
948
+ )
717
949
  self.list = async_to_raw_response_wrapper(
718
950
  vault.list,
719
951
  )
952
+ self.delete = async_to_raw_response_wrapper(
953
+ vault.delete,
954
+ )
720
955
  self.ingest = async_to_raw_response_wrapper(
721
956
  vault.ingest,
722
957
  )
@@ -731,6 +966,10 @@ class AsyncVaultResourceWithRawResponse:
731
966
  def graphrag(self) -> AsyncGraphragResourceWithRawResponse:
732
967
  return AsyncGraphragResourceWithRawResponse(self._vault.graphrag)
733
968
 
969
+ @cached_property
970
+ def multipart(self) -> AsyncMultipartResourceWithRawResponse:
971
+ return AsyncMultipartResourceWithRawResponse(self._vault.multipart)
972
+
734
973
  @cached_property
735
974
  def objects(self) -> AsyncObjectsResourceWithRawResponse:
736
975
  return AsyncObjectsResourceWithRawResponse(self._vault.objects)
@@ -746,9 +985,15 @@ class VaultResourceWithStreamingResponse:
746
985
  self.retrieve = to_streamed_response_wrapper(
747
986
  vault.retrieve,
748
987
  )
988
+ self.update = to_streamed_response_wrapper(
989
+ vault.update,
990
+ )
749
991
  self.list = to_streamed_response_wrapper(
750
992
  vault.list,
751
993
  )
994
+ self.delete = to_streamed_response_wrapper(
995
+ vault.delete,
996
+ )
752
997
  self.ingest = to_streamed_response_wrapper(
753
998
  vault.ingest,
754
999
  )
@@ -763,6 +1008,10 @@ class VaultResourceWithStreamingResponse:
763
1008
  def graphrag(self) -> GraphragResourceWithStreamingResponse:
764
1009
  return GraphragResourceWithStreamingResponse(self._vault.graphrag)
765
1010
 
1011
+ @cached_property
1012
+ def multipart(self) -> MultipartResourceWithStreamingResponse:
1013
+ return MultipartResourceWithStreamingResponse(self._vault.multipart)
1014
+
766
1015
  @cached_property
767
1016
  def objects(self) -> ObjectsResourceWithStreamingResponse:
768
1017
  return ObjectsResourceWithStreamingResponse(self._vault.objects)
@@ -778,9 +1027,15 @@ class AsyncVaultResourceWithStreamingResponse:
778
1027
  self.retrieve = async_to_streamed_response_wrapper(
779
1028
  vault.retrieve,
780
1029
  )
1030
+ self.update = async_to_streamed_response_wrapper(
1031
+ vault.update,
1032
+ )
781
1033
  self.list = async_to_streamed_response_wrapper(
782
1034
  vault.list,
783
1035
  )
1036
+ self.delete = async_to_streamed_response_wrapper(
1037
+ vault.delete,
1038
+ )
784
1039
  self.ingest = async_to_streamed_response_wrapper(
785
1040
  vault.ingest,
786
1041
  )
@@ -795,6 +1050,10 @@ class AsyncVaultResourceWithStreamingResponse:
795
1050
  def graphrag(self) -> AsyncGraphragResourceWithStreamingResponse:
796
1051
  return AsyncGraphragResourceWithStreamingResponse(self._vault.graphrag)
797
1052
 
1053
+ @cached_property
1054
+ def multipart(self) -> AsyncMultipartResourceWithStreamingResponse:
1055
+ return AsyncMultipartResourceWithStreamingResponse(self._vault.multipart)
1056
+
798
1057
  @cached_property
799
1058
  def objects(self) -> AsyncObjectsResourceWithStreamingResponse:
800
1059
  return AsyncObjectsResourceWithStreamingResponse(self._vault.objects)
@@ -60,7 +60,7 @@ class StreamingResource(SyncAPIResource):
60
60
  - Encoding: PCM 16-bit little-endian
61
61
  - Channels: Mono (1 channel)
62
62
 
63
- **Pricing:** $0.30 per minute ($18.00 per hour)
63
+ **Pricing:** $0.01 per minute ($0.60 per hour)
64
64
  """
65
65
  return self._get(
66
66
  "/voice/streaming/url",
@@ -112,7 +112,7 @@ class AsyncStreamingResource(AsyncAPIResource):
112
112
  - Encoding: PCM 16-bit little-endian
113
113
  - Channels: Mono (1 channel)
114
114
 
115
- **Pricing:** $0.30 per minute ($18.00 per hour)
115
+ **Pricing:** $0.01 per minute ($0.60 per hour)
116
116
  """
117
117
  return await self._get(
118
118
  "/voice/streaming/url",
casedev/types/__init__.py CHANGED
@@ -3,12 +3,16 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from .vault_create_params import VaultCreateParams as VaultCreateParams
6
+ from .vault_delete_params import VaultDeleteParams as VaultDeleteParams
6
7
  from .vault_list_response import VaultListResponse as VaultListResponse
7
8
  from .vault_search_params import VaultSearchParams as VaultSearchParams
9
+ from .vault_update_params import VaultUpdateParams as VaultUpdateParams
8
10
  from .vault_upload_params import VaultUploadParams as VaultUploadParams
9
11
  from .vault_create_response import VaultCreateResponse as VaultCreateResponse
12
+ from .vault_delete_response import VaultDeleteResponse as VaultDeleteResponse
10
13
  from .vault_ingest_response import VaultIngestResponse as VaultIngestResponse
11
14
  from .vault_search_response import VaultSearchResponse as VaultSearchResponse
15
+ from .vault_update_response import VaultUpdateResponse as VaultUpdateResponse
12
16
  from .vault_upload_response import VaultUploadResponse as VaultUploadResponse
13
17
  from .llm_get_config_response import LlmGetConfigResponse as LlmGetConfigResponse
14
18
  from .vault_retrieve_response import VaultRetrieveResponse as VaultRetrieveResponse
@@ -0,0 +1,20 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .project_create_params import ProjectCreateParams as ProjectCreateParams
6
+ from .project_delete_params import ProjectDeleteParams as ProjectDeleteParams
7
+ from .project_list_response import ProjectListResponse as ProjectListResponse
8
+ from .deployment_list_params import DeploymentListParams as DeploymentListParams
9
+ from .project_list_env_params import ProjectListEnvParams as ProjectListEnvParams
10
+ from .deployment_cancel_params import DeploymentCancelParams as DeploymentCancelParams
11
+ from .deployment_create_params import DeploymentCreateParams as DeploymentCreateParams
12
+ from .deployment_stream_params import DeploymentStreamParams as DeploymentStreamParams
13
+ from .project_create_env_params import ProjectCreateEnvParams as ProjectCreateEnvParams
14
+ from .deployment_get_logs_params import DeploymentGetLogsParams as DeploymentGetLogsParams
15
+ from .deployment_retrieve_params import DeploymentRetrieveParams as DeploymentRetrieveParams
16
+ from .workflow_get_status_params import WorkflowGetStatusParams as WorkflowGetStatusParams
17
+ from .project_create_domain_params import ProjectCreateDomainParams as ProjectCreateDomainParams
18
+ from .project_get_runtime_logs_params import ProjectGetRuntimeLogsParams as ProjectGetRuntimeLogsParams
19
+ from .project_list_deployments_params import ProjectListDeploymentsParams as ProjectListDeploymentsParams
20
+ from .project_create_deployment_params import ProjectCreateDeploymentParams as ProjectCreateDeploymentParams
@@ -0,0 +1,14 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ...._utils import PropertyInfo
8
+
9
+ __all__ = ["DeploymentCancelParams"]
10
+
11
+
12
+ class DeploymentCancelParams(TypedDict, total=False):
13
+ project_id: Required[Annotated[str, PropertyInfo(alias="projectId")]]
14
+ """Project ID (for authorization)"""
@@ -0,0 +1,20 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, Required, Annotated, TypedDict
6
+
7
+ from ...._utils import PropertyInfo
8
+
9
+ __all__ = ["DeploymentCreateParams"]
10
+
11
+
12
+ class DeploymentCreateParams(TypedDict, total=False):
13
+ project_id: Required[Annotated[str, PropertyInfo(alias="projectId")]]
14
+ """Project ID"""
15
+
16
+ ref: str
17
+ """Git ref (branch, tag, or commit) to deploy"""
18
+
19
+ target: Literal["production", "preview"]
20
+ """Deployment target"""
@@ -0,0 +1,14 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ...._utils import PropertyInfo
8
+
9
+ __all__ = ["DeploymentGetLogsParams"]
10
+
11
+
12
+ class DeploymentGetLogsParams(TypedDict, total=False):
13
+ project_id: Required[Annotated[str, PropertyInfo(alias="projectId")]]
14
+ """Project ID (for authorization)"""
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, Required, Annotated, TypedDict
6
+
7
+ from ...._utils import PropertyInfo
8
+
9
+ __all__ = ["DeploymentListParams"]
10
+
11
+
12
+ class DeploymentListParams(TypedDict, total=False):
13
+ project_id: Required[Annotated[str, PropertyInfo(alias="projectId")]]
14
+ """Project ID"""
15
+
16
+ limit: float
17
+ """Maximum number of deployments to return"""
18
+
19
+ state: str
20
+ """Filter by deployment state"""
21
+
22
+ target: Literal["production", "staging"]
23
+ """Filter by deployment target"""
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ...._utils import PropertyInfo
8
+
9
+ __all__ = ["DeploymentRetrieveParams"]
10
+
11
+
12
+ class DeploymentRetrieveParams(TypedDict, total=False):
13
+ project_id: Required[Annotated[str, PropertyInfo(alias="projectId")]]
14
+ """Project ID (for authorization)"""
15
+
16
+ include_logs: Annotated[bool, PropertyInfo(alias="includeLogs")]
17
+ """Include build logs"""
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ...._utils import PropertyInfo
8
+
9
+ __all__ = ["DeploymentStreamParams"]
10
+
11
+
12
+ class DeploymentStreamParams(TypedDict, total=False):
13
+ project_id: Required[Annotated[str, PropertyInfo(alias="projectId")]]
14
+ """Project ID (for authorization)"""
15
+
16
+ start_index: Annotated[float, PropertyInfo(alias="startIndex")]
17
+ """Resume stream from this index (for reconnection)"""
@@ -0,0 +1,29 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Iterable
6
+ from typing_extensions import Literal, Required, Annotated, TypedDict
7
+
8
+ from ...._utils import PropertyInfo
9
+
10
+ __all__ = ["ProjectCreateDeploymentParams", "EnvironmentVariable"]
11
+
12
+
13
+ class ProjectCreateDeploymentParams(TypedDict, total=False):
14
+ environment_variables: Annotated[Iterable[EnvironmentVariable], PropertyInfo(alias="environmentVariables")]
15
+ """Additional environment variables to set or update before deployment"""
16
+
17
+
18
+ class EnvironmentVariable(TypedDict, total=False):
19
+ key: Required[str]
20
+ """Environment variable name"""
21
+
22
+ target: Required[List[Literal["production", "preview", "development"]]]
23
+ """Deployment targets for this variable"""
24
+
25
+ value: Required[str]
26
+ """Environment variable value"""
27
+
28
+ type: Literal["plain", "encrypted", "secret"]
29
+ """Variable type"""
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, Annotated, TypedDict
6
+
7
+ from ...._utils import PropertyInfo
8
+
9
+ __all__ = ["ProjectCreateDomainParams"]
10
+
11
+
12
+ class ProjectCreateDomainParams(TypedDict, total=False):
13
+ domain: Required[str]
14
+ """Domain name to add"""
15
+
16
+ git_branch: Annotated[str, PropertyInfo(alias="gitBranch")]
17
+ """Git branch to associate with this domain"""
@@ -0,0 +1,27 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List
6
+ from typing_extensions import Literal, Required, Annotated, TypedDict
7
+
8
+ from ...._utils import PropertyInfo
9
+
10
+ __all__ = ["ProjectCreateEnvParams"]
11
+
12
+
13
+ class ProjectCreateEnvParams(TypedDict, total=False):
14
+ key: Required[str]
15
+ """Environment variable name"""
16
+
17
+ target: Required[List[Literal["production", "preview", "development"]]]
18
+ """Deployment targets for this variable"""
19
+
20
+ value: Required[str]
21
+ """Environment variable value"""
22
+
23
+ git_branch: Annotated[str, PropertyInfo(alias="gitBranch")]
24
+ """Specific git branch (for preview deployments)"""
25
+
26
+ type: Literal["plain", "encrypted", "secret"]
27
+ """Variable type"""