Skip to content

Commit 0de028a

Browse files
fix: FileObject now unique, no more FileObject1/FileObject2
- FileObject: the file entity schema - UploadFileOut: response from upload endpoint - RetrieveFileOut: response from retrieve endpoint (has deleted field) Updated typing_example.py to use FileObject.
1 parent f348e96 commit 0de028a

14 files changed

Lines changed: 203 additions & 77 deletions

File tree

.speakeasy/gen.lock

Lines changed: 38 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
lockVersion: 2.0.0
22
id: 2d045ec7-2ebb-4f4d-ad25-40953b132161
33
management:
4-
docChecksum: 63c3d17fd47455b5430911f22c5481ab
4+
docChecksum: 09040641f7cae1734d66d7059810142d
55
docVersion: 1.0.0
66
speakeasyVersion: 1.685.0
77
generationVersion: 2.794.1
@@ -11,9 +11,9 @@ management:
1111
installationURL: https://github.com/mistralai/client-python.git
1212
published: true
1313
persistentEdits:
14-
generation_id: 4c04e016-13cb-4931-9497-a0afdbea4565
15-
pristine_commit_hash: 64c6a24be18201224f3fb3a880cfce13fc97ca31
16-
pristine_tree_hash: ddb2712e22d457a494ecd22b8c6adf983be84c91
14+
generation_id: fd92cfcd-dd9a-4efe-9ac1-6d9d43ea0df5
15+
pristine_commit_hash: 73911f35759dd41bfa6f7c92751a87142a41f2eb
16+
pristine_tree_hash: e1b7e10f1ac45a637feaf206670a909222accdeb
1717
features:
1818
python:
1919
additionalDependencies: 1.0.0
@@ -780,14 +780,10 @@ trackedFiles:
780780
id: edc076728e9d
781781
last_write_checksum: sha1:07ab5db503211adba2fa099e66d12ac3c4bbf680
782782
pristine_git_object: 18217114060ac4e4b45fefabace4628684f27e5c
783-
docs/models/fileobject1.md:
784-
id: 765bfdbb2cfe
785-
last_write_checksum: sha1:75acc279a0480a70bddb7c1cdd460dc76bac06ec
786-
pristine_git_object: 25606334ee87025f797b31c1844ded61f8d55fa5
787-
docs/models/fileobject2.md:
788-
id: eeec77c72ef0
789-
last_write_checksum: sha1:95efdda875ca49faaf57d3148b0ec632b464d0e4
790-
pristine_git_object: e85740698bc972f9ccc212541cffadb4696e1cbc
783+
docs/models/fileobject.md:
784+
id: 62761f8bde4d
785+
last_write_checksum: sha1:ed2d28e97877da95171d83f046dea9571d718d46
786+
pristine_git_object: 3a84922af17bace9b055a374e627c8618b5242c7
791787
docs/models/filepurpose.md:
792788
id: ed6216584490
793789
last_write_checksum: sha1:02767595f85228f7bfcf359f8384b8263580d53a
@@ -1198,8 +1194,8 @@ trackedFiles:
11981194
pristine_git_object: 47b9d3b73fdc85bf6e463c91790faf346df56664
11991195
docs/models/listfilesresponse.md:
12001196
id: b15df90d2d59
1201-
last_write_checksum: sha1:7bb36427aaf14594d29cfac98a11b9438098621a
1202-
pristine_git_object: 39b5a1c37758098bbf659817d89c015b93244316
1197+
last_write_checksum: sha1:282bb4eab9439fe96c2cae04b7561c34a37b8980
1198+
pristine_git_object: 4b50a8fe75b19a1b2715d0aedbef63bf7e4bbed3
12031199
docs/models/listfinetuningjobsresponse.md:
12041200
id: d04e4dfddf78
12051201
last_write_checksum: sha1:cebaf361aa10f1f6c4299c3c8a34f32d301455ad
@@ -1436,6 +1432,10 @@ trackedFiles:
14361432
id: 88e3b9f0aa8d
14371433
last_write_checksum: sha1:156f38bbe8278f9c03117135938e7cbdae3038b9
14381434
pristine_git_object: e2f421af866690b34c2d9fa4595a63e9172a65f5
1435+
docs/models/retrievefileout.md:
1436+
id: 8e82ae08d9b5
1437+
last_write_checksum: sha1:600d5ea4f75dab07fb1139112962affcf633a6c9
1438+
pristine_git_object: 28f97dd25718833aaa42c361337e5e60488bcdc8
14391439
docs/models/retrievemodelv1modelsmodelidgetrequest.md:
14401440
id: ac567924689c
14411441
last_write_checksum: sha1:7534c5ec5f1ae1e750c8f610f81f2106587e81a9
@@ -1668,6 +1668,10 @@ trackedFiles:
16681668
id: a211b5f814e4
16691669
last_write_checksum: sha1:30336699337d9e6f3a2961dac6d8506f9dd66b59
16701670
pristine_git_object: 110e2bb0c01085146fb5dd06a70987b02ae2f13a
1671+
docs/models/uploadfileout.md:
1672+
id: c991d0bfc54c
1673+
last_write_checksum: sha1:ce5af8ffadb8443a6d1ca5fbbc014de42da35b9d
1674+
pristine_git_object: 6f09c9a6920f373c730fa3538b0c2953d757c257
16711675
docs/models/uploadfilerequest.md:
16721676
id: 57e3b1c37a62
16731677
last_write_checksum: sha1:d74c7ea206d584f2e814ecd1a583444f21c624c4
@@ -1746,8 +1750,8 @@ trackedFiles:
17461750
pristine_git_object: 0be7ea6dcace678d12d7e7e4f8e88daf7570df5d
17471751
docs/sdks/files/README.md:
17481752
id: e576d7a117f0
1749-
last_write_checksum: sha1:60e4ade94d548a94ebeb2ef70fd20baf86e76296
1750-
pristine_git_object: 20aba88d6b364cbadbb20db6eb92752e562d58f7
1753+
last_write_checksum: sha1:2682b7a79e633247dca9eaf53c87a68fed226945
1754+
pristine_git_object: d18700a2ca3cd93c19b4448742388d65e532ea69
17511755
docs/sdks/fim/README.md:
17521756
id: 499b227bf6ca
17531757
last_write_checksum: sha1:34ff7167b0597bf668ef75ede016cb8884372d1b
@@ -1854,8 +1858,8 @@ trackedFiles:
18541858
pristine_git_object: 4a056baa014217927412e9dd60479c28de899e2e
18551859
src/mistralai/client/files.py:
18561860
id: f12df4b2ce43
1857-
last_write_checksum: sha1:3e3f64da506a2d64b6948c5630153976740ff91a
1858-
pristine_git_object: 49174bc695c781410841d7c98438f0abc64f6235
1861+
last_write_checksum: sha1:2b2606958d1b1bf4e810fd11538c77e8d757bb59
1862+
pristine_git_object: 4e71f30de716a31b8765696f4c6baaf09dbcedae
18591863
src/mistralai/client/fim.py:
18601864
id: 217bea5d701d
18611865
last_write_checksum: sha1:90cacb025a1a1fb81e619d59819c0a652f4a5efa
@@ -1878,8 +1882,8 @@ trackedFiles:
18781882
pristine_git_object: 5073c29bff471b8bdd652e06ab04c22b30101849
18791883
src/mistralai/client/models/__init__.py:
18801884
id: e0e8dad92725
1881-
last_write_checksum: sha1:a4a43f6d207604cf6b5d1c32fb005988b11de9d8
1882-
pristine_git_object: 194b7c98ea73a1e4a874ba7ec150d6dd897f679f
1885+
last_write_checksum: sha1:c745d7ac9ef1016cb3e16a21ad5a8702319a82b0
1886+
pristine_git_object: 33dbbde801e45010c6114551f27b92ecff4cdf30
18831887
src/mistralai/client/models/agent.py:
18841888
id: 1336849c84fb
18851889
last_write_checksum: sha1:d41a96558ddbd52b6c71d316c291847bb6131a01
@@ -2284,14 +2288,10 @@ trackedFiles:
22842288
id: ff3c2d33ab1e
22852289
last_write_checksum: sha1:9f970ef8366df8087f9332a4b1986540063a1949
22862290
pristine_git_object: 43ef22f861e0a275c7348133d0c4d04551477646
2287-
src/mistralai/client/models/fileobject_1.py:
2288-
id: 3dceac9fca27
2289-
last_write_checksum: sha1:e3fea673c6e6c6c14660e2fa86398adeece29a3d
2290-
pristine_git_object: 615d866a371f280bfbb8bbef991bcf14d3ae9aea
2291-
src/mistralai/client/models/fileobject_2.py:
2292-
id: 504cd7cb703d
2293-
last_write_checksum: sha1:cf1d1f68ab7c547145dfe0bedf3fcfef2091e6ea
2294-
pristine_git_object: 09e8eff768e52563c26f0d149ba5632aef27207f
2291+
src/mistralai/client/models/fileobject.py:
2292+
id: 7020482d0781
2293+
last_write_checksum: sha1:af31ee8e2b235296ce9e31a9f6cb2c34ff4dc389
2294+
pristine_git_object: 0c333a0b7cc916c89a0355fdc9345ba6426f74c1
22952295
src/mistralai/client/models/filepurpose.py:
22962296
id: a11e7f9f2d45
22972297
last_write_checksum: sha1:8b167c02f9f33e32d5fd1c6de894693924f4d940
@@ -2554,8 +2554,8 @@ trackedFiles:
25542554
pristine_git_object: c48b8c051ad0d1fb4aed8396697e57e782be5a40
25552555
src/mistralai/client/models/listfilesresponse.py:
25562556
id: 85d6d24c1a19
2557-
last_write_checksum: sha1:67dd47853cf4eb5a9beffbfc291b2c61266e20c7
2558-
pristine_git_object: 9b9e36f11156e6a8131baa98c8db8ee60dc0d8fa
2557+
last_write_checksum: sha1:8adfc88491c6ca9d368b2aff10eecfb0fa71c03d
2558+
pristine_git_object: d93c5b9d63a5f4c59f7d2488fb8309a958e3c393
25592559
src/mistralai/client/models/listfinetuningjobsresponse.py:
25602560
id: 118e05dbfbbd
25612561
last_write_checksum: sha1:9e1a9c60aa12f65bdbb263ca6f46b09bba9aa907
@@ -2728,6 +2728,10 @@ trackedFiles:
27282728
id: 6fefa90ca351
27292729
last_write_checksum: sha1:d167d0a2a08980e30dd3a6c1aa21fcc61247e0f2
27302730
pristine_git_object: 58fcb7e8ab45d66f71a4663f4c4eace7ba1b65e7
2731+
src/mistralai/client/models/retrievefileout.py:
2732+
id: 8bb5859aa0d0
2733+
last_write_checksum: sha1:1077bdb8fcc5ba22b2deb7f5c95fefe7b1fb82f5
2734+
pristine_git_object: 2abf2161cd61d84f04836740a526c0e3711c3f6d
27312735
src/mistralai/client/models/sampletype.py:
27322736
id: a9309422fed7
27332737
last_write_checksum: sha1:86a61340a647696f6c35a82d945509b1c85aa6f7
@@ -2876,6 +2880,10 @@ trackedFiles:
28762880
id: 6c57f392c4fe
28772881
last_write_checksum: sha1:70000bb42510c37a7e4461ef5fab7a52dd4795a6
28782882
pristine_git_object: 70d68e03a92c75994b008ad8864a75d492eac3ed
2883+
src/mistralai/client/models/uploadfileout.py:
2884+
id: 42466f2bebfb
2885+
last_write_checksum: sha1:44d0e5d419fb82c56c33c0f9af8902b3cc06bf6d
2886+
pristine_git_object: be291efb523965c155fc922d896da2cf682378ab
28792887
src/mistralai/client/models/usageinfo.py:
28802888
id: 54adb9a3af16
28812889
last_write_checksum: sha1:fcfdc921bbcc78436ef156dd7a2eff1123c4036f

.speakeasy/workflow.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ sources:
1414
- latest
1515
mistral-openapi:
1616
sourceNamespace: mistral-openapi
17-
sourceRevisionDigest: sha256:95ee5a8a2d6876f6a73eff6a8defa44b832e9085e0e4476bfdd23522b2f764a6
18-
sourceBlobDigest: sha256:5e20355794b3e0f98bd3968394c00d7e5dc87416de2611478a56d78b85a5bfce
17+
sourceRevisionDigest: sha256:d98a0b463662c211998bc8bb83ecbe27d1d02386b6d6d1fa6decd661db624e2d
18+
sourceBlobDigest: sha256:f9a82fdc78485c7cbddf34f1e5e526f574aceb06c7d11692d4ada178fd4d6dbe
1919
tags:
2020
- latest
2121
targets:
@@ -25,21 +25,21 @@ targets:
2525
sourceRevisionDigest: sha256:d303e640ad565cc8a9801519b20dc7eab226efdfdab951c11256962d9e479f74
2626
sourceBlobDigest: sha256:6e4c789de61b2c9c604bf581e0abbadae90e360491d95ec4247678f4f70cee87
2727
codeSamplesNamespace: mistral-openapi-azure-code-samples
28-
codeSamplesRevisionDigest: sha256:b6d2c6eb9da75a05a6fb6dc9d32276eba55ac18c11f4ed45bc291f25608ba5fd
28+
codeSamplesRevisionDigest: sha256:86c13655dbecbadb02d3d83defe2eb995328402ccd4f4aa3da07e3e86a59b7db
2929
mistralai-gcp-sdk:
3030
source: mistral-google-cloud-source
3131
sourceNamespace: mistral-openapi-google-cloud
3232
sourceRevisionDigest: sha256:351c4d392b8b2220c337a207e98ed5665ed27fd85de854871a70c4bc2b9c0784
3333
sourceBlobDigest: sha256:d79b21f70efb93b0cd261d2044939a288beaf8707a7caae86aca5c4d5de3821b
3434
codeSamplesNamespace: mistral-openapi-google-cloud-code-samples
35-
codeSamplesRevisionDigest: sha256:e62f1b2ffb984f87e48fe5fdf0fdaadfe1a82f5f945630f41d34101f5bb67ee4
35+
codeSamplesRevisionDigest: sha256:7bd3eb99ea41ea127321655e9ecab34b4a0ea9a1e90b33f125ad8001c3f7f8d6
3636
mistralai-sdk:
3737
source: mistral-openapi
3838
sourceNamespace: mistral-openapi
39-
sourceRevisionDigest: sha256:95ee5a8a2d6876f6a73eff6a8defa44b832e9085e0e4476bfdd23522b2f764a6
40-
sourceBlobDigest: sha256:5e20355794b3e0f98bd3968394c00d7e5dc87416de2611478a56d78b85a5bfce
39+
sourceRevisionDigest: sha256:d98a0b463662c211998bc8bb83ecbe27d1d02386b6d6d1fa6decd661db624e2d
40+
sourceBlobDigest: sha256:f9a82fdc78485c7cbddf34f1e5e526f574aceb06c7d11692d4ada178fd4d6dbe
4141
codeSamplesNamespace: mistral-openapi-code-samples
42-
codeSamplesRevisionDigest: sha256:8d8a2a677b0ebf9b1d6f52255fb62e6361450628011f9a26c6852ffb0c4f9996
42+
codeSamplesRevisionDigest: sha256:41d453a96e263de6dc6b9555ed5ee03b2da7d634e1c5ef52c376f6a679c37678
4343
workflow:
4444
workflowVersion: 1.0.0
4545
speakeasyVersion: 1.685.0
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# FileObject1
1+
# FileObject
22

33

44
## Fields

docs/models/listfilesresponse.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
## Fields
55

6-
| Field | Type | Required | Description |
7-
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
8-
| `data` | List[[models.FileObject1](../models/fileobject1.md)] | :heavy_check_mark: | N/A |
9-
| `object` | *str* | :heavy_check_mark: | N/A |
10-
| `total` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A |
6+
| Field | Type | Required | Description |
7+
| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- |
8+
| `data` | List[[models.FileObject](../models/fileobject.md)] | :heavy_check_mark: | N/A |
9+
| `object` | *str* | :heavy_check_mark: | N/A |
10+
| `total` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A |
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# FileObject2
1+
# RetrieveFileOut
22

33

44
## Fields

docs/models/uploadfileout.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# UploadFileOut
2+
3+
4+
## Fields
5+
6+
| Field | Type | Required | Description | Example |
7+
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
8+
| `id` | *str* | :heavy_check_mark: | The unique identifier of the file. | 497f6eca-6276-4993-bfeb-53cbbbba6f09 |
9+
| `object` | *str* | :heavy_check_mark: | The object type, which is always "file". | file |
10+
| `size_bytes` | *int* | :heavy_check_mark: | The size of the file, in bytes. | 13000 |
11+
| `created_at` | *int* | :heavy_check_mark: | The UNIX timestamp (in seconds) of the event. | 1716963433 |
12+
| `filename` | *str* | :heavy_check_mark: | The name of the uploaded file. | files_upload.jsonl |
13+
| `purpose` | [models.FilePurpose](../models/filepurpose.md) | :heavy_check_mark: | N/A | |
14+
| `sample_type` | [models.SampleType](../models/sampletype.md) | :heavy_check_mark: | N/A | |
15+
| `num_lines` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
16+
| `mimetype` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
17+
| `source` | [models.Source](../models/source.md) | :heavy_check_mark: | N/A | |
18+
| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |

docs/sdks/files/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ with Mistral(
5353

5454
### Response
5555

56-
**[models.FileObject1](../../models/fileobject1.md)**
56+
**[models.UploadFileOut](../../models/uploadfileout.md)**
5757

5858
### Errors
5959

@@ -140,7 +140,7 @@ with Mistral(
140140

141141
### Response
142142

143-
**[models.FileObject2](../../models/fileobject2.md)**
143+
**[models.RetrieveFileOut](../../models/retrievefileout.md)**
144144

145145
### Errors
146146

examples/mistral/typing_example.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from mistralai.client.models import (
1212
# Entity schemas - the actual resources
1313
BatchJob,
14-
FileObject1,
14+
FileObject,
1515
Library,
1616
# Response schemas - wrappers for list/delete operations
1717
ListBatchJobsResponse,
@@ -42,11 +42,11 @@ def demo_files(client: Mistral) -> None:
4242
# list() returns ListFilesResponse
4343
response: ListFilesResponse = client.files.list(page_size=10)
4444

45-
# response.data is List[FileObject1]
46-
files: list[FileObject1] = response.data
45+
# response.data is List[FileObject]
46+
files: list[FileObject] = response.data
4747

4848
for file in files:
49-
# FileObject1 has typed attributes
49+
# FileObject has typed attributes
5050
file_id: str = file.id
5151
filename: str = file.filename
5252
size: int = file.size_bytes

src/mistralai/client/files.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def upload(
2929
server_url: Optional[str] = None,
3030
timeout_ms: Optional[int] = None,
3131
http_headers: Optional[Mapping[str, str]] = None,
32-
) -> models.FileObject1:
32+
) -> models.UploadFileOut:
3333
r"""Upload File
3434
3535
Upload a file that can be used across various endpoints.
@@ -112,7 +112,7 @@ def upload(
112112
)
113113

114114
if utils.match_response(http_res, "200", "application/json"):
115-
return unmarshal_json_response(models.FileObject1, http_res)
115+
return unmarshal_json_response(models.UploadFileOut, http_res)
116116
if utils.match_response(http_res, "4XX", "*"):
117117
http_res_text = utils.stream_to_text(http_res)
118118
raise models.SDKError("API error occurred", http_res, http_res_text)
@@ -131,7 +131,7 @@ async def upload_async(
131131
server_url: Optional[str] = None,
132132
timeout_ms: Optional[int] = None,
133133
http_headers: Optional[Mapping[str, str]] = None,
134-
) -> models.FileObject1:
134+
) -> models.UploadFileOut:
135135
r"""Upload File
136136
137137
Upload a file that can be used across various endpoints.
@@ -214,7 +214,7 @@ async def upload_async(
214214
)
215215

216216
if utils.match_response(http_res, "200", "application/json"):
217-
return unmarshal_json_response(models.FileObject1, http_res)
217+
return unmarshal_json_response(models.UploadFileOut, http_res)
218218
if utils.match_response(http_res, "4XX", "*"):
219219
http_res_text = await utils.stream_to_text_async(http_res)
220220
raise models.SDKError("API error occurred", http_res, http_res_text)
@@ -442,7 +442,7 @@ def retrieve(
442442
server_url: Optional[str] = None,
443443
timeout_ms: Optional[int] = None,
444444
http_headers: Optional[Mapping[str, str]] = None,
445-
) -> models.FileObject2:
445+
) -> models.RetrieveFileOut:
446446
r"""Retrieve File
447447
448448
Returns information about a specific file.
@@ -508,7 +508,7 @@ def retrieve(
508508
)
509509

510510
if utils.match_response(http_res, "200", "application/json"):
511-
return unmarshal_json_response(models.FileObject2, http_res)
511+
return unmarshal_json_response(models.RetrieveFileOut, http_res)
512512
if utils.match_response(http_res, "4XX", "*"):
513513
http_res_text = utils.stream_to_text(http_res)
514514
raise models.SDKError("API error occurred", http_res, http_res_text)
@@ -526,7 +526,7 @@ async def retrieve_async(
526526
server_url: Optional[str] = None,
527527
timeout_ms: Optional[int] = None,
528528
http_headers: Optional[Mapping[str, str]] = None,
529-
) -> models.FileObject2:
529+
) -> models.RetrieveFileOut:
530530
r"""Retrieve File
531531
532532
Returns information about a specific file.
@@ -592,7 +592,7 @@ async def retrieve_async(
592592
)
593593

594594
if utils.match_response(http_res, "200", "application/json"):
595-
return unmarshal_json_response(models.FileObject2, http_res)
595+
return unmarshal_json_response(models.RetrieveFileOut, http_res)
596596
if utils.match_response(http_res, "4XX", "*"):
597597
http_res_text = await utils.stream_to_text_async(http_res)
598598
raise models.SDKError("API error occurred", http_res, http_res_text)

0 commit comments

Comments
 (0)