casedev 0.3.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 (145) hide show
  1. casedev/_client.py +275 -1
  2. casedev/_version.py +1 -1
  3. casedev/resources/__init__.py +98 -0
  4. casedev/resources/applications/__init__.py +33 -0
  5. casedev/resources/applications/applications.py +102 -0
  6. casedev/resources/applications/v1/__init__.py +61 -0
  7. casedev/resources/applications/v1/deployments.py +867 -0
  8. casedev/resources/applications/v1/projects.py +1377 -0
  9. casedev/resources/applications/v1/v1.py +166 -0
  10. casedev/resources/applications/v1/workflows.py +182 -0
  11. casedev/resources/compute/v1/__init__.py +28 -0
  12. casedev/resources/compute/v1/instance_types.py +145 -0
  13. casedev/resources/compute/v1/instances.py +448 -0
  14. casedev/resources/compute/v1/v1.py +64 -0
  15. casedev/resources/database/__init__.py +33 -0
  16. casedev/resources/database/database.py +102 -0
  17. casedev/resources/database/v1/__init__.py +33 -0
  18. casedev/resources/database/v1/projects.py +771 -0
  19. casedev/resources/database/v1/v1.py +175 -0
  20. casedev/resources/legal/__init__.py +33 -0
  21. casedev/resources/legal/legal.py +102 -0
  22. casedev/resources/legal/v1.py +924 -0
  23. casedev/resources/memory/__init__.py +33 -0
  24. casedev/resources/memory/memory.py +102 -0
  25. casedev/resources/memory/v1.py +1100 -0
  26. casedev/resources/privilege/__init__.py +33 -0
  27. casedev/resources/privilege/privilege.py +102 -0
  28. casedev/resources/privilege/v1.py +260 -0
  29. casedev/resources/superdoc/__init__.py +33 -0
  30. casedev/resources/superdoc/superdoc.py +102 -0
  31. casedev/resources/superdoc/v1.py +349 -0
  32. casedev/resources/translate/__init__.py +33 -0
  33. casedev/resources/translate/translate.py +102 -0
  34. casedev/resources/translate/v1.py +418 -0
  35. casedev/resources/vault/__init__.py +14 -0
  36. casedev/resources/vault/graphrag.py +91 -0
  37. casedev/resources/vault/multipart.py +549 -0
  38. casedev/resources/vault/objects.py +475 -5
  39. casedev/resources/vault/vault.py +262 -5
  40. casedev/types/__init__.py +4 -0
  41. casedev/types/applications/v1/__init__.py +20 -0
  42. casedev/types/applications/v1/deployment_cancel_params.py +14 -0
  43. casedev/types/applications/v1/deployment_create_params.py +20 -0
  44. casedev/types/applications/v1/deployment_get_logs_params.py +14 -0
  45. casedev/types/applications/v1/deployment_list_params.py +23 -0
  46. casedev/types/applications/v1/deployment_retrieve_params.py +17 -0
  47. casedev/types/applications/v1/deployment_stream_params.py +17 -0
  48. casedev/types/applications/v1/project_create_deployment_params.py +29 -0
  49. casedev/types/applications/v1/project_create_domain_params.py +17 -0
  50. casedev/types/applications/v1/project_create_env_params.py +27 -0
  51. casedev/types/applications/v1/project_create_params.py +53 -0
  52. casedev/types/applications/v1/project_delete_params.py +14 -0
  53. casedev/types/applications/v1/project_get_runtime_logs_params.py +12 -0
  54. casedev/types/applications/v1/project_list_deployments_params.py +18 -0
  55. casedev/types/applications/v1/project_list_env_params.py +12 -0
  56. casedev/types/applications/v1/project_list_response.py +45 -0
  57. casedev/types/applications/v1/workflow_get_status_params.py +14 -0
  58. casedev/types/compute/v1/__init__.py +6 -0
  59. casedev/types/compute/v1/instance_create_params.py +28 -0
  60. casedev/types/compute/v1/instance_create_response.py +35 -0
  61. casedev/types/compute/v1/instance_delete_response.py +23 -0
  62. casedev/types/compute/v1/instance_list_response.py +45 -0
  63. casedev/types/compute/v1/instance_retrieve_response.py +55 -0
  64. casedev/types/compute/v1/instance_type_list_response.py +46 -0
  65. casedev/types/database/__init__.py +5 -0
  66. casedev/types/database/v1/__init__.py +14 -0
  67. casedev/types/database/v1/project_create_branch_params.py +17 -0
  68. casedev/types/database/v1/project_create_branch_response.py +30 -0
  69. casedev/types/database/v1/project_create_params.py +27 -0
  70. casedev/types/database/v1/project_create_response.py +47 -0
  71. casedev/types/database/v1/project_delete_response.py +13 -0
  72. casedev/types/database/v1/project_get_connection_params.py +15 -0
  73. casedev/types/database/v1/project_get_connection_response.py +18 -0
  74. casedev/types/database/v1/project_list_branches_response.py +37 -0
  75. casedev/types/database/v1/project_list_response.py +64 -0
  76. casedev/types/database/v1/project_retrieve_response.py +100 -0
  77. casedev/types/database/v1_get_usage_response.py +116 -0
  78. casedev/types/legal/__init__.py +20 -0
  79. casedev/types/legal/v1_find_params.py +23 -0
  80. casedev/types/legal/v1_find_response.py +37 -0
  81. casedev/types/legal/v1_get_citations_from_url_params.py +12 -0
  82. casedev/types/legal/v1_get_citations_from_url_response.py +69 -0
  83. casedev/types/legal/v1_get_citations_params.py +16 -0
  84. casedev/types/legal/v1_get_citations_response.py +60 -0
  85. casedev/types/legal/v1_get_full_text_params.py +23 -0
  86. casedev/types/legal/v1_get_full_text_response.py +35 -0
  87. casedev/types/legal/v1_list_jurisdictions_params.py +12 -0
  88. casedev/types/legal/v1_list_jurisdictions_response.py +35 -0
  89. casedev/types/legal/v1_research_params.py +27 -0
  90. casedev/types/legal/v1_research_response.py +51 -0
  91. casedev/types/legal/v1_similar_params.py +25 -0
  92. casedev/types/legal/v1_similar_response.py +42 -0
  93. casedev/types/legal/v1_verify_params.py +16 -0
  94. casedev/types/legal/v1_verify_response.py +92 -0
  95. casedev/types/memory/__init__.py +14 -0
  96. casedev/types/memory/v1_create_params.py +69 -0
  97. casedev/types/memory/v1_create_response.py +23 -0
  98. casedev/types/memory/v1_delete_all_params.py +45 -0
  99. casedev/types/memory/v1_delete_all_response.py +12 -0
  100. casedev/types/memory/v1_delete_response.py +13 -0
  101. casedev/types/memory/v1_list_params.py +54 -0
  102. casedev/types/memory/v1_list_response.py +29 -0
  103. casedev/types/memory/v1_retrieve_response.py +23 -0
  104. casedev/types/memory/v1_search_params.py +54 -0
  105. casedev/types/memory/v1_search_response.py +61 -0
  106. casedev/types/privilege/__init__.py +6 -0
  107. casedev/types/privilege/v1_detect_params.py +34 -0
  108. casedev/types/privilege/v1_detect_response.py +41 -0
  109. casedev/types/superdoc/__init__.py +6 -0
  110. casedev/types/superdoc/v1_annotate_params.py +56 -0
  111. casedev/types/superdoc/v1_convert_params.py +23 -0
  112. casedev/types/translate/__init__.py +10 -0
  113. casedev/types/translate/v1_detect_params.py +18 -0
  114. casedev/types/translate/v1_detect_response.py +28 -0
  115. casedev/types/translate/v1_list_languages_params.py +18 -0
  116. casedev/types/translate/v1_list_languages_response.py +23 -0
  117. casedev/types/translate/v1_translate_params.py +30 -0
  118. casedev/types/translate/v1_translate_response.py +28 -0
  119. casedev/types/vault/__init__.py +14 -0
  120. casedev/types/vault/graphrag_process_object_response.py +45 -0
  121. casedev/types/vault/multipart_abort_params.py +15 -0
  122. casedev/types/vault/multipart_complete_params.py +26 -0
  123. casedev/types/vault/multipart_get_part_urls_params.py +24 -0
  124. casedev/types/vault/multipart_get_part_urls_response.py +19 -0
  125. casedev/types/vault/multipart_init_params.py +32 -0
  126. casedev/types/vault/multipart_init_response.py +23 -0
  127. casedev/types/vault/object_create_presigned_url_params.py +1 -1
  128. casedev/types/vault/object_delete_params.py +17 -0
  129. casedev/types/vault/object_delete_response.py +29 -0
  130. casedev/types/vault/object_get_ocr_words_params.py +28 -0
  131. casedev/types/vault/object_get_ocr_words_response.py +48 -0
  132. casedev/types/vault/object_get_summarize_job_response.py +40 -0
  133. casedev/types/vault/object_update_params.py +24 -0
  134. casedev/types/vault/object_update_response.py +39 -0
  135. casedev/types/vault_delete_params.py +17 -0
  136. casedev/types/vault_delete_response.py +30 -0
  137. casedev/types/vault_update_params.py +21 -0
  138. casedev/types/vault_update_response.py +60 -0
  139. casedev/types/vault_upload_params.py +1 -1
  140. {casedev-0.3.0.dist-info → casedev-0.4.0.dist-info}/METADATA +1 -1
  141. casedev-0.4.0.dist-info/RECORD +275 -0
  142. casedev-0.3.0.dist-info/RECORD +0 -150
  143. /casedev/types/{webhooks → applications}/__init__.py +0 -0
  144. {casedev-0.3.0.dist-info → casedev-0.4.0.dist-info}/WHEEL +0 -0
  145. {casedev-0.3.0.dist-info → casedev-0.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,51 @@
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__ = ["V1ResearchResponse", "Candidate"]
10
+
11
+
12
+ class Candidate(BaseModel):
13
+ highlights: Optional[List[str]] = None
14
+ """Highlighted relevant passages"""
15
+
16
+ published_date: Optional[str] = FieldInfo(alias="publishedDate", default=None)
17
+ """Publication date"""
18
+
19
+ snippet: Optional[str] = None
20
+ """Text excerpt from the document"""
21
+
22
+ source: Optional[str] = None
23
+ """Domain of the source"""
24
+
25
+ title: Optional[str] = None
26
+ """Title of the document"""
27
+
28
+ url: Optional[str] = None
29
+ """URL of the legal source"""
30
+
31
+
32
+ class V1ResearchResponse(BaseModel):
33
+ additional_queries: Optional[List[str]] = FieldInfo(alias="additionalQueries", default=None)
34
+ """Additional queries used"""
35
+
36
+ candidates: Optional[List[Candidate]] = None
37
+
38
+ found: Optional[int] = None
39
+ """Number of candidates found"""
40
+
41
+ hint: Optional[str] = None
42
+ """Usage guidance"""
43
+
44
+ jurisdiction: Optional[str] = None
45
+ """Jurisdiction filter applied"""
46
+
47
+ query: Optional[str] = None
48
+ """Primary search query"""
49
+
50
+ search_type: Optional[str] = FieldInfo(alias="searchType", default=None)
51
+ """Search type used (deep)"""
@@ -0,0 +1,25 @@
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 datetime import date
7
+ from typing_extensions import Required, Annotated, TypedDict
8
+
9
+ from ..._utils import PropertyInfo
10
+
11
+ __all__ = ["V1SimilarParams"]
12
+
13
+
14
+ class V1SimilarParams(TypedDict, total=False):
15
+ url: Required[str]
16
+ """URL of a legal document to find similar sources for"""
17
+
18
+ jurisdiction: str
19
+ """Optional jurisdiction ID to filter results"""
20
+
21
+ num_results: Annotated[int, PropertyInfo(alias="numResults")]
22
+ """Number of results 1-25 (default: 10)"""
23
+
24
+ start_published_date: Annotated[Union[str, date], PropertyInfo(alias="startPublishedDate", format="iso8601")]
25
+ """Optional ISO date to find only newer documents (e.g., "2020-01-01")"""
@@ -0,0 +1,42 @@
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__ = ["V1SimilarResponse", "SimilarSource"]
10
+
11
+
12
+ class SimilarSource(BaseModel):
13
+ published_date: Optional[str] = FieldInfo(alias="publishedDate", default=None)
14
+ """Publication date"""
15
+
16
+ snippet: Optional[str] = None
17
+ """Text excerpt from the document"""
18
+
19
+ source: Optional[str] = None
20
+ """Domain of the source"""
21
+
22
+ title: Optional[str] = None
23
+ """Title of the document"""
24
+
25
+ url: Optional[str] = None
26
+ """URL of the similar source"""
27
+
28
+
29
+ class V1SimilarResponse(BaseModel):
30
+ found: Optional[int] = None
31
+ """Number of similar sources found"""
32
+
33
+ hint: Optional[str] = None
34
+ """Usage guidance"""
35
+
36
+ jurisdiction: Optional[str] = None
37
+ """Jurisdiction filter applied"""
38
+
39
+ similar_sources: Optional[List[SimilarSource]] = FieldInfo(alias="similarSources", default=None)
40
+
41
+ source_url: Optional[str] = FieldInfo(alias="sourceUrl", default=None)
42
+ """Original source URL"""
@@ -0,0 +1,16 @@
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, TypedDict
6
+
7
+ __all__ = ["V1VerifyParams"]
8
+
9
+
10
+ class V1VerifyParams(TypedDict, total=False):
11
+ text: Required[str]
12
+ """Text containing citations to verify.
13
+
14
+ Can be a single citation (e.g., "531 U.S. 98") or a full document with multiple
15
+ citations.
16
+ """
@@ -0,0 +1,92 @@
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 pydantic import Field as FieldInfo
7
+
8
+ from ..._models import BaseModel
9
+
10
+ __all__ = ["V1VerifyResponse", "Citation", "CitationCandidate", "CitationCase", "CitationSpan", "Summary"]
11
+
12
+
13
+ class CitationCandidate(BaseModel):
14
+ court: Optional[str] = None
15
+
16
+ date_decided: Optional[str] = FieldInfo(alias="dateDecided", default=None)
17
+
18
+ name: Optional[str] = None
19
+
20
+ url: Optional[str] = None
21
+
22
+
23
+ class CitationCase(BaseModel):
24
+ """Case metadata (when verified)"""
25
+
26
+ id: Optional[int] = None
27
+
28
+ court: Optional[str] = None
29
+
30
+ date_decided: Optional[str] = FieldInfo(alias="dateDecided", default=None)
31
+
32
+ docket_number: Optional[str] = FieldInfo(alias="docketNumber", default=None)
33
+
34
+ name: Optional[str] = None
35
+
36
+ parallel_citations: Optional[List[str]] = FieldInfo(alias="parallelCitations", default=None)
37
+
38
+ short_name: Optional[str] = FieldInfo(alias="shortName", default=None)
39
+
40
+ url: Optional[str] = None
41
+
42
+
43
+ class CitationSpan(BaseModel):
44
+ end: Optional[int] = None
45
+
46
+ start: Optional[int] = None
47
+
48
+
49
+ class Citation(BaseModel):
50
+ candidates: Optional[List[CitationCandidate]] = None
51
+ """Multiple candidates (when multiple_matches or heuristic verification)"""
52
+
53
+ case: Optional[CitationCase] = None
54
+ """Case metadata (when verified)"""
55
+
56
+ confidence: Optional[float] = None
57
+ """Confidence score (1.0 for CourtListener, heuristic score for fallback)."""
58
+
59
+ normalized: Optional[str] = None
60
+ """Normalized citation string"""
61
+
62
+ original: Optional[str] = None
63
+ """Original citation as found in text"""
64
+
65
+ span: Optional[CitationSpan] = None
66
+
67
+ status: Optional[Literal["verified", "not_found", "multiple_matches"]] = None
68
+
69
+ verification_source: Optional[Literal["courtlistener", "heuristic"]] = FieldInfo(
70
+ alias="verificationSource", default=None
71
+ )
72
+ """Source of verification result (heuristic for fallback matches)."""
73
+
74
+
75
+ class Summary(BaseModel):
76
+ multiple_matches: Optional[int] = FieldInfo(alias="multipleMatches", default=None)
77
+ """Citations with multiple possible matches"""
78
+
79
+ not_found: Optional[int] = FieldInfo(alias="notFound", default=None)
80
+ """Citations not found in database"""
81
+
82
+ total: Optional[int] = None
83
+ """Total citations found"""
84
+
85
+ verified: Optional[int] = None
86
+ """Citations verified against real cases"""
87
+
88
+
89
+ class V1VerifyResponse(BaseModel):
90
+ citations: Optional[List[Citation]] = None
91
+
92
+ summary: Optional[Summary] = None
@@ -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 .v1_list_params import V1ListParams as V1ListParams
6
+ from .v1_create_params import V1CreateParams as V1CreateParams
7
+ from .v1_list_response import V1ListResponse as V1ListResponse
8
+ from .v1_search_params import V1SearchParams as V1SearchParams
9
+ from .v1_create_response import V1CreateResponse as V1CreateResponse
10
+ from .v1_delete_response import V1DeleteResponse as V1DeleteResponse
11
+ from .v1_search_response import V1SearchResponse as V1SearchResponse
12
+ from .v1_delete_all_params import V1DeleteAllParams as V1DeleteAllParams
13
+ from .v1_retrieve_response import V1RetrieveResponse as V1RetrieveResponse
14
+ from .v1_delete_all_response import V1DeleteAllResponse as V1DeleteAllResponse
@@ -0,0 +1,69 @@
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 Dict, Iterable
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["V1CreateParams", "Message"]
9
+
10
+
11
+ class V1CreateParams(TypedDict, total=False):
12
+ messages: Required[Iterable[Message]]
13
+ """Conversation messages to extract memories from"""
14
+
15
+ category: str
16
+ """Custom category (e.g., "fact", "preference", "deadline")"""
17
+
18
+ extraction_prompt: str
19
+ """Optional custom prompt for fact extraction"""
20
+
21
+ infer: bool
22
+ """Whether to extract facts from messages (default: true)"""
23
+
24
+ metadata: Dict[str, object]
25
+ """Additional metadata (not indexed)"""
26
+
27
+ tag_1: str
28
+ """Generic indexed filter field 1 (you decide what it means)"""
29
+
30
+ tag_10: str
31
+ """Generic indexed filter field 10"""
32
+
33
+ tag_11: str
34
+ """Generic indexed filter field 11"""
35
+
36
+ tag_12: str
37
+ """Generic indexed filter field 12"""
38
+
39
+ tag_2: str
40
+ """Generic indexed filter field 2"""
41
+
42
+ tag_3: str
43
+ """Generic indexed filter field 3"""
44
+
45
+ tag_4: str
46
+ """Generic indexed filter field 4"""
47
+
48
+ tag_5: str
49
+ """Generic indexed filter field 5"""
50
+
51
+ tag_6: str
52
+ """Generic indexed filter field 6"""
53
+
54
+ tag_7: str
55
+ """Generic indexed filter field 7"""
56
+
57
+ tag_8: str
58
+ """Generic indexed filter field 8"""
59
+
60
+ tag_9: str
61
+ """Generic indexed filter field 9"""
62
+
63
+
64
+ class Message(TypedDict, total=False):
65
+ content: Required[str]
66
+ """Message content"""
67
+
68
+ role: Required[Literal["user", "assistant", "system"]]
69
+ """Message role"""
@@ -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
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["V1CreateResponse", "Result"]
9
+
10
+
11
+ class Result(BaseModel):
12
+ id: Optional[str] = None
13
+ """Memory ID"""
14
+
15
+ event: Optional[Literal["ADD", "UPDATE", "DELETE", "NONE"]] = None
16
+ """What happened to this memory"""
17
+
18
+ memory: Optional[str] = None
19
+ """Extracted memory text"""
20
+
21
+
22
+ class V1CreateResponse(BaseModel):
23
+ results: Optional[List[Result]] = None
@@ -0,0 +1,45 @@
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 TypedDict
6
+
7
+ __all__ = ["V1DeleteAllParams"]
8
+
9
+
10
+ class V1DeleteAllParams(TypedDict, total=False):
11
+ tag_1: str
12
+ """Filter by tag_1"""
13
+
14
+ tag_10: str
15
+ """Filter by tag_10"""
16
+
17
+ tag_11: str
18
+ """Filter by tag_11"""
19
+
20
+ tag_12: str
21
+ """Filter by tag_12"""
22
+
23
+ tag_2: str
24
+ """Filter by tag_2"""
25
+
26
+ tag_3: str
27
+ """Filter by tag_3"""
28
+
29
+ tag_4: str
30
+ """Filter by tag_4"""
31
+
32
+ tag_5: str
33
+ """Filter by tag_5"""
34
+
35
+ tag_6: str
36
+ """Filter by tag_6"""
37
+
38
+ tag_7: str
39
+ """Filter by tag_7"""
40
+
41
+ tag_8: str
42
+ """Filter by tag_8"""
43
+
44
+ tag_9: str
45
+ """Filter by tag_9"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["V1DeleteAllResponse"]
8
+
9
+
10
+ class V1DeleteAllResponse(BaseModel):
11
+ deleted: Optional[int] = None
12
+ """Number of memories deleted"""
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["V1DeleteResponse"]
8
+
9
+
10
+ class V1DeleteResponse(BaseModel):
11
+ message: Optional[str] = None
12
+
13
+ success: Optional[bool] = None
@@ -0,0 +1,54 @@
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 TypedDict
6
+
7
+ __all__ = ["V1ListParams"]
8
+
9
+
10
+ class V1ListParams(TypedDict, total=False):
11
+ category: str
12
+ """Filter by category"""
13
+
14
+ limit: int
15
+ """Number of results"""
16
+
17
+ offset: int
18
+ """Pagination offset"""
19
+
20
+ tag_1: str
21
+ """Filter by tag_1"""
22
+
23
+ tag_10: str
24
+ """Filter by tag_10"""
25
+
26
+ tag_11: str
27
+ """Filter by tag_11"""
28
+
29
+ tag_12: str
30
+ """Filter by tag_12"""
31
+
32
+ tag_2: str
33
+ """Filter by tag_2"""
34
+
35
+ tag_3: str
36
+ """Filter by tag_3"""
37
+
38
+ tag_4: str
39
+ """Filter by tag_4"""
40
+
41
+ tag_5: str
42
+ """Filter by tag_5"""
43
+
44
+ tag_6: str
45
+ """Filter by tag_6"""
46
+
47
+ tag_7: str
48
+ """Filter by tag_7"""
49
+
50
+ tag_8: str
51
+ """Filter by tag_8"""
52
+
53
+ tag_9: str
54
+ """Filter by tag_9"""
@@ -0,0 +1,29 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["V1ListResponse", "Result"]
9
+
10
+
11
+ class Result(BaseModel):
12
+ id: Optional[str] = None
13
+
14
+ created_at: Optional[datetime] = None
15
+
16
+ memory: Optional[str] = None
17
+
18
+ metadata: Optional[object] = None
19
+
20
+ tags: Optional[object] = None
21
+
22
+ updated_at: Optional[datetime] = None
23
+
24
+
25
+ class V1ListResponse(BaseModel):
26
+ count: Optional[int] = None
27
+ """Total count matching filters"""
28
+
29
+ results: Optional[List[Result]] = None
@@ -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
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["V1RetrieveResponse"]
9
+
10
+
11
+ class V1RetrieveResponse(BaseModel):
12
+ id: Optional[str] = None
13
+ """Memory ID"""
14
+
15
+ created_at: Optional[datetime] = None
16
+
17
+ memory: Optional[str] = None
18
+ """Memory content"""
19
+
20
+ metadata: Optional[object] = None
21
+ """Memory metadata"""
22
+
23
+ updated_at: Optional[datetime] = None
@@ -0,0 +1,54 @@
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, TypedDict
6
+
7
+ __all__ = ["V1SearchParams"]
8
+
9
+
10
+ class V1SearchParams(TypedDict, total=False):
11
+ query: Required[str]
12
+ """Search query for semantic matching"""
13
+
14
+ category: str
15
+ """Filter by category"""
16
+
17
+ tag_1: str
18
+ """Filter by tag_1"""
19
+
20
+ tag_10: str
21
+ """Filter by tag_10"""
22
+
23
+ tag_11: str
24
+ """Filter by tag_11"""
25
+
26
+ tag_12: str
27
+ """Filter by tag_12"""
28
+
29
+ tag_2: str
30
+ """Filter by tag_2"""
31
+
32
+ tag_3: str
33
+ """Filter by tag_3"""
34
+
35
+ tag_4: str
36
+ """Filter by tag_4"""
37
+
38
+ tag_5: str
39
+ """Filter by tag_5"""
40
+
41
+ tag_6: str
42
+ """Filter by tag_6"""
43
+
44
+ tag_7: str
45
+ """Filter by tag_7"""
46
+
47
+ tag_8: str
48
+ """Filter by tag_8"""
49
+
50
+ tag_9: str
51
+ """Filter by tag_9"""
52
+
53
+ top_k: int
54
+ """Maximum number of results to return"""
@@ -0,0 +1,61 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["V1SearchResponse", "Result", "ResultTags"]
9
+
10
+
11
+ class ResultTags(BaseModel):
12
+ """Tag values for this memory"""
13
+
14
+ tag_1: Optional[str] = None
15
+
16
+ tag_10: Optional[str] = None
17
+
18
+ tag_11: Optional[str] = None
19
+
20
+ tag_12: Optional[str] = None
21
+
22
+ tag_2: Optional[str] = None
23
+
24
+ tag_3: Optional[str] = None
25
+
26
+ tag_4: Optional[str] = None
27
+
28
+ tag_5: Optional[str] = None
29
+
30
+ tag_6: Optional[str] = None
31
+
32
+ tag_7: Optional[str] = None
33
+
34
+ tag_8: Optional[str] = None
35
+
36
+ tag_9: Optional[str] = None
37
+
38
+
39
+ class Result(BaseModel):
40
+ id: Optional[str] = None
41
+ """Memory ID"""
42
+
43
+ created_at: Optional[datetime] = None
44
+
45
+ memory: Optional[str] = None
46
+ """Memory content"""
47
+
48
+ metadata: Optional[object] = None
49
+ """Additional metadata"""
50
+
51
+ score: Optional[float] = None
52
+ """Similarity score (0-1)"""
53
+
54
+ tags: Optional[ResultTags] = None
55
+ """Tag values for this memory"""
56
+
57
+ updated_at: Optional[datetime] = None
58
+
59
+
60
+ class V1SearchResponse(BaseModel):
61
+ results: Optional[List[Result]] = None
@@ -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)"""