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,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing_extensions import Literal, Required, TypedDict
5
+ from typing import Dict, Union
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
6
7
 
7
- __all__ = ["V1ProcessParams", "Features"]
8
+ __all__ = ["V1ProcessParams", "Features", "FeaturesTables"]
8
9
 
9
10
 
10
11
  class V1ProcessParams(TypedDict, total=False):
@@ -21,7 +22,7 @@ class V1ProcessParams(TypedDict, total=False):
21
22
  """OCR engine to use"""
22
23
 
23
24
  features: Features
24
- """OCR features to extract"""
25
+ """Additional processing options"""
25
26
 
26
27
  result_bucket: str
27
28
  """S3 bucket to store results"""
@@ -30,17 +31,24 @@ class V1ProcessParams(TypedDict, total=False):
30
31
  """S3 key prefix for results"""
31
32
 
32
33
 
33
- class Features(TypedDict, total=False):
34
- """OCR features to extract"""
34
+ class FeaturesTablesTyped(TypedDict, total=False):
35
+ """Extract tables as structured data"""
36
+
37
+ format: Literal["csv", "json"]
38
+ """Output format for extracted tables"""
39
+
35
40
 
36
- forms: bool
37
- """Detect form fields"""
41
+ FeaturesTables: TypeAlias = Union[FeaturesTablesTyped, Dict[str, object]]
42
+
43
+
44
+ class Features(TypedDict, total=False):
45
+ """Additional processing options"""
38
46
 
39
- layout: bool
40
- """Preserve document layout"""
47
+ embed: Dict[str, object]
48
+ """Generate searchable PDF with text layer"""
41
49
 
42
- tables: bool
43
- """Detect and extract tables"""
50
+ forms: Dict[str, object]
51
+ """Detect and extract form fields"""
44
52
 
45
- text: bool
46
- """Extract text content"""
53
+ tables: FeaturesTables
54
+ """Extract tables as structured data"""
@@ -10,23 +10,23 @@ __all__ = ["V1RetrieveResponse"]
10
10
 
11
11
 
12
12
  class V1RetrieveResponse(BaseModel):
13
- id: Optional[str] = None
13
+ id: str
14
14
  """OCR job ID"""
15
15
 
16
+ created_at: datetime
17
+ """Job creation timestamp"""
18
+
19
+ status: Literal["pending", "processing", "completed", "failed"]
20
+ """Current job status"""
21
+
16
22
  completed_at: Optional[datetime] = None
17
23
  """Job completion timestamp"""
18
24
 
19
- created_at: Optional[datetime] = None
20
- """Job creation timestamp"""
21
-
22
25
  metadata: Optional[object] = None
23
26
  """Additional processing metadata"""
24
27
 
25
28
  page_count: Optional[int] = None
26
29
  """Number of pages processed"""
27
30
 
28
- status: Optional[Literal["pending", "processing", "completed", "failed"]] = None
29
- """Current job status"""
30
-
31
31
  text: Optional[str] = None
32
32
  """Extracted text content (when completed)"""
@@ -0,0 +1,6 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .v1_detect_params import V1DetectParams as V1DetectParams
6
+ from .v1_detect_response import V1DetectResponse as V1DetectResponse
@@ -0,0 +1,34 @@
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, TypedDict
7
+
8
+ __all__ = ["V1DetectParams"]
9
+
10
+
11
+ class V1DetectParams(TypedDict, total=False):
12
+ categories: List[Literal["attorney_client", "work_product", "common_interest", "litigation_hold"]]
13
+ """Privilege categories to check.
14
+
15
+ Defaults to all: attorney_client, work_product, common_interest, litigation_hold
16
+ """
17
+
18
+ content: str
19
+ """Text content to analyze (required if document_id not provided)"""
20
+
21
+ document_id: str
22
+ """Vault object ID to analyze (required if content not provided)"""
23
+
24
+ include_rationale: bool
25
+ """Include detailed rationale for each category"""
26
+
27
+ jurisdiction: Literal["US-Federal"]
28
+ """Jurisdiction for privilege rules"""
29
+
30
+ model: str
31
+ """LLM model to use for analysis"""
32
+
33
+ vault_id: str
34
+ """Vault ID (required when using document_id)"""
@@ -0,0 +1,41 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["V1DetectResponse", "Category"]
9
+
10
+
11
+ class Category(BaseModel):
12
+ confidence: Optional[float] = None
13
+ """Confidence for this category (0-1)"""
14
+
15
+ detected: Optional[bool] = None
16
+ """Whether this privilege type was detected"""
17
+
18
+ indicators: Optional[List[str]] = None
19
+ """Specific phrases or patterns found"""
20
+
21
+ rationale: Optional[str] = None
22
+ """Explanation of detection result"""
23
+
24
+ type: Optional[str] = None
25
+ """Privilege category"""
26
+
27
+
28
+ class V1DetectResponse(BaseModel):
29
+ categories: List[Category]
30
+
31
+ confidence: float
32
+ """Overall confidence score (0-1)"""
33
+
34
+ policy_rationale: str
35
+ """Policy-friendly explanation for privilege log"""
36
+
37
+ privileged: bool
38
+ """Whether any privilege was detected"""
39
+
40
+ recommendation: Literal["withhold", "redact", "produce", "review"]
41
+ """Recommended action for discovery"""
@@ -0,0 +1,6 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .v1_convert_params import V1ConvertParams as V1ConvertParams
6
+ from .v1_annotate_params import V1AnnotateParams as V1AnnotateParams
@@ -0,0 +1,56 @@
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 Union, Iterable
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["V1AnnotateParams", "Document", "Field", "FieldOptions"]
9
+
10
+
11
+ class V1AnnotateParams(TypedDict, total=False):
12
+ document: Required[Document]
13
+ """Document source - provide either URL or base64"""
14
+
15
+ fields: Required[Iterable[Field]]
16
+ """Fields to populate in the template"""
17
+
18
+ output_format: Literal["docx", "pdf"]
19
+ """Output format for the annotated document"""
20
+
21
+
22
+ class Document(TypedDict, total=False):
23
+ """Document source - provide either URL or base64"""
24
+
25
+ base64: str
26
+ """Base64-encoded DOCX template"""
27
+
28
+ url: str
29
+ """URL to the DOCX template"""
30
+
31
+
32
+ class FieldOptions(TypedDict, total=False):
33
+ """Optional configuration (e.g., image dimensions)"""
34
+
35
+ height: float
36
+ """Image height in pixels"""
37
+
38
+ width: float
39
+ """Image width in pixels"""
40
+
41
+
42
+ class Field(TypedDict, total=False):
43
+ type: Required[Literal["text", "image", "date", "number"]]
44
+ """Field data type"""
45
+
46
+ value: Required[Union[str, float]]
47
+ """Value to populate"""
48
+
49
+ id: str
50
+ """Target field ID (for single field)"""
51
+
52
+ group: str
53
+ """Target field group (for multiple fields with same tag)"""
54
+
55
+ options: FieldOptions
56
+ """Optional configuration (e.g., image dimensions)"""
@@ -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__ = ["V1ConvertParams"]
10
+
11
+
12
+ class V1ConvertParams(TypedDict, total=False):
13
+ from_: Required[Annotated[Literal["docx", "md", "html"], PropertyInfo(alias="from")]]
14
+ """Source format of the document"""
15
+
16
+ document_base64: str
17
+ """Base64-encoded document content"""
18
+
19
+ document_url: str
20
+ """URL to the document to convert"""
21
+
22
+ to: Literal["pdf", "docx"]
23
+ """Target format for conversion"""
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .v1_detect_params import V1DetectParams as V1DetectParams
6
+ from .v1_detect_response import V1DetectResponse as V1DetectResponse
7
+ from .v1_translate_params import V1TranslateParams as V1TranslateParams
8
+ from .v1_translate_response import V1TranslateResponse as V1TranslateResponse
9
+ from .v1_list_languages_params import V1ListLanguagesParams as V1ListLanguagesParams
10
+ from .v1_list_languages_response import V1ListLanguagesResponse as V1ListLanguagesResponse
@@ -0,0 +1,18 @@
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 Union
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ from ..._types import SequenceNotStr
9
+
10
+ __all__ = ["V1DetectParams"]
11
+
12
+
13
+ class V1DetectParams(TypedDict, total=False):
14
+ q: Required[Union[str, SequenceNotStr[str]]]
15
+ """Text to detect language for.
16
+
17
+ Can be a single string or an array for batch detection.
18
+ """
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["V1DetectResponse", "Data", "DataDetection"]
10
+
11
+
12
+ class DataDetection(BaseModel):
13
+ confidence: Optional[float] = None
14
+ """Confidence score (0-1)"""
15
+
16
+ is_reliable: Optional[bool] = FieldInfo(alias="isReliable", default=None)
17
+ """Whether the detection is reliable"""
18
+
19
+ language: Optional[str] = None
20
+ """Detected language code (ISO 639-1)"""
21
+
22
+
23
+ class Data(BaseModel):
24
+ detections: Optional[List[List[DataDetection]]] = None
25
+
26
+
27
+ class V1DetectResponse(BaseModel):
28
+ data: Optional[Data] = None
@@ -0,0 +1,18 @@
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, TypedDict
6
+
7
+ __all__ = ["V1ListLanguagesParams"]
8
+
9
+
10
+ class V1ListLanguagesParams(TypedDict, total=False):
11
+ model: Literal["nmt", "base"]
12
+ """Translation model to check language support for"""
13
+
14
+ target: str
15
+ """
16
+ Target language code for translating language names (e.g., 'es' for Spanish
17
+ names)
18
+ """
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["V1ListLanguagesResponse", "Data", "DataLanguage"]
8
+
9
+
10
+ class DataLanguage(BaseModel):
11
+ language: Optional[str] = None
12
+ """Language code (ISO 639-1)"""
13
+
14
+ name: Optional[str] = None
15
+ """Language name (if target specified)"""
16
+
17
+
18
+ class Data(BaseModel):
19
+ languages: Optional[List[DataLanguage]] = None
20
+
21
+
22
+ class V1ListLanguagesResponse(BaseModel):
23
+ data: Optional[Data] = None
@@ -0,0 +1,30 @@
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 Union
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ from ..._types import SequenceNotStr
9
+
10
+ __all__ = ["V1TranslateParams"]
11
+
12
+
13
+ class V1TranslateParams(TypedDict, total=False):
14
+ q: Required[Union[str, SequenceNotStr[str]]]
15
+ """Text to translate. Can be a single string or an array for batch translation."""
16
+
17
+ target: Required[str]
18
+ """Target language code (ISO 639-1)"""
19
+
20
+ format: Literal["text", "html"]
21
+ """Format of the source text. Use 'html' to preserve HTML tags."""
22
+
23
+ model: Literal["nmt", "base"]
24
+ """Translation model.
25
+
26
+ 'nmt' (Neural Machine Translation) is recommended for quality.
27
+ """
28
+
29
+ source: str
30
+ """Source language code (ISO 639-1). If not specified, language is auto-detected."""
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["V1TranslateResponse", "Data", "DataTranslation"]
10
+
11
+
12
+ class DataTranslation(BaseModel):
13
+ detected_source_language: Optional[str] = FieldInfo(alias="detectedSourceLanguage", default=None)
14
+ """Detected source language (if source not specified)"""
15
+
16
+ model: Optional[str] = None
17
+ """Model used for translation"""
18
+
19
+ translated_text: Optional[str] = FieldInfo(alias="translatedText", default=None)
20
+ """Translated text"""
21
+
22
+
23
+ class Data(BaseModel):
24
+ translations: Optional[List[DataTranslation]] = None
25
+
26
+
27
+ class V1TranslateResponse(BaseModel):
28
+ data: Optional[Data] = None
@@ -2,11 +2,25 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from .object_delete_params import ObjectDeleteParams as ObjectDeleteParams
5
6
  from .object_list_response import ObjectListResponse as ObjectListResponse
7
+ from .object_update_params import ObjectUpdateParams as ObjectUpdateParams
8
+ from .multipart_init_params import MultipartInitParams as MultipartInitParams
6
9
  from .graphrag_init_response import GraphragInitResponse as GraphragInitResponse
10
+ from .multipart_abort_params import MultipartAbortParams as MultipartAbortParams
11
+ from .object_delete_response import ObjectDeleteResponse as ObjectDeleteResponse
12
+ from .object_update_response import ObjectUpdateResponse as ObjectUpdateResponse
13
+ from .multipart_init_response import MultipartInitResponse as MultipartInitResponse
7
14
  from .object_download_response import ObjectDownloadResponse as ObjectDownloadResponse
8
15
  from .object_get_text_response import ObjectGetTextResponse as ObjectGetTextResponse
9
16
  from .object_retrieve_response import ObjectRetrieveResponse as ObjectRetrieveResponse
17
+ from .multipart_complete_params import MultipartCompleteParams as MultipartCompleteParams
10
18
  from .graphrag_get_stats_response import GraphragGetStatsResponse as GraphragGetStatsResponse
19
+ from .object_get_ocr_words_params import ObjectGetOcrWordsParams as ObjectGetOcrWordsParams
20
+ from .object_get_ocr_words_response import ObjectGetOcrWordsResponse as ObjectGetOcrWordsResponse
21
+ from .multipart_get_part_urls_params import MultipartGetPartURLsParams as MultipartGetPartURLsParams
22
+ from .graphrag_process_object_response import GraphragProcessObjectResponse as GraphragProcessObjectResponse
23
+ from .multipart_get_part_urls_response import MultipartGetPartURLsResponse as MultipartGetPartURLsResponse
24
+ from .object_get_summarize_job_response import ObjectGetSummarizeJobResponse as ObjectGetSummarizeJobResponse
11
25
  from .object_create_presigned_url_params import ObjectCreatePresignedURLParams as ObjectCreatePresignedURLParams
12
26
  from .object_create_presigned_url_response import ObjectCreatePresignedURLResponse as ObjectCreatePresignedURLResponse
@@ -0,0 +1,45 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["GraphragProcessObjectResponse", "Stats"]
10
+
11
+
12
+ class Stats(BaseModel):
13
+ """Extraction statistics"""
14
+
15
+ community_count: Optional[int] = None
16
+
17
+ entity_count: Optional[int] = None
18
+
19
+ relationship_count: Optional[int] = None
20
+
21
+
22
+ class GraphragProcessObjectResponse(BaseModel):
23
+ communities: int
24
+ """Number of communities detected"""
25
+
26
+ entities: int
27
+ """Number of entities extracted"""
28
+
29
+ object_id: str = FieldInfo(alias="objectId")
30
+ """ID of the indexed object"""
31
+
32
+ relationships: int
33
+ """Number of relationships extracted"""
34
+
35
+ stats: Stats
36
+ """Extraction statistics"""
37
+
38
+ status: str
39
+ """Status from GraphRAG service"""
40
+
41
+ success: bool
42
+ """Whether indexing completed successfully"""
43
+
44
+ vault_id: str = FieldInfo(alias="vaultId")
45
+ """ID of the vault"""
@@ -0,0 +1,15 @@
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__ = ["MultipartAbortParams"]
10
+
11
+
12
+ class MultipartAbortParams(TypedDict, total=False):
13
+ object_id: Required[Annotated[str, PropertyInfo(alias="objectId")]]
14
+
15
+ upload_id: Required[Annotated[str, PropertyInfo(alias="uploadId")]]
@@ -0,0 +1,26 @@
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 Iterable
6
+ from typing_extensions import Required, Annotated, TypedDict
7
+
8
+ from ..._utils import PropertyInfo
9
+
10
+ __all__ = ["MultipartCompleteParams", "Part"]
11
+
12
+
13
+ class MultipartCompleteParams(TypedDict, total=False):
14
+ object_id: Required[Annotated[str, PropertyInfo(alias="objectId")]]
15
+
16
+ parts: Required[Iterable[Part]]
17
+
18
+ size_bytes: Required[Annotated[int, PropertyInfo(alias="sizeBytes")]]
19
+
20
+ upload_id: Required[Annotated[str, PropertyInfo(alias="uploadId")]]
21
+
22
+
23
+ class Part(TypedDict, total=False):
24
+ etag: Required[str]
25
+
26
+ part_number: Required[Annotated[int, PropertyInfo(alias="partNumber")]]
@@ -0,0 +1,24 @@
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 Iterable
6
+ from typing_extensions import Required, Annotated, TypedDict
7
+
8
+ from ..._utils import PropertyInfo
9
+
10
+ __all__ = ["MultipartGetPartURLsParams", "Part"]
11
+
12
+
13
+ class MultipartGetPartURLsParams(TypedDict, total=False):
14
+ object_id: Required[Annotated[str, PropertyInfo(alias="objectId")]]
15
+
16
+ parts: Required[Iterable[Part]]
17
+
18
+ upload_id: Required[Annotated[str, PropertyInfo(alias="uploadId")]]
19
+
20
+
21
+ class Part(TypedDict, total=False):
22
+ part_number: Required[Annotated[int, PropertyInfo(alias="partNumber")]]
23
+
24
+ size_bytes: Required[Annotated[int, PropertyInfo(alias="sizeBytes")]]
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["MultipartGetPartURLsResponse", "URL"]
10
+
11
+
12
+ class URL(BaseModel):
13
+ part_number: Optional[int] = FieldInfo(alias="partNumber", default=None)
14
+
15
+ url: Optional[str] = None
16
+
17
+
18
+ class MultipartGetPartURLsResponse(BaseModel):
19
+ urls: Optional[List[URL]] = None
@@ -0,0 +1,32 @@
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__ = ["MultipartInitParams"]
10
+
11
+
12
+ class MultipartInitParams(TypedDict, total=False):
13
+ content_type: Required[Annotated[str, PropertyInfo(alias="contentType")]]
14
+ """MIME type of the file"""
15
+
16
+ filename: Required[str]
17
+ """Name of the file to upload"""
18
+
19
+ size_bytes: Required[Annotated[int, PropertyInfo(alias="sizeBytes")]]
20
+ """File size in bytes (required, max 8GB)."""
21
+
22
+ auto_index: bool
23
+ """Whether to automatically process and index the file for search"""
24
+
25
+ metadata: object
26
+ """Additional metadata to associate with the file"""
27
+
28
+ part_size_bytes: Annotated[int, PropertyInfo(alias="partSizeBytes")]
29
+ """Multipart part size in bytes (min 5MB). Defaults to 64MB."""
30
+
31
+ path: str
32
+ """Optional folder path for hierarchy preservation"""
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["MultipartInitResponse"]
10
+
11
+
12
+ class MultipartInitResponse(BaseModel):
13
+ next_step: Optional[str] = None
14
+
15
+ object_id: Optional[str] = FieldInfo(alias="objectId", default=None)
16
+
17
+ part_count: Optional[int] = FieldInfo(alias="partCount", default=None)
18
+
19
+ part_size_bytes: Optional[int] = FieldInfo(alias="partSizeBytes", default=None)
20
+
21
+ s3_key: Optional[str] = FieldInfo(alias="s3Key", default=None)
22
+
23
+ upload_id: Optional[str] = FieldInfo(alias="uploadId", default=None)
@@ -20,3 +20,9 @@ class ObjectCreatePresignedURLParams(TypedDict, total=False):
20
20
 
21
21
  operation: Literal["GET", "PUT", "DELETE", "HEAD"]
22
22
  """The S3 operation to generate URL for"""
23
+
24
+ size_bytes: Annotated[int, PropertyInfo(alias="sizeBytes")]
25
+ """File size in bytes (optional, max 5GB for single PUT uploads).
26
+
27
+ When provided for PUT operations, enforces exact file size at S3 level.
28
+ """