diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 648d8d1..c6075a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,12 +1,14 @@ name: CI on: push: - branches-ignore: - - 'generated' - - 'codegen/**' - - 'integrated/**' - - 'stl-preview-head/**' - - 'stl-preview-base/**' + branches: + - '**' + - '!integrated/**' + - '!stl-preview-head/**' + - '!stl-preview-base/**' + - '!generated' + - '!codegen/**' + - 'codegen/stl/**' pull_request: branches-ignore: - 'stl-preview-head/**' diff --git a/.release-please-manifest.json b/.release-please-manifest.json index cd2f5a3..ff66120 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.47.1" + ".": "0.48.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 38e553d..0538f50 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 56 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/mixedbread%2Fmixedbread-928efac57471dbd8ac930afd8b7b3aec2d1c09190b5aadd1686606c73029ebf6.yml -openapi_spec_hash: 6891b8b114fca054953e941d22b8d87e +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/mixedbread%2Fmixedbread-aee97de4d3aed6b0d4c4ace37a0b32972f51502127796354b791ee61d5176eab.yml +openapi_spec_hash: 3752a46f3eca4db340f0fe9df10fed44 config_hash: c32ffa6858a02d7f23f6f3dda0b461ed diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ed9467..f1b76c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## 0.48.0 (2026-03-18) + +Full Changelog: [v0.47.1...v0.48.0](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.47.1...v0.48.0) + +### Features + +* **api:** api update ([d6162fc](https://github.com/mixedbread-ai/mixedbread-python/commit/d6162fc5da00d48833fd957e7fcea8f8031fbb50)) +* **api:** api update ([4405e7f](https://github.com/mixedbread-ai/mixedbread-python/commit/4405e7fb5f927cde5ab0f282fa588faa7e09bbd3)) + + +### Bug Fixes + +* **deps:** bump minimum typing-extensions version ([b7a8459](https://github.com/mixedbread-ai/mixedbread-python/commit/b7a84597b8d41c54ab99197d818326327dbf9e06)) +* **pydantic:** do not pass `by_alias` unless set ([d37406c](https://github.com/mixedbread-ai/mixedbread-python/commit/d37406cba3065f5b61c1d76fa228df3ef3133e3d)) + + +### Chores + +* **internal:** tweak CI branches ([a1dbb21](https://github.com/mixedbread-ai/mixedbread-python/commit/a1dbb2102fd91079706db5c0bb82cbb01b280459)) + ## 0.47.1 (2026-03-12) Full Changelog: [v0.47.0...v0.47.1](https://github.com/mixedbread-ai/mixedbread-python/compare/v0.47.0...v0.47.1) diff --git a/pyproject.toml b/pyproject.toml index 60ab65c..19690ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mixedbread" -version = "0.47.1" +version = "0.48.0" description = "The official Python library for the Mixedbread API" dynamic = ["readme"] license = "Apache-2.0" @@ -11,7 +11,7 @@ authors = [ dependencies = [ "httpx>=0.23.0, <1", "pydantic>=1.9.0, <3", - "typing-extensions>=4.10, <5", + "typing-extensions>=4.14, <5", "anyio>=3.5.0, <5", "distro>=1.7.0, <2", "sniffio", diff --git a/src/mixedbread/_compat.py b/src/mixedbread/_compat.py index 786ff42..e6690a4 100644 --- a/src/mixedbread/_compat.py +++ b/src/mixedbread/_compat.py @@ -2,7 +2,7 @@ from typing import TYPE_CHECKING, Any, Union, Generic, TypeVar, Callable, cast, overload from datetime import date, datetime -from typing_extensions import Self, Literal +from typing_extensions import Self, Literal, TypedDict import pydantic from pydantic.fields import FieldInfo @@ -131,6 +131,10 @@ def model_json(model: pydantic.BaseModel, *, indent: int | None = None) -> str: return model.model_dump_json(indent=indent) +class _ModelDumpKwargs(TypedDict, total=False): + by_alias: bool + + def model_dump( model: pydantic.BaseModel, *, @@ -142,6 +146,9 @@ def model_dump( by_alias: bool | None = None, ) -> dict[str, Any]: if (not PYDANTIC_V1) or hasattr(model, "model_dump"): + kwargs: _ModelDumpKwargs = {} + if by_alias is not None: + kwargs["by_alias"] = by_alias return model.model_dump( mode=mode, exclude=exclude, @@ -149,7 +156,7 @@ def model_dump( exclude_defaults=exclude_defaults, # warnings are not supported in Pydantic v1 warnings=True if PYDANTIC_V1 else warnings, - by_alias=by_alias, + **kwargs, ) return cast( "dict[str, Any]", diff --git a/src/mixedbread/_version.py b/src/mixedbread/_version.py index 63706a7..85574aa 100644 --- a/src/mixedbread/_version.py +++ b/src/mixedbread/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "mixedbread" -__version__ = "0.47.1" # x-release-please-version +__version__ = "0.48.0" # x-release-please-version diff --git a/src/mixedbread/types/scored_audio_url_input_chunk.py b/src/mixedbread/types/scored_audio_url_input_chunk.py index 95292f9..c82677c 100644 --- a/src/mixedbread/types/scored_audio_url_input_chunk.py +++ b/src/mixedbread/types/scored_audio_url_input_chunk.py @@ -41,11 +41,11 @@ class GeneratedMetadataMarkdownChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["text/markdown"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None chunk_headings: Optional[List[GeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading]] = None @@ -77,11 +77,11 @@ class GeneratedMetadataTextChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["text/plain"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -107,9 +107,9 @@ class GeneratedMetadataPdfChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["application/pdf"]] = None - total_pages: int + total_pages: Optional[int] = None - total_size: int + total_size: Optional[int] = None file_extension: Optional[str] = None @@ -131,11 +131,11 @@ class GeneratedMetadataCodeChunkGeneratedMetadata(BaseModel): file_type: str - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -159,17 +159,19 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataAudioChunkGeneratedMetadata(BaseModel): type: Optional[Literal["audio"]] = None - file_type: str + file_type: Optional[str] = None + + file_size: Optional[int] = None - file_size: int + total_duration_seconds: Optional[float] = None - total_duration_seconds: float + sample_rate: Optional[int] = None - sample_rate: int + channels: Optional[int] = None - channels: int + audio_format: Optional[int] = None - audio_format: int + bpm: Optional[int] = None file_extension: Optional[str] = None @@ -189,22 +191,24 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataVideoChunkGeneratedMetadata(BaseModel): type: Optional[Literal["video"]] = None - file_type: str + file_type: Optional[str] = None file_size: Optional[int] = None - total_duration_seconds: float + total_duration_seconds: Optional[float] = None - fps: float + fps: Optional[float] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None - frame_count: int + frame_count: Optional[int] = None has_audio_stream: Optional[bool] = None + bpm: Optional[int] = None + file_extension: Optional[str] = None if TYPE_CHECKING: @@ -223,13 +227,13 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataImageChunkGeneratedMetadata(BaseModel): type: Optional[Literal["image"]] = None - file_type: str + file_type: Optional[str] = None - file_size: int + file_size: Optional[int] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None file_extension: Optional[str] = None diff --git a/src/mixedbread/types/scored_image_url_input_chunk.py b/src/mixedbread/types/scored_image_url_input_chunk.py index 1a8cf54..ae453a4 100644 --- a/src/mixedbread/types/scored_image_url_input_chunk.py +++ b/src/mixedbread/types/scored_image_url_input_chunk.py @@ -41,11 +41,11 @@ class GeneratedMetadataMarkdownChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["text/markdown"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None chunk_headings: Optional[List[GeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading]] = None @@ -77,11 +77,11 @@ class GeneratedMetadataTextChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["text/plain"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -107,9 +107,9 @@ class GeneratedMetadataPdfChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["application/pdf"]] = None - total_pages: int + total_pages: Optional[int] = None - total_size: int + total_size: Optional[int] = None file_extension: Optional[str] = None @@ -131,11 +131,11 @@ class GeneratedMetadataCodeChunkGeneratedMetadata(BaseModel): file_type: str - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -159,17 +159,19 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataAudioChunkGeneratedMetadata(BaseModel): type: Optional[Literal["audio"]] = None - file_type: str + file_type: Optional[str] = None + + file_size: Optional[int] = None - file_size: int + total_duration_seconds: Optional[float] = None - total_duration_seconds: float + sample_rate: Optional[int] = None - sample_rate: int + channels: Optional[int] = None - channels: int + audio_format: Optional[int] = None - audio_format: int + bpm: Optional[int] = None file_extension: Optional[str] = None @@ -189,22 +191,24 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataVideoChunkGeneratedMetadata(BaseModel): type: Optional[Literal["video"]] = None - file_type: str + file_type: Optional[str] = None file_size: Optional[int] = None - total_duration_seconds: float + total_duration_seconds: Optional[float] = None - fps: float + fps: Optional[float] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None - frame_count: int + frame_count: Optional[int] = None has_audio_stream: Optional[bool] = None + bpm: Optional[int] = None + file_extension: Optional[str] = None if TYPE_CHECKING: @@ -223,13 +227,13 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataImageChunkGeneratedMetadata(BaseModel): type: Optional[Literal["image"]] = None - file_type: str + file_type: Optional[str] = None - file_size: int + file_size: Optional[int] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None file_extension: Optional[str] = None diff --git a/src/mixedbread/types/scored_text_input_chunk.py b/src/mixedbread/types/scored_text_input_chunk.py index 41b33ea..e4523a4 100644 --- a/src/mixedbread/types/scored_text_input_chunk.py +++ b/src/mixedbread/types/scored_text_input_chunk.py @@ -40,11 +40,11 @@ class GeneratedMetadataMarkdownChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["text/markdown"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None chunk_headings: Optional[List[GeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading]] = None @@ -76,11 +76,11 @@ class GeneratedMetadataTextChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["text/plain"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -106,9 +106,9 @@ class GeneratedMetadataPdfChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["application/pdf"]] = None - total_pages: int + total_pages: Optional[int] = None - total_size: int + total_size: Optional[int] = None file_extension: Optional[str] = None @@ -130,11 +130,11 @@ class GeneratedMetadataCodeChunkGeneratedMetadata(BaseModel): file_type: str - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -158,17 +158,19 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataAudioChunkGeneratedMetadata(BaseModel): type: Optional[Literal["audio"]] = None - file_type: str + file_type: Optional[str] = None + + file_size: Optional[int] = None - file_size: int + total_duration_seconds: Optional[float] = None - total_duration_seconds: float + sample_rate: Optional[int] = None - sample_rate: int + channels: Optional[int] = None - channels: int + audio_format: Optional[int] = None - audio_format: int + bpm: Optional[int] = None file_extension: Optional[str] = None @@ -188,22 +190,24 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataVideoChunkGeneratedMetadata(BaseModel): type: Optional[Literal["video"]] = None - file_type: str + file_type: Optional[str] = None file_size: Optional[int] = None - total_duration_seconds: float + total_duration_seconds: Optional[float] = None - fps: float + fps: Optional[float] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None - frame_count: int + frame_count: Optional[int] = None has_audio_stream: Optional[bool] = None + bpm: Optional[int] = None + file_extension: Optional[str] = None if TYPE_CHECKING: @@ -222,13 +226,13 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataImageChunkGeneratedMetadata(BaseModel): type: Optional[Literal["image"]] = None - file_type: str + file_type: Optional[str] = None - file_size: int + file_size: Optional[int] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None file_extension: Optional[str] = None diff --git a/src/mixedbread/types/scored_video_url_input_chunk.py b/src/mixedbread/types/scored_video_url_input_chunk.py index a33d0d3..7be647f 100644 --- a/src/mixedbread/types/scored_video_url_input_chunk.py +++ b/src/mixedbread/types/scored_video_url_input_chunk.py @@ -41,11 +41,11 @@ class GeneratedMetadataMarkdownChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["text/markdown"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None chunk_headings: Optional[List[GeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading]] = None @@ -77,11 +77,11 @@ class GeneratedMetadataTextChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["text/plain"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -107,9 +107,9 @@ class GeneratedMetadataPdfChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["application/pdf"]] = None - total_pages: int + total_pages: Optional[int] = None - total_size: int + total_size: Optional[int] = None file_extension: Optional[str] = None @@ -131,11 +131,11 @@ class GeneratedMetadataCodeChunkGeneratedMetadata(BaseModel): file_type: str - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -159,17 +159,19 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataAudioChunkGeneratedMetadata(BaseModel): type: Optional[Literal["audio"]] = None - file_type: str + file_type: Optional[str] = None + + file_size: Optional[int] = None - file_size: int + total_duration_seconds: Optional[float] = None - total_duration_seconds: float + sample_rate: Optional[int] = None - sample_rate: int + channels: Optional[int] = None - channels: int + audio_format: Optional[int] = None - audio_format: int + bpm: Optional[int] = None file_extension: Optional[str] = None @@ -189,22 +191,24 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataVideoChunkGeneratedMetadata(BaseModel): type: Optional[Literal["video"]] = None - file_type: str + file_type: Optional[str] = None file_size: Optional[int] = None - total_duration_seconds: float + total_duration_seconds: Optional[float] = None - fps: float + fps: Optional[float] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None - frame_count: int + frame_count: Optional[int] = None has_audio_stream: Optional[bool] = None + bpm: Optional[int] = None + file_extension: Optional[str] = None if TYPE_CHECKING: @@ -223,13 +227,13 @@ def __getattr__(self, attr: str) -> object: ... class GeneratedMetadataImageChunkGeneratedMetadata(BaseModel): type: Optional[Literal["image"]] = None - file_type: str + file_type: Optional[str] = None - file_size: int + file_size: Optional[int] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None file_extension: Optional[str] = None diff --git a/src/mixedbread/types/stores/store_file.py b/src/mixedbread/types/stores/store_file.py index 0fe097b..eb1baef 100644 --- a/src/mixedbread/types/stores/store_file.py +++ b/src/mixedbread/types/stores/store_file.py @@ -88,11 +88,11 @@ class ChunkTextInputChunkGeneratedMetadataMarkdownChunkGeneratedMetadata(BaseMod file_type: Optional[Literal["text/markdown"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None chunk_headings: Optional[List[ChunkTextInputChunkGeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading]] = ( None @@ -128,11 +128,11 @@ class ChunkTextInputChunkGeneratedMetadataTextChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["text/plain"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -158,9 +158,9 @@ class ChunkTextInputChunkGeneratedMetadataPdfChunkGeneratedMetadata(BaseModel): file_type: Optional[Literal["application/pdf"]] = None - total_pages: int + total_pages: Optional[int] = None - total_size: int + total_size: Optional[int] = None file_extension: Optional[str] = None @@ -182,11 +182,11 @@ class ChunkTextInputChunkGeneratedMetadataCodeChunkGeneratedMetadata(BaseModel): file_type: str - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -210,17 +210,19 @@ def __getattr__(self, attr: str) -> object: ... class ChunkTextInputChunkGeneratedMetadataAudioChunkGeneratedMetadata(BaseModel): type: Optional[Literal["audio"]] = None - file_type: str + file_type: Optional[str] = None + + file_size: Optional[int] = None - file_size: int + total_duration_seconds: Optional[float] = None - total_duration_seconds: float + sample_rate: Optional[int] = None - sample_rate: int + channels: Optional[int] = None - channels: int + audio_format: Optional[int] = None - audio_format: int + bpm: Optional[int] = None file_extension: Optional[str] = None @@ -240,22 +242,24 @@ def __getattr__(self, attr: str) -> object: ... class ChunkTextInputChunkGeneratedMetadataVideoChunkGeneratedMetadata(BaseModel): type: Optional[Literal["video"]] = None - file_type: str + file_type: Optional[str] = None file_size: Optional[int] = None - total_duration_seconds: float + total_duration_seconds: Optional[float] = None - fps: float + fps: Optional[float] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None - frame_count: int + frame_count: Optional[int] = None has_audio_stream: Optional[bool] = None + bpm: Optional[int] = None + file_extension: Optional[str] = None if TYPE_CHECKING: @@ -274,13 +278,13 @@ def __getattr__(self, attr: str) -> object: ... class ChunkTextInputChunkGeneratedMetadataImageChunkGeneratedMetadata(BaseModel): type: Optional[Literal["image"]] = None - file_type: str + file_type: Optional[str] = None - file_size: int + file_size: Optional[int] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None file_extension: Optional[str] = None @@ -352,11 +356,11 @@ class ChunkImageURLInputChunkGeneratedMetadataMarkdownChunkGeneratedMetadata(Bas file_type: Optional[Literal["text/markdown"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None chunk_headings: Optional[ List[ChunkImageURLInputChunkGeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading] @@ -392,11 +396,11 @@ class ChunkImageURLInputChunkGeneratedMetadataTextChunkGeneratedMetadata(BaseMod file_type: Optional[Literal["text/plain"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -422,9 +426,9 @@ class ChunkImageURLInputChunkGeneratedMetadataPdfChunkGeneratedMetadata(BaseMode file_type: Optional[Literal["application/pdf"]] = None - total_pages: int + total_pages: Optional[int] = None - total_size: int + total_size: Optional[int] = None file_extension: Optional[str] = None @@ -446,11 +450,11 @@ class ChunkImageURLInputChunkGeneratedMetadataCodeChunkGeneratedMetadata(BaseMod file_type: str - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -474,17 +478,19 @@ def __getattr__(self, attr: str) -> object: ... class ChunkImageURLInputChunkGeneratedMetadataAudioChunkGeneratedMetadata(BaseModel): type: Optional[Literal["audio"]] = None - file_type: str + file_type: Optional[str] = None + + file_size: Optional[int] = None - file_size: int + total_duration_seconds: Optional[float] = None - total_duration_seconds: float + sample_rate: Optional[int] = None - sample_rate: int + channels: Optional[int] = None - channels: int + audio_format: Optional[int] = None - audio_format: int + bpm: Optional[int] = None file_extension: Optional[str] = None @@ -504,22 +510,24 @@ def __getattr__(self, attr: str) -> object: ... class ChunkImageURLInputChunkGeneratedMetadataVideoChunkGeneratedMetadata(BaseModel): type: Optional[Literal["video"]] = None - file_type: str + file_type: Optional[str] = None file_size: Optional[int] = None - total_duration_seconds: float + total_duration_seconds: Optional[float] = None - fps: float + fps: Optional[float] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None - frame_count: int + frame_count: Optional[int] = None has_audio_stream: Optional[bool] = None + bpm: Optional[int] = None + file_extension: Optional[str] = None if TYPE_CHECKING: @@ -538,13 +546,13 @@ def __getattr__(self, attr: str) -> object: ... class ChunkImageURLInputChunkGeneratedMetadataImageChunkGeneratedMetadata(BaseModel): type: Optional[Literal["image"]] = None - file_type: str + file_type: Optional[str] = None - file_size: int + file_size: Optional[int] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None file_extension: Optional[str] = None @@ -629,11 +637,11 @@ class ChunkAudioURLInputChunkGeneratedMetadataMarkdownChunkGeneratedMetadata(Bas file_type: Optional[Literal["text/markdown"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None chunk_headings: Optional[ List[ChunkAudioURLInputChunkGeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading] @@ -669,11 +677,11 @@ class ChunkAudioURLInputChunkGeneratedMetadataTextChunkGeneratedMetadata(BaseMod file_type: Optional[Literal["text/plain"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -699,9 +707,9 @@ class ChunkAudioURLInputChunkGeneratedMetadataPdfChunkGeneratedMetadata(BaseMode file_type: Optional[Literal["application/pdf"]] = None - total_pages: int + total_pages: Optional[int] = None - total_size: int + total_size: Optional[int] = None file_extension: Optional[str] = None @@ -723,11 +731,11 @@ class ChunkAudioURLInputChunkGeneratedMetadataCodeChunkGeneratedMetadata(BaseMod file_type: str - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -751,17 +759,19 @@ def __getattr__(self, attr: str) -> object: ... class ChunkAudioURLInputChunkGeneratedMetadataAudioChunkGeneratedMetadata(BaseModel): type: Optional[Literal["audio"]] = None - file_type: str + file_type: Optional[str] = None + + file_size: Optional[int] = None - file_size: int + total_duration_seconds: Optional[float] = None - total_duration_seconds: float + sample_rate: Optional[int] = None - sample_rate: int + channels: Optional[int] = None - channels: int + audio_format: Optional[int] = None - audio_format: int + bpm: Optional[int] = None file_extension: Optional[str] = None @@ -781,22 +791,24 @@ def __getattr__(self, attr: str) -> object: ... class ChunkAudioURLInputChunkGeneratedMetadataVideoChunkGeneratedMetadata(BaseModel): type: Optional[Literal["video"]] = None - file_type: str + file_type: Optional[str] = None file_size: Optional[int] = None - total_duration_seconds: float + total_duration_seconds: Optional[float] = None - fps: float + fps: Optional[float] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None - frame_count: int + frame_count: Optional[int] = None has_audio_stream: Optional[bool] = None + bpm: Optional[int] = None + file_extension: Optional[str] = None if TYPE_CHECKING: @@ -815,13 +827,13 @@ def __getattr__(self, attr: str) -> object: ... class ChunkAudioURLInputChunkGeneratedMetadataImageChunkGeneratedMetadata(BaseModel): type: Optional[Literal["image"]] = None - file_type: str + file_type: Optional[str] = None - file_size: int + file_size: Optional[int] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None file_extension: Optional[str] = None @@ -906,11 +918,11 @@ class ChunkVideoURLInputChunkGeneratedMetadataMarkdownChunkGeneratedMetadata(Bas file_type: Optional[Literal["text/markdown"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None chunk_headings: Optional[ List[ChunkVideoURLInputChunkGeneratedMetadataMarkdownChunkGeneratedMetadataChunkHeading] @@ -946,11 +958,11 @@ class ChunkVideoURLInputChunkGeneratedMetadataTextChunkGeneratedMetadata(BaseMod file_type: Optional[Literal["text/plain"]] = None - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -976,9 +988,9 @@ class ChunkVideoURLInputChunkGeneratedMetadataPdfChunkGeneratedMetadata(BaseMode file_type: Optional[Literal["application/pdf"]] = None - total_pages: int + total_pages: Optional[int] = None - total_size: int + total_size: Optional[int] = None file_extension: Optional[str] = None @@ -1000,11 +1012,11 @@ class ChunkVideoURLInputChunkGeneratedMetadataCodeChunkGeneratedMetadata(BaseMod file_type: str - language: str + language: Optional[str] = None - word_count: int + word_count: Optional[int] = None - file_size: int + file_size: Optional[int] = None start_line: Optional[int] = None @@ -1028,17 +1040,19 @@ def __getattr__(self, attr: str) -> object: ... class ChunkVideoURLInputChunkGeneratedMetadataAudioChunkGeneratedMetadata(BaseModel): type: Optional[Literal["audio"]] = None - file_type: str + file_type: Optional[str] = None + + file_size: Optional[int] = None - file_size: int + total_duration_seconds: Optional[float] = None - total_duration_seconds: float + sample_rate: Optional[int] = None - sample_rate: int + channels: Optional[int] = None - channels: int + audio_format: Optional[int] = None - audio_format: int + bpm: Optional[int] = None file_extension: Optional[str] = None @@ -1058,22 +1072,24 @@ def __getattr__(self, attr: str) -> object: ... class ChunkVideoURLInputChunkGeneratedMetadataVideoChunkGeneratedMetadata(BaseModel): type: Optional[Literal["video"]] = None - file_type: str + file_type: Optional[str] = None file_size: Optional[int] = None - total_duration_seconds: float + total_duration_seconds: Optional[float] = None - fps: float + fps: Optional[float] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None - frame_count: int + frame_count: Optional[int] = None has_audio_stream: Optional[bool] = None + bpm: Optional[int] = None + file_extension: Optional[str] = None if TYPE_CHECKING: @@ -1092,13 +1108,13 @@ def __getattr__(self, attr: str) -> object: ... class ChunkVideoURLInputChunkGeneratedMetadataImageChunkGeneratedMetadata(BaseModel): type: Optional[Literal["image"]] = None - file_type: str + file_type: Optional[str] = None - file_size: int + file_size: Optional[int] = None - width: int + width: Optional[int] = None - height: int + height: Optional[int] = None file_extension: Optional[str] = None