diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 06e68a91..1dad95ef 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: c48cf606-fb42-4a45-9c23-8f0555307828 management: - docChecksum: 03debdc8d24d4dddc93cea8075931d77 + docChecksum: e9079210b57b76d5adc98a5fbfee3e26 docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.1.159 - configChecksum: fd98805ff1b03acfa034ef646f6b33b6 + releaseVersion: 1.1.160 + configChecksum: 294352f6dd2d72d42a5cbac1970b1738 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 16700c4e-c46e-4247-b019-436fcf69246f - pristine_commit_hash: 330eef4f60b8f72d1510a40d7092208a9a240a90 - pristine_tree_hash: f734119a88cf2398cccd3f7bd147f08a030f9b34 + generation_id: a334c67c-ff14-46d1-955a-fdbb92136262 + pristine_commit_hash: 1b2cae9732a135f60fbbde8b0f6d151194ec3632 + pristine_tree_hash: 3ec98bd39ffcc42f451dcfb8290d213d737108f4 features: python: acceptHeaders: 3.0.0 @@ -8158,8 +8158,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:270325a9d1b6cc9957b80685361a74e4c1eda8d3 - pristine_git_object: 7bac6b6178904740ab981df0378ec88883996ac0 + last_write_checksum: sha1:34ee2a7313a11b1fd8b2ee964ebd3f022e3f4b91 + pristine_git_object: 787fe930bc59ade28290f768170b6c2f8cca8725 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -8186,8 +8186,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:fc59ea125c8202c0d65f68a459e310521e2899e4 - pristine_git_object: ca93db7bc4c211da0f565f1627787c63a81cbf03 + last_write_checksum: sha1:5c1a29319dbaeec6f3940b892ececa9a973e8c77 + pristine_git_object: a910b9c2d043f46fc7afe564dfdb2f9841a7d047 src/openrouter/alpha.py: id: 306c4d93308d last_write_checksum: sha1:0c25a52ed5fb688ec1e923e4e82bcfc9cae49465 @@ -9498,8 +9498,8 @@ trackedFiles: pristine_git_object: 4a58daf7d055e111ebf204b18ee413203f06b745 src/openrouter/components/intern.py: id: eed59a44b44f - last_write_checksum: sha1:38c4c739a2889d67367835d6220c6cc6dd3e7086 - pristine_git_object: 0613b4b54b15c875731348e9607cebeeabf8d8fe + last_write_checksum: sha1:de3378c82a4f22b53cd7fa6abd7b938e89c80c4f + pristine_git_object: 1dd62abe61d64b90bcfa178b73df6ae656f552bc src/openrouter/components/internalserverresponseerrordata.py: id: 91397805fa13 last_write_checksum: sha1:6307236e36dc876dbfae76cfcc29ad49461b5b5d @@ -14816,7 +14816,7 @@ examples: speakeasy-default-list-interns: responses: "200": - application/json: {"data": [{"attached_vault_id": null, "createdAt": "2026-09-16T08:30:00.000Z", "description": "Researches customer questions", "hostname": "research-assistant.openrouter.ai", "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "instructions": null, "lastFailureMessage": null, "model": "openai/gpt-5.4", "name": "research-assistant", "progress": null, "status": "running", "updatedAt": "2026-09-16T08:45:00.000Z", "vault_id": "b431c59d-6eed-41ac-bc89-9a89be79a121", "workspaceId": "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb"}], "has_more": false} + application/json: {"data": [{"attached_vault_id": null, "created_at": "2026-09-16T08:30:00.000Z", "description": "Researches customer questions", "hostname": "research-assistant.openrouter.ai", "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "instructions": null, "last_failure_message": null, "model": "openai/gpt-5.4", "name": "research-assistant", "progress": null, "status": "running", "updated_at": "2026-09-16T08:45:00.000Z", "vault_id": "b431c59d-6eed-41ac-bc89-9a89be79a121", "workspace_id": "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb"}], "has_more": false} "400": application/json: {"error": {"code": "not_found", "message": "Intern not found"}} "500": @@ -14827,7 +14827,7 @@ examples: application/json: {"name": "research-assistant", "provision": true, "workspace_id": "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb"} responses: "200": - application/json: {"attached_vault_id": null, "createdAt": "2026-09-16T08:30:00.000Z", "description": "Researches customer questions", "hostname": "research-assistant.openrouter.ai", "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "instructions": null, "lastFailureMessage": null, "model": "openai/gpt-5.4", "name": "research-assistant", "progress": null, "status": "running", "updatedAt": "2026-09-16T08:45:00.000Z", "vault_id": "b431c59d-6eed-41ac-bc89-9a89be79a121", "workspaceId": "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb"} + application/json: {"attached_vault_id": null, "created_at": "2026-09-16T08:30:00.000Z", "description": "Researches customer questions", "hostname": "research-assistant.openrouter.ai", "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "instructions": null, "last_failure_message": null, "model": "openai/gpt-5.4", "name": "research-assistant", "progress": null, "status": "running", "updated_at": "2026-09-16T08:45:00.000Z", "vault_id": "b431c59d-6eed-41ac-bc89-9a89be79a121", "workspace_id": "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb"} "400": application/json: {"error": {"code": "not_found", "message": "Intern not found"}} "500": @@ -14851,7 +14851,7 @@ examples: internId: "7c9e6679-7425-40de-944b-e07fc1f90ae7" responses: "200": - application/json: {"attached_vault_id": null, "createdAt": "2026-09-16T08:30:00.000Z", "description": "Researches customer questions", "hostname": "research-assistant.openrouter.ai", "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "instructions": null, "lastFailureMessage": null, "model": "openai/gpt-5.4", "name": "research-assistant", "progress": null, "status": "running", "updatedAt": "2026-09-16T08:45:00.000Z", "vault_id": "b431c59d-6eed-41ac-bc89-9a89be79a121", "workspaceId": "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb"} + application/json: {"attached_vault_id": null, "created_at": "2026-09-16T08:30:00.000Z", "description": "Researches customer questions", "hostname": "research-assistant.openrouter.ai", "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "instructions": null, "last_failure_message": null, "model": "openai/gpt-5.4", "name": "research-assistant", "progress": null, "status": "running", "updated_at": "2026-09-16T08:45:00.000Z", "vault_id": "b431c59d-6eed-41ac-bc89-9a89be79a121", "workspace_id": "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb"} "401": application/json: {"error": {"code": "not_found", "message": "Intern not found"}} "500": @@ -14865,7 +14865,7 @@ examples: application/json: {} responses: "200": - application/json: {"attached_vault_id": null, "createdAt": "2026-09-16T08:30:00.000Z", "description": "Researches customer questions", "hostname": "research-assistant.openrouter.ai", "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "instructions": null, "lastFailureMessage": null, "model": "openai/gpt-5.4", "name": "research-assistant", "progress": null, "status": "running", "updatedAt": "2026-09-16T08:45:00.000Z", "vault_id": "b431c59d-6eed-41ac-bc89-9a89be79a121", "workspaceId": "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb"} + application/json: {"attached_vault_id": null, "created_at": "2026-09-16T08:30:00.000Z", "description": "Researches customer questions", "hostname": "research-assistant.openrouter.ai", "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "instructions": null, "last_failure_message": null, "model": "openai/gpt-5.4", "name": "research-assistant", "progress": null, "status": "running", "updated_at": "2026-09-16T08:45:00.000Z", "vault_id": "b431c59d-6eed-41ac-bc89-9a89be79a121", "workspace_id": "89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb"} "400": application/json: {"error": {"code": "not_found", "message": "Intern not found"}} "500": @@ -14942,5 +14942,7 @@ examples: examplesVersion: 1.0.2 releaseNotes: | ## Python SDK Changes: - * `open_router.endpoints.list_zdr_endpoints()`: `response.data[].perf_last_30m_by_workload.decisions` **Added** - * `open_router.endpoints.list()`: `response.data.endpoints[].perf_last_30m_by_workload.decisions` **Added** + * `open_router.interns.list_interns()`: `response.data[]` **Changed** (Breaking ⚠️) + * `open_router.interns.create_intern()`: `response` **Changed** (Breaking ⚠️) + * `open_router.interns.get_intern()`: `response` **Changed** (Breaking ⚠️) + * `open_router.interns.update_intern()`: `response` **Changed** (Breaking ⚠️) diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 65667386..ffbe6f28 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.1.159 + version: 1.1.160 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 353662d3..7279a811 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -12375,26 +12375,26 @@ components: description: 'Public lifecycle state and settings for one intern.' example: attached_vault_id: null - createdAt: '2026-09-16T08:30:00.000Z' + created_at: '2026-09-16T08:30:00.000Z' description: 'Researches customer questions' hostname: 'research-assistant.openrouter.ai' id: '7c9e6679-7425-40de-944b-e07fc1f90ae7' instructions: null - lastFailureMessage: null + last_failure_message: null model: 'openai/gpt-5.4' name: 'research-assistant' progress: null status: 'running' - updatedAt: '2026-09-16T08:45:00.000Z' + updated_at: '2026-09-16T08:45:00.000Z' vault_id: 'b431c59d-6eed-41ac-bc89-9a89be79a121' - workspaceId: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' + workspace_id: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' properties: attached_vault_id: description: 'Vault the intern borrows from another intern, or null when it borrows none.' type: - 'string' - 'null' - createdAt: + created_at: description: 'ISO 8601 creation time.' type: 'string' description: @@ -12415,7 +12415,7 @@ components: type: - 'string' - 'null' - lastFailureMessage: + last_failure_message: description: 'Why the last provisioning attempt failed, when status is failed.' type: - 'string' @@ -12431,19 +12431,19 @@ components: progress: description: 'Active provisioning step, or null once provisioning has settled.' properties: - stepLabel: + step_label: description: 'Human-readable label of the active provisioning step.' type: 'string' - stepNumber: + step_number: description: 'One-based index of the active step.' type: 'integer' - totalSteps: + total_steps: description: 'Number of provisioning steps.' type: 'integer' required: - - 'stepLabel' - - 'stepNumber' - - 'totalSteps' + - 'step_label' + - 'step_number' + - 'total_steps' type: - 'object' - 'null' @@ -12460,7 +12460,7 @@ components: - 'destroy_failed' type: 'string' x-speakeasy-unknown-values: allow - updatedAt: + updated_at: description: 'ISO 8601 last update time.' type: 'string' vault_id: @@ -12468,7 +12468,7 @@ components: type: - 'string' - 'null' - workspaceId: + workspace_id: description: 'Workspace that owns the intern and scopes its secrets.' type: 'string' required: @@ -12478,14 +12478,14 @@ components: - 'instructions' - 'model' - 'status' - - 'lastFailureMessage' + - 'last_failure_message' - 'progress' - 'hostname' - - 'workspaceId' + - 'workspace_id' - 'vault_id' - 'attached_vault_id' - - 'createdAt' - - 'updatedAt' + - 'created_at' + - 'updated_at' type: 'object' InternalServerResponse: description: 'Internal Server Error - Unexpected server error' @@ -13057,19 +13057,19 @@ components: example: data: - attached_vault_id: null - createdAt: '2026-09-16T08:30:00.000Z' + created_at: '2026-09-16T08:30:00.000Z' description: 'Researches customer questions' hostname: 'research-assistant.openrouter.ai' id: '7c9e6679-7425-40de-944b-e07fc1f90ae7' instructions: null - lastFailureMessage: null + last_failure_message: null model: 'openai/gpt-5.4' name: 'research-assistant' progress: null status: 'running' - updatedAt: '2026-09-16T08:45:00.000Z' + updated_at: '2026-09-16T08:45:00.000Z' vault_id: 'b431c59d-6eed-41ac-bc89-9a89be79a121' - workspaceId: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' + workspace_id: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' has_more: false properties: data: @@ -36367,19 +36367,19 @@ paths: example: data: - attached_vault_id: null - createdAt: '2026-09-16T08:30:00.000Z' + created_at: '2026-09-16T08:30:00.000Z' description: 'Researches customer questions' hostname: 'research-assistant.openrouter.ai' id: '7c9e6679-7425-40de-944b-e07fc1f90ae7' instructions: null - lastFailureMessage: null + last_failure_message: null model: 'openai/gpt-5.4' name: 'research-assistant' progress: null status: 'running' - updatedAt: '2026-09-16T08:45:00.000Z' + updated_at: '2026-09-16T08:45:00.000Z' vault_id: 'b431c59d-6eed-41ac-bc89-9a89be79a121' - workspaceId: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' + workspace_id: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' has_more: false schema: $ref: '#/components/schemas/InternListResponse' @@ -36478,19 +36478,19 @@ paths: application/json: example: attached_vault_id: null - createdAt: '2026-09-16T08:30:00.000Z' + created_at: '2026-09-16T08:30:00.000Z' description: 'Researches customer questions' hostname: 'research-assistant.openrouter.ai' id: '7c9e6679-7425-40de-944b-e07fc1f90ae7' instructions: null - lastFailureMessage: null + last_failure_message: null model: 'openai/gpt-5.4' name: 'research-assistant' progress: null status: 'running' - updatedAt: '2026-09-16T08:45:00.000Z' + updated_at: '2026-09-16T08:45:00.000Z' vault_id: 'b431c59d-6eed-41ac-bc89-9a89be79a121' - workspaceId: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' + workspace_id: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' schema: $ref: '#/components/schemas/Intern' description: 'A completed create operation was replayed.' @@ -36499,19 +36499,19 @@ paths: application/json: example: attached_vault_id: null - createdAt: '2026-09-16T08:30:00.000Z' + created_at: '2026-09-16T08:30:00.000Z' description: 'Researches customer questions' hostname: 'research-assistant.openrouter.ai' id: '7c9e6679-7425-40de-944b-e07fc1f90ae7' instructions: null - lastFailureMessage: null + last_failure_message: null model: 'openai/gpt-5.4' name: 'research-assistant' progress: null status: 'running' - updatedAt: '2026-09-16T08:45:00.000Z' + updated_at: '2026-09-16T08:45:00.000Z' vault_id: 'b431c59d-6eed-41ac-bc89-9a89be79a121' - workspaceId: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' + workspace_id: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' schema: $ref: '#/components/schemas/Intern' description: 'Intern created.' @@ -36731,19 +36731,19 @@ paths: application/json: example: attached_vault_id: null - createdAt: '2026-09-16T08:30:00.000Z' + created_at: '2026-09-16T08:30:00.000Z' description: 'Researches customer questions' hostname: 'research-assistant.openrouter.ai' id: '7c9e6679-7425-40de-944b-e07fc1f90ae7' instructions: null - lastFailureMessage: null + last_failure_message: null model: 'openai/gpt-5.4' name: 'research-assistant' progress: null status: 'running' - updatedAt: '2026-09-16T08:45:00.000Z' + updated_at: '2026-09-16T08:45:00.000Z' vault_id: 'b431c59d-6eed-41ac-bc89-9a89be79a121' - workspaceId: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' + workspace_id: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' schema: $ref: '#/components/schemas/Intern' description: 'Intern lifecycle state and settings.' @@ -36830,19 +36830,19 @@ paths: application/json: example: attached_vault_id: null - createdAt: '2026-09-16T08:30:00.000Z' + created_at: '2026-09-16T08:30:00.000Z' description: 'Researches customer questions' hostname: 'research-assistant.openrouter.ai' id: '7c9e6679-7425-40de-944b-e07fc1f90ae7' instructions: null - lastFailureMessage: null + last_failure_message: null model: 'openai/gpt-5.4' name: 'research-assistant' progress: null status: 'running' - updatedAt: '2026-09-16T08:45:00.000Z' + updated_at: '2026-09-16T08:45:00.000Z' vault_id: 'b431c59d-6eed-41ac-bc89-9a89be79a121' - workspaceId: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' + workspace_id: '89f9f5b2-3f89-4eaf-83ca-5ceae149e8bb' schema: $ref: '#/components/schemas/Intern' description: 'Updated intern.' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index d5fca466..1646892e 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,8 +2,8 @@ speakeasyVersion: 1.787.0 sources: OpenRouter API: sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:ffba8dbb7f72bdaa2a0e39560adc9786831528f410788b71ca1393a296fb7b3b - sourceBlobDigest: sha256:7c9f591b9cf36f87b8ad27e579cb431262eb2327719f6b725a723ecc890b8958 + sourceRevisionDigest: sha256:dbd0751bae97a0979b9f0ed90c6332927dfb4fe9546485e7be8713f5c0366177 + sourceBlobDigest: sha256:410a5f0f13ede27ebda174e0116c8250d178163253e06da602168a679a04cc28 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:ffba8dbb7f72bdaa2a0e39560adc9786831528f410788b71ca1393a296fb7b3b - sourceBlobDigest: sha256:7c9f591b9cf36f87b8ad27e579cb431262eb2327719f6b725a723ecc890b8958 + sourceRevisionDigest: sha256:dbd0751bae97a0979b9f0ed90c6332927dfb4fe9546485e7be8713f5c0366177 + sourceBlobDigest: sha256:410a5f0f13ede27ebda174e0116c8250d178163253e06da602168a679a04cc28 codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:453d0302f23792a529f3eb3d82fe14ed78fd4fea0f9bf733a16ec56616358024 + codeSamplesRevisionDigest: sha256:21d6920e7e31e65c7cb948152823092fbda06c2732362f516dc04c991d9fca24 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index 5455c5d8..65cd3ecd 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -2379,4 +2379,14 @@ Based on: ### Generated - [python v1.1.159] . ### Releases -- [PyPI v1.1.159] https://pypi.org/project/openrouter/1.1.159 - . \ No newline at end of file +- [PyPI v1.1.159] https://pypi.org/project/openrouter/1.1.159 - . + +## 2026-09-18 22:03:32 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.1.160] . +### Releases +- [PyPI v1.1.160] https://pypi.org/project/openrouter/1.1.160 - . \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 7bac6b61..787fe930 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.1.159" +version = "1.1.160" description = "Official Python Client SDK for OpenRouter." authors = [{ name = "OpenRouter" },] readme = "README-PYPI.md" diff --git a/src/openrouter/_version.py b/src/openrouter/_version.py index ca93db7b..a910b9c2 100644 --- a/src/openrouter/_version.py +++ b/src/openrouter/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "openrouter" -__version__: str = "1.1.159" +__version__: str = "1.1.160" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.1.159 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.1.160 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/components/intern.py b/src/openrouter/components/intern.py index 0613b4b5..1dd62abe 100644 --- a/src/openrouter/components/intern.py +++ b/src/openrouter/components/intern.py @@ -2,10 +2,9 @@ from __future__ import annotations from openrouter.types import BaseModel, Nullable, UNSET_SENTINEL, UnrecognizedStr -import pydantic from pydantic import model_serializer from typing import Literal, Union -from typing_extensions import Annotated, TypedDict +from typing_extensions import TypedDict class ProgressTypedDict(TypedDict): @@ -22,13 +21,13 @@ class ProgressTypedDict(TypedDict): class Progress(BaseModel): r"""Active provisioning step, or null once provisioning has settled.""" - step_label: Annotated[str, pydantic.Field(alias="stepLabel")] + step_label: str r"""Human-readable label of the active provisioning step.""" - step_number: Annotated[int, pydantic.Field(alias="stepNumber")] + step_number: int r"""One-based index of the active step.""" - total_steps: Annotated[int, pydantic.Field(alias="totalSteps")] + total_steps: int r"""Number of provisioning steps.""" @@ -87,7 +86,7 @@ class Intern(BaseModel): attached_vault_id: Nullable[str] r"""Vault the intern borrows from another intern, or null when it borrows none.""" - created_at: Annotated[str, pydantic.Field(alias="createdAt")] + created_at: str r"""ISO 8601 creation time.""" description: Nullable[str] @@ -102,9 +101,7 @@ class Intern(BaseModel): instructions: Nullable[str] r"""Standing instructions the intern boots with.""" - last_failure_message: Annotated[ - Nullable[str], pydantic.Field(alias="lastFailureMessage") - ] + last_failure_message: Nullable[str] r"""Why the last provisioning attempt failed, when status is failed.""" model: Nullable[str] @@ -119,13 +116,13 @@ class Intern(BaseModel): status: InternStatus r"""Lifecycle status.""" - updated_at: Annotated[str, pydantic.Field(alias="updatedAt")] + updated_at: str r"""ISO 8601 last update time.""" vault_id: Nullable[str] r"""Vault the intern owns, or null before it has been created.""" - workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] + workspace_id: str r"""Workspace that owns the intern and scopes its secrets.""" @model_serializer(mode="wrap") @@ -141,13 +138,3 @@ def serialize_model(self, handler): m[k] = val return m - - -try: - Progress.model_rebuild() -except NameError: - pass -try: - Intern.model_rebuild() -except NameError: - pass diff --git a/uv.lock b/uv.lock index b17b700e..269ddd27 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.1.159" +version = "1.1.160" source = { editable = "." } dependencies = [ { name = "httpcore" },