1919 async_to_streamed_response_wrapper ,
2020)
2121from ..._base_client import make_request_options
22- from ...types .vector_stores import file_create_params , file_search_params , file_retrieve_params
22+ from ...types .vector_stores import file_list_params , file_create_params , file_search_params , file_retrieve_params
2323from ...types .vector_stores .vector_store_file import VectorStoreFile
24+ from ...types .vector_stores .file_list_response import FileListResponse
2425from ...types .vector_stores .file_delete_response import FileDeleteResponse
2526from ...types .vector_stores .file_search_response import FileSearchResponse
27+ from ...types .vector_stores .vector_store_file_status import VectorStoreFileStatus
2628
2729__all__ = ["FilesResource" , "AsyncFilesResource" ]
2830
@@ -160,6 +162,79 @@ def retrieve(
160162 cast_to = VectorStoreFile ,
161163 )
162164
165+ def list (
166+ self ,
167+ vector_store_identifier : str ,
168+ * ,
169+ limit : int | NotGiven = NOT_GIVEN ,
170+ after : Optional [str ] | NotGiven = NOT_GIVEN ,
171+ before : Optional [str ] | NotGiven = NOT_GIVEN ,
172+ include_total : bool | NotGiven = NOT_GIVEN ,
173+ statuses : Optional [List [VectorStoreFileStatus ]] | NotGiven = NOT_GIVEN ,
174+ metadata_filter : Optional [file_list_params .MetadataFilter ] | NotGiven = NOT_GIVEN ,
175+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
176+ # The extra values given here take precedence over values defined on the client or passed to this method.
177+ extra_headers : Headers | None = None ,
178+ extra_query : Query | None = None ,
179+ extra_body : Body | None = None ,
180+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
181+ ) -> FileListResponse :
182+ """
183+ List files indexed in a vector store with pagination and metadata filter.
184+
185+ Args: vector_store_identifier: The ID or name of the vector store pagination:
186+ Pagination parameters and metadata filter
187+
188+ Returns: VectorStoreFileListResponse: Paginated list of vector store files
189+
190+ Args:
191+ vector_store_identifier: The ID or name of the vector store
192+
193+ limit: Maximum number of items to return per page (1-100)
194+
195+ after: Cursor for forward pagination - get items after this position. Use last_cursor
196+ from previous response.
197+
198+ before: Cursor for backward pagination - get items before this position. Use
199+ first_cursor from previous response.
200+
201+ include_total: Whether to include total count in response (expensive operation)
202+
203+ statuses: Status to filter by
204+
205+ metadata_filter: Metadata filter to apply to the query
206+
207+ extra_headers: Send extra headers
208+
209+ extra_query: Add additional query parameters to the request
210+
211+ extra_body: Add additional JSON properties to the request
212+
213+ timeout: Override the client-level default timeout for this request, in seconds
214+ """
215+ if not vector_store_identifier :
216+ raise ValueError (
217+ f"Expected a non-empty value for `vector_store_identifier` but received { vector_store_identifier !r} "
218+ )
219+ return self ._post (
220+ f"/v1/vector_stores/{ vector_store_identifier } /files/list" ,
221+ body = maybe_transform (
222+ {
223+ "limit" : limit ,
224+ "after" : after ,
225+ "before" : before ,
226+ "include_total" : include_total ,
227+ "statuses" : statuses ,
228+ "metadata_filter" : metadata_filter ,
229+ },
230+ file_list_params .FileListParams ,
231+ ),
232+ options = make_request_options (
233+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
234+ ),
235+ cast_to = FileListResponse ,
236+ )
237+
163238 def delete (
164239 self ,
165240 file_id : str ,
@@ -525,6 +600,79 @@ async def retrieve(
525600 cast_to = VectorStoreFile ,
526601 )
527602
603+ async def list (
604+ self ,
605+ vector_store_identifier : str ,
606+ * ,
607+ limit : int | NotGiven = NOT_GIVEN ,
608+ after : Optional [str ] | NotGiven = NOT_GIVEN ,
609+ before : Optional [str ] | NotGiven = NOT_GIVEN ,
610+ include_total : bool | NotGiven = NOT_GIVEN ,
611+ statuses : Optional [List [VectorStoreFileStatus ]] | NotGiven = NOT_GIVEN ,
612+ metadata_filter : Optional [file_list_params .MetadataFilter ] | NotGiven = NOT_GIVEN ,
613+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
614+ # The extra values given here take precedence over values defined on the client or passed to this method.
615+ extra_headers : Headers | None = None ,
616+ extra_query : Query | None = None ,
617+ extra_body : Body | None = None ,
618+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
619+ ) -> FileListResponse :
620+ """
621+ List files indexed in a vector store with pagination and metadata filter.
622+
623+ Args: vector_store_identifier: The ID or name of the vector store pagination:
624+ Pagination parameters and metadata filter
625+
626+ Returns: VectorStoreFileListResponse: Paginated list of vector store files
627+
628+ Args:
629+ vector_store_identifier: The ID or name of the vector store
630+
631+ limit: Maximum number of items to return per page (1-100)
632+
633+ after: Cursor for forward pagination - get items after this position. Use last_cursor
634+ from previous response.
635+
636+ before: Cursor for backward pagination - get items before this position. Use
637+ first_cursor from previous response.
638+
639+ include_total: Whether to include total count in response (expensive operation)
640+
641+ statuses: Status to filter by
642+
643+ metadata_filter: Metadata filter to apply to the query
644+
645+ extra_headers: Send extra headers
646+
647+ extra_query: Add additional query parameters to the request
648+
649+ extra_body: Add additional JSON properties to the request
650+
651+ timeout: Override the client-level default timeout for this request, in seconds
652+ """
653+ if not vector_store_identifier :
654+ raise ValueError (
655+ f"Expected a non-empty value for `vector_store_identifier` but received { vector_store_identifier !r} "
656+ )
657+ return await self ._post (
658+ f"/v1/vector_stores/{ vector_store_identifier } /files/list" ,
659+ body = await async_maybe_transform (
660+ {
661+ "limit" : limit ,
662+ "after" : after ,
663+ "before" : before ,
664+ "include_total" : include_total ,
665+ "statuses" : statuses ,
666+ "metadata_filter" : metadata_filter ,
667+ },
668+ file_list_params .FileListParams ,
669+ ),
670+ options = make_request_options (
671+ extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
672+ ),
673+ cast_to = FileListResponse ,
674+ )
675+
528676 async def delete (
529677 self ,
530678 file_id : str ,
@@ -769,6 +917,9 @@ def __init__(self, files: FilesResource) -> None:
769917 self .retrieve = to_raw_response_wrapper (
770918 files .retrieve ,
771919 )
920+ self .list = to_raw_response_wrapper (
921+ files .list ,
922+ )
772923 self .delete = to_raw_response_wrapper (
773924 files .delete ,
774925 )
@@ -787,6 +938,9 @@ def __init__(self, files: AsyncFilesResource) -> None:
787938 self .retrieve = async_to_raw_response_wrapper (
788939 files .retrieve ,
789940 )
941+ self .list = async_to_raw_response_wrapper (
942+ files .list ,
943+ )
790944 self .delete = async_to_raw_response_wrapper (
791945 files .delete ,
792946 )
@@ -805,6 +959,9 @@ def __init__(self, files: FilesResource) -> None:
805959 self .retrieve = to_streamed_response_wrapper (
806960 files .retrieve ,
807961 )
962+ self .list = to_streamed_response_wrapper (
963+ files .list ,
964+ )
808965 self .delete = to_streamed_response_wrapper (
809966 files .delete ,
810967 )
@@ -823,6 +980,9 @@ def __init__(self, files: AsyncFilesResource) -> None:
823980 self .retrieve = async_to_streamed_response_wrapper (
824981 files .retrieve ,
825982 )
983+ self .list = async_to_streamed_response_wrapper (
984+ files .list ,
985+ )
826986 self .delete = async_to_streamed_response_wrapper (
827987 files .delete ,
828988 )
0 commit comments