From c2731937d4fd1af3121e378446962dd385ef936f Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Mon, 9 Feb 2026 08:19:14 +0000 Subject: [PATCH 1/2] ## Python SDK Changes: * `glean.client.agents.retrieve_schemas()`: `response.tools` **Added** --- .speakeasy/gen.lock | 65 +++++++++++-------- .speakeasy/gen.yaml | 2 +- .speakeasy/glean-merged-spec.yaml | 32 ++++++++- .speakeasy/workflow.lock | 14 ++-- RELEASES.md | 12 +++- docs/models/actionsummary.md | 11 ++++ docs/models/agentschemas.md | 11 ++-- docs/models/chatmessage.md | 24 +++---- pyproject.toml | 2 +- speakeasyusagegen/.speakeasy/logs/naming.log | 3 +- src/glean/api_client/_version.py | 6 +- src/glean/api_client/models/__init__.py | 5 ++ src/glean/api_client/models/actionsummary.py | 24 +++++++ src/glean/api_client/models/agentschemas.py | 28 +++++++- src/glean/api_client/models/chatmessage.py | 11 +++- .../sdk/models/components/actionsummary.go | 25 +++++++ .../sdk/models/components/agentschemas.go | 9 +++ .../sdk/models/components/chatmessage.go | 4 +- tests/test_messages.py | 2 +- 19 files changed, 223 insertions(+), 67 deletions(-) create mode 100644 docs/models/actionsummary.md create mode 100644 src/glean/api_client/models/actionsummary.py create mode 100644 tests/mockserver/internal/sdk/models/components/actionsummary.go diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index c32ecef8..712fcf2b 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: 3e3290ca-0ee8-4981-b1bc-14536048fa63 management: - docChecksum: aee950fecf1c657983edfc4e58e7b866 + docChecksum: 6845d7558101de8454f10ae168f387c7 docVersion: 0.9.0 - speakeasyVersion: 1.708.0 - generationVersion: 2.811.2 - releaseVersion: 0.12.2 - configChecksum: abe193f4f2a2796c5686ddf95338ac1e + speakeasyVersion: 1.709.1 + generationVersion: 2.812.2 + releaseVersion: 0.12.3 + configChecksum: a666e2d6a67dda9dcb2768fb498d0944 repoURL: https://github.com/gleanwork/api-client-python.git installationURL: https://github.com/gleanwork/api-client-python.git published: true persistentEdits: - generation_id: c9318d9f-dc47-48aa-b7d4-cd62a9fc6cc2 - pristine_commit_hash: 9ed5b0473e198394f740d8fd5bc438b6f9bc9f91 - pristine_tree_hash: bcad196dc5edb7d2846ec11818628eaf3c1701d3 + generation_id: 14905707-bd46-4d8b-8239-7fcc8ddbfc09 + pristine_commit_hash: 846f8b478082cef93fbacf140076949b26297c74 + pristine_tree_hash: 9f6d7b139f8c6c8772a1ab81b9915bd41c69f8b5 features: python: additionalDependencies: 1.0.0 @@ -77,6 +77,10 @@ trackedFiles: id: d8679ae13234 last_write_checksum: sha1:a6567c83c6c0bf8eaed55f50af08001869d6a5de pristine_git_object: 7c4c0d90fd0a2de3e48b99ce691c1e9a6ab03041 + docs/models/actionsummary.md: + id: 1ff225176066 + last_write_checksum: sha1:278bb81fcc7b886e7f2c7d04112cdd1adaf6492f + pristine_git_object: 3bf02ee017770a749252e2af6370bdd8b7904323 docs/models/activity.md: id: 78c9fe854b65 last_write_checksum: sha1:2bb3d1005124784d416910cff9777277facaebb2 @@ -167,8 +171,8 @@ trackedFiles: pristine_git_object: 51fc6fc76b0487468b5e073f048628ed03b38836 docs/models/agentschemas.md: id: a2193f5fe96f - last_write_checksum: sha1:f53c3696f89f1563a62db12f3454151b04267a19 - pristine_git_object: 3535a940f98027b35c3e8c6d96c99d1d7bea0914 + last_write_checksum: sha1:80cd7c0804922dcf867d6ca3a1399c5729f35f64 + pristine_git_object: 92a22165a0fd9e125ceef19573b66a3ca2fbb3c8 docs/models/agentsinsightsv2request.md: id: 9d5fdb90e1e6 last_write_checksum: sha1:a02b97b0fa1b6993913ce744e120681213094041 @@ -391,8 +395,8 @@ trackedFiles: pristine_git_object: ebbb19511b46565159e552579219ca1125c069fa docs/models/chatmessage.md: id: 768623ba5622 - last_write_checksum: sha1:c177b8b6249caa3c0c26d3425df0cc2c9f5fe109 - pristine_git_object: 7d770c5ae1a7b743cbcd47367f75e852d7e6619e + last_write_checksum: sha1:de3b12dcf57e893d4facbfc151263895f807605f + pristine_git_object: 7134cbbbb0e874365e08c98808b1fbba6666cd59 docs/models/chatmessagecitation.md: id: 081d0d2ead7a last_write_checksum: sha1:d31f16dbc8f428b3013a6f1cb90b961ac354f8dc @@ -2715,8 +2719,8 @@ trackedFiles: pristine_git_object: 33c17ec92e441b6c363a28a5b7319df5a2ad94dd pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:7dc5cd0785a78e264621f6d62588527e5a09f7ca - pristine_git_object: 090c699ac2a8aa2d284ada6cbb1118b82a03d6c3 + last_write_checksum: sha1:22e4ef761ea61bbbba2a72818d327613730ff292 + pristine_git_object: c7166b15e546760e49ad49e107a61fb0506b869c scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:c2c83f71dea61eb50c9e05da83b16d18b4da8794 @@ -2743,8 +2747,8 @@ trackedFiles: pristine_git_object: 58c4d70ac1797b86ff5c4237cafbc344c42d8f64 src/glean/api_client/_version.py: id: 0ce22b26136b - last_write_checksum: sha1:338def8b7d9f4275dea092a43013e6f33dc201df - pristine_git_object: 93b0bbc77a52bc1e9466738aeedb908a1ce01196 + last_write_checksum: sha1:8151701bb040b0f9ab8d949154ab0ff4dfe12e4c + pristine_git_object: 7e9ac00c8fb0346d771b2c0cfec3caee21312adc src/glean/api_client/agents.py: id: b925701a9217 last_write_checksum: sha1:c1688c3d141db7707458f3ac7ff29c4a71e6812b @@ -2883,8 +2887,12 @@ trackedFiles: pristine_git_object: 1c182cb0150642014463e1ceec8bc8b785e5b9f3 src/glean/api_client/models/__init__.py: id: d5f6ea5efcbe - last_write_checksum: sha1:1d2f9c6dc8f5fa44b657eeafcf15bc311e910885 - pristine_git_object: cdeddd4ac3b49617aa09d5d1c828407d8bd8e3ee + last_write_checksum: sha1:7de4172338fdd592d27510aaffafd3da4ab59e93 + pristine_git_object: bba1b5f6d30b69ec2b72f620a5daa6e3da161f88 + src/glean/api_client/models/actionsummary.py: + id: 34ccdf9f1526 + last_write_checksum: sha1:feac9468c6b2885ce11bf306ca94d3de53aac70f + pristine_git_object: ed3d1250613625c71ef8e73ae4b26b4ba6522b79 src/glean/api_client/models/activity.py: id: 6ea27628a0fd last_write_checksum: sha1:27f676cc8276973c98176252bf06e2b4b965935e @@ -2951,8 +2959,8 @@ trackedFiles: pristine_git_object: d43eb2a685ac8eab0d604c682756a1b37eefa796 src/glean/api_client/models/agentschemas.py: id: db15c1840e94 - last_write_checksum: sha1:dd549b311e28222dbc206ffec1de449c15fc40cf - pristine_git_object: 9dd72561611fe675a46b592facb6ef008326ef2e + last_write_checksum: sha1:1e8b2ba0fd73677b2fd8d87d4ffc8bf6243049bb + pristine_git_object: 5f36cf42035e855e6b6c931cf9dc178ddd18d467 src/glean/api_client/models/agentsinsightsv2request.py: id: 754887d301a3 last_write_checksum: sha1:8bc7a683da8a838fc031cb753fa055631e16cc2e @@ -3115,8 +3123,8 @@ trackedFiles: pristine_git_object: c9a17724686676e11d3633dfb11ad4ab9c1cce45 src/glean/api_client/models/chatmessage.py: id: d1d93cc94501 - last_write_checksum: sha1:bb5643220a1605fa7c9da1db21858b12118765bf - pristine_git_object: 5a5f17c7b400b55ee5b51053ca0726bf9c401727 + last_write_checksum: sha1:c304ca980afd45ac4b48ba8afd1f01375e1e9ece + pristine_git_object: e99b483ab100e290691712f25bdb2b33de43f37a src/glean/api_client/models/chatmessagecitation.py: id: dae0d568e81c last_write_checksum: sha1:7c16a46188a8fd6d03f22788a0d8b28788112922 @@ -5205,6 +5213,8 @@ trackedFiles: last_write_checksum: sha1:af9187f31972ef308fb4bc82de73d6dd71b9fb64 tests/mockserver/internal/logging/oas_operation_call.go: last_write_checksum: sha1:1ec2244b5fc171dfe7e4e339420b2b17f0df48c9 + tests/mockserver/internal/sdk/models/components/actionsummary.go: + last_write_checksum: sha1:26174d625f915fc8a07febb491ccce4dd6d1cbbd tests/mockserver/internal/sdk/models/components/activity.go: last_write_checksum: sha1:62ed2988de11a8af0b36342f9e557621d32cb6d4 tests/mockserver/internal/sdk/models/components/activityevent.go: @@ -5232,7 +5242,7 @@ trackedFiles: tests/mockserver/internal/sdk/models/components/agentrunwaitresponse.go: last_write_checksum: sha1:75b0a516ab1c183abeeb9e27abc8a00f265f32ad tests/mockserver/internal/sdk/models/components/agentschemas.go: - last_write_checksum: sha1:ba9fa6589e1aaf087991f798c495b4a113bdb928 + last_write_checksum: sha1:f5a60dbfccd07c90dd33675735d521285485286c tests/mockserver/internal/sdk/models/components/agentsinsightsv2request.go: last_write_checksum: sha1:5bbebc8109a68e2b22dc0ca044b009a4ff491d1f tests/mockserver/internal/sdk/models/components/agentsinsightsv2response.go: @@ -5312,7 +5322,7 @@ trackedFiles: tests/mockserver/internal/sdk/models/components/chatfilestatus.go: last_write_checksum: sha1:4f1e95ea4c1f64cfb9daab23820e907fe24f4efe tests/mockserver/internal/sdk/models/components/chatmessage.go: - last_write_checksum: sha1:1ee0ca5662402074d2303aa74531f433a288c82e + last_write_checksum: sha1:aa41b48667e9bd173818cc0df6016099b7dc1346 tests/mockserver/internal/sdk/models/components/chatmessagecitation.go: last_write_checksum: sha1:c6225814e79eac17f90ebb8d86a98bb0038c20b6 tests/mockserver/internal/sdk/models/components/chatmessagefragment.go: @@ -6417,8 +6427,8 @@ trackedFiles: pristine_git_object: 6cc8aeec3c52329d389081db0a27f10f53f214b9 tests/test_messages.py: id: be23089b1f8b - last_write_checksum: sha1:bef200db8e7fff0aa33ef17846f5054a2d035a88 - pristine_git_object: 36643db35a2d2a3cf9d327379ee7a6cb30da51d0 + last_write_checksum: sha1:5db8087e85104ab50b362638150fa1f6686a3c30 + pristine_git_object: c0fd29dab7d365ef9d78c0c291b925e6b9fd7298 tests/test_people.py: id: 37c243940039 last_write_checksum: sha1:7c7268ffeebe48d81ed25e9b1cfc3a395abf5c1f @@ -7330,6 +7340,9 @@ generatedTests: updateshortcut: "2025-06-12T19:13:52-04:00" listfindingsexports: "2025-12-10T17:53:31Z" downloadfindingsexport: "2025-12-10T17:53:31Z" +releaseNotes: | + ## Python SDK Changes: + * `glean.client.agents.retrieve_schemas()`: `response.tools` **Added** generatedFiles: - .devcontainer/README.md - .devcontainer/devcontainer.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 43449862..ebde2e28 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -33,7 +33,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: true python: - version: 0.12.2 + version: 0.12.3 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/glean-merged-spec.yaml b/.speakeasy/glean-merged-spec.yaml index 02e7e5fa..3321c727 100644 --- a/.speakeasy/glean-merged-spec.yaml +++ b/.speakeasy/glean-merged-spec.yaml @@ -2,7 +2,7 @@ openapi: 3.0.0 info: version: 0.9.0 title: Glean API - x-source-commit-sha: 2a745f932cc47169f6ceb0e7b3e9869d02726cea + x-source-commit-sha: 7cb24e246b05f2b9bef2eb5a0de443756d8b2e62 description: | # Introduction In addition to the data sources that Glean has built-in support for, Glean also provides a REST API that enables customers to put arbitrary content in the search index. This is useful, for example, for doing permissions-aware search over content in internal tools that reside on-prem as well as for searching over applications that Glean does not currently support first class. In addition these APIs allow the customer to push organization data (people info, organization structure etc) into Glean. @@ -22,7 +22,7 @@ info: These API clients provide type-safe, idiomatic interfaces for working with Glean IndexingAPIs in your language of choice. x-logo: url: https://app.glean.com/images/glean-text2.svg - x-open-api-commit-sha: c9207631abff9271cdd02433399797f6ee15e063 + x-open-api-commit-sha: 9164805c95e3fac7bb472685c0d3811323a3e1e3 x-speakeasy-name: 'Glean API' servers: - url: https://{instance}-be.glean.com @@ -7674,7 +7674,14 @@ components: type: array items: $ref: "#/components/schemas/ChatMessageCitation" - description: A list of Citations that were used to generate the response. + description: "Deprecated: Use inline citations via ChatMessageFragment.citation instead. For detailed reference information, use ChatMessageCitation.referenceRanges. This field is still populated for backward compatibility." + deprecated: true + x-glean-deprecated: + id: 6446f85e-c90e-4c00-9717-796f9db3dc61 + introduced: "2026-02-06" + message: Use inline citations via ChatMessageFragment.citation and ChatMessageCitation.referenceRanges instead. This field is still populated for backward compatibility. + removal: "2026-10-15" + x-speakeasy-deprecation-message: "Deprecated on 2026-02-06, removal scheduled for 2026-10-15: Use inline citations via ChatMessageFragment.citation and ChatMessageCitation.referenceRanges instead. This field is still populated for backward compatibility." uploadedFileIds: type: array items: @@ -7974,6 +7981,19 @@ components: type: string title: ErrorResponse description: Error message returned from the server + ActionSummary: + type: object + description: Represents a minimal summary of an action. + required: + - tool_id + - display_name + properties: + tool_id: + type: string + description: The unique identifier of the action. + display_name: + type: string + description: The display name of the action. AgentSchemas: properties: agent_id: @@ -7989,6 +8009,12 @@ components: type: object title: Output Schema description: The schema for the agent output. In JSON Schema format. + tools: + type: array + title: Tools + description: List of tools that the agent can invoke. Only included when include_tools query parameter is set to true. + items: + $ref: "#/components/schemas/ActionSummary" type: object required: - agent_id diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 45775151..18a5d31a 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,12 +1,12 @@ -speakeasyVersion: 1.708.0 +speakeasyVersion: 1.709.1 sources: Glean API: sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:a46c82fb26193f4747e1b7eca5ddf4cd77edbb57c9828a17c45e2b1f5fc02f4e - sourceBlobDigest: sha256:ba6a37b98073179a44805ba67125e23e907ddc0a6ca4c409ff48c53c399495d2 + sourceRevisionDigest: sha256:396b920dfdf9bbf92e6489cf8c90f87904f4a8829eaeaaa5b5afb02b98c14af2 + sourceBlobDigest: sha256:fce7520b2ff57ff3d213b2c218a05d4892542ceadfe50c252707658cc306ec6f tags: - latest - - speakeasy-sdk-regen-1770409581 + - speakeasy-sdk-regen-1770418491 Glean Client API: sourceNamespace: glean-client-api sourceRevisionDigest: sha256:4edc63ad559e4f2c9fb9ebf5edaaaaa9269f1874d271cfd84b441d6dacac43d2 @@ -17,10 +17,10 @@ targets: glean: source: Glean API sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:a46c82fb26193f4747e1b7eca5ddf4cd77edbb57c9828a17c45e2b1f5fc02f4e - sourceBlobDigest: sha256:ba6a37b98073179a44805ba67125e23e907ddc0a6ca4c409ff48c53c399495d2 + sourceRevisionDigest: sha256:396b920dfdf9bbf92e6489cf8c90f87904f4a8829eaeaaa5b5afb02b98c14af2 + sourceBlobDigest: sha256:fce7520b2ff57ff3d213b2c218a05d4892542ceadfe50c252707658cc306ec6f codeSamplesNamespace: glean-api-specs-python-code-samples - codeSamplesRevisionDigest: sha256:714a88487636e1f68c9866e8ea394f8bac5439f5d461c0f13d24f4d054c8a7c3 + codeSamplesRevisionDigest: sha256:73dc56905e0c9febcf1f5ce6bfae9a104f63a61a1783928cc3660781df6c9f60 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index cd25ea66..99afd9bc 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -528,4 +528,14 @@ Based on: ### Generated - [python v0.12.2] . ### Releases -- [PyPI v0.12.2] https://pypi.org/project/glean-api-client/0.12.2 - . \ No newline at end of file +- [PyPI v0.12.2] https://pypi.org/project/glean-api-client/0.12.2 - . + +## 2026-02-09 08:15:10 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.709.1 (2.812.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.12.3] . +### Releases +- [PyPI v0.12.3] https://pypi.org/project/glean-api-client/0.12.3 - . \ No newline at end of file diff --git a/docs/models/actionsummary.md b/docs/models/actionsummary.md new file mode 100644 index 00000000..3bf02ee0 --- /dev/null +++ b/docs/models/actionsummary.md @@ -0,0 +1,11 @@ +# ActionSummary + +Represents a minimal summary of an action. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `tool_id` | *str* | :heavy_check_mark: | The unique identifier of the action. | +| `display_name` | *str* | :heavy_check_mark: | The display name of the action. | \ No newline at end of file diff --git a/docs/models/agentschemas.md b/docs/models/agentschemas.md index 3535a940..92a22165 100644 --- a/docs/models/agentschemas.md +++ b/docs/models/agentschemas.md @@ -5,8 +5,9 @@ Defines the structure and properties of an agent. ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `agent_id` | *str* | :heavy_check_mark: | The ID of the agent. | mho4lwzylcozgoc2 | -| `input_schema` | [models.InputSchema](../models/inputschema.md) | :heavy_check_mark: | The schema for the agent input. In JSON Schema format. | | -| `output_schema` | [models.OutputSchema](../models/outputschema.md) | :heavy_check_mark: | The schema for the agent output. In JSON Schema format. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `agent_id` | *str* | :heavy_check_mark: | The ID of the agent. | mho4lwzylcozgoc2 | +| `input_schema` | [models.InputSchema](../models/inputschema.md) | :heavy_check_mark: | The schema for the agent input. In JSON Schema format. | | +| `output_schema` | [models.OutputSchema](../models/outputschema.md) | :heavy_check_mark: | The schema for the agent output. In JSON Schema format. | | +| `tools` | List[[models.ActionSummary](../models/actionsummary.md)] | :heavy_minus_sign: | List of tools that the agent can invoke. Only included when include_tools query parameter is set to true. | | \ No newline at end of file diff --git a/docs/models/chatmessage.md b/docs/models/chatmessage.md index 7d770c5a..7134cbbb 100644 --- a/docs/models/chatmessage.md +++ b/docs/models/chatmessage.md @@ -5,15 +5,15 @@ A message that is rendered as one coherent unit with one given sender. ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `agent_config` | [Optional[models.AgentConfig]](../models/agentconfig.md) | :heavy_minus_sign: | Describes the agent that executes the request. | -| `author` | [Optional[models.Author]](../models/author.md) | :heavy_minus_sign: | N/A | -| `citations` | List[[models.ChatMessageCitation](../models/chatmessagecitation.md)] | :heavy_minus_sign: | A list of Citations that were used to generate the response. | -| `uploaded_file_ids` | List[*str*] | :heavy_minus_sign: | IDs of files uploaded in the message that are referenced to generate the answer. | -| `fragments` | List[[models.ChatMessageFragment](../models/chatmessagefragment.md)] | :heavy_minus_sign: | A list of rich data used to represent the response or formulate a request. These are linearly stitched together to support richer data formats beyond simple text. | -| `ts` | *Optional[str]* | :heavy_minus_sign: | Response timestamp of the message. | -| `message_id` | *Optional[str]* | :heavy_minus_sign: | A unique server-side generated ID used to identify a message, automatically populated for any USER authored messages. | -| `message_tracking_token` | *Optional[str]* | :heavy_minus_sign: | Opaque tracking token generated server-side. | -| `message_type` | [Optional[models.MessageType]](../models/messagetype.md) | :heavy_minus_sign: | Semantically groups content of a certain type. It can be used for purposes such as differential UI treatment. USER authored messages should be of type CONTENT and do not need `messageType` specified. | -| ~~`has_more_fragments`~~ | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Signals there are additional response fragments incoming. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `agent_config` | [Optional[models.AgentConfig]](../models/agentconfig.md) | :heavy_minus_sign: | Describes the agent that executes the request. | +| `author` | [Optional[models.Author]](../models/author.md) | :heavy_minus_sign: | N/A | +| ~~`citations`~~ | List[[models.ChatMessageCitation](../models/chatmessagecitation.md)] | :heavy_minus_sign: | : warning: ** DEPRECATED **: Deprecated on 2026-02-06, removal scheduled for 2026-10-15: Use inline citations via ChatMessageFragment.citation and ChatMessageCitation.referenceRanges instead. This field is still populated for backward compatibility..

Deprecated: Use inline citations via ChatMessageFragment.citation instead. For detailed reference information, use ChatMessageCitation.referenceRanges. This field is still populated for backward compatibility. | +| `uploaded_file_ids` | List[*str*] | :heavy_minus_sign: | IDs of files uploaded in the message that are referenced to generate the answer. | +| `fragments` | List[[models.ChatMessageFragment](../models/chatmessagefragment.md)] | :heavy_minus_sign: | A list of rich data used to represent the response or formulate a request. These are linearly stitched together to support richer data formats beyond simple text. | +| `ts` | *Optional[str]* | :heavy_minus_sign: | Response timestamp of the message. | +| `message_id` | *Optional[str]* | :heavy_minus_sign: | A unique server-side generated ID used to identify a message, automatically populated for any USER authored messages. | +| `message_tracking_token` | *Optional[str]* | :heavy_minus_sign: | Opaque tracking token generated server-side. | +| `message_type` | [Optional[models.MessageType]](../models/messagetype.md) | :heavy_minus_sign: | Semantically groups content of a certain type. It can be used for purposes such as differential UI treatment. USER authored messages should be of type CONTENT and do not need `messageType` specified. | +| ~~`has_more_fragments`~~ | *Optional[bool]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Signals there are additional response fragments incoming. | \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 090c699a..c7166b15 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "glean-api-client" -version = "0.12.2" +version = "0.12.3" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Glean Technologies, Inc." },] readme = "README-PYPI.md" diff --git a/speakeasyusagegen/.speakeasy/logs/naming.log b/speakeasyusagegen/.speakeasy/logs/naming.log index 61c56acf..029cce25 100644 --- a/speakeasyusagegen/.speakeasy/logs/naming.log +++ b/speakeasyusagegen/.speakeasy/logs/naming.log @@ -692,9 +692,10 @@ GetAgentResponse (HttpMeta: HTTPMetadata, Agent: Agent) AgentCapabilities (ap.io.messages: boolean, ap.io.streaming: boolean, AdditionalProperties: map) GetAgentSchemasRequest (locale: string, timezoneOffset: integer, agent_id: string) GetAgentSchemasResponse (HttpMeta: HTTPMetadata, AgentSchemas: AgentSchemas) - AgentSchemas (agent_id: string, input_schema: class, output_schema: class) + AgentSchemas (agent_id: string, input_schema: class, output_schema: class ...) InputSchema (empty) OutputSchema (empty) + ActionSummary (tool_id: string, display_name: string) SearchAgentsRequest (name: string) SearchAgentsResponse (HttpMeta: HTTPMetadata, SearchAgentsResponse: SearchAgentsResponse) SearchAgentsResponse (agents: array) diff --git a/src/glean/api_client/_version.py b/src/glean/api_client/_version.py index 93b0bbc7..7e9ac00c 100644 --- a/src/glean/api_client/_version.py +++ b/src/glean/api_client/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "glean-api-client" -__version__: str = "0.12.2" +__version__: str = "0.12.3" __openapi_doc_version__: str = "0.9.0" -__gen_version__: str = "2.811.2" -__user_agent__: str = "speakeasy-sdk/python 0.12.2 2.811.2 0.9.0 glean-api-client" +__gen_version__: str = "2.812.2" +__user_agent__: str = "speakeasy-sdk/python 0.12.3 2.812.2 0.9.0 glean-api-client" try: if __package__ is not None: diff --git a/src/glean/api_client/models/__init__.py b/src/glean/api_client/models/__init__.py index cdeddd4a..bba1b5f6 100644 --- a/src/glean/api_client/models/__init__.py +++ b/src/glean/api_client/models/__init__.py @@ -72,6 +72,7 @@ import sys if TYPE_CHECKING: + from .actionsummary import ActionSummary, ActionSummaryTypedDict from .activity import Activity, ActivityTypedDict from .activityevent import ( ActivityEvent, @@ -1400,6 +1401,8 @@ __all__ = [ + "ActionSummary", + "ActionSummaryTypedDict", "Activity", "ActivityEnum", "ActivityEvent", @@ -2527,6 +2530,8 @@ ] _dynamic_imports: dict[str, str] = { + "ActionSummary": ".actionsummary", + "ActionSummaryTypedDict": ".actionsummary", "Activity": ".activity", "ActivityTypedDict": ".activity", "ActivityEvent": ".activityevent", diff --git a/src/glean/api_client/models/actionsummary.py b/src/glean/api_client/models/actionsummary.py new file mode 100644 index 00000000..ed3d1250 --- /dev/null +++ b/src/glean/api_client/models/actionsummary.py @@ -0,0 +1,24 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from glean.api_client.types import BaseModel +from typing_extensions import TypedDict + + +class ActionSummaryTypedDict(TypedDict): + r"""Represents a minimal summary of an action.""" + + tool_id: str + r"""The unique identifier of the action.""" + display_name: str + r"""The display name of the action.""" + + +class ActionSummary(BaseModel): + r"""Represents a minimal summary of an action.""" + + tool_id: str + r"""The unique identifier of the action.""" + + display_name: str + r"""The display name of the action.""" diff --git a/src/glean/api_client/models/agentschemas.py b/src/glean/api_client/models/agentschemas.py index 9dd72561..5f36cf42 100644 --- a/src/glean/api_client/models/agentschemas.py +++ b/src/glean/api_client/models/agentschemas.py @@ -1,8 +1,11 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from glean.api_client.types import BaseModel -from typing_extensions import TypedDict +from .actionsummary import ActionSummary, ActionSummaryTypedDict +from glean.api_client.types import BaseModel, UNSET_SENTINEL +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import NotRequired, TypedDict class InputSchemaTypedDict(TypedDict): @@ -30,6 +33,8 @@ class AgentSchemasTypedDict(TypedDict): r"""The schema for the agent input. In JSON Schema format.""" output_schema: OutputSchemaTypedDict r"""The schema for the agent output. In JSON Schema format.""" + tools: NotRequired[List[ActionSummaryTypedDict]] + r"""List of tools that the agent can invoke. Only included when include_tools query parameter is set to true.""" class AgentSchemas(BaseModel): @@ -43,3 +48,22 @@ class AgentSchemas(BaseModel): output_schema: OutputSchema r"""The schema for the agent output. In JSON Schema format.""" + + tools: Optional[List[ActionSummary]] = None + r"""List of tools that the agent can invoke. Only included when include_tools query parameter is set to true.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["tools"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/glean/api_client/models/chatmessage.py b/src/glean/api_client/models/chatmessage.py index 5a5f17c7..e99b483a 100644 --- a/src/glean/api_client/models/chatmessage.py +++ b/src/glean/api_client/models/chatmessage.py @@ -47,7 +47,7 @@ class ChatMessageTypedDict(TypedDict): r"""Describes the agent that executes the request.""" author: NotRequired[Author] citations: NotRequired[List[ChatMessageCitationTypedDict]] - r"""A list of Citations that were used to generate the response.""" + r"""Deprecated: Use inline citations via ChatMessageFragment.citation instead. For detailed reference information, use ChatMessageCitation.referenceRanges. This field is still populated for backward compatibility.""" uploaded_file_ids: NotRequired[List[str]] r"""IDs of files uploaded in the message that are referenced to generate the answer.""" fragments: NotRequired[List[ChatMessageFragmentTypedDict]] @@ -74,8 +74,13 @@ class ChatMessage(BaseModel): author: Optional[Author] = Author.USER - citations: Optional[List[ChatMessageCitation]] = None - r"""A list of Citations that were used to generate the response.""" + citations: Annotated[ + Optional[List[ChatMessageCitation]], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - Deprecated on 2026-02-06, removal scheduled for 2026-10-15: Use inline citations via ChatMessageFragment.citation and ChatMessageCitation.referenceRanges instead. This field is still populated for backward compatibility.." + ), + ] = None + r"""Deprecated: Use inline citations via ChatMessageFragment.citation instead. For detailed reference information, use ChatMessageCitation.referenceRanges. This field is still populated for backward compatibility.""" uploaded_file_ids: Annotated[ Optional[List[str]], pydantic.Field(alias="uploadedFileIds") diff --git a/tests/mockserver/internal/sdk/models/components/actionsummary.go b/tests/mockserver/internal/sdk/models/components/actionsummary.go new file mode 100644 index 00000000..587431e0 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/actionsummary.go @@ -0,0 +1,25 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +// ActionSummary - Represents a minimal summary of an action. +type ActionSummary struct { + // The unique identifier of the action. + ToolID string `json:"tool_id"` + // The display name of the action. + DisplayName string `json:"display_name"` +} + +func (o *ActionSummary) GetToolID() string { + if o == nil { + return "" + } + return o.ToolID +} + +func (o *ActionSummary) GetDisplayName() string { + if o == nil { + return "" + } + return o.DisplayName +} diff --git a/tests/mockserver/internal/sdk/models/components/agentschemas.go b/tests/mockserver/internal/sdk/models/components/agentschemas.go index 4fe8d12d..ac026fb3 100644 --- a/tests/mockserver/internal/sdk/models/components/agentschemas.go +++ b/tests/mockserver/internal/sdk/models/components/agentschemas.go @@ -18,6 +18,8 @@ type AgentSchemas struct { InputSchema InputSchema `json:"input_schema"` // The schema for the agent output. In JSON Schema format. OutputSchema OutputSchema `json:"output_schema"` + // List of tools that the agent can invoke. Only included when include_tools query parameter is set to true. + Tools []ActionSummary `json:"tools,omitempty"` } func (o *AgentSchemas) GetAgentID() string { @@ -40,3 +42,10 @@ func (o *AgentSchemas) GetOutputSchema() OutputSchema { } return o.OutputSchema } + +func (o *AgentSchemas) GetTools() []ActionSummary { + if o == nil { + return nil + } + return o.Tools +} diff --git a/tests/mockserver/internal/sdk/models/components/chatmessage.go b/tests/mockserver/internal/sdk/models/components/chatmessage.go index 3e9895b5..a3776ffc 100644 --- a/tests/mockserver/internal/sdk/models/components/chatmessage.go +++ b/tests/mockserver/internal/sdk/models/components/chatmessage.go @@ -87,7 +87,9 @@ type ChatMessage struct { // Describes the agent that executes the request. AgentConfig *AgentConfig `json:"agentConfig,omitempty"` Author *Author `default:"USER" json:"author"` - // A list of Citations that were used to generate the response. + // Deprecated: Use inline citations via ChatMessageFragment.citation instead. For detailed reference information, use ChatMessageCitation.referenceRanges. This field is still populated for backward compatibility. + // + // Deprecated: Deprecated on 2026-02-06, removal scheduled for 2026-10-15: Use inline citations via ChatMessageFragment.citation and ChatMessageCitation.referenceRanges instead. This field is still populated for backward compatibility.. Citations []ChatMessageCitation `json:"citations,omitempty"` // IDs of files uploaded in the message that are referenced to generate the answer. UploadedFileIds []string `json:"uploadedFileIds,omitempty"` diff --git a/tests/test_messages.py b/tests/test_messages.py index 36643db3..c0fd29da 100644 --- a/tests/test_messages.py +++ b/tests/test_messages.py @@ -18,7 +18,7 @@ def test_messages_messages(): res = glean.client.messages.retrieve( id_type=models.IDType.CONVERSATION_ID, id="", - datasource=models.Datasource.MICROSOFTTEAMS, + datasource=models.Datasource.SLACK, timestamp_millis=558834, ) assert res is not None From 2053b221291353078e1221700994baa30e6c6dc1 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Mon, 9 Feb 2026 08:19:28 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow