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