mixedbread 0.51.0__tar.gz → 0.53.0__tar.gz

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 (246) hide show
  1. mixedbread-0.53.0/.release-please-manifest.json +3 -0
  2. {mixedbread-0.51.0 → mixedbread-0.53.0}/CHANGELOG.md +16 -0
  3. {mixedbread-0.51.0 → mixedbread-0.53.0}/PKG-INFO +1 -1
  4. {mixedbread-0.51.0 → mixedbread-0.53.0}/api.md +2 -0
  5. {mixedbread-0.51.0 → mixedbread-0.53.0}/pyproject.toml +1 -1
  6. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_version.py +1 -1
  7. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/stores/stores.py +192 -1
  8. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/__init__.py +2 -0
  9. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/scored_text_input_chunk.py +3 -0
  10. mixedbread-0.53.0/src/mixedbread/types/store_grep_params.py +98 -0
  11. mixedbread-0.53.0/src/mixedbread/types/store_grep_response.py +26 -0
  12. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/text_input_chunk.py +3 -0
  13. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/test_stores.py +171 -0
  14. mixedbread-0.51.0/.release-please-manifest.json +0 -3
  15. {mixedbread-0.51.0 → mixedbread-0.53.0}/.gitignore +0 -0
  16. {mixedbread-0.51.0 → mixedbread-0.53.0}/CONTRIBUTING.md +0 -0
  17. {mixedbread-0.51.0 → mixedbread-0.53.0}/LICENSE +0 -0
  18. {mixedbread-0.51.0 → mixedbread-0.53.0}/README.md +0 -0
  19. {mixedbread-0.51.0 → mixedbread-0.53.0}/SECURITY.md +0 -0
  20. {mixedbread-0.51.0 → mixedbread-0.53.0}/bin/check-release-environment +0 -0
  21. {mixedbread-0.51.0 → mixedbread-0.53.0}/bin/publish-pypi +0 -0
  22. {mixedbread-0.51.0 → mixedbread-0.53.0}/examples/.keep +0 -0
  23. {mixedbread-0.51.0 → mixedbread-0.53.0}/noxfile.py +0 -0
  24. {mixedbread-0.51.0 → mixedbread-0.53.0}/release-please-config.json +0 -0
  25. {mixedbread-0.51.0 → mixedbread-0.53.0}/requirements-dev.lock +0 -0
  26. {mixedbread-0.51.0 → mixedbread-0.53.0}/requirements.lock +0 -0
  27. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/__init__.py +0 -0
  28. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_base_client.py +0 -0
  29. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_client.py +0 -0
  30. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_compat.py +0 -0
  31. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_constants.py +0 -0
  32. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_exceptions.py +0 -0
  33. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_files.py +0 -0
  34. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_models.py +0 -0
  35. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_qs.py +0 -0
  36. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_resource.py +0 -0
  37. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_response.py +0 -0
  38. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_streaming.py +0 -0
  39. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_types.py +0 -0
  40. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/__init__.py +0 -0
  41. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_compat.py +0 -0
  42. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_datetime_parse.py +0 -0
  43. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_json.py +0 -0
  44. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_logs.py +0 -0
  45. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_path.py +0 -0
  46. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_proxy.py +0 -0
  47. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_reflection.py +0 -0
  48. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_resources_proxy.py +0 -0
  49. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_streams.py +0 -0
  50. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_sync.py +0 -0
  51. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_transform.py +0 -0
  52. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_typing.py +0 -0
  53. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/_utils/_utils.py +0 -0
  54. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/lib/.keep +0 -0
  55. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/lib/__init__.py +0 -0
  56. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/lib/multipart_upload.py +0 -0
  57. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/lib/polling.py +0 -0
  58. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/pagination.py +0 -0
  59. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/py.typed +0 -0
  60. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/__init__.py +0 -0
  61. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/api_keys.py +0 -0
  62. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/chat.py +0 -0
  63. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/data_sources/__init__.py +0 -0
  64. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/data_sources/connectors.py +0 -0
  65. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/data_sources/data_sources.py +0 -0
  66. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/embeddings.py +0 -0
  67. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/extractions/__init__.py +0 -0
  68. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/extractions/content.py +0 -0
  69. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/extractions/extractions.py +0 -0
  70. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/extractions/jobs.py +0 -0
  71. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/extractions/schema.py +0 -0
  72. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/files/__init__.py +0 -0
  73. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/files/files.py +0 -0
  74. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/files/uploads.py +0 -0
  75. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/parsing/__init__.py +0 -0
  76. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/parsing/jobs.py +0 -0
  77. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/parsing/parsing.py +0 -0
  78. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/stores/__init__.py +0 -0
  79. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/resources/stores/files.py +0 -0
  80. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/agentic_search_config_param.py +0 -0
  81. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/api_key.py +0 -0
  82. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/api_key_create_or_update_params.py +0 -0
  83. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/api_key_create_params.py +0 -0
  84. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/api_key_created.py +0 -0
  85. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/api_key_delete_response.py +0 -0
  86. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/api_key_list_params.py +0 -0
  87. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/audio_chunk_generated_metadata.py +0 -0
  88. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/audio_url.py +0 -0
  89. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/client_embed_params.py +0 -0
  90. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/client_rerank_params.py +0 -0
  91. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/code_chunk_generated_metadata.py +0 -0
  92. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/contextualization_config.py +0 -0
  93. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/contextualization_config_param.py +0 -0
  94. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_source.py +0 -0
  95. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_source_api_key_params.py +0 -0
  96. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_source_create_params.py +0 -0
  97. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_source_delete_response.py +0 -0
  98. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_source_list_params.py +0 -0
  99. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_source_oauth2_params.py +0 -0
  100. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_source_type.py +0 -0
  101. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_source_update_params.py +0 -0
  102. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_sources/__init__.py +0 -0
  103. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_sources/connector_create_params.py +0 -0
  104. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_sources/connector_delete_response.py +0 -0
  105. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_sources/connector_list_params.py +0 -0
  106. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_sources/connector_update_params.py +0 -0
  107. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/data_sources/data_source_connector.py +0 -0
  108. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/embedding.py +0 -0
  109. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/embedding_create_params.py +0 -0
  110. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/embedding_create_response.py +0 -0
  111. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/encoding_format.py +0 -0
  112. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/expires_after.py +0 -0
  113. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/expires_after_param.py +0 -0
  114. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/__init__.py +0 -0
  115. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/content_create_params.py +0 -0
  116. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/created_json_schema.py +0 -0
  117. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/enhanced_json_schema.py +0 -0
  118. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/extraction_job.py +0 -0
  119. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/extraction_result.py +0 -0
  120. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/image_url_input_param.py +0 -0
  121. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/job_create_params.py +0 -0
  122. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/schema_create_params.py +0 -0
  123. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/schema_enhance_params.py +0 -0
  124. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/schema_validate_params.py +0 -0
  125. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/text_input_param.py +0 -0
  126. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/extractions/validated_json_schema.py +0 -0
  127. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/file_counts.py +0 -0
  128. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/file_create_params.py +0 -0
  129. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/file_delete_response.py +0 -0
  130. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/file_list_params.py +0 -0
  131. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/file_object.py +0 -0
  132. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/file_update_params.py +0 -0
  133. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/__init__.py +0 -0
  134. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/multipart_upload_part.py +0 -0
  135. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/multipart_upload_part_param.py +0 -0
  136. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/multipart_upload_part_url.py +0 -0
  137. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/upload_abort_response.py +0 -0
  138. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/upload_complete_params.py +0 -0
  139. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/upload_create_params.py +0 -0
  140. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/upload_create_response.py +0 -0
  141. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/upload_list_response.py +0 -0
  142. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/files/upload_retrieve_response.py +0 -0
  143. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/image_chunk_generated_metadata.py +0 -0
  144. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/image_url_output.py +0 -0
  145. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/info_response.py +0 -0
  146. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/linear_data_source_param.py +0 -0
  147. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/markdown_chunk_generated_metadata.py +0 -0
  148. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/markdown_heading.py +0 -0
  149. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/multi_encoding_embedding.py +0 -0
  150. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/notion_data_source_param.py +0 -0
  151. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/oauth2_params.py +0 -0
  152. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/pagination_with_total.py +0 -0
  153. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/__init__.py +0 -0
  154. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/chunk.py +0 -0
  155. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/chunk_element.py +0 -0
  156. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/chunking_strategy.py +0 -0
  157. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/document_parser_result.py +0 -0
  158. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/element_type.py +0 -0
  159. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/job_create_params.py +0 -0
  160. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/job_delete_response.py +0 -0
  161. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/job_list_params.py +0 -0
  162. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/job_list_response.py +0 -0
  163. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/parsing_job.py +0 -0
  164. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/parsing_job_status.py +0 -0
  165. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/parsing/return_format.py +0 -0
  166. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/pdf_chunk_generated_metadata.py +0 -0
  167. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/rerank_config_param.py +0 -0
  168. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/rerank_response.py +0 -0
  169. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/scope.py +0 -0
  170. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/scope_param.py +0 -0
  171. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/scored_audio_url_input_chunk.py +0 -0
  172. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/scored_image_url_input_chunk.py +0 -0
  173. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/scored_video_url_input_chunk.py +0 -0
  174. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/shared/__init__.py +0 -0
  175. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/shared/search_filter_condition.py +0 -0
  176. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/shared/usage.py +0 -0
  177. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/shared_params/__init__.py +0 -0
  178. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/shared_params/search_filter_condition.py +0 -0
  179. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store.py +0 -0
  180. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_chunk_search_options_param.py +0 -0
  181. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_config.py +0 -0
  182. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_config_param.py +0 -0
  183. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_create_params.py +0 -0
  184. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_delete_response.py +0 -0
  185. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_list_params.py +0 -0
  186. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_metadata_facets_params.py +0 -0
  187. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_metadata_facets_response.py +0 -0
  188. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_question_answering_params.py +0 -0
  189. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_question_answering_response.py +0 -0
  190. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_search_params.py +0 -0
  191. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_search_response.py +0 -0
  192. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/store_update_params.py +0 -0
  193. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/__init__.py +0 -0
  194. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/audio_url_input_chunk.py +0 -0
  195. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/file_create_params.py +0 -0
  196. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/file_delete_response.py +0 -0
  197. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/file_list_params.py +0 -0
  198. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/file_list_response.py +0 -0
  199. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/file_retrieve_params.py +0 -0
  200. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/file_update_params.py +0 -0
  201. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/image_url_input_chunk.py +0 -0
  202. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/store_file.py +0 -0
  203. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/store_file_config.py +0 -0
  204. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/store_file_config_param.py +0 -0
  205. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/store_file_status.py +0 -0
  206. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/stores/video_url_input_chunk.py +0 -0
  207. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/text_chunk_generated_metadata.py +0 -0
  208. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/video_chunk_generated_metadata.py +0 -0
  209. {mixedbread-0.51.0 → mixedbread-0.53.0}/src/mixedbread/types/video_url.py +0 -0
  210. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/__init__.py +0 -0
  211. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/__init__.py +0 -0
  212. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/data_sources/__init__.py +0 -0
  213. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/data_sources/test_connectors.py +0 -0
  214. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/extractions/__init__.py +0 -0
  215. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/extractions/test_content.py +0 -0
  216. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/extractions/test_jobs.py +0 -0
  217. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/extractions/test_schema.py +0 -0
  218. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/files/__init__.py +0 -0
  219. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/files/test_uploads.py +0 -0
  220. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/parsing/__init__.py +0 -0
  221. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/parsing/test_jobs.py +0 -0
  222. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/stores/__init__.py +0 -0
  223. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/stores/test_files.py +0 -0
  224. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/test_api_keys.py +0 -0
  225. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/test_chat.py +0 -0
  226. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/test_client.py +0 -0
  227. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/test_data_sources.py +0 -0
  228. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/test_embeddings.py +0 -0
  229. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/api_resources/test_files.py +0 -0
  230. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/conftest.py +0 -0
  231. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/sample_file.txt +0 -0
  232. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_client.py +0 -0
  233. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_extract_files.py +0 -0
  234. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_files.py +0 -0
  235. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_models.py +0 -0
  236. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_qs.py +0 -0
  237. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_required_args.py +0 -0
  238. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_response.py +0 -0
  239. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_streaming.py +0 -0
  240. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_transform.py +0 -0
  241. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_utils/test_datetime_parse.py +0 -0
  242. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_utils/test_json.py +0 -0
  243. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_utils/test_path.py +0 -0
  244. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_utils/test_proxy.py +0 -0
  245. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/test_utils/test_typing.py +0 -0
  246. {mixedbread-0.51.0 → mixedbread-0.53.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.53.0"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.53.0 (2026-05-21)
4
+
5
+ Full Changelog: [v0.52.0...v0.53.0](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.52.0...v0.53.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([0cc719f](https://github.com/mixedbread-ai/mixedbread-python/commit/0cc719f25fcb12f2990cb027069d04f336987870))
10
+
11
+ ## 0.52.0 (2026-05-20)
12
+
13
+ Full Changelog: [v0.51.0...v0.52.0](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.51.0...v0.52.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** add grep ([3b53a40](https://github.com/mixedbread-ai/mixedbread-python/commit/3b53a40d4edb99c688ec00efafefcb2a46f008cc))
18
+
3
19
  ## 0.51.0 (2026-05-20)
4
20
 
5
21
  Full Changelog: [v0.50.0...v0.51.0](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.50.0...v0.51.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mixedbread
3
- Version: 0.51.0
3
+ Version: 0.53.0
4
4
  Summary: The official Python library for the Mixedbread API
5
5
  Project-URL: Homepage, https://github.com/mixedbread-ai/mixedbread-python
6
6
  Project-URL: Repository, https://github.com/mixedbread-ai/mixedbread-python
@@ -54,6 +54,7 @@ from mixedbread.types import (
54
54
  VideoChunkGeneratedMetadata,
55
55
  VideoURL,
56
56
  StoreDeleteResponse,
57
+ StoreGrepResponse,
57
58
  StoreMetadataFacetsResponse,
58
59
  StoreQuestionAnsweringResponse,
59
60
  StoreSearchResponse,
@@ -67,6 +68,7 @@ Methods:
67
68
  - <code title="put /v1/stores/{store_identifier}">client.stores.<a href="./src/mixedbread/resources/stores/stores.py">update</a>(store_identifier, \*\*<a href="src/mixedbread/types/store_update_params.py">params</a>) -> <a href="./src/mixedbread/types/store.py">Store</a></code>
68
69
  - <code title="get /v1/stores">client.stores.<a href="./src/mixedbread/resources/stores/stores.py">list</a>(\*\*<a href="src/mixedbread/types/store_list_params.py">params</a>) -> <a href="./src/mixedbread/types/store.py">SyncCursor[Store]</a></code>
69
70
  - <code title="delete /v1/stores/{store_identifier}">client.stores.<a href="./src/mixedbread/resources/stores/stores.py">delete</a>(store_identifier) -> <a href="./src/mixedbread/types/store_delete_response.py">StoreDeleteResponse</a></code>
71
+ - <code title="post /v1/stores/grep">client.stores.<a href="./src/mixedbread/resources/stores/stores.py">grep</a>(\*\*<a href="src/mixedbread/types/store_grep_params.py">params</a>) -> <a href="./src/mixedbread/types/store_grep_response.py">StoreGrepResponse</a></code>
70
72
  - <code title="post /v1/stores/metadata-facets">client.stores.<a href="./src/mixedbread/resources/stores/stores.py">metadata_facets</a>(\*\*<a href="src/mixedbread/types/store_metadata_facets_params.py">params</a>) -> <a href="./src/mixedbread/types/store_metadata_facets_response.py">StoreMetadataFacetsResponse</a></code>
71
73
  - <code title="post /v1/stores/question-answering">client.stores.<a href="./src/mixedbread/resources/stores/stores.py">question_answering</a>(\*\*<a href="src/mixedbread/types/store_question_answering_params.py">params</a>) -> <a href="./src/mixedbread/types/store_question_answering_response.py">StoreQuestionAnsweringResponse</a></code>
72
74
  - <code title="post /v1/stores/search">client.stores.<a href="./src/mixedbread/resources/stores/stores.py">search</a>(\*\*<a href="src/mixedbread/types/store_search_params.py">params</a>) -> <a href="./src/mixedbread/types/store_search_response.py">StoreSearchResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mixedbread"
3
- version = "0.51.0"
3
+ version = "0.53.0"
4
4
  description = "The official Python library for the Mixedbread API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "mixedbread"
4
- __version__ = "0.51.0" # x-release-please-version
4
+ __version__ = "0.53.0" # x-release-please-version
@@ -2,7 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Union, Iterable, Optional
5
+ from typing import List, Union, Iterable, Optional
6
+ from typing_extensions import Literal
6
7
 
7
8
  import httpx
8
9
 
@@ -15,6 +16,7 @@ from .files import (
15
16
  AsyncFilesResourceWithStreamingResponse,
16
17
  )
17
18
  from ...types import (
19
+ store_grep_params,
18
20
  store_list_params,
19
21
  store_create_params,
20
22
  store_search_params,
@@ -37,6 +39,7 @@ from ...types.store import Store
37
39
  from ..._base_client import AsyncPaginator, make_request_options
38
40
  from ...types.store_config_param import StoreConfigParam
39
41
  from ...types.expires_after_param import ExpiresAfterParam
42
+ from ...types.store_grep_response import StoreGrepResponse
40
43
  from ...types.store_delete_response import StoreDeleteResponse
41
44
  from ...types.store_search_response import StoreSearchResponse
42
45
  from ...types.store_metadata_facets_response import StoreMetadataFacetsResponse
@@ -358,6 +361,94 @@ class StoresResource(SyncAPIResource):
358
361
  cast_to=StoreDeleteResponse,
359
362
  )
360
363
 
364
+ def grep(
365
+ self,
366
+ *,
367
+ store_identifiers: SequenceNotStr[str],
368
+ top_k: int | Omit = omit,
369
+ filters: Optional[store_grep_params.Filters] | Omit = omit,
370
+ file_ids: Union[Iterable[object], SequenceNotStr[str], None] | Omit = omit,
371
+ pattern: str,
372
+ targets: List[Literal["text", "generated"]] | Omit = omit,
373
+ case_sensitive: bool | Omit = omit,
374
+ return_metadata: bool | Omit = omit,
375
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
376
+ # The extra values given here take precedence over values defined on the client or passed to this method.
377
+ extra_headers: Headers | None = None,
378
+ extra_query: Query | None = None,
379
+ extra_body: Body | None = None,
380
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
381
+ ) -> StoreGrepResponse:
382
+ """
383
+ Match store chunks against a regular expression.
384
+
385
+ Unlike `/stores/search`, this performs exact text matching — no embeddings, no
386
+ semantic similarity, no reranking. Use it to find chunks containing a specific
387
+ token, identifier, error code, or literal phrase.
388
+
389
+ grep targets a single store and does not support pagination; raise `top_k` to
390
+ retrieve more matches.
391
+
392
+ Args: grep_params: Grep configuration including: - pattern: RE2 regular
393
+ expression matched against chunk text - targets: chunk content groups to match
394
+ (`text`, `generated`) - case_sensitive: whether the pattern is case-sensitive -
395
+ store_identifiers: the single store to grep - file_ids: optional list of file
396
+ IDs to filter chunks by - filters: optional metadata filter conditions - top_k:
397
+ number of matches to return
398
+
399
+ Returns: StoreGrepResponse containing the list of matching chunks.
400
+
401
+ Raises: HTTPException (400): If grep parameters are invalid HTTPException (404):
402
+ If the store is not found
403
+
404
+ Args:
405
+ store_identifiers: IDs or names of stores
406
+
407
+ top_k: Number of results to return
408
+
409
+ filters: Optional filter conditions
410
+
411
+ file_ids: Optional list of file IDs to filter chunks by (inclusion filter)
412
+
413
+ pattern: Regular expression (RE2 syntax) matched against chunk text
414
+
415
+ targets: Chunk content groups to match against. `text` matches the original text of text
416
+ chunks; `generated` matches ingestion-derived fields (transcription, OCR text,
417
+ summaries).
418
+
419
+ case_sensitive: Whether the regular expression is case-sensitive
420
+
421
+ return_metadata: Whether to return file metadata
422
+
423
+ extra_headers: Send extra headers
424
+
425
+ extra_query: Add additional query parameters to the request
426
+
427
+ extra_body: Add additional JSON properties to the request
428
+
429
+ timeout: Override the client-level default timeout for this request, in seconds
430
+ """
431
+ return self._post(
432
+ "/v1/stores/grep",
433
+ body=maybe_transform(
434
+ {
435
+ "store_identifiers": store_identifiers,
436
+ "top_k": top_k,
437
+ "filters": filters,
438
+ "file_ids": file_ids,
439
+ "pattern": pattern,
440
+ "targets": targets,
441
+ "case_sensitive": case_sensitive,
442
+ "return_metadata": return_metadata,
443
+ },
444
+ store_grep_params.StoreGrepParams,
445
+ ),
446
+ options=make_request_options(
447
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
448
+ ),
449
+ cast_to=StoreGrepResponse,
450
+ )
451
+
361
452
  def metadata_facets(
362
453
  self,
363
454
  *,
@@ -898,6 +989,94 @@ class AsyncStoresResource(AsyncAPIResource):
898
989
  cast_to=StoreDeleteResponse,
899
990
  )
900
991
 
992
+ async def grep(
993
+ self,
994
+ *,
995
+ store_identifiers: SequenceNotStr[str],
996
+ top_k: int | Omit = omit,
997
+ filters: Optional[store_grep_params.Filters] | Omit = omit,
998
+ file_ids: Union[Iterable[object], SequenceNotStr[str], None] | Omit = omit,
999
+ pattern: str,
1000
+ targets: List[Literal["text", "generated"]] | Omit = omit,
1001
+ case_sensitive: bool | Omit = omit,
1002
+ return_metadata: bool | Omit = omit,
1003
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1004
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1005
+ extra_headers: Headers | None = None,
1006
+ extra_query: Query | None = None,
1007
+ extra_body: Body | None = None,
1008
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
1009
+ ) -> StoreGrepResponse:
1010
+ """
1011
+ Match store chunks against a regular expression.
1012
+
1013
+ Unlike `/stores/search`, this performs exact text matching — no embeddings, no
1014
+ semantic similarity, no reranking. Use it to find chunks containing a specific
1015
+ token, identifier, error code, or literal phrase.
1016
+
1017
+ grep targets a single store and does not support pagination; raise `top_k` to
1018
+ retrieve more matches.
1019
+
1020
+ Args: grep_params: Grep configuration including: - pattern: RE2 regular
1021
+ expression matched against chunk text - targets: chunk content groups to match
1022
+ (`text`, `generated`) - case_sensitive: whether the pattern is case-sensitive -
1023
+ store_identifiers: the single store to grep - file_ids: optional list of file
1024
+ IDs to filter chunks by - filters: optional metadata filter conditions - top_k:
1025
+ number of matches to return
1026
+
1027
+ Returns: StoreGrepResponse containing the list of matching chunks.
1028
+
1029
+ Raises: HTTPException (400): If grep parameters are invalid HTTPException (404):
1030
+ If the store is not found
1031
+
1032
+ Args:
1033
+ store_identifiers: IDs or names of stores
1034
+
1035
+ top_k: Number of results to return
1036
+
1037
+ filters: Optional filter conditions
1038
+
1039
+ file_ids: Optional list of file IDs to filter chunks by (inclusion filter)
1040
+
1041
+ pattern: Regular expression (RE2 syntax) matched against chunk text
1042
+
1043
+ targets: Chunk content groups to match against. `text` matches the original text of text
1044
+ chunks; `generated` matches ingestion-derived fields (transcription, OCR text,
1045
+ summaries).
1046
+
1047
+ case_sensitive: Whether the regular expression is case-sensitive
1048
+
1049
+ return_metadata: Whether to return file metadata
1050
+
1051
+ extra_headers: Send extra headers
1052
+
1053
+ extra_query: Add additional query parameters to the request
1054
+
1055
+ extra_body: Add additional JSON properties to the request
1056
+
1057
+ timeout: Override the client-level default timeout for this request, in seconds
1058
+ """
1059
+ return await self._post(
1060
+ "/v1/stores/grep",
1061
+ body=await async_maybe_transform(
1062
+ {
1063
+ "store_identifiers": store_identifiers,
1064
+ "top_k": top_k,
1065
+ "filters": filters,
1066
+ "file_ids": file_ids,
1067
+ "pattern": pattern,
1068
+ "targets": targets,
1069
+ "case_sensitive": case_sensitive,
1070
+ "return_metadata": return_metadata,
1071
+ },
1072
+ store_grep_params.StoreGrepParams,
1073
+ ),
1074
+ options=make_request_options(
1075
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1076
+ ),
1077
+ cast_to=StoreGrepResponse,
1078
+ )
1079
+
901
1080
  async def metadata_facets(
902
1081
  self,
903
1082
  *,
@@ -1145,6 +1324,9 @@ class StoresResourceWithRawResponse:
1145
1324
  self.delete = to_raw_response_wrapper(
1146
1325
  stores.delete,
1147
1326
  )
1327
+ self.grep = to_raw_response_wrapper(
1328
+ stores.grep,
1329
+ )
1148
1330
  self.metadata_facets = to_raw_response_wrapper(
1149
1331
  stores.metadata_facets,
1150
1332
  )
@@ -1179,6 +1361,9 @@ class AsyncStoresResourceWithRawResponse:
1179
1361
  self.delete = async_to_raw_response_wrapper(
1180
1362
  stores.delete,
1181
1363
  )
1364
+ self.grep = async_to_raw_response_wrapper(
1365
+ stores.grep,
1366
+ )
1182
1367
  self.metadata_facets = async_to_raw_response_wrapper(
1183
1368
  stores.metadata_facets,
1184
1369
  )
@@ -1213,6 +1398,9 @@ class StoresResourceWithStreamingResponse:
1213
1398
  self.delete = to_streamed_response_wrapper(
1214
1399
  stores.delete,
1215
1400
  )
1401
+ self.grep = to_streamed_response_wrapper(
1402
+ stores.grep,
1403
+ )
1216
1404
  self.metadata_facets = to_streamed_response_wrapper(
1217
1405
  stores.metadata_facets,
1218
1406
  )
@@ -1247,6 +1435,9 @@ class AsyncStoresResourceWithStreamingResponse:
1247
1435
  self.delete = async_to_streamed_response_wrapper(
1248
1436
  stores.delete,
1249
1437
  )
1438
+ self.grep = async_to_streamed_response_wrapper(
1439
+ stores.grep,
1440
+ )
1250
1441
  self.metadata_facets = async_to_streamed_response_wrapper(
1251
1442
  stores.metadata_facets,
1252
1443
  )
@@ -24,6 +24,7 @@ from .data_source_type import DataSourceType as DataSourceType
24
24
  from .file_list_params import FileListParams as FileListParams
25
25
  from .image_url_output import ImageURLOutput as ImageURLOutput
26
26
  from .markdown_heading import MarkdownHeading as MarkdownHeading
27
+ from .store_grep_params import StoreGrepParams as StoreGrepParams
27
28
  from .store_list_params import StoreListParams as StoreListParams
28
29
  from .file_create_params import FileCreateParams as FileCreateParams
29
30
  from .file_update_params import FileUpdateParams as FileUpdateParams
@@ -33,6 +34,7 @@ from .client_embed_params import ClientEmbedParams as ClientEmbedParams
33
34
  from .expires_after_param import ExpiresAfterParam as ExpiresAfterParam
34
35
  from .rerank_config_param import RerankConfigParam as RerankConfigParam
35
36
  from .store_create_params import StoreCreateParams as StoreCreateParams
37
+ from .store_grep_response import StoreGrepResponse as StoreGrepResponse
36
38
  from .store_search_params import StoreSearchParams as StoreSearchParams
37
39
  from .store_update_params import StoreUpdateParams as StoreUpdateParams
38
40
  from .client_rerank_params import ClientRerankParams as ClientRerankParams
@@ -72,3 +72,6 @@ class ScoredTextInputChunk(BaseModel):
72
72
 
73
73
  context: Optional[str] = None
74
74
  """LLM-generated context that situates this chunk within its source document"""
75
+
76
+ summary: Optional[str] = None
77
+ """summary of the text chunk"""
@@ -0,0 +1,98 @@
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, Union, Iterable, Optional
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
+
8
+ from .._types import SequenceNotStr
9
+ from .shared_params.search_filter_condition import SearchFilterCondition
10
+
11
+ __all__ = [
12
+ "StoreGrepParams",
13
+ "Filters",
14
+ "FiltersSearchFilterInput",
15
+ "FiltersSearchFilterInputAll",
16
+ "FiltersSearchFilterInputAny",
17
+ "FiltersSearchFilterInputNone",
18
+ "FiltersUnionMember2",
19
+ "FiltersUnionMember2SearchFilterInput",
20
+ "FiltersUnionMember2SearchFilterInputAll",
21
+ "FiltersUnionMember2SearchFilterInputAny",
22
+ "FiltersUnionMember2SearchFilterInputNone",
23
+ ]
24
+
25
+
26
+ class StoreGrepParams(TypedDict, total=False):
27
+ store_identifiers: Required[SequenceNotStr[str]]
28
+ """IDs or names of stores"""
29
+
30
+ top_k: int
31
+ """Number of results to return"""
32
+
33
+ filters: Optional[Filters]
34
+ """Optional filter conditions"""
35
+
36
+ file_ids: Union[Iterable[object], SequenceNotStr[str], None]
37
+ """Optional list of file IDs to filter chunks by (inclusion filter)"""
38
+
39
+ pattern: Required[str]
40
+ """Regular expression (RE2 syntax) matched against chunk text"""
41
+
42
+ targets: List[Literal["text", "generated"]]
43
+ """Chunk content groups to match against.
44
+
45
+ `text` matches the original text of text chunks; `generated` matches
46
+ ingestion-derived fields (transcription, OCR text, summaries).
47
+ """
48
+
49
+ case_sensitive: bool
50
+ """Whether the regular expression is case-sensitive"""
51
+
52
+ return_metadata: bool
53
+ """Whether to return file metadata"""
54
+
55
+
56
+ FiltersSearchFilterInputAll: TypeAlias = Union[SearchFilterCondition, object]
57
+
58
+ FiltersSearchFilterInputAny: TypeAlias = Union[SearchFilterCondition, object]
59
+
60
+ FiltersSearchFilterInputNone: TypeAlias = Union[SearchFilterCondition, object]
61
+
62
+
63
+ class FiltersSearchFilterInput(TypedDict, total=False):
64
+ """Represents a filter with AND, OR, and NOT conditions."""
65
+
66
+ all: Optional[Iterable[FiltersSearchFilterInputAll]]
67
+ """List of conditions or filters to be ANDed together"""
68
+
69
+ any: Optional[Iterable[FiltersSearchFilterInputAny]]
70
+ """List of conditions or filters to be ORed together"""
71
+
72
+ none: Optional[Iterable[FiltersSearchFilterInputNone]]
73
+ """List of conditions or filters to be NOTed"""
74
+
75
+
76
+ FiltersUnionMember2SearchFilterInputAll: TypeAlias = Union[SearchFilterCondition, object]
77
+
78
+ FiltersUnionMember2SearchFilterInputAny: TypeAlias = Union[SearchFilterCondition, object]
79
+
80
+ FiltersUnionMember2SearchFilterInputNone: TypeAlias = Union[SearchFilterCondition, object]
81
+
82
+
83
+ class FiltersUnionMember2SearchFilterInput(TypedDict, total=False):
84
+ """Represents a filter with AND, OR, and NOT conditions."""
85
+
86
+ all: Optional[Iterable[FiltersUnionMember2SearchFilterInputAll]]
87
+ """List of conditions or filters to be ANDed together"""
88
+
89
+ any: Optional[Iterable[FiltersUnionMember2SearchFilterInputAny]]
90
+ """List of conditions or filters to be ORed together"""
91
+
92
+ none: Optional[Iterable[FiltersUnionMember2SearchFilterInputNone]]
93
+ """List of conditions or filters to be NOTed"""
94
+
95
+
96
+ FiltersUnionMember2: TypeAlias = Union[FiltersUnionMember2SearchFilterInput, SearchFilterCondition]
97
+
98
+ Filters: TypeAlias = Union[FiltersSearchFilterInput, SearchFilterCondition, Iterable[FiltersUnionMember2]]
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Union, Optional
4
+ from typing_extensions import Literal, Annotated, TypeAlias
5
+
6
+ from .._utils import PropertyInfo
7
+ from .._models import BaseModel
8
+ from .scored_text_input_chunk import ScoredTextInputChunk
9
+ from .scored_audio_url_input_chunk import ScoredAudioURLInputChunk
10
+ from .scored_image_url_input_chunk import ScoredImageURLInputChunk
11
+ from .scored_video_url_input_chunk import ScoredVideoURLInputChunk
12
+
13
+ __all__ = ["StoreGrepResponse", "Data"]
14
+
15
+ Data: TypeAlias = Annotated[
16
+ Union[ScoredTextInputChunk, ScoredImageURLInputChunk, ScoredAudioURLInputChunk, ScoredVideoURLInputChunk],
17
+ PropertyInfo(discriminator="type"),
18
+ ]
19
+
20
+
21
+ class StoreGrepResponse(BaseModel):
22
+ object: Optional[Literal["list"]] = None
23
+ """The object type of the response"""
24
+
25
+ data: List[Data]
26
+ """The list of chunks matching the pattern"""
@@ -54,3 +54,6 @@ class TextInputChunk(BaseModel):
54
54
 
55
55
  context: Optional[str] = None
56
56
  """LLM-generated context that situates this chunk within its source document"""
57
+
58
+ summary: Optional[str] = None
59
+ """summary of the text chunk"""
@@ -11,6 +11,7 @@ from mixedbread import Mixedbread, AsyncMixedbread
11
11
  from tests.utils import assert_matches_type
12
12
  from mixedbread.types import (
13
13
  Store,
14
+ StoreGrepResponse,
14
15
  StoreDeleteResponse,
15
16
  StoreSearchResponse,
16
17
  StoreMetadataFacetsResponse,
@@ -235,6 +236,91 @@ class TestStores:
235
236
  "",
236
237
  )
237
238
 
239
+ @parametrize
240
+ def test_method_grep(self, client: Mixedbread) -> None:
241
+ store = client.stores.grep(
242
+ store_identifiers=["string"],
243
+ pattern="ERR-\\d{4}",
244
+ )
245
+ assert_matches_type(StoreGrepResponse, store, path=["response"])
246
+
247
+ @parametrize
248
+ def test_method_grep_with_all_params(self, client: Mixedbread) -> None:
249
+ store = client.stores.grep(
250
+ store_identifiers=["string"],
251
+ top_k=1,
252
+ filters={
253
+ "all": [
254
+ {
255
+ "key": "price",
256
+ "value": "100",
257
+ "operator": "gt",
258
+ },
259
+ {
260
+ "key": "color",
261
+ "value": "red",
262
+ "operator": "eq",
263
+ },
264
+ ],
265
+ "any": [
266
+ {
267
+ "key": "price",
268
+ "value": "100",
269
+ "operator": "gt",
270
+ },
271
+ {
272
+ "key": "color",
273
+ "value": "red",
274
+ "operator": "eq",
275
+ },
276
+ ],
277
+ "none": [
278
+ {
279
+ "key": "price",
280
+ "value": "100",
281
+ "operator": "gt",
282
+ },
283
+ {
284
+ "key": "color",
285
+ "value": "red",
286
+ "operator": "eq",
287
+ },
288
+ ],
289
+ },
290
+ file_ids=["123e4567-e89b-12d3-a456-426614174000", "123e4567-e89b-12d3-a456-426614174001"],
291
+ pattern="ERR-\\d{4}",
292
+ targets=["text"],
293
+ case_sensitive=True,
294
+ return_metadata=True,
295
+ )
296
+ assert_matches_type(StoreGrepResponse, store, path=["response"])
297
+
298
+ @parametrize
299
+ def test_raw_response_grep(self, client: Mixedbread) -> None:
300
+ response = client.stores.with_raw_response.grep(
301
+ store_identifiers=["string"],
302
+ pattern="ERR-\\d{4}",
303
+ )
304
+
305
+ assert response.is_closed is True
306
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
307
+ store = response.parse()
308
+ assert_matches_type(StoreGrepResponse, store, path=["response"])
309
+
310
+ @parametrize
311
+ def test_streaming_response_grep(self, client: Mixedbread) -> None:
312
+ with client.stores.with_streaming_response.grep(
313
+ store_identifiers=["string"],
314
+ pattern="ERR-\\d{4}",
315
+ ) as response:
316
+ assert not response.is_closed
317
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
318
+
319
+ store = response.parse()
320
+ assert_matches_type(StoreGrepResponse, store, path=["response"])
321
+
322
+ assert cast(Any, response.is_closed) is True
323
+
238
324
  @parametrize
239
325
  def test_method_metadata_facets(self, client: Mixedbread) -> None:
240
326
  store = client.stores.metadata_facets(
@@ -726,6 +812,91 @@ class TestAsyncStores:
726
812
  "",
727
813
  )
728
814
 
815
+ @parametrize
816
+ async def test_method_grep(self, async_client: AsyncMixedbread) -> None:
817
+ store = await async_client.stores.grep(
818
+ store_identifiers=["string"],
819
+ pattern="ERR-\\d{4}",
820
+ )
821
+ assert_matches_type(StoreGrepResponse, store, path=["response"])
822
+
823
+ @parametrize
824
+ async def test_method_grep_with_all_params(self, async_client: AsyncMixedbread) -> None:
825
+ store = await async_client.stores.grep(
826
+ store_identifiers=["string"],
827
+ top_k=1,
828
+ filters={
829
+ "all": [
830
+ {
831
+ "key": "price",
832
+ "value": "100",
833
+ "operator": "gt",
834
+ },
835
+ {
836
+ "key": "color",
837
+ "value": "red",
838
+ "operator": "eq",
839
+ },
840
+ ],
841
+ "any": [
842
+ {
843
+ "key": "price",
844
+ "value": "100",
845
+ "operator": "gt",
846
+ },
847
+ {
848
+ "key": "color",
849
+ "value": "red",
850
+ "operator": "eq",
851
+ },
852
+ ],
853
+ "none": [
854
+ {
855
+ "key": "price",
856
+ "value": "100",
857
+ "operator": "gt",
858
+ },
859
+ {
860
+ "key": "color",
861
+ "value": "red",
862
+ "operator": "eq",
863
+ },
864
+ ],
865
+ },
866
+ file_ids=["123e4567-e89b-12d3-a456-426614174000", "123e4567-e89b-12d3-a456-426614174001"],
867
+ pattern="ERR-\\d{4}",
868
+ targets=["text"],
869
+ case_sensitive=True,
870
+ return_metadata=True,
871
+ )
872
+ assert_matches_type(StoreGrepResponse, store, path=["response"])
873
+
874
+ @parametrize
875
+ async def test_raw_response_grep(self, async_client: AsyncMixedbread) -> None:
876
+ response = await async_client.stores.with_raw_response.grep(
877
+ store_identifiers=["string"],
878
+ pattern="ERR-\\d{4}",
879
+ )
880
+
881
+ assert response.is_closed is True
882
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
883
+ store = await response.parse()
884
+ assert_matches_type(StoreGrepResponse, store, path=["response"])
885
+
886
+ @parametrize
887
+ async def test_streaming_response_grep(self, async_client: AsyncMixedbread) -> None:
888
+ async with async_client.stores.with_streaming_response.grep(
889
+ store_identifiers=["string"],
890
+ pattern="ERR-\\d{4}",
891
+ ) as response:
892
+ assert not response.is_closed
893
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
894
+
895
+ store = await response.parse()
896
+ assert_matches_type(StoreGrepResponse, store, path=["response"])
897
+
898
+ assert cast(Any, response.is_closed) is True
899
+
729
900
  @parametrize
730
901
  async def test_method_metadata_facets(self, async_client: AsyncMixedbread) -> None:
731
902
  store = await async_client.stores.metadata_facets(
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.51.0"
3
- }