From 23d601348e6d22df3f44986a6726b7910b4694a0 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Fri, 21 Nov 2025 09:26:48 +0000 Subject: [PATCH 1/2] ## Python SDK Changes Detected: * `glean.client.insights.retrieve()`: `response` **Changed** **Breaking** :warning: --- .speakeasy/gen.lock | 10 ++-- .speakeasy/gen.yaml | 2 +- .speakeasy/glean-merged-spec.yaml | 37 +++++++------- .speakeasy/workflow.lock | 12 ++--- .speakeasy/workflow.yaml | 1 - RELEASES.md | 12 ++++- docs/models/engagementbreakdown.md | 11 ---- docs/models/insightsoverviewresponse.md | 39 +++++++------- docs/models/peragentinsight.md | 1 + docs/models/peruserassistantinsight.md | 16 +++--- docs/models/peruserinsight.md | 13 +++-- pyproject.toml | 2 +- speakeasyusagegen/.speakeasy/logs/naming.log | 3 +- src/glean/api_client/_version.py | 4 +- src/glean/api_client/models/__init__.py | 6 --- .../models/insightsoverviewresponse.py | 34 +------------ .../api_client/models/peragentinsight.py | 5 ++ .../models/peruserassistantinsight.py | 8 +-- src/glean/api_client/models/peruserinsight.py | 21 ++++++++ .../components/insightsoverviewresponse.go | 51 +------------------ .../sdk/models/components/peragentinsight.go | 9 ++++ .../components/peruserassistantinsight.go | 4 +- .../sdk/models/components/peruserinsight.go | 27 ++++++++++ tests/test_messages.py | 2 +- 24 files changed, 154 insertions(+), 176 deletions(-) delete mode 100644 docs/models/engagementbreakdown.md diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 5654fc60..27e6a722 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 3e3290ca-0ee8-4981-b1bc-14536048fa63 management: - docChecksum: 648d674fdd05aad794f8dd9965d820b5 + docChecksum: 3e5657019a4816420ae24bbe0aa55deb docVersion: 0.9.0 speakeasyVersion: 1.650.0 generationVersion: 2.743.2 - releaseVersion: 0.11.14 - configChecksum: ceccdd78049847212e98f17e1f761752 + releaseVersion: 0.11.16 + configChecksum: 8f3025db067290e02de69c0e74482958 repoURL: https://github.com/gleanwork/api-client-python.git installationURL: https://github.com/gleanwork/api-client-python.git published: true @@ -283,7 +283,6 @@ generatedFiles: - docs/models/editpinrequest.md - docs/models/employeeinfodefinition.md - docs/models/employeeteaminfo.md - - docs/models/engagementbreakdown.md - docs/models/entitiessortorder.md - docs/models/entityrelationship.md - docs/models/entitytype.md @@ -2742,3 +2741,6 @@ generatedTests: editcollection: "2025-06-12T19:13:52-04:00" createshortcut: "2025-06-12T19:13:52-04:00" updateshortcut: "2025-06-12T19:13:52-04:00" +releaseNotes: | + ## Python SDK Changes Detected: + * `glean.client.insights.retrieve()`: `response` **Changed** **Breaking** :warning: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 350797d3..0240c65a 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -30,7 +30,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: true python: - version: 0.11.14 + version: 0.11.16 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/glean-merged-spec.yaml b/.speakeasy/glean-merged-spec.yaml index e9d8fb95..7ccc2c71 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: 3c1d4f5f7b2de021e7e5ab5dff962254c16aa5db + x-source-commit-sha: 31b1e4d8c27047c952fd0380361790a2edfdd676 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: b20a53af8a9aee1fd48c351fe14b4b12c8eefd12 + x-open-api-commit-sha: e4416ec5a5adef38fa93d4fef0557174d402e553 x-speakeasy-name: 'Glean API' servers: - url: https://{instance}-be.glean.com @@ -8562,6 +8562,15 @@ components: numChats: type: integer description: Total number of chats by this user over the specified time period. + numActiveSessions: + type: integer + description: Total number of active sessions by this user in a Glean client over the specified time period. + numGleanbotUsefulResponses: + type: integer + description: Total number of Gleanbot responses marked useful by this user over the specified time period. + numDaysActive: + type: integer + description: Total number of days this user was an Active User over the specified time period. InsightsOverviewResponse: allOf: - $ref: "#/components/schemas/InsightsDepartmentsSummary" @@ -8594,22 +8603,7 @@ components: type: array items: $ref: "#/components/schemas/PerUserInsight" - description: Top power users, over the specified time period in the specified departments. - engagementBreakdown: - type: object - properties: - nonUsers: - type: integer - description: Number of non-user employees in the specified departments. - dormantUsers: - type: integer - description: Number of currently dormant users in the specified departments. - regularUsers: - type: integer - description: Number of currently regular users in the specified departments. - powerUsers: - type: integer - description: Number of currently power users in the specified departments. + description: Per-user insights, over the specified time period in the specified departments. All current users in the organization who have signed into Glean at least once are included. PerUserAssistantInsight: properties: person: @@ -8625,10 +8619,10 @@ components: description: Total number of AI Answers interacted with by this user over the specified time period. numGleanbotInteractions: type: integer - description: Total number of Gleanbot interacted with by this user over the specified time period. + description: Total number of Gleanbot responses marked useful by this user over the specified time period. numDaysActive: type: integer - description: Total number of days this user was active over the specified time period. + description: Total number of days this user was active on the Assistant over the specified time period. AssistantInsightsResponse: allOf: - $ref: "#/components/schemas/CurrentActiveUsers" @@ -8673,6 +8667,9 @@ components: icon: $ref: "#/components/schemas/IconConfig" description: Agent icon configuration + isDeleted: + type: boolean + description: Indicates whether the agent has been deleted userCount: type: integer description: Total number of users for this agent over the specified time period. diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index ec305e05..1d55aeac 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,11 +2,11 @@ speakeasyVersion: 1.650.0 sources: Glean API: sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:32fce82d031f7f53e3ac040caae0f7ff32686e08ab3ed5291b710a6a4cc19e97 - sourceBlobDigest: sha256:1161e7578cd01452b8aa987120ec26127f910ccff14897b24601c9f78a1e44d0 + sourceRevisionDigest: sha256:f069447b3ec0cb20ea0970c07b80ca54a16c3dc5b22628309ef86c46822715bd + sourceBlobDigest: sha256:88f92162774c14a5edef7dbbd63efbd68f6e3cf857f9f312a2c98342392829b2 tags: - latest - - speakeasy-sdk-regen-1763167768 + - speakeasy-sdk-regen-1763688668 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:32fce82d031f7f53e3ac040caae0f7ff32686e08ab3ed5291b710a6a4cc19e97 - sourceBlobDigest: sha256:1161e7578cd01452b8aa987120ec26127f910ccff14897b24601c9f78a1e44d0 + sourceRevisionDigest: sha256:f069447b3ec0cb20ea0970c07b80ca54a16c3dc5b22628309ef86c46822715bd + sourceBlobDigest: sha256:88f92162774c14a5edef7dbbd63efbd68f6e3cf857f9f312a2c98342392829b2 codeSamplesNamespace: glean-api-specs-python-code-samples - codeSamplesRevisionDigest: sha256:b3fef6598b035770b97aec02d552dcc779a69b61bee9d07e0943d125588eaa14 + codeSamplesRevisionDigest: sha256:249058338673fc555a3a1a8fe9b674de7e55857120a2c97efff51cd3162ffa1d workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml index c205bfca..79eee6b6 100644 --- a/.speakeasy/workflow.yaml +++ b/.speakeasy/workflow.yaml @@ -12,7 +12,6 @@ targets: publish: pypi: token: $pypi_token - packageName: glean-api-client codeSamples: registry: location: registry.speakeasyapi.dev/glean-el2/sdk/glean-api-specs-python-code-samples diff --git a/RELEASES.md b/RELEASES.md index eff6c7d9..e5e9cb54 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -408,4 +408,14 @@ Based on: ### Generated - [python v0.11.14] . ### Releases -- [PyPI v0.11.14] https://pypi.org/project/glean/0.11.14 - . \ No newline at end of file +- [PyPI v0.11.14] https://pypi.org/project/glean/0.11.14 - . + +## 2025-11-21 09:22:02 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.650.0 (2.743.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.11.16] . +### Releases +- [PyPI v0.11.16] https://pypi.org/project/glean/0.11.16 - . \ No newline at end of file diff --git a/docs/models/engagementbreakdown.md b/docs/models/engagementbreakdown.md deleted file mode 100644 index 3803a9f0..00000000 --- a/docs/models/engagementbreakdown.md +++ /dev/null @@ -1,11 +0,0 @@ -# EngagementBreakdown - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | -| `non_users` | *Optional[int]* | :heavy_minus_sign: | Number of non-user employees in the specified departments. | -| `dormant_users` | *Optional[int]* | :heavy_minus_sign: | Number of currently dormant users in the specified departments. | -| `regular_users` | *Optional[int]* | :heavy_minus_sign: | Number of currently regular users in the specified departments. | -| `power_users` | *Optional[int]* | :heavy_minus_sign: | Number of currently power users in the specified departments. | \ No newline at end of file diff --git a/docs/models/insightsoverviewresponse.md b/docs/models/insightsoverviewresponse.md index af04f57d..6cd38a87 100644 --- a/docs/models/insightsoverviewresponse.md +++ b/docs/models/insightsoverviewresponse.md @@ -3,23 +3,22 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `monthly_active_users` | *Optional[int]* | :heavy_minus_sign: | Number of current Monthly Active Users, in the specified departments. | -| `weekly_active_users` | *Optional[int]* | :heavy_minus_sign: | Number of current Weekly Active Users, in the specified departments. | -| `departments` | List[*str*] | :heavy_minus_sign: | Department name(s). | -| `employee_count` | *Optional[int]* | :heavy_minus_sign: | Number of current employees in the specified departments, according to the Org Chart. | -| `total_signups` | *Optional[int]* | :heavy_minus_sign: | Number of current signed up employees in the specified departments, according to the Org Chart. | -| `search_summary` | [Optional[models.InsightsSearchSummary]](../models/insightssearchsummary.md) | :heavy_minus_sign: | N/A | -| `chat_summary` | [Optional[models.InsightsChatSummary]](../models/insightschatsummary.md) | :heavy_minus_sign: | N/A | -| `extension_summary` | [Optional[models.CurrentActiveUsers]](../models/currentactiveusers.md) | :heavy_minus_sign: | N/A | -| `ugc_summary` | [Optional[models.CurrentActiveUsers]](../models/currentactiveusers.md) | :heavy_minus_sign: | N/A | -| `last_updated_ts` | *Optional[int]* | :heavy_minus_sign: | Unix timestamp of the last update for the insights data in the response. | -| `search_session_satisfaction` | *Optional[float]* | :heavy_minus_sign: | Search session satisfaction rate, over the specified time period in the specified departments. | -| `monthly_active_user_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | -| `weekly_active_user_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | -| `daily_active_user_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | -| `search_datasource_counts` | Dict[str, *int*] | :heavy_minus_sign: | Counts of search result clicks, by datasource, over the specified time period in the specified departments. | -| `chat_datasource_counts` | Dict[str, *int*] | :heavy_minus_sign: | Counts of cited documents in chat, by datasource, over the specified time period in the specified departments. | -| `per_user_insights` | List[[models.PerUserInsight](../models/peruserinsight.md)] | :heavy_minus_sign: | Top power users, over the specified time period in the specified departments. | -| `engagement_breakdown` | [Optional[models.EngagementBreakdown]](../models/engagementbreakdown.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `monthly_active_users` | *Optional[int]* | :heavy_minus_sign: | Number of current Monthly Active Users, in the specified departments. | +| `weekly_active_users` | *Optional[int]* | :heavy_minus_sign: | Number of current Weekly Active Users, in the specified departments. | +| `departments` | List[*str*] | :heavy_minus_sign: | Department name(s). | +| `employee_count` | *Optional[int]* | :heavy_minus_sign: | Number of current employees in the specified departments, according to the Org Chart. | +| `total_signups` | *Optional[int]* | :heavy_minus_sign: | Number of current signed up employees in the specified departments, according to the Org Chart. | +| `search_summary` | [Optional[models.InsightsSearchSummary]](../models/insightssearchsummary.md) | :heavy_minus_sign: | N/A | +| `chat_summary` | [Optional[models.InsightsChatSummary]](../models/insightschatsummary.md) | :heavy_minus_sign: | N/A | +| `extension_summary` | [Optional[models.CurrentActiveUsers]](../models/currentactiveusers.md) | :heavy_minus_sign: | N/A | +| `ugc_summary` | [Optional[models.CurrentActiveUsers]](../models/currentactiveusers.md) | :heavy_minus_sign: | N/A | +| `last_updated_ts` | *Optional[int]* | :heavy_minus_sign: | Unix timestamp of the last update for the insights data in the response. | +| `search_session_satisfaction` | *Optional[float]* | :heavy_minus_sign: | Search session satisfaction rate, over the specified time period in the specified departments. | +| `monthly_active_user_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | +| `weekly_active_user_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | +| `daily_active_user_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | +| `search_datasource_counts` | Dict[str, *int*] | :heavy_minus_sign: | Counts of search result clicks, by datasource, over the specified time period in the specified departments. | +| `chat_datasource_counts` | Dict[str, *int*] | :heavy_minus_sign: | Counts of cited documents in chat, by datasource, over the specified time period in the specified departments. | +| `per_user_insights` | List[[models.PerUserInsight](../models/peruserinsight.md)] | :heavy_minus_sign: | Per-user insights, over the specified time period in the specified departments. All current users in the organization who have signed into Glean at least once are included. | \ No newline at end of file diff --git a/docs/models/peragentinsight.md b/docs/models/peragentinsight.md index 67d61cd9..8e12e9f5 100644 --- a/docs/models/peragentinsight.md +++ b/docs/models/peragentinsight.md @@ -8,6 +8,7 @@ | `agent_id` | *Optional[str]* | :heavy_minus_sign: | Agent ID | | | `agent_name` | *Optional[str]* | :heavy_minus_sign: | Agent name | | | `icon` | [Optional[models.IconConfig]](../models/iconconfig.md) | :heavy_minus_sign: | Defines how to render an icon | {
"color": "#343CED",
"key": "person_icon",
"iconType": "GLYPH",
"name": "user"
} | +| `is_deleted` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether the agent has been deleted | | | `user_count` | *Optional[int]* | :heavy_minus_sign: | Total number of users for this agent over the specified time period. | | | `run_count` | *Optional[int]* | :heavy_minus_sign: | Total number of runs for this agent over the specified time period. | | | `upvote_count` | *Optional[int]* | :heavy_minus_sign: | Total number of upvotes for this agent over the specified time period. | | diff --git a/docs/models/peruserassistantinsight.md b/docs/models/peruserassistantinsight.md index 7568b913..785dbb7a 100644 --- a/docs/models/peruserassistantinsight.md +++ b/docs/models/peruserassistantinsight.md @@ -3,11 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `person` | [Optional[models.Person]](../models/person.md) | :heavy_minus_sign: | N/A | {
"name": "George Clooney",
"obfuscatedId": "abc123"
} | -| `num_chat_messages` | *Optional[int]* | :heavy_minus_sign: | Total number of chat messages sent by this user over the specified time period. | | -| `num_summarizations` | *Optional[int]* | :heavy_minus_sign: | Total number of summarized items by this user over the specified time period. | | -| `num_ai_answers` | *Optional[int]* | :heavy_minus_sign: | Total number of AI Answers interacted with by this user over the specified time period. | | -| `num_gleanbot_interactions` | *Optional[int]* | :heavy_minus_sign: | Total number of Gleanbot interacted with by this user over the specified time period. | | -| `num_days_active` | *Optional[int]* | :heavy_minus_sign: | Total number of days this user was active over the specified time period. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| `person` | [Optional[models.Person]](../models/person.md) | :heavy_minus_sign: | N/A | {
"name": "George Clooney",
"obfuscatedId": "abc123"
} | +| `num_chat_messages` | *Optional[int]* | :heavy_minus_sign: | Total number of chat messages sent by this user over the specified time period. | | +| `num_summarizations` | *Optional[int]* | :heavy_minus_sign: | Total number of summarized items by this user over the specified time period. | | +| `num_ai_answers` | *Optional[int]* | :heavy_minus_sign: | Total number of AI Answers interacted with by this user over the specified time period. | | +| `num_gleanbot_interactions` | *Optional[int]* | :heavy_minus_sign: | Total number of Gleanbot responses marked useful by this user over the specified time period. | | +| `num_days_active` | *Optional[int]* | :heavy_minus_sign: | Total number of days this user was active on the Assistant over the specified time period. | | \ No newline at end of file diff --git a/docs/models/peruserinsight.md b/docs/models/peruserinsight.md index cb5c03e4..35bdd010 100644 --- a/docs/models/peruserinsight.md +++ b/docs/models/peruserinsight.md @@ -3,8 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | -| `person` | [Optional[models.Person]](../models/person.md) | :heavy_minus_sign: | N/A | {
"name": "George Clooney",
"obfuscatedId": "abc123"
} | -| `num_searches` | *Optional[int]* | :heavy_minus_sign: | Total number of searches by this user over the specified time period. | | -| `num_chats` | *Optional[int]* | :heavy_minus_sign: | Total number of chats by this user over the specified time period. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `person` | [Optional[models.Person]](../models/person.md) | :heavy_minus_sign: | N/A | {
"name": "George Clooney",
"obfuscatedId": "abc123"
} | +| `num_searches` | *Optional[int]* | :heavy_minus_sign: | Total number of searches by this user over the specified time period. | | +| `num_chats` | *Optional[int]* | :heavy_minus_sign: | Total number of chats by this user over the specified time period. | | +| `num_active_sessions` | *Optional[int]* | :heavy_minus_sign: | Total number of active sessions by this user in a Glean client over the specified time period. | | +| `num_gleanbot_useful_responses` | *Optional[int]* | :heavy_minus_sign: | Total number of Gleanbot responses marked useful by this user over the specified time period. | | +| `num_days_active` | *Optional[int]* | :heavy_minus_sign: | Total number of days this user was an Active User over the specified time period. | | \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 3402c23a..b461f4d6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "glean-api-client" -version = "0.11.14" +version = "0.11.16" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Glean Technologies, Inc." }] license = "MIT" diff --git a/speakeasyusagegen/.speakeasy/logs/naming.log b/speakeasyusagegen/.speakeasy/logs/naming.log index 49b08d00..5b9e4ca0 100644 --- a/speakeasyusagegen/.speakeasy/logs/naming.log +++ b/speakeasyusagegen/.speakeasy/logs/naming.log @@ -756,8 +756,7 @@ InsightsResponse (HttpMeta: HTTPMetadata, InsightsResponse: InsightsResponse) InsightsSearchSummary (monthlyActiveUsers: integer, weeklyActiveUsers: integer, numSearches: integer ...) InsightsChatSummary (monthlyActiveUsers: integer, weeklyActiveUsers: integer, numChats: integer ...) CurrentActiveUsers (monthlyActiveUsers: integer, weeklyActiveUsers: integer) - PerUserInsight (person: Person, numSearches: integer, numChats: integer) - EngagementBreakdown (nonUsers: integer, dormantUsers: integer, regularUsers: integer ...) + PerUserInsight (person: Person, numSearches: integer, numChats: integer ...) AssistantInsightsResponse (monthlyActiveUsers: integer, weeklyActiveUsers: integer, lastUpdatedTs: integer ...) PerUserAssistantInsight (person: Person, numChatMessages: integer, numSummarizations: integer ...) AgentsInsightsV2Response (monthlyActiveUsers: integer, weeklyActiveUsers: integer, monthlyActiveUserTimeseries: LabeledCountInfo ...) diff --git a/src/glean/api_client/_version.py b/src/glean/api_client/_version.py index becaf6b4..ca373323 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" -__version__: str = "0.11.14" +__version__: str = "0.11.16" __openapi_doc_version__: str = "0.9.0" __gen_version__: str = "2.743.2" -__user_agent__: str = "speakeasy-sdk/python 0.11.14 2.743.2 0.9.0 glean" +__user_agent__: str = "speakeasy-sdk/python 0.11.16 2.743.2 0.9.0 glean" 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 94bdee90..0174e068 100644 --- a/src/glean/api_client/models/__init__.py +++ b/src/glean/api_client/models/__init__.py @@ -819,8 +819,6 @@ InsightsOverviewRequestTypedDict, ) from .insightsoverviewresponse import ( - EngagementBreakdown, - EngagementBreakdownTypedDict, InsightsOverviewResponse, InsightsOverviewResponseTypedDict, ) @@ -1703,8 +1701,6 @@ "EmployeeInfoDefinitionTypedDict", "EmployeeTeamInfo", "EmployeeTeamInfoTypedDict", - "EngagementBreakdown", - "EngagementBreakdownTypedDict", "EntitiesSortOrder", "EntityRelationship", "EntityRelationshipTypedDict", @@ -2917,8 +2913,6 @@ "InsightsChatSummaryTypedDict": ".insightschatsummary", "InsightsOverviewRequest": ".insightsoverviewrequest", "InsightsOverviewRequestTypedDict": ".insightsoverviewrequest", - "EngagementBreakdown": ".insightsoverviewresponse", - "EngagementBreakdownTypedDict": ".insightsoverviewresponse", "InsightsOverviewResponse": ".insightsoverviewresponse", "InsightsOverviewResponseTypedDict": ".insightsoverviewresponse", "AssistantActivityType": ".insightsrequest", diff --git a/src/glean/api_client/models/insightsoverviewresponse.py b/src/glean/api_client/models/insightsoverviewresponse.py index 5a432be4..32b4ca5c 100644 --- a/src/glean/api_client/models/insightsoverviewresponse.py +++ b/src/glean/api_client/models/insightsoverviewresponse.py @@ -12,31 +12,6 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class EngagementBreakdownTypedDict(TypedDict): - non_users: NotRequired[int] - r"""Number of non-user employees in the specified departments.""" - dormant_users: NotRequired[int] - r"""Number of currently dormant users in the specified departments.""" - regular_users: NotRequired[int] - r"""Number of currently regular users in the specified departments.""" - power_users: NotRequired[int] - r"""Number of currently power users in the specified departments.""" - - -class EngagementBreakdown(BaseModel): - non_users: Annotated[Optional[int], pydantic.Field(alias="nonUsers")] = None - r"""Number of non-user employees in the specified departments.""" - - dormant_users: Annotated[Optional[int], pydantic.Field(alias="dormantUsers")] = None - r"""Number of currently dormant users in the specified departments.""" - - regular_users: Annotated[Optional[int], pydantic.Field(alias="regularUsers")] = None - r"""Number of currently regular users in the specified departments.""" - - power_users: Annotated[Optional[int], pydantic.Field(alias="powerUsers")] = None - r"""Number of currently power users in the specified departments.""" - - class InsightsOverviewResponseTypedDict(TypedDict): monthly_active_users: NotRequired[int] r"""Number of current Monthly Active Users, in the specified departments.""" @@ -64,8 +39,7 @@ class InsightsOverviewResponseTypedDict(TypedDict): chat_datasource_counts: NotRequired[Dict[str, int]] r"""Counts of cited documents in chat, by datasource, over the specified time period in the specified departments.""" per_user_insights: NotRequired[List[PerUserInsightTypedDict]] - r"""Top power users, over the specified time period in the specified departments.""" - engagement_breakdown: NotRequired[EngagementBreakdownTypedDict] + r"""Per-user insights, over the specified time period in the specified departments. All current users in the organization who have signed into Glean at least once are included.""" class InsightsOverviewResponse(BaseModel): @@ -141,8 +115,4 @@ class InsightsOverviewResponse(BaseModel): per_user_insights: Annotated[ Optional[List[PerUserInsight]], pydantic.Field(alias="perUserInsights") ] = None - r"""Top power users, over the specified time period in the specified departments.""" - - engagement_breakdown: Annotated[ - Optional[EngagementBreakdown], pydantic.Field(alias="engagementBreakdown") - ] = None + r"""Per-user insights, over the specified time period in the specified departments. All current users in the organization who have signed into Glean at least once are included.""" diff --git a/src/glean/api_client/models/peragentinsight.py b/src/glean/api_client/models/peragentinsight.py index 0712c362..9680ad54 100644 --- a/src/glean/api_client/models/peragentinsight.py +++ b/src/glean/api_client/models/peragentinsight.py @@ -15,6 +15,8 @@ class PerAgentInsightTypedDict(TypedDict): r"""Agent name""" icon: NotRequired[IconConfigTypedDict] r"""Defines how to render an icon""" + is_deleted: NotRequired[bool] + r"""Indicates whether the agent has been deleted""" user_count: NotRequired[int] r"""Total number of users for this agent over the specified time period.""" run_count: NotRequired[int] @@ -35,6 +37,9 @@ class PerAgentInsight(BaseModel): icon: Optional[IconConfig] = None r"""Defines how to render an icon""" + is_deleted: Annotated[Optional[bool], pydantic.Field(alias="isDeleted")] = None + r"""Indicates whether the agent has been deleted""" + user_count: Annotated[Optional[int], pydantic.Field(alias="userCount")] = None r"""Total number of users for this agent over the specified time period.""" diff --git a/src/glean/api_client/models/peruserassistantinsight.py b/src/glean/api_client/models/peruserassistantinsight.py index e98613c8..64d8ce7d 100644 --- a/src/glean/api_client/models/peruserassistantinsight.py +++ b/src/glean/api_client/models/peruserassistantinsight.py @@ -17,9 +17,9 @@ class PerUserAssistantInsightTypedDict(TypedDict): num_ai_answers: NotRequired[int] r"""Total number of AI Answers interacted with by this user over the specified time period.""" num_gleanbot_interactions: NotRequired[int] - r"""Total number of Gleanbot interacted with by this user over the specified time period.""" + r"""Total number of Gleanbot responses marked useful by this user over the specified time period.""" num_days_active: NotRequired[int] - r"""Total number of days this user was active over the specified time period.""" + r"""Total number of days this user was active on the Assistant over the specified time period.""" class PerUserAssistantInsight(BaseModel): @@ -43,9 +43,9 @@ class PerUserAssistantInsight(BaseModel): num_gleanbot_interactions: Annotated[ Optional[int], pydantic.Field(alias="numGleanbotInteractions") ] = None - r"""Total number of Gleanbot interacted with by this user over the specified time period.""" + r"""Total number of Gleanbot responses marked useful by this user over the specified time period.""" num_days_active: Annotated[Optional[int], pydantic.Field(alias="numDaysActive")] = ( None ) - r"""Total number of days this user was active over the specified time period.""" + r"""Total number of days this user was active on the Assistant over the specified time period.""" diff --git a/src/glean/api_client/models/peruserinsight.py b/src/glean/api_client/models/peruserinsight.py index f5105aee..d2d30cc5 100644 --- a/src/glean/api_client/models/peruserinsight.py +++ b/src/glean/api_client/models/peruserinsight.py @@ -14,6 +14,12 @@ class PerUserInsightTypedDict(TypedDict): r"""Total number of searches by this user over the specified time period.""" num_chats: NotRequired[int] r"""Total number of chats by this user over the specified time period.""" + num_active_sessions: NotRequired[int] + r"""Total number of active sessions by this user in a Glean client over the specified time period.""" + num_gleanbot_useful_responses: NotRequired[int] + r"""Total number of Gleanbot responses marked useful by this user over the specified time period.""" + num_days_active: NotRequired[int] + r"""Total number of days this user was an Active User over the specified time period.""" class PerUserInsight(BaseModel): @@ -24,3 +30,18 @@ class PerUserInsight(BaseModel): num_chats: Annotated[Optional[int], pydantic.Field(alias="numChats")] = None r"""Total number of chats by this user over the specified time period.""" + + num_active_sessions: Annotated[ + Optional[int], pydantic.Field(alias="numActiveSessions") + ] = None + r"""Total number of active sessions by this user in a Glean client over the specified time period.""" + + num_gleanbot_useful_responses: Annotated[ + Optional[int], pydantic.Field(alias="numGleanbotUsefulResponses") + ] = None + r"""Total number of Gleanbot responses marked useful by this user over the specified time period.""" + + num_days_active: Annotated[Optional[int], pydantic.Field(alias="numDaysActive")] = ( + None + ) + r"""Total number of days this user was an Active User over the specified time period.""" diff --git a/tests/mockserver/internal/sdk/models/components/insightsoverviewresponse.go b/tests/mockserver/internal/sdk/models/components/insightsoverviewresponse.go index 77b017d5..83ba55ca 100644 --- a/tests/mockserver/internal/sdk/models/components/insightsoverviewresponse.go +++ b/tests/mockserver/internal/sdk/models/components/insightsoverviewresponse.go @@ -2,45 +2,6 @@ package components -type EngagementBreakdown struct { - // Number of non-user employees in the specified departments. - NonUsers *int64 `json:"nonUsers,omitempty"` - // Number of currently dormant users in the specified departments. - DormantUsers *int64 `json:"dormantUsers,omitempty"` - // Number of currently regular users in the specified departments. - RegularUsers *int64 `json:"regularUsers,omitempty"` - // Number of currently power users in the specified departments. - PowerUsers *int64 `json:"powerUsers,omitempty"` -} - -func (o *EngagementBreakdown) GetNonUsers() *int64 { - if o == nil { - return nil - } - return o.NonUsers -} - -func (o *EngagementBreakdown) GetDormantUsers() *int64 { - if o == nil { - return nil - } - return o.DormantUsers -} - -func (o *EngagementBreakdown) GetRegularUsers() *int64 { - if o == nil { - return nil - } - return o.RegularUsers -} - -func (o *EngagementBreakdown) GetPowerUsers() *int64 { - if o == nil { - return nil - } - return o.PowerUsers -} - type InsightsOverviewResponse struct { // Number of current Monthly Active Users, in the specified departments. MonthlyActiveUsers *int64 `json:"monthlyActiveUsers,omitempty"` @@ -67,9 +28,8 @@ type InsightsOverviewResponse struct { SearchDatasourceCounts map[string]int64 `json:"searchDatasourceCounts,omitempty"` // Counts of cited documents in chat, by datasource, over the specified time period in the specified departments. ChatDatasourceCounts map[string]int64 `json:"chatDatasourceCounts,omitempty"` - // Top power users, over the specified time period in the specified departments. - PerUserInsights []PerUserInsight `json:"perUserInsights,omitempty"` - EngagementBreakdown *EngagementBreakdown `json:"engagementBreakdown,omitempty"` + // Per-user insights, over the specified time period in the specified departments. All current users in the organization who have signed into Glean at least once are included. + PerUserInsights []PerUserInsight `json:"perUserInsights,omitempty"` } func (o *InsightsOverviewResponse) GetMonthlyActiveUsers() *int64 { @@ -190,10 +150,3 @@ func (o *InsightsOverviewResponse) GetPerUserInsights() []PerUserInsight { } return o.PerUserInsights } - -func (o *InsightsOverviewResponse) GetEngagementBreakdown() *EngagementBreakdown { - if o == nil { - return nil - } - return o.EngagementBreakdown -} diff --git a/tests/mockserver/internal/sdk/models/components/peragentinsight.go b/tests/mockserver/internal/sdk/models/components/peragentinsight.go index 51092165..127d21db 100644 --- a/tests/mockserver/internal/sdk/models/components/peragentinsight.go +++ b/tests/mockserver/internal/sdk/models/components/peragentinsight.go @@ -9,6 +9,8 @@ type PerAgentInsight struct { AgentName *string `json:"agentName,omitempty"` // Defines how to render an icon Icon *IconConfig `json:"icon,omitempty"` + // Indicates whether the agent has been deleted + IsDeleted *bool `json:"isDeleted,omitempty"` // Total number of users for this agent over the specified time period. UserCount *int64 `json:"userCount,omitempty"` // Total number of runs for this agent over the specified time period. @@ -40,6 +42,13 @@ func (o *PerAgentInsight) GetIcon() *IconConfig { return o.Icon } +func (o *PerAgentInsight) GetIsDeleted() *bool { + if o == nil { + return nil + } + return o.IsDeleted +} + func (o *PerAgentInsight) GetUserCount() *int64 { if o == nil { return nil diff --git a/tests/mockserver/internal/sdk/models/components/peruserassistantinsight.go b/tests/mockserver/internal/sdk/models/components/peruserassistantinsight.go index cc020f77..1432c2e4 100644 --- a/tests/mockserver/internal/sdk/models/components/peruserassistantinsight.go +++ b/tests/mockserver/internal/sdk/models/components/peruserassistantinsight.go @@ -10,9 +10,9 @@ type PerUserAssistantInsight struct { NumSummarizations *int64 `json:"numSummarizations,omitempty"` // Total number of AI Answers interacted with by this user over the specified time period. NumAiAnswers *int64 `json:"numAiAnswers,omitempty"` - // Total number of Gleanbot interacted with by this user over the specified time period. + // Total number of Gleanbot responses marked useful by this user over the specified time period. NumGleanbotInteractions *int64 `json:"numGleanbotInteractions,omitempty"` - // Total number of days this user was active over the specified time period. + // Total number of days this user was active on the Assistant over the specified time period. NumDaysActive *int64 `json:"numDaysActive,omitempty"` } diff --git a/tests/mockserver/internal/sdk/models/components/peruserinsight.go b/tests/mockserver/internal/sdk/models/components/peruserinsight.go index 0b5ee8f3..18202808 100644 --- a/tests/mockserver/internal/sdk/models/components/peruserinsight.go +++ b/tests/mockserver/internal/sdk/models/components/peruserinsight.go @@ -8,6 +8,12 @@ type PerUserInsight struct { NumSearches *int64 `json:"numSearches,omitempty"` // Total number of chats by this user over the specified time period. NumChats *int64 `json:"numChats,omitempty"` + // Total number of active sessions by this user in a Glean client over the specified time period. + NumActiveSessions *int64 `json:"numActiveSessions,omitempty"` + // Total number of Gleanbot responses marked useful by this user over the specified time period. + NumGleanbotUsefulResponses *int64 `json:"numGleanbotUsefulResponses,omitempty"` + // Total number of days this user was an Active User over the specified time period. + NumDaysActive *int64 `json:"numDaysActive,omitempty"` } func (o *PerUserInsight) GetPerson() *Person { @@ -30,3 +36,24 @@ func (o *PerUserInsight) GetNumChats() *int64 { } return o.NumChats } + +func (o *PerUserInsight) GetNumActiveSessions() *int64 { + if o == nil { + return nil + } + return o.NumActiveSessions +} + +func (o *PerUserInsight) GetNumGleanbotUsefulResponses() *int64 { + if o == nil { + return nil + } + return o.NumGleanbotUsefulResponses +} + +func (o *PerUserInsight) GetNumDaysActive() *int64 { + if o == nil { + return nil + } + return o.NumDaysActive +} 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 258aee60e01192c03af10ea77fb4090482756cc2 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Fri, 21 Nov 2025 09:26:57 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow