1515from ..._types import Body , Omit , Query , Headers , NotGiven , FileTypes , SequenceNotStr , omit , not_given
1616from ..._utils import is_given , path_template , maybe_transform , async_maybe_transform
1717from ..._compat import cached_property
18- from ..._models import construct_type_unchecked
1918from ..._resource import SyncAPIResource , AsyncAPIResource
2019from ..._response import to_streamed_response_wrapper , async_to_streamed_response_wrapper
2120from ...pagination import SyncCursorPage , AsyncCursorPage
@@ -34,19 +33,16 @@ def _coerce_vector_store_poll_response(
3433 * ,
3534 batch_id : str ,
3635 vector_store_id : str ,
37- ) -> VectorStoreFileBatch | None :
36+ ) -> dict [ str , Any ] | None :
3837 if data .get ("object" ) != "vector_store" or data .get ("id" ) != vector_store_id :
3938 return None
4039
41- return construct_type_unchecked (
42- value = {
43- ** data ,
44- "id" : batch_id ,
45- "object" : "vector_store.files_batch" ,
46- "vector_store_id" : vector_store_id ,
47- },
48- type_ = VectorStoreFileBatch ,
49- )
40+ return {
41+ ** data ,
42+ "id" : batch_id ,
43+ "object" : "vector_store.files_batch" ,
44+ "vector_store_id" : vector_store_id ,
45+ }
5046
5147
5248class FileBatches (SyncAPIResource ):
@@ -373,9 +369,17 @@ def poll(
373369 )
374370
375371 data = response .parse (to = dict )
376- batch = _coerce_vector_store_poll_response (data , batch_id = batch_id , vector_store_id = vector_store_id )
377- if batch is None :
372+ coerced_data = _coerce_vector_store_poll_response (
373+ data , batch_id = batch_id , vector_store_id = vector_store_id
374+ )
375+ if coerced_data is None :
378376 batch = response .parse ()
377+ else :
378+ batch = response ._client ._process_response_data (
379+ data = coerced_data ,
380+ cast_to = VectorStoreFileBatch ,
381+ response = response .http_response ,
382+ )
379383
380384 if batch .file_counts .in_progress > 0 :
381385 if not is_given (poll_interval_ms ):
@@ -765,9 +769,17 @@ async def poll(
765769 )
766770
767771 data = response .parse (to = dict )
768- batch = _coerce_vector_store_poll_response (data , batch_id = batch_id , vector_store_id = vector_store_id )
769- if batch is None :
772+ coerced_data = _coerce_vector_store_poll_response (
773+ data , batch_id = batch_id , vector_store_id = vector_store_id
774+ )
775+ if coerced_data is None :
770776 batch = response .parse ()
777+ else :
778+ batch = response ._client ._process_response_data (
779+ data = coerced_data ,
780+ cast_to = VectorStoreFileBatch ,
781+ response = response .http_response ,
782+ )
771783
772784 if batch .file_counts .in_progress > 0 :
773785 if not is_given (poll_interval_ms ):
0 commit comments