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,1100 @@
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
+
7
+ import httpx
8
+
9
+ from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
10
+ from ..._utils import maybe_transform, async_maybe_transform
11
+ from ..._compat import cached_property
12
+ from ..._resource import SyncAPIResource, AsyncAPIResource
13
+ from ..._response import (
14
+ to_raw_response_wrapper,
15
+ to_streamed_response_wrapper,
16
+ async_to_raw_response_wrapper,
17
+ async_to_streamed_response_wrapper,
18
+ )
19
+ from ..._base_client import make_request_options
20
+ from ...types.memory import v1_list_params, v1_create_params, v1_search_params, v1_delete_all_params
21
+ from ...types.memory.v1_list_response import V1ListResponse
22
+ from ...types.memory.v1_create_response import V1CreateResponse
23
+ from ...types.memory.v1_delete_response import V1DeleteResponse
24
+ from ...types.memory.v1_search_response import V1SearchResponse
25
+ from ...types.memory.v1_retrieve_response import V1RetrieveResponse
26
+ from ...types.memory.v1_delete_all_response import V1DeleteAllResponse
27
+
28
+ __all__ = ["V1Resource", "AsyncV1Resource"]
29
+
30
+
31
+ class V1Resource(SyncAPIResource):
32
+ @cached_property
33
+ def with_raw_response(self) -> V1ResourceWithRawResponse:
34
+ """
35
+ This property can be used as a prefix for any HTTP method call to return
36
+ the raw response object instead of the parsed content.
37
+
38
+ For more information, see https://www.github.com/CaseMark/casedev-python#accessing-raw-response-data-eg-headers
39
+ """
40
+ return V1ResourceWithRawResponse(self)
41
+
42
+ @cached_property
43
+ def with_streaming_response(self) -> V1ResourceWithStreamingResponse:
44
+ """
45
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
46
+
47
+ For more information, see https://www.github.com/CaseMark/casedev-python#with_streaming_response
48
+ """
49
+ return V1ResourceWithStreamingResponse(self)
50
+
51
+ def create(
52
+ self,
53
+ *,
54
+ messages: Iterable[v1_create_params.Message],
55
+ category: str | Omit = omit,
56
+ extraction_prompt: str | Omit = omit,
57
+ infer: bool | Omit = omit,
58
+ metadata: Dict[str, object] | Omit = omit,
59
+ tag_1: str | Omit = omit,
60
+ tag_10: str | Omit = omit,
61
+ tag_11: str | Omit = omit,
62
+ tag_12: str | Omit = omit,
63
+ tag_2: str | Omit = omit,
64
+ tag_3: str | Omit = omit,
65
+ tag_4: str | Omit = omit,
66
+ tag_5: str | Omit = omit,
67
+ tag_6: str | Omit = omit,
68
+ tag_7: str | Omit = omit,
69
+ tag_8: str | Omit = omit,
70
+ tag_9: str | Omit = omit,
71
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
72
+ # The extra values given here take precedence over values defined on the client or passed to this method.
73
+ extra_headers: Headers | None = None,
74
+ extra_query: Query | None = None,
75
+ extra_body: Body | None = None,
76
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
77
+ ) -> V1CreateResponse:
78
+ """Store memories from conversation messages.
79
+
80
+ Automatically extracts facts and
81
+ handles deduplication.
82
+
83
+ Use tag_1 through tag_12 for filtering - these are generic indexed fields you
84
+ can use for any purpose:
85
+
86
+ - Legal app: tag_1=client_id, tag_2=matter_id
87
+ - Healthcare: tag_1=patient_id, tag_2=encounter_id
88
+ - E-commerce: tag_1=customer_id, tag_2=order_id
89
+
90
+ Args:
91
+ messages: Conversation messages to extract memories from
92
+
93
+ category: Custom category (e.g., "fact", "preference", "deadline")
94
+
95
+ extraction_prompt: Optional custom prompt for fact extraction
96
+
97
+ infer: Whether to extract facts from messages (default: true)
98
+
99
+ metadata: Additional metadata (not indexed)
100
+
101
+ tag_1: Generic indexed filter field 1 (you decide what it means)
102
+
103
+ tag_10: Generic indexed filter field 10
104
+
105
+ tag_11: Generic indexed filter field 11
106
+
107
+ tag_12: Generic indexed filter field 12
108
+
109
+ tag_2: Generic indexed filter field 2
110
+
111
+ tag_3: Generic indexed filter field 3
112
+
113
+ tag_4: Generic indexed filter field 4
114
+
115
+ tag_5: Generic indexed filter field 5
116
+
117
+ tag_6: Generic indexed filter field 6
118
+
119
+ tag_7: Generic indexed filter field 7
120
+
121
+ tag_8: Generic indexed filter field 8
122
+
123
+ tag_9: Generic indexed filter field 9
124
+
125
+ extra_headers: Send extra headers
126
+
127
+ extra_query: Add additional query parameters to the request
128
+
129
+ extra_body: Add additional JSON properties to the request
130
+
131
+ timeout: Override the client-level default timeout for this request, in seconds
132
+ """
133
+ return self._post(
134
+ "/memory/v1",
135
+ body=maybe_transform(
136
+ {
137
+ "messages": messages,
138
+ "category": category,
139
+ "extraction_prompt": extraction_prompt,
140
+ "infer": infer,
141
+ "metadata": metadata,
142
+ "tag_1": tag_1,
143
+ "tag_10": tag_10,
144
+ "tag_11": tag_11,
145
+ "tag_12": tag_12,
146
+ "tag_2": tag_2,
147
+ "tag_3": tag_3,
148
+ "tag_4": tag_4,
149
+ "tag_5": tag_5,
150
+ "tag_6": tag_6,
151
+ "tag_7": tag_7,
152
+ "tag_8": tag_8,
153
+ "tag_9": tag_9,
154
+ },
155
+ v1_create_params.V1CreateParams,
156
+ ),
157
+ options=make_request_options(
158
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
159
+ ),
160
+ cast_to=V1CreateResponse,
161
+ )
162
+
163
+ def retrieve(
164
+ self,
165
+ id: str,
166
+ *,
167
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
168
+ # The extra values given here take precedence over values defined on the client or passed to this method.
169
+ extra_headers: Headers | None = None,
170
+ extra_query: Query | None = None,
171
+ extra_body: Body | None = None,
172
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
173
+ ) -> V1RetrieveResponse:
174
+ """
175
+ Retrieve a single memory by its ID.
176
+
177
+ Args:
178
+ extra_headers: Send extra headers
179
+
180
+ extra_query: Add additional query parameters to the request
181
+
182
+ extra_body: Add additional JSON properties to the request
183
+
184
+ timeout: Override the client-level default timeout for this request, in seconds
185
+ """
186
+ if not id:
187
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
188
+ return self._get(
189
+ f"/memory/v1/{id}",
190
+ options=make_request_options(
191
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
192
+ ),
193
+ cast_to=V1RetrieveResponse,
194
+ )
195
+
196
+ def list(
197
+ self,
198
+ *,
199
+ category: str | Omit = omit,
200
+ limit: int | Omit = omit,
201
+ offset: int | Omit = omit,
202
+ tag_1: str | Omit = omit,
203
+ tag_10: str | Omit = omit,
204
+ tag_11: str | Omit = omit,
205
+ tag_12: str | Omit = omit,
206
+ tag_2: str | Omit = omit,
207
+ tag_3: str | Omit = omit,
208
+ tag_4: str | Omit = omit,
209
+ tag_5: str | Omit = omit,
210
+ tag_6: str | Omit = omit,
211
+ tag_7: str | Omit = omit,
212
+ tag_8: str | Omit = omit,
213
+ tag_9: str | Omit = omit,
214
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
215
+ # The extra values given here take precedence over values defined on the client or passed to this method.
216
+ extra_headers: Headers | None = None,
217
+ extra_query: Query | None = None,
218
+ extra_body: Body | None = None,
219
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
220
+ ) -> V1ListResponse:
221
+ """
222
+ List all memories with optional filtering by tags and category.
223
+
224
+ Args:
225
+ category: Filter by category
226
+
227
+ limit: Number of results
228
+
229
+ offset: Pagination offset
230
+
231
+ tag_1: Filter by tag_1
232
+
233
+ tag_10: Filter by tag_10
234
+
235
+ tag_11: Filter by tag_11
236
+
237
+ tag_12: Filter by tag_12
238
+
239
+ tag_2: Filter by tag_2
240
+
241
+ tag_3: Filter by tag_3
242
+
243
+ tag_4: Filter by tag_4
244
+
245
+ tag_5: Filter by tag_5
246
+
247
+ tag_6: Filter by tag_6
248
+
249
+ tag_7: Filter by tag_7
250
+
251
+ tag_8: Filter by tag_8
252
+
253
+ tag_9: Filter by tag_9
254
+
255
+ extra_headers: Send extra headers
256
+
257
+ extra_query: Add additional query parameters to the request
258
+
259
+ extra_body: Add additional JSON properties to the request
260
+
261
+ timeout: Override the client-level default timeout for this request, in seconds
262
+ """
263
+ return self._get(
264
+ "/memory/v1",
265
+ options=make_request_options(
266
+ extra_headers=extra_headers,
267
+ extra_query=extra_query,
268
+ extra_body=extra_body,
269
+ timeout=timeout,
270
+ query=maybe_transform(
271
+ {
272
+ "category": category,
273
+ "limit": limit,
274
+ "offset": offset,
275
+ "tag_1": tag_1,
276
+ "tag_10": tag_10,
277
+ "tag_11": tag_11,
278
+ "tag_12": tag_12,
279
+ "tag_2": tag_2,
280
+ "tag_3": tag_3,
281
+ "tag_4": tag_4,
282
+ "tag_5": tag_5,
283
+ "tag_6": tag_6,
284
+ "tag_7": tag_7,
285
+ "tag_8": tag_8,
286
+ "tag_9": tag_9,
287
+ },
288
+ v1_list_params.V1ListParams,
289
+ ),
290
+ ),
291
+ cast_to=V1ListResponse,
292
+ )
293
+
294
+ def delete(
295
+ self,
296
+ id: str,
297
+ *,
298
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
299
+ # The extra values given here take precedence over values defined on the client or passed to this method.
300
+ extra_headers: Headers | None = None,
301
+ extra_query: Query | None = None,
302
+ extra_body: Body | None = None,
303
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
304
+ ) -> V1DeleteResponse:
305
+ """
306
+ Delete a single memory by its ID.
307
+
308
+ Args:
309
+ extra_headers: Send extra headers
310
+
311
+ extra_query: Add additional query parameters to the request
312
+
313
+ extra_body: Add additional JSON properties to the request
314
+
315
+ timeout: Override the client-level default timeout for this request, in seconds
316
+ """
317
+ if not id:
318
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
319
+ return self._delete(
320
+ f"/memory/v1/{id}",
321
+ options=make_request_options(
322
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
323
+ ),
324
+ cast_to=V1DeleteResponse,
325
+ )
326
+
327
+ def delete_all(
328
+ self,
329
+ *,
330
+ tag_1: str | Omit = omit,
331
+ tag_10: str | Omit = omit,
332
+ tag_11: str | Omit = omit,
333
+ tag_12: str | Omit = omit,
334
+ tag_2: str | Omit = omit,
335
+ tag_3: str | Omit = omit,
336
+ tag_4: str | Omit = omit,
337
+ tag_5: str | Omit = omit,
338
+ tag_6: str | Omit = omit,
339
+ tag_7: str | Omit = omit,
340
+ tag_8: str | Omit = omit,
341
+ tag_9: str | Omit = omit,
342
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
343
+ # The extra values given here take precedence over values defined on the client or passed to this method.
344
+ extra_headers: Headers | None = None,
345
+ extra_query: Query | None = None,
346
+ extra_body: Body | None = None,
347
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
348
+ ) -> V1DeleteAllResponse:
349
+ """Delete multiple memories matching tag filter criteria.
350
+
351
+ CAUTION: This will delete
352
+ all matching memories for your organization.
353
+
354
+ Args:
355
+ tag_1: Filter by tag_1
356
+
357
+ tag_10: Filter by tag_10
358
+
359
+ tag_11: Filter by tag_11
360
+
361
+ tag_12: Filter by tag_12
362
+
363
+ tag_2: Filter by tag_2
364
+
365
+ tag_3: Filter by tag_3
366
+
367
+ tag_4: Filter by tag_4
368
+
369
+ tag_5: Filter by tag_5
370
+
371
+ tag_6: Filter by tag_6
372
+
373
+ tag_7: Filter by tag_7
374
+
375
+ tag_8: Filter by tag_8
376
+
377
+ tag_9: Filter by tag_9
378
+
379
+ extra_headers: Send extra headers
380
+
381
+ extra_query: Add additional query parameters to the request
382
+
383
+ extra_body: Add additional JSON properties to the request
384
+
385
+ timeout: Override the client-level default timeout for this request, in seconds
386
+ """
387
+ return self._delete(
388
+ "/memory/v1",
389
+ options=make_request_options(
390
+ extra_headers=extra_headers,
391
+ extra_query=extra_query,
392
+ extra_body=extra_body,
393
+ timeout=timeout,
394
+ query=maybe_transform(
395
+ {
396
+ "tag_1": tag_1,
397
+ "tag_10": tag_10,
398
+ "tag_11": tag_11,
399
+ "tag_12": tag_12,
400
+ "tag_2": tag_2,
401
+ "tag_3": tag_3,
402
+ "tag_4": tag_4,
403
+ "tag_5": tag_5,
404
+ "tag_6": tag_6,
405
+ "tag_7": tag_7,
406
+ "tag_8": tag_8,
407
+ "tag_9": tag_9,
408
+ },
409
+ v1_delete_all_params.V1DeleteAllParams,
410
+ ),
411
+ ),
412
+ cast_to=V1DeleteAllResponse,
413
+ )
414
+
415
+ def search(
416
+ self,
417
+ *,
418
+ query: str,
419
+ category: str | Omit = omit,
420
+ tag_1: str | Omit = omit,
421
+ tag_10: str | Omit = omit,
422
+ tag_11: str | Omit = omit,
423
+ tag_12: str | Omit = omit,
424
+ tag_2: str | Omit = omit,
425
+ tag_3: str | Omit = omit,
426
+ tag_4: str | Omit = omit,
427
+ tag_5: str | Omit = omit,
428
+ tag_6: str | Omit = omit,
429
+ tag_7: str | Omit = omit,
430
+ tag_8: str | Omit = omit,
431
+ tag_9: str | Omit = omit,
432
+ top_k: int | Omit = omit,
433
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
434
+ # The extra values given here take precedence over values defined on the client or passed to this method.
435
+ extra_headers: Headers | None = None,
436
+ extra_query: Query | None = None,
437
+ extra_body: Body | None = None,
438
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
439
+ ) -> V1SearchResponse:
440
+ """Search memories using semantic similarity.
441
+
442
+ Filter by tag fields to narrow
443
+ results.
444
+
445
+ Use tag_1 through tag_12 for filtering - these are generic indexed fields you
446
+ define:
447
+
448
+ - Legal app: tag_1=client_id, tag_2=matter_id
449
+ - Healthcare: tag_1=patient_id, tag_2=encounter_id
450
+
451
+ Args:
452
+ query: Search query for semantic matching
453
+
454
+ category: Filter by category
455
+
456
+ tag_1: Filter by tag_1
457
+
458
+ tag_10: Filter by tag_10
459
+
460
+ tag_11: Filter by tag_11
461
+
462
+ tag_12: Filter by tag_12
463
+
464
+ tag_2: Filter by tag_2
465
+
466
+ tag_3: Filter by tag_3
467
+
468
+ tag_4: Filter by tag_4
469
+
470
+ tag_5: Filter by tag_5
471
+
472
+ tag_6: Filter by tag_6
473
+
474
+ tag_7: Filter by tag_7
475
+
476
+ tag_8: Filter by tag_8
477
+
478
+ tag_9: Filter by tag_9
479
+
480
+ top_k: Maximum number of results to return
481
+
482
+ extra_headers: Send extra headers
483
+
484
+ extra_query: Add additional query parameters to the request
485
+
486
+ extra_body: Add additional JSON properties to the request
487
+
488
+ timeout: Override the client-level default timeout for this request, in seconds
489
+ """
490
+ return self._post(
491
+ "/memory/v1/search",
492
+ body=maybe_transform(
493
+ {
494
+ "query": query,
495
+ "category": category,
496
+ "tag_1": tag_1,
497
+ "tag_10": tag_10,
498
+ "tag_11": tag_11,
499
+ "tag_12": tag_12,
500
+ "tag_2": tag_2,
501
+ "tag_3": tag_3,
502
+ "tag_4": tag_4,
503
+ "tag_5": tag_5,
504
+ "tag_6": tag_6,
505
+ "tag_7": tag_7,
506
+ "tag_8": tag_8,
507
+ "tag_9": tag_9,
508
+ "top_k": top_k,
509
+ },
510
+ v1_search_params.V1SearchParams,
511
+ ),
512
+ options=make_request_options(
513
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
514
+ ),
515
+ cast_to=V1SearchResponse,
516
+ )
517
+
518
+
519
+ class AsyncV1Resource(AsyncAPIResource):
520
+ @cached_property
521
+ def with_raw_response(self) -> AsyncV1ResourceWithRawResponse:
522
+ """
523
+ This property can be used as a prefix for any HTTP method call to return
524
+ the raw response object instead of the parsed content.
525
+
526
+ For more information, see https://www.github.com/CaseMark/casedev-python#accessing-raw-response-data-eg-headers
527
+ """
528
+ return AsyncV1ResourceWithRawResponse(self)
529
+
530
+ @cached_property
531
+ def with_streaming_response(self) -> AsyncV1ResourceWithStreamingResponse:
532
+ """
533
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
534
+
535
+ For more information, see https://www.github.com/CaseMark/casedev-python#with_streaming_response
536
+ """
537
+ return AsyncV1ResourceWithStreamingResponse(self)
538
+
539
+ async def create(
540
+ self,
541
+ *,
542
+ messages: Iterable[v1_create_params.Message],
543
+ category: str | Omit = omit,
544
+ extraction_prompt: str | Omit = omit,
545
+ infer: bool | Omit = omit,
546
+ metadata: Dict[str, object] | Omit = omit,
547
+ tag_1: str | Omit = omit,
548
+ tag_10: str | Omit = omit,
549
+ tag_11: str | Omit = omit,
550
+ tag_12: str | Omit = omit,
551
+ tag_2: str | Omit = omit,
552
+ tag_3: str | Omit = omit,
553
+ tag_4: str | Omit = omit,
554
+ tag_5: str | Omit = omit,
555
+ tag_6: str | Omit = omit,
556
+ tag_7: str | Omit = omit,
557
+ tag_8: str | Omit = omit,
558
+ tag_9: str | Omit = omit,
559
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
560
+ # The extra values given here take precedence over values defined on the client or passed to this method.
561
+ extra_headers: Headers | None = None,
562
+ extra_query: Query | None = None,
563
+ extra_body: Body | None = None,
564
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
565
+ ) -> V1CreateResponse:
566
+ """Store memories from conversation messages.
567
+
568
+ Automatically extracts facts and
569
+ handles deduplication.
570
+
571
+ Use tag_1 through tag_12 for filtering - these are generic indexed fields you
572
+ can use for any purpose:
573
+
574
+ - Legal app: tag_1=client_id, tag_2=matter_id
575
+ - Healthcare: tag_1=patient_id, tag_2=encounter_id
576
+ - E-commerce: tag_1=customer_id, tag_2=order_id
577
+
578
+ Args:
579
+ messages: Conversation messages to extract memories from
580
+
581
+ category: Custom category (e.g., "fact", "preference", "deadline")
582
+
583
+ extraction_prompt: Optional custom prompt for fact extraction
584
+
585
+ infer: Whether to extract facts from messages (default: true)
586
+
587
+ metadata: Additional metadata (not indexed)
588
+
589
+ tag_1: Generic indexed filter field 1 (you decide what it means)
590
+
591
+ tag_10: Generic indexed filter field 10
592
+
593
+ tag_11: Generic indexed filter field 11
594
+
595
+ tag_12: Generic indexed filter field 12
596
+
597
+ tag_2: Generic indexed filter field 2
598
+
599
+ tag_3: Generic indexed filter field 3
600
+
601
+ tag_4: Generic indexed filter field 4
602
+
603
+ tag_5: Generic indexed filter field 5
604
+
605
+ tag_6: Generic indexed filter field 6
606
+
607
+ tag_7: Generic indexed filter field 7
608
+
609
+ tag_8: Generic indexed filter field 8
610
+
611
+ tag_9: Generic indexed filter field 9
612
+
613
+ extra_headers: Send extra headers
614
+
615
+ extra_query: Add additional query parameters to the request
616
+
617
+ extra_body: Add additional JSON properties to the request
618
+
619
+ timeout: Override the client-level default timeout for this request, in seconds
620
+ """
621
+ return await self._post(
622
+ "/memory/v1",
623
+ body=await async_maybe_transform(
624
+ {
625
+ "messages": messages,
626
+ "category": category,
627
+ "extraction_prompt": extraction_prompt,
628
+ "infer": infer,
629
+ "metadata": metadata,
630
+ "tag_1": tag_1,
631
+ "tag_10": tag_10,
632
+ "tag_11": tag_11,
633
+ "tag_12": tag_12,
634
+ "tag_2": tag_2,
635
+ "tag_3": tag_3,
636
+ "tag_4": tag_4,
637
+ "tag_5": tag_5,
638
+ "tag_6": tag_6,
639
+ "tag_7": tag_7,
640
+ "tag_8": tag_8,
641
+ "tag_9": tag_9,
642
+ },
643
+ v1_create_params.V1CreateParams,
644
+ ),
645
+ options=make_request_options(
646
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
647
+ ),
648
+ cast_to=V1CreateResponse,
649
+ )
650
+
651
+ async def retrieve(
652
+ self,
653
+ id: str,
654
+ *,
655
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
656
+ # The extra values given here take precedence over values defined on the client or passed to this method.
657
+ extra_headers: Headers | None = None,
658
+ extra_query: Query | None = None,
659
+ extra_body: Body | None = None,
660
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
661
+ ) -> V1RetrieveResponse:
662
+ """
663
+ Retrieve a single memory by its ID.
664
+
665
+ Args:
666
+ extra_headers: Send extra headers
667
+
668
+ extra_query: Add additional query parameters to the request
669
+
670
+ extra_body: Add additional JSON properties to the request
671
+
672
+ timeout: Override the client-level default timeout for this request, in seconds
673
+ """
674
+ if not id:
675
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
676
+ return await self._get(
677
+ f"/memory/v1/{id}",
678
+ options=make_request_options(
679
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
680
+ ),
681
+ cast_to=V1RetrieveResponse,
682
+ )
683
+
684
+ async def list(
685
+ self,
686
+ *,
687
+ category: str | Omit = omit,
688
+ limit: int | Omit = omit,
689
+ offset: int | Omit = omit,
690
+ tag_1: str | Omit = omit,
691
+ tag_10: str | Omit = omit,
692
+ tag_11: str | Omit = omit,
693
+ tag_12: str | Omit = omit,
694
+ tag_2: str | Omit = omit,
695
+ tag_3: str | Omit = omit,
696
+ tag_4: str | Omit = omit,
697
+ tag_5: str | Omit = omit,
698
+ tag_6: str | Omit = omit,
699
+ tag_7: str | Omit = omit,
700
+ tag_8: str | Omit = omit,
701
+ tag_9: str | Omit = omit,
702
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
703
+ # The extra values given here take precedence over values defined on the client or passed to this method.
704
+ extra_headers: Headers | None = None,
705
+ extra_query: Query | None = None,
706
+ extra_body: Body | None = None,
707
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
708
+ ) -> V1ListResponse:
709
+ """
710
+ List all memories with optional filtering by tags and category.
711
+
712
+ Args:
713
+ category: Filter by category
714
+
715
+ limit: Number of results
716
+
717
+ offset: Pagination offset
718
+
719
+ tag_1: Filter by tag_1
720
+
721
+ tag_10: Filter by tag_10
722
+
723
+ tag_11: Filter by tag_11
724
+
725
+ tag_12: Filter by tag_12
726
+
727
+ tag_2: Filter by tag_2
728
+
729
+ tag_3: Filter by tag_3
730
+
731
+ tag_4: Filter by tag_4
732
+
733
+ tag_5: Filter by tag_5
734
+
735
+ tag_6: Filter by tag_6
736
+
737
+ tag_7: Filter by tag_7
738
+
739
+ tag_8: Filter by tag_8
740
+
741
+ tag_9: Filter by tag_9
742
+
743
+ extra_headers: Send extra headers
744
+
745
+ extra_query: Add additional query parameters to the request
746
+
747
+ extra_body: Add additional JSON properties to the request
748
+
749
+ timeout: Override the client-level default timeout for this request, in seconds
750
+ """
751
+ return await self._get(
752
+ "/memory/v1",
753
+ options=make_request_options(
754
+ extra_headers=extra_headers,
755
+ extra_query=extra_query,
756
+ extra_body=extra_body,
757
+ timeout=timeout,
758
+ query=await async_maybe_transform(
759
+ {
760
+ "category": category,
761
+ "limit": limit,
762
+ "offset": offset,
763
+ "tag_1": tag_1,
764
+ "tag_10": tag_10,
765
+ "tag_11": tag_11,
766
+ "tag_12": tag_12,
767
+ "tag_2": tag_2,
768
+ "tag_3": tag_3,
769
+ "tag_4": tag_4,
770
+ "tag_5": tag_5,
771
+ "tag_6": tag_6,
772
+ "tag_7": tag_7,
773
+ "tag_8": tag_8,
774
+ "tag_9": tag_9,
775
+ },
776
+ v1_list_params.V1ListParams,
777
+ ),
778
+ ),
779
+ cast_to=V1ListResponse,
780
+ )
781
+
782
+ async def delete(
783
+ self,
784
+ id: str,
785
+ *,
786
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
787
+ # The extra values given here take precedence over values defined on the client or passed to this method.
788
+ extra_headers: Headers | None = None,
789
+ extra_query: Query | None = None,
790
+ extra_body: Body | None = None,
791
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
792
+ ) -> V1DeleteResponse:
793
+ """
794
+ Delete a single memory by its ID.
795
+
796
+ Args:
797
+ extra_headers: Send extra headers
798
+
799
+ extra_query: Add additional query parameters to the request
800
+
801
+ extra_body: Add additional JSON properties to the request
802
+
803
+ timeout: Override the client-level default timeout for this request, in seconds
804
+ """
805
+ if not id:
806
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
807
+ return await self._delete(
808
+ f"/memory/v1/{id}",
809
+ options=make_request_options(
810
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
811
+ ),
812
+ cast_to=V1DeleteResponse,
813
+ )
814
+
815
+ async def delete_all(
816
+ self,
817
+ *,
818
+ tag_1: str | Omit = omit,
819
+ tag_10: str | Omit = omit,
820
+ tag_11: str | Omit = omit,
821
+ tag_12: str | Omit = omit,
822
+ tag_2: str | Omit = omit,
823
+ tag_3: str | Omit = omit,
824
+ tag_4: str | Omit = omit,
825
+ tag_5: str | Omit = omit,
826
+ tag_6: str | Omit = omit,
827
+ tag_7: str | Omit = omit,
828
+ tag_8: str | Omit = omit,
829
+ tag_9: str | Omit = omit,
830
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
831
+ # The extra values given here take precedence over values defined on the client or passed to this method.
832
+ extra_headers: Headers | None = None,
833
+ extra_query: Query | None = None,
834
+ extra_body: Body | None = None,
835
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
836
+ ) -> V1DeleteAllResponse:
837
+ """Delete multiple memories matching tag filter criteria.
838
+
839
+ CAUTION: This will delete
840
+ all matching memories for your organization.
841
+
842
+ Args:
843
+ tag_1: Filter by tag_1
844
+
845
+ tag_10: Filter by tag_10
846
+
847
+ tag_11: Filter by tag_11
848
+
849
+ tag_12: Filter by tag_12
850
+
851
+ tag_2: Filter by tag_2
852
+
853
+ tag_3: Filter by tag_3
854
+
855
+ tag_4: Filter by tag_4
856
+
857
+ tag_5: Filter by tag_5
858
+
859
+ tag_6: Filter by tag_6
860
+
861
+ tag_7: Filter by tag_7
862
+
863
+ tag_8: Filter by tag_8
864
+
865
+ tag_9: Filter by tag_9
866
+
867
+ extra_headers: Send extra headers
868
+
869
+ extra_query: Add additional query parameters to the request
870
+
871
+ extra_body: Add additional JSON properties to the request
872
+
873
+ timeout: Override the client-level default timeout for this request, in seconds
874
+ """
875
+ return await self._delete(
876
+ "/memory/v1",
877
+ options=make_request_options(
878
+ extra_headers=extra_headers,
879
+ extra_query=extra_query,
880
+ extra_body=extra_body,
881
+ timeout=timeout,
882
+ query=await async_maybe_transform(
883
+ {
884
+ "tag_1": tag_1,
885
+ "tag_10": tag_10,
886
+ "tag_11": tag_11,
887
+ "tag_12": tag_12,
888
+ "tag_2": tag_2,
889
+ "tag_3": tag_3,
890
+ "tag_4": tag_4,
891
+ "tag_5": tag_5,
892
+ "tag_6": tag_6,
893
+ "tag_7": tag_7,
894
+ "tag_8": tag_8,
895
+ "tag_9": tag_9,
896
+ },
897
+ v1_delete_all_params.V1DeleteAllParams,
898
+ ),
899
+ ),
900
+ cast_to=V1DeleteAllResponse,
901
+ )
902
+
903
+ async def search(
904
+ self,
905
+ *,
906
+ query: str,
907
+ category: str | Omit = omit,
908
+ tag_1: str | Omit = omit,
909
+ tag_10: str | Omit = omit,
910
+ tag_11: str | Omit = omit,
911
+ tag_12: str | Omit = omit,
912
+ tag_2: str | Omit = omit,
913
+ tag_3: str | Omit = omit,
914
+ tag_4: str | Omit = omit,
915
+ tag_5: str | Omit = omit,
916
+ tag_6: str | Omit = omit,
917
+ tag_7: str | Omit = omit,
918
+ tag_8: str | Omit = omit,
919
+ tag_9: str | Omit = omit,
920
+ top_k: int | Omit = omit,
921
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
922
+ # The extra values given here take precedence over values defined on the client or passed to this method.
923
+ extra_headers: Headers | None = None,
924
+ extra_query: Query | None = None,
925
+ extra_body: Body | None = None,
926
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
927
+ ) -> V1SearchResponse:
928
+ """Search memories using semantic similarity.
929
+
930
+ Filter by tag fields to narrow
931
+ results.
932
+
933
+ Use tag_1 through tag_12 for filtering - these are generic indexed fields you
934
+ define:
935
+
936
+ - Legal app: tag_1=client_id, tag_2=matter_id
937
+ - Healthcare: tag_1=patient_id, tag_2=encounter_id
938
+
939
+ Args:
940
+ query: Search query for semantic matching
941
+
942
+ category: Filter by category
943
+
944
+ tag_1: Filter by tag_1
945
+
946
+ tag_10: Filter by tag_10
947
+
948
+ tag_11: Filter by tag_11
949
+
950
+ tag_12: Filter by tag_12
951
+
952
+ tag_2: Filter by tag_2
953
+
954
+ tag_3: Filter by tag_3
955
+
956
+ tag_4: Filter by tag_4
957
+
958
+ tag_5: Filter by tag_5
959
+
960
+ tag_6: Filter by tag_6
961
+
962
+ tag_7: Filter by tag_7
963
+
964
+ tag_8: Filter by tag_8
965
+
966
+ tag_9: Filter by tag_9
967
+
968
+ top_k: Maximum number of results to return
969
+
970
+ extra_headers: Send extra headers
971
+
972
+ extra_query: Add additional query parameters to the request
973
+
974
+ extra_body: Add additional JSON properties to the request
975
+
976
+ timeout: Override the client-level default timeout for this request, in seconds
977
+ """
978
+ return await self._post(
979
+ "/memory/v1/search",
980
+ body=await async_maybe_transform(
981
+ {
982
+ "query": query,
983
+ "category": category,
984
+ "tag_1": tag_1,
985
+ "tag_10": tag_10,
986
+ "tag_11": tag_11,
987
+ "tag_12": tag_12,
988
+ "tag_2": tag_2,
989
+ "tag_3": tag_3,
990
+ "tag_4": tag_4,
991
+ "tag_5": tag_5,
992
+ "tag_6": tag_6,
993
+ "tag_7": tag_7,
994
+ "tag_8": tag_8,
995
+ "tag_9": tag_9,
996
+ "top_k": top_k,
997
+ },
998
+ v1_search_params.V1SearchParams,
999
+ ),
1000
+ options=make_request_options(
1001
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1002
+ ),
1003
+ cast_to=V1SearchResponse,
1004
+ )
1005
+
1006
+
1007
+ class V1ResourceWithRawResponse:
1008
+ def __init__(self, v1: V1Resource) -> None:
1009
+ self._v1 = v1
1010
+
1011
+ self.create = to_raw_response_wrapper(
1012
+ v1.create,
1013
+ )
1014
+ self.retrieve = to_raw_response_wrapper(
1015
+ v1.retrieve,
1016
+ )
1017
+ self.list = to_raw_response_wrapper(
1018
+ v1.list,
1019
+ )
1020
+ self.delete = to_raw_response_wrapper(
1021
+ v1.delete,
1022
+ )
1023
+ self.delete_all = to_raw_response_wrapper(
1024
+ v1.delete_all,
1025
+ )
1026
+ self.search = to_raw_response_wrapper(
1027
+ v1.search,
1028
+ )
1029
+
1030
+
1031
+ class AsyncV1ResourceWithRawResponse:
1032
+ def __init__(self, v1: AsyncV1Resource) -> None:
1033
+ self._v1 = v1
1034
+
1035
+ self.create = async_to_raw_response_wrapper(
1036
+ v1.create,
1037
+ )
1038
+ self.retrieve = async_to_raw_response_wrapper(
1039
+ v1.retrieve,
1040
+ )
1041
+ self.list = async_to_raw_response_wrapper(
1042
+ v1.list,
1043
+ )
1044
+ self.delete = async_to_raw_response_wrapper(
1045
+ v1.delete,
1046
+ )
1047
+ self.delete_all = async_to_raw_response_wrapper(
1048
+ v1.delete_all,
1049
+ )
1050
+ self.search = async_to_raw_response_wrapper(
1051
+ v1.search,
1052
+ )
1053
+
1054
+
1055
+ class V1ResourceWithStreamingResponse:
1056
+ def __init__(self, v1: V1Resource) -> None:
1057
+ self._v1 = v1
1058
+
1059
+ self.create = to_streamed_response_wrapper(
1060
+ v1.create,
1061
+ )
1062
+ self.retrieve = to_streamed_response_wrapper(
1063
+ v1.retrieve,
1064
+ )
1065
+ self.list = to_streamed_response_wrapper(
1066
+ v1.list,
1067
+ )
1068
+ self.delete = to_streamed_response_wrapper(
1069
+ v1.delete,
1070
+ )
1071
+ self.delete_all = to_streamed_response_wrapper(
1072
+ v1.delete_all,
1073
+ )
1074
+ self.search = to_streamed_response_wrapper(
1075
+ v1.search,
1076
+ )
1077
+
1078
+
1079
+ class AsyncV1ResourceWithStreamingResponse:
1080
+ def __init__(self, v1: AsyncV1Resource) -> None:
1081
+ self._v1 = v1
1082
+
1083
+ self.create = async_to_streamed_response_wrapper(
1084
+ v1.create,
1085
+ )
1086
+ self.retrieve = async_to_streamed_response_wrapper(
1087
+ v1.retrieve,
1088
+ )
1089
+ self.list = async_to_streamed_response_wrapper(
1090
+ v1.list,
1091
+ )
1092
+ self.delete = async_to_streamed_response_wrapper(
1093
+ v1.delete,
1094
+ )
1095
+ self.delete_all = async_to_streamed_response_wrapper(
1096
+ v1.delete_all,
1097
+ )
1098
+ self.search = async_to_streamed_response_wrapper(
1099
+ v1.search,
1100
+ )