diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 7112f392..ed5f9a61 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: 25847ffa971a9e8d114afce29b7764b7 + docChecksum: 32117153e3b76b100a2bc31ed1e162aa docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.1.155 - configChecksum: cf4350f470ec772a52ab95921b521f2f + releaseVersion: 1.1.156 + configChecksum: 5c41c3d1d7a24cff576ba99e5a3d87e6 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 233a8623-f91f-4692-8456-e2275a374225 - pristine_commit_hash: 426e4f85cc5a18a466e0588de1a733285ba45286 - pristine_tree_hash: 6ff1b1ae5d6424f700af349f844d7a5a13fbb0b6 + generation_id: 0a848989-5d90-41f1-a0b2-dc6e1080c605 + pristine_commit_hash: f63c115411f8a9fd2f01123c6319f1d08d9b88b3 + pristine_tree_hash: 5098e6125cece174513ddb1d61efe493f135e477 features: python: acceptHeaders: 3.0.0 @@ -1422,8 +1422,8 @@ trackedFiles: pristine_git_object: 63e4189bba46c38e97e0ec81edb9949a088438b3 docs/components/containerfilelistresponse.mdx: id: 1e09ddf3473c - last_write_checksum: sha1:efcc514ed1a2090ed2c7c1a383fa8949fe87e412 - pristine_git_object: b1a1d9ad5a961fd06abd7e5377130034b714d768 + last_write_checksum: sha1:3d52d8f8544cfccd9b0d73c97660f767f8c76bd3 + pristine_git_object: 10eb459aaf72279b2042035007d79a22ac6c472f docs/components/containerfilelistresponseobject.mdx: id: bd9847deeba3 last_write_checksum: sha1:76c4e51ee62059e3e234142d1d8ba71773d5a9c6 @@ -7082,8 +7082,8 @@ trackedFiles: pristine_git_object: 3bd312de040f562fc4b66811f89db0b06483ec1d docs/operations/listcontainerfilesrequest.mdx: id: 54073da72503 - last_write_checksum: sha1:f9626b9daf076c5d121827e028328bce2266b49e - pristine_git_object: 1b42a2f26306208c8c700bcd256f31edaf443b74 + last_write_checksum: sha1:59ba17191d4169cc9694e004eb28a9a2f7c688c6 + pristine_git_object: 5164f3178bdb8dfc0984d723a0f5a9d467ff5250 docs/operations/listdata.mdx: id: 949d8d9f5ac7 last_write_checksum: sha1:ad6cfad0f973f73ffc93542796af523c275eb535 @@ -7778,8 +7778,8 @@ trackedFiles: pristine_git_object: bed5f74e5e8269cbba66943524ffa5206c933de3 docs/sdks/containers/README.mdx: id: cc963972ad75 - last_write_checksum: sha1:37ddd77ce960000f8d6b5a4ed8aa47fcecd1bf0a - pristine_git_object: 6c2119cad00e2ae8009e1349851fd0c915b89bc8 + last_write_checksum: sha1:074510fd249616355476609d7c5a0e0124082949 + pristine_git_object: a616e87543c27d3c273460512c37774a98af78f5 docs/sdks/credits/README.mdx: id: 2ba51de8de3f last_write_checksum: sha1:08de2963f78b645eaa14fa8511552bae2ddccd75 @@ -7878,8 +7878,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:cb12e064674d7fec04e2e6539dfa8fd4ee676da5 - pristine_git_object: 064099c56177379e40658b00dd72c940a589e4e2 + last_write_checksum: sha1:85a5a4a29b4e7d11abc3ecbfa150e4d41cbc7b54 + pristine_git_object: ab9aa030783b24f633d2d572f1d28b213281446f scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -7906,8 +7906,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:3e504bc6365fa0f8fa750b7da0e8c8d9d19aedb8 - pristine_git_object: dd5994a836b83a74bbdf39015eeacddbf60e7b43 + last_write_checksum: sha1:fb5e9926210f311c22f6d28267f6306969fa6ed2 + pristine_git_object: 1c31f98a0e477fd3439e344061bb0e1e7aff7c64 src/openrouter/analytics.py: id: cb406b5aaabb last_write_checksum: sha1:1e0004d8d1d5d797e2b54cd1cabeb7f9489d08e9 @@ -8578,8 +8578,8 @@ trackedFiles: pristine_git_object: f9011f64bbd23aea72fa4d9a72bce9095da6c1c9 src/openrouter/components/containerfilelistresponse.py: id: f1d494b9a4e9 - last_write_checksum: sha1:cfcee9763748a5ad9ea44d0da222e2ecca8635b5 - pristine_git_object: a2593a4d8fab2fda41f2476015a4f60f9898da2f + last_write_checksum: sha1:e0601115973be4896c45337622472c0ede1f2baf + pristine_git_object: a3ef1a4846e922e0cffef9045414a1f7b60e9bae src/openrouter/components/containernetworkpolicy.py: id: 1220566c09a4 last_write_checksum: sha1:2753c594b183ed5a881591ffe473fcc3763afb6f @@ -10574,8 +10574,8 @@ trackedFiles: pristine_git_object: ad78361d147d2edb7b5772c14501d9c25a2000b0 src/openrouter/containers.py: id: 5edae5db57e9 - last_write_checksum: sha1:b8bbbc0adfb30c63c1d6c304f204057034c9319c - pristine_git_object: 6cf0e3473384453e37fd5c199a3c680e97dc8a21 + last_write_checksum: sha1:f85e2c6690147ccae53d67d70951b60b9a040e36 + pristine_git_object: b0b365c046b2cd3812f60f2f3f2dff6189bede7e src/openrouter/credits.py: id: cdc961937101 last_write_checksum: sha1:7ac37671d3de537eb98f15239d531e3ab3928a59 @@ -11022,8 +11022,8 @@ trackedFiles: pristine_git_object: 0d9dfb02d81d5cec8dc88e42e1ba4b42122649c0 src/openrouter/operations/listcontainerfiles.py: id: 7a30b9291c76 - last_write_checksum: sha1:82f933f8c2581d5f92db7312335ee3eacb23b12d - pristine_git_object: 07682b2f93dabf60639454d4969ed0fc9843af44 + last_write_checksum: sha1:c51c428703923d69ea0fd6178d6313314e7b0ee9 + pristine_git_object: 47015cefac479e2b5a5d7065fdafa7f94d53f25e src/openrouter/operations/listembeddingsmodels.py: id: bf749a1f23d6 last_write_checksum: sha1:938440c9b9df0c3d8430792f262bffced0207d13 @@ -14471,12 +14471,3 @@ examples: "500": application/json: {"error": {"code": "not_found", "message": "Intern not found"}} examplesVersion: 1.0.2 -releaseNotes: | - ## Python SDK Changes: - * `open_router.interns.list_interns()`: **Added** - * `open_router.interns.create_intern()`: **Added** - * `open_router.interns.delete_intern()`: **Added** - * `open_router.interns.get_intern()`: **Added** - * `open_router.interns.update_intern()`: **Added** - * `open_router.interns.provision_intern()`: **Added** - * `open_router.interns.suspend_intern()`: **Added** diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 26db9769..48d9529d 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.1.155 + version: 1.1.156 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index bdc63cc5..71f69c90 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -6924,10 +6924,11 @@ components: - 'string' - 'null' has_more: - description: 'True when another page can be fetched by passing `after=last_id`.' + description: 'True when another page can be fetched by passing `after=last_id`; `last_id` is non-null whenever this is true.' example: false type: 'boolean' last_id: + description: 'Cursor for the next page (pass as `after`). The last entry’s id, except when the page stopped at the per-request scan bound on hidden bookkeeping objects: then it names the scan position and may not appear in `data`. Null only when `has_more` is false and `data` is empty.' example: 'cfile_b3V0L3JlcG9ydC5jc3Y' type: - 'string' @@ -31151,7 +31152,7 @@ paths: - $ref: "#/components/parameters/AppCategories" /containers/{container_id}/files: get: - description: 'Lists the files in a container, in lexicographic path order. The container id is the canonical id returned in bash/shell tool results; a restarted session is a separate container with its own id. Paginate with `limit` and `after` (pass the previous page’s `last_id`); `has_more: true` always means the next page is fetchable that way.' + description: 'Lists the files in a container, in lexicographic path order. The container id is the canonical id returned in bash/shell tool results; a restarted session is a separate container with its own id. Paginate with `limit` and `after` (pass the previous page’s `last_id`); `has_more: true` always means the next page is fetchable that way. `last_id` is the resume cursor: it is the last listed file’s id, except when a page ends at the per-request scan bound on hidden bookkeeping objects, where it names the scan position instead and may not appear in `data` (which can then be empty).' operationId: 'listContainerFiles' parameters: - description: 'The canonical container id, exactly as returned in a bash/shell tool result — a restarted session has its own `-r`-suffixed id. A session-derived id is always `sess_` + the sanitized session key, which is not necessarily the raw session id that was sent.' @@ -31173,12 +31174,12 @@ paths: maximum: 1000 minimum: 1 type: 'integer' - - description: 'Forward cursor: a container file id from a previous page (typically `last_id`); listing resumes strictly after that file.' + - description: 'Forward cursor: the previous page’s `last_id` (or any container file id); listing resumes strictly after that path.' in: 'query' name: 'after' required: false schema: - description: 'Forward cursor: a container file id from a previous page (typically `last_id`); listing resumes strictly after that file.' + description: 'Forward cursor: the previous page’s `last_id` (or any container file id); listing resumes strictly after that path.' example: 'cfile_b3V0L3JlcG9ydC5jc3Y' type: 'string' responses: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index ec177835..fe97478b 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:443b98834f174f76dc0b311d693eb12c9c7e768592737d617dfac2fa9dbe058d - sourceBlobDigest: sha256:01745a8db357ebaa81203b5761358ae23ebd01ad128b0c147c51c83acc2b96cc + sourceRevisionDigest: sha256:3704bb69e4f9906787b89e3521b59397f94d5a43936b1ec4076ee62aa6b9c2f8 + sourceBlobDigest: sha256:d92345fc4c6e7279ac2cd1764c823fa226fdcefa83f755bd2f0347bac128705d tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:443b98834f174f76dc0b311d693eb12c9c7e768592737d617dfac2fa9dbe058d - sourceBlobDigest: sha256:01745a8db357ebaa81203b5761358ae23ebd01ad128b0c147c51c83acc2b96cc + sourceRevisionDigest: sha256:3704bb69e4f9906787b89e3521b59397f94d5a43936b1ec4076ee62aa6b9c2f8 + sourceBlobDigest: sha256:d92345fc4c6e7279ac2cd1764c823fa226fdcefa83f755bd2f0347bac128705d codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:b54d35d212ee1b19496e9f49f44f4d7d0913050f2c47a0204913dc0e9d52992d + codeSamplesRevisionDigest: sha256:b85c77ba01992d8a7c2575a6f250a5b60428abffdc68f4c8873722a7c33bc2c3 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index f162e02c..4a781e75 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -2339,4 +2339,14 @@ Based on: ### Generated - [python v1.1.155] . ### Releases -- [PyPI v1.1.155] https://pypi.org/project/openrouter/1.1.155 - . \ No newline at end of file +- [PyPI v1.1.155] https://pypi.org/project/openrouter/1.1.155 - . + +## 2026-09-17 06:07:50 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.1.156] . +### Releases +- [PyPI v1.1.156] https://pypi.org/project/openrouter/1.1.156 - . \ No newline at end of file diff --git a/docs/components/containerfilelistresponse.mdx b/docs/components/containerfilelistresponse.mdx index b1a1d9ad..10eb459a 100644 --- a/docs/components/containerfilelistresponse.mdx +++ b/docs/components/containerfilelistresponse.mdx @@ -4,10 +4,10 @@ title: "ContainerFileListResponse" ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `data` | List[[components.ContainerFile](../components/containerfile.mdx)] | :heavy_check_mark: | N/A | | -| `first_id` | *Nullable[str]* | :heavy_check_mark: | N/A | cfile_b3V0L3JlcG9ydC5jc3Y | -| `has_more` | *bool* | :heavy_check_mark: | True when another page can be fetched by passing `after=last_id`. | false | -| `last_id` | *Nullable[str]* | :heavy_check_mark: | N/A | cfile_b3V0L3JlcG9ydC5jc3Y | -| `object` | [components.ContainerFileListResponseObject](../components/containerfilelistresponseobject.mdx) | :heavy_check_mark: | N/A | list | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `data` | List[[components.ContainerFile](../components/containerfile.mdx)] | :heavy_check_mark: | N/A | | +| `first_id` | *Nullable[str]* | :heavy_check_mark: | N/A | cfile_b3V0L3JlcG9ydC5jc3Y | +| `has_more` | *bool* | :heavy_check_mark: | True when another page can be fetched by passing `after=last_id`; `last_id` is non-null whenever this is true. | false | +| `last_id` | *Nullable[str]* | :heavy_check_mark: | Cursor for the next page (pass as `after`). The last entry’s id, except when the page stopped at the per-request scan bound on hidden bookkeeping objects: then it names the scan position and may not appear in `data`. Null only when `has_more` is false and `data` is empty. | cfile_b3V0L3JlcG9ydC5jc3Y | +| `object` | [components.ContainerFileListResponseObject](../components/containerfilelistresponseobject.mdx) | :heavy_check_mark: | N/A | list | \ No newline at end of file diff --git a/docs/operations/listcontainerfilesrequest.mdx b/docs/operations/listcontainerfilesrequest.mdx index 1b42a2f2..5164f317 100644 --- a/docs/operations/listcontainerfilesrequest.mdx +++ b/docs/operations/listcontainerfilesrequest.mdx @@ -11,4 +11,4 @@ title: "ListContainerFilesRequest" | `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| | | `container_id` | *str* | :heavy_check_mark: | The canonical container id, exactly as returned in a bash/shell tool result — a restarted session has its own `-r`-suffixed id. A session-derived id is always `sess_` + the sanitized session key, which is not necessarily the raw session id that was sent. | sess_abc123 | | `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of files to return (1-1000). Defaults to 100 when absent. | 100 | -| `after` | *Optional[str]* | :heavy_minus_sign: | Forward cursor: a container file id from a previous page (typically `last_id`); listing resumes strictly after that file. | cfile_b3V0L3JlcG9ydC5jc3Y | \ No newline at end of file +| `after` | *Optional[str]* | :heavy_minus_sign: | Forward cursor: the previous page’s `last_id` (or any container file id); listing resumes strictly after that path. | cfile_b3V0L3JlcG9ydC5jc3Y | \ No newline at end of file diff --git a/docs/sdks/containers/README.mdx b/docs/sdks/containers/README.mdx index 6c2119ca..a616e875 100644 --- a/docs/sdks/containers/README.mdx +++ b/docs/sdks/containers/README.mdx @@ -16,7 +16,7 @@ Containers endpoints ## list_container_files -Lists the files in a container, in lexicographic path order. The container id is the canonical id returned in bash/shell tool results; a restarted session is a separate container with its own id. Paginate with `limit` and `after` (pass the previous page’s `last_id`); `has_more: true` always means the next page is fetchable that way. +Lists the files in a container, in lexicographic path order. The container id is the canonical id returned in bash/shell tool results; a restarted session is a separate container with its own id. Paginate with `limit` and `after` (pass the previous page’s `last_id`); `has_more: true` always means the next page is fetchable that way. `last_id` is the resume cursor: it is the last listed file’s id, except when a page ends at the per-request scan bound on hidden bookkeeping objects, where it names the scan position instead and may not appear in `data` (which can then be empty). ### Example Usage @@ -48,7 +48,7 @@ with OpenRouter( | `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | | `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| | | `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of files to return (1-1000). Defaults to 100 when absent. | 100 | -| `after` | *Optional[str]* | :heavy_minus_sign: | Forward cursor: a container file id from a previous page (typically `last_id`); listing resumes strictly after that file. | cfile_b3V0L3JlcG9ydC5jc3Y | +| `after` | *Optional[str]* | :heavy_minus_sign: | Forward cursor: the previous page’s `last_id` (or any container file id); listing resumes strictly after that path. | cfile_b3V0L3JlcG9ydC5jc3Y | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/pyproject.toml b/pyproject.toml index 064099c5..ab9aa030 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.1.155" +version = "1.1.156" 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 dd5994a8..1c31f98a 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.155" +__version__: str = "1.1.156" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.1.155 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.1.156 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/components/containerfilelistresponse.py b/src/openrouter/components/containerfilelistresponse.py index a2593a4d..a3ef1a48 100644 --- a/src/openrouter/components/containerfilelistresponse.py +++ b/src/openrouter/components/containerfilelistresponse.py @@ -15,8 +15,9 @@ class ContainerFileListResponseTypedDict(TypedDict): data: List[ContainerFileTypedDict] first_id: Nullable[str] has_more: bool - r"""True when another page can be fetched by passing `after=last_id`.""" + r"""True when another page can be fetched by passing `after=last_id`; `last_id` is non-null whenever this is true.""" last_id: Nullable[str] + r"""Cursor for the next page (pass as `after`). The last entry’s id, except when the page stopped at the per-request scan bound on hidden bookkeeping objects: then it names the scan position and may not appear in `data`. Null only when `has_more` is false and `data` is empty.""" object: ContainerFileListResponseObject @@ -26,9 +27,10 @@ class ContainerFileListResponse(BaseModel): first_id: Nullable[str] has_more: bool - r"""True when another page can be fetched by passing `after=last_id`.""" + r"""True when another page can be fetched by passing `after=last_id`; `last_id` is non-null whenever this is true.""" last_id: Nullable[str] + r"""Cursor for the next page (pass as `after`). The last entry’s id, except when the page stopped at the per-request scan bound on hidden bookkeeping objects: then it names the scan position and may not appear in `data`. Null only when `has_more` is false and `data` is empty.""" object: ContainerFileListResponseObject diff --git a/src/openrouter/containers.py b/src/openrouter/containers.py index 6cf0e347..b0b365c0 100644 --- a/src/openrouter/containers.py +++ b/src/openrouter/containers.py @@ -29,7 +29,7 @@ def list_container_files( ) -> components.ContainerFileListResponse: r"""List container files - Lists the files in a container, in lexicographic path order. The container id is the canonical id returned in bash/shell tool results; a restarted session is a separate container with its own id. Paginate with `limit` and `after` (pass the previous page’s `last_id`); `has_more: true` always means the next page is fetchable that way. + Lists the files in a container, in lexicographic path order. The container id is the canonical id returned in bash/shell tool results; a restarted session is a separate container with its own id. Paginate with `limit` and `after` (pass the previous page’s `last_id`); `has_more: true` always means the next page is fetchable that way. `last_id` is the resume cursor: it is the last listed file’s id, except when a page ends at the per-request scan bound on hidden bookkeeping objects, where it names the scan position instead and may not appear in `data` (which can then be empty). :param container_id: The canonical container id, exactly as returned in a bash/shell tool result — a restarted session has its own `-r`-suffixed id. A session-derived id is always `sess_` + the sanitized session key, which is not necessarily the raw session id that was sent. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. @@ -40,7 +40,7 @@ def list_container_files( :param x_open_router_categories: Comma-separated list of app categories (e.g. \"cli-agent,cloud-agent\"). Used for marketplace rankings. :param limit: Maximum number of files to return (1-1000). Defaults to 100 when absent. - :param after: Forward cursor: a container file id from a previous page (typically `last_id`); listing resumes strictly after that file. + :param after: Forward cursor: the previous page’s `last_id` (or any container file id); listing resumes strictly after that path. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -180,7 +180,7 @@ async def list_container_files_async( ) -> components.ContainerFileListResponse: r"""List container files - Lists the files in a container, in lexicographic path order. The container id is the canonical id returned in bash/shell tool results; a restarted session is a separate container with its own id. Paginate with `limit` and `after` (pass the previous page’s `last_id`); `has_more: true` always means the next page is fetchable that way. + Lists the files in a container, in lexicographic path order. The container id is the canonical id returned in bash/shell tool results; a restarted session is a separate container with its own id. Paginate with `limit` and `after` (pass the previous page’s `last_id`); `has_more: true` always means the next page is fetchable that way. `last_id` is the resume cursor: it is the last listed file’s id, except when a page ends at the per-request scan bound on hidden bookkeeping objects, where it names the scan position instead and may not appear in `data` (which can then be empty). :param container_id: The canonical container id, exactly as returned in a bash/shell tool result — a restarted session has its own `-r`-suffixed id. A session-derived id is always `sess_` + the sanitized session key, which is not necessarily the raw session id that was sent. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. @@ -191,7 +191,7 @@ async def list_container_files_async( :param x_open_router_categories: Comma-separated list of app categories (e.g. \"cli-agent,cloud-agent\"). Used for marketplace rankings. :param limit: Maximum number of files to return (1-1000). Defaults to 100 when absent. - :param after: Forward cursor: a container file id from a previous page (typically `last_id`); listing resumes strictly after that file. + :param after: Forward cursor: the previous page’s `last_id` (or any container file id); listing resumes strictly after that path. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds diff --git a/src/openrouter/operations/listcontainerfiles.py b/src/openrouter/operations/listcontainerfiles.py index 07682b2f..47015cef 100644 --- a/src/openrouter/operations/listcontainerfiles.py +++ b/src/openrouter/operations/listcontainerfiles.py @@ -97,7 +97,7 @@ class ListContainerFilesRequestTypedDict(TypedDict): limit: NotRequired[int] r"""Maximum number of files to return (1-1000). Defaults to 100 when absent.""" after: NotRequired[str] - r"""Forward cursor: a container file id from a previous page (typically `last_id`); listing resumes strictly after that file.""" + r"""Forward cursor: the previous page’s `last_id` (or any container file id); listing resumes strictly after that path.""" class ListContainerFilesRequest(BaseModel): @@ -144,7 +144,7 @@ class ListContainerFilesRequest(BaseModel): Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Forward cursor: a container file id from a previous page (typically `last_id`); listing resumes strictly after that file.""" + r"""Forward cursor: the previous page’s `last_id` (or any container file id); listing resumes strictly after that path.""" @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/uv.lock b/uv.lock index d96dfcf2..11d14866 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.1.155" +version = "1.1.156" source = { editable = "." } dependencies = [ { name = "httpcore" },