From 32f9458591fdabcc535cbafbc0dff1298212db48 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Tue, 7 Oct 2025 16:37:55 +0000 Subject: [PATCH 1/2] ## Python SDK Changes Detected: * `glean.client.insights.retrieve()`: `response` **Changed** --- .speakeasy/gen.lock | 58 +++- .speakeasy/gen.yaml | 2 +- .speakeasy/glean-merged-spec.yaml | 268 ++++++++++++++++++ .speakeasy/workflow.lock | 14 +- README.md | 7 - RELEASES.md | 12 +- docs/models/agentsinsightsv2response.md | 17 ++ docs/models/agentsusagebydepartmentinsight.md | 13 + docs/models/agentusersinsight.md | 13 + docs/models/assistantinsightsresponse.md | 21 ++ docs/models/currentactiveusers.md | 9 + docs/models/engagementbreakdown.md | 11 + docs/models/feedrequestcategory.md | 1 + docs/models/feedresultcategory.md | 1 + docs/models/insightschatsummary.md | 11 + docs/models/insightsoverviewresponse.md | 25 ++ docs/models/insightsresponse.md | 33 ++- docs/models/insightssearchsummary.md | 11 + docs/models/peragentinsight.md | 11 + docs/models/peruserassistantinsight.md | 13 + docs/models/peruserinsight.md | 10 + docs/sdks/client/README.md | 6 - docs/sdks/glean/README.md | 23 -- docs/sdks/indexing/README.md | 6 - pyproject.toml | 2 +- speakeasyusagegen/.speakeasy/logs/naming.log | 12 + src/glean/api_client/_version.py | 6 +- src/glean/api_client/models/__init__.py | 79 ++++++ .../models/agentsinsightsv2response.py | 78 +++++ .../models/agentsusagebydepartmentinsight.py | 44 +++ .../api_client/models/agentusersinsight.py | 49 ++++ .../models/assistantinsightsresponse.py | 94 ++++++ .../api_client/models/currentactiveusers.py | 26 ++ src/glean/api_client/models/feedrequest.py | 1 + src/glean/api_client/models/feedresult.py | 1 + .../api_client/models/insightschatsummary.py | 38 +++ .../models/insightsoverviewresponse.py | 148 ++++++++++ .../api_client/models/insightsresponse.py | 41 ++- .../models/insightssearchsummary.py | 38 +++ .../api_client/models/peragentinsight.py | 32 +++ .../models/peruserassistantinsight.py | 51 ++++ src/glean/api_client/models/peruserinsight.py | 26 ++ .../pathpostrestapiv1createcollection.go | 20 +- .../handler/pathpostrestapiv1getchat.go | 4 +- .../components/agentsinsightsv2response.go | 89 ++++++ .../agentsusagebydepartmentinsight.go | 60 ++++ .../models/components/agentusersinsight.go | 59 ++++ .../components/assistantinsightsresponse.go | 122 ++++++++ .../models/components/currentactiveusers.go | 24 ++ .../sdk/models/components/feedrequest.go | 3 + .../sdk/models/components/feedresult.go | 3 + .../models/components/insightschatsummary.go | 42 +++ .../components/insightsoverviewresponse.go | 199 +++++++++++++ .../sdk/models/components/insightsresponse.go | 30 +- .../components/insightssearchsummary.go | 42 +++ .../sdk/models/components/peragentinsight.go | 42 +++ .../components/peruserassistantinsight.go | 59 ++++ .../sdk/models/components/peruserinsight.go | 32 +++ tests/test_summarize.py | 8 +- 59 files changed, 2098 insertions(+), 102 deletions(-) create mode 100644 docs/models/agentsinsightsv2response.md create mode 100644 docs/models/agentsusagebydepartmentinsight.md create mode 100644 docs/models/agentusersinsight.md create mode 100644 docs/models/assistantinsightsresponse.md create mode 100644 docs/models/currentactiveusers.md create mode 100644 docs/models/engagementbreakdown.md create mode 100644 docs/models/insightschatsummary.md create mode 100644 docs/models/insightsoverviewresponse.md create mode 100644 docs/models/insightssearchsummary.md create mode 100644 docs/models/peragentinsight.md create mode 100644 docs/models/peruserassistantinsight.md create mode 100644 docs/models/peruserinsight.md delete mode 100644 docs/sdks/client/README.md delete mode 100644 docs/sdks/glean/README.md delete mode 100644 docs/sdks/indexing/README.md create mode 100644 src/glean/api_client/models/agentsinsightsv2response.py create mode 100644 src/glean/api_client/models/agentsusagebydepartmentinsight.py create mode 100644 src/glean/api_client/models/agentusersinsight.py create mode 100644 src/glean/api_client/models/assistantinsightsresponse.py create mode 100644 src/glean/api_client/models/currentactiveusers.py create mode 100644 src/glean/api_client/models/insightschatsummary.py create mode 100644 src/glean/api_client/models/insightsoverviewresponse.py create mode 100644 src/glean/api_client/models/insightssearchsummary.py create mode 100644 src/glean/api_client/models/peragentinsight.py create mode 100644 src/glean/api_client/models/peruserassistantinsight.py create mode 100644 src/glean/api_client/models/peruserinsight.py create mode 100644 tests/mockserver/internal/sdk/models/components/agentsinsightsv2response.go create mode 100644 tests/mockserver/internal/sdk/models/components/agentsusagebydepartmentinsight.go create mode 100644 tests/mockserver/internal/sdk/models/components/agentusersinsight.go create mode 100644 tests/mockserver/internal/sdk/models/components/assistantinsightsresponse.go create mode 100644 tests/mockserver/internal/sdk/models/components/currentactiveusers.go create mode 100644 tests/mockserver/internal/sdk/models/components/insightschatsummary.go create mode 100644 tests/mockserver/internal/sdk/models/components/insightsoverviewresponse.go create mode 100644 tests/mockserver/internal/sdk/models/components/insightssearchsummary.go create mode 100644 tests/mockserver/internal/sdk/models/components/peragentinsight.go create mode 100644 tests/mockserver/internal/sdk/models/components/peruserassistantinsight.go create mode 100644 tests/mockserver/internal/sdk/models/components/peruserinsight.go diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 84ebdabf..f2743504 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: 4da00527918b988739e82fc8fa61c5a1 + docChecksum: 61bbc45b5126a953afff41d8a982acd2 docVersion: 0.9.0 - speakeasyVersion: 1.633.1 - generationVersion: 2.720.1 - releaseVersion: 0.9.3 - configChecksum: 96bc30b8551023e82f8f063630b2bdf5 + speakeasyVersion: 1.635.3 + generationVersion: 2.722.5 + releaseVersion: 0.10.0 + configChecksum: e41f404b055a41475e1d9727fde5a95a repoURL: https://github.com/gleanwork/api-client-python.git installationURL: https://github.com/gleanwork/api-client-python.git published: true @@ -16,7 +16,7 @@ features: additionalProperties: 1.0.1 configurableModuleName: 0.2.0 constsAndDefaults: 1.0.5 - core: 5.22.0 + core: 5.22.1 defaultEnabledRetries: 0.2.0 deprecations: 3.0.2 devContainers: 3.0.0 @@ -29,7 +29,7 @@ features: globalSecurityCallbacks: 1.0.0 globalSecurityFlattening: 1.0.0 globalServerURLs: 3.1.1 - groups: 3.0.0 + groups: 3.0.1 methodArguments: 1.0.2 mockServer: 0.1.1 multipartFileContentType: 1.0.0 @@ -38,7 +38,7 @@ features: retries: 3.0.2 sdkHooks: 1.1.0 tests: 1.19.5 - unions: 3.0.5 + unions: 3.1.0 uploadStreams: 1.0.0 generatedFiles: - .devcontainer/README.md @@ -70,6 +70,9 @@ generatedFiles: - docs/models/agentrunwaitresponse.md - docs/models/agentschemas.md - docs/models/agentsinsightsv2request.md + - docs/models/agentsinsightsv2response.md + - docs/models/agentsusagebydepartmentinsight.md + - docs/models/agentusersinsight.md - docs/models/aiappactioncounts.md - docs/models/aiappsinsightsresponse.md - docs/models/aiinsightsresponse.md @@ -90,6 +93,7 @@ generatedFiles: - docs/models/answersourcetype.md - docs/models/appresult.md - docs/models/assistantactivitytype.md + - docs/models/assistantinsightsresponse.md - docs/models/authconfig.md - docs/models/authconfigstatus.md - docs/models/authconfigtype.md @@ -176,6 +180,7 @@ generatedFiles: - docs/models/createdlpreportresponse.md - docs/models/createshortcutrequest.md - docs/models/createshortcutresponse.md + - docs/models/currentactiveusers.md - docs/models/customdatasourceconfig.md - docs/models/customdatasourceconfigconnectortype.md - docs/models/customdatavalue.md @@ -278,6 +283,7 @@ 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 @@ -388,10 +394,13 @@ generatedFiles: - docs/models/insightsagentsrequestoptions.md - docs/models/insightsaiapprequestoptions.md - docs/models/insightsassistantrequest.md + - docs/models/insightschatsummary.md - docs/models/insightsoverviewrequest.md + - docs/models/insightsoverviewresponse.md - docs/models/insightsrequest.md - docs/models/insightsrequestcategory.md - docs/models/insightsresponse.md + - docs/models/insightssearchsummary.md - docs/models/invalidoperatorvalueerror.md - docs/models/inviteinfo.md - docs/models/issue.md @@ -441,6 +450,7 @@ generatedFiles: - docs/models/peoplerequest.md - docs/models/peoplerequestincludefield.md - docs/models/peopleresponse.md + - docs/models/peragentinsight.md - docs/models/period.md - docs/models/permissions.md - docs/models/permissionsgroupintersectiondefinition.md @@ -453,6 +463,8 @@ generatedFiles: - docs/models/personteamrelationship.md - docs/models/persontoteamrelationship.md - docs/models/persontoteamrelationshiprelationship.md + - docs/models/peruserassistantinsight.md + - docs/models/peruserinsight.md - docs/models/pindocument.md - docs/models/pinrequest.md - docs/models/possiblevalue.md @@ -628,7 +640,6 @@ generatedFiles: - docs/sdks/agents/README.md - docs/sdks/announcements/README.md - docs/sdks/answers/README.md - - docs/sdks/client/README.md - docs/sdks/clientactivity/README.md - docs/sdks/clientauthentication/README.md - docs/sdks/clientchat/README.md @@ -638,8 +649,6 @@ generatedFiles: - docs/sdks/collections/README.md - docs/sdks/datasources/README.md - docs/sdks/entities/README.md - - docs/sdks/glean/README.md - - docs/sdks/indexing/README.md - docs/sdks/indexingauthentication/README.md - docs/sdks/indexingdatasource/README.md - docs/sdks/indexingdocuments/README.md @@ -713,6 +722,9 @@ generatedFiles: - src/glean/api_client/models/agentrunwaitresponse.py - src/glean/api_client/models/agentschemas.py - src/glean/api_client/models/agentsinsightsv2request.py + - src/glean/api_client/models/agentsinsightsv2response.py + - src/glean/api_client/models/agentsusagebydepartmentinsight.py + - src/glean/api_client/models/agentusersinsight.py - src/glean/api_client/models/aiappactioncounts.py - src/glean/api_client/models/aiappsinsightsresponse.py - src/glean/api_client/models/aiinsightsresponse.py @@ -726,6 +738,7 @@ generatedFiles: - src/glean/api_client/models/answerlikes.py - src/glean/api_client/models/answerresult.py - src/glean/api_client/models/appresult.py + - src/glean/api_client/models/assistantinsightsresponse.py - src/glean/api_client/models/authconfig.py - src/glean/api_client/models/authtoken.py - src/glean/api_client/models/autocompleterequest.py @@ -797,6 +810,7 @@ generatedFiles: - src/glean/api_client/models/createdlpreportresponse.py - src/glean/api_client/models/createshortcutrequest.py - src/glean/api_client/models/createshortcutresponse.py + - src/glean/api_client/models/currentactiveusers.py - src/glean/api_client/models/customdatasourceconfig.py - src/glean/api_client/models/customdatavalue.py - src/glean/api_client/models/customentity.py @@ -969,9 +983,12 @@ generatedFiles: - src/glean/api_client/models/insightsagentsrequestoptions.py - src/glean/api_client/models/insightsaiapprequestoptions.py - src/glean/api_client/models/insightsassistantrequest.py + - src/glean/api_client/models/insightschatsummary.py - src/glean/api_client/models/insightsoverviewrequest.py + - src/glean/api_client/models/insightsoverviewresponse.py - src/glean/api_client/models/insightsrequest.py - src/glean/api_client/models/insightsresponse.py + - src/glean/api_client/models/insightssearchsummary.py - src/glean/api_client/models/invalidoperatorvalueerror.py - src/glean/api_client/models/inviteinfo.py - src/glean/api_client/models/labeledcountinfo.py @@ -1002,6 +1019,7 @@ generatedFiles: - src/glean/api_client/models/operatorscope.py - src/glean/api_client/models/peoplerequest.py - src/glean/api_client/models/peopleresponse.py + - src/glean/api_client/models/peragentinsight.py - src/glean/api_client/models/period.py - src/glean/api_client/models/permissions.py - src/glean/api_client/models/permissionsgroupintersectiondefinition.py @@ -1011,6 +1029,8 @@ generatedFiles: - src/glean/api_client/models/personobject.py - src/glean/api_client/models/personteam.py - src/glean/api_client/models/persontoteamrelationship.py + - src/glean/api_client/models/peruserassistantinsight.py + - src/glean/api_client/models/peruserinsight.py - src/glean/api_client/models/pindocument.py - src/glean/api_client/models/pinrequest.py - src/glean/api_client/models/possiblevalue.py @@ -1297,6 +1317,9 @@ generatedFiles: - tests/mockserver/internal/sdk/models/components/agentrunwaitresponse.go - tests/mockserver/internal/sdk/models/components/agentschemas.go - tests/mockserver/internal/sdk/models/components/agentsinsightsv2request.go + - tests/mockserver/internal/sdk/models/components/agentsinsightsv2response.go + - tests/mockserver/internal/sdk/models/components/agentsusagebydepartmentinsight.go + - tests/mockserver/internal/sdk/models/components/agentusersinsight.go - tests/mockserver/internal/sdk/models/components/aiappactioncounts.go - tests/mockserver/internal/sdk/models/components/aiappsinsightsresponse.go - tests/mockserver/internal/sdk/models/components/aiinsightsresponse.go @@ -1310,6 +1333,7 @@ generatedFiles: - tests/mockserver/internal/sdk/models/components/answerlikes.go - tests/mockserver/internal/sdk/models/components/answerresult.go - tests/mockserver/internal/sdk/models/components/appresult.go + - tests/mockserver/internal/sdk/models/components/assistantinsightsresponse.go - tests/mockserver/internal/sdk/models/components/authconfig.go - tests/mockserver/internal/sdk/models/components/authtoken.go - tests/mockserver/internal/sdk/models/components/autocompleterequest.go @@ -1378,6 +1402,7 @@ generatedFiles: - tests/mockserver/internal/sdk/models/components/createdlpreportresponse.go - tests/mockserver/internal/sdk/models/components/createshortcutrequest.go - tests/mockserver/internal/sdk/models/components/createshortcutresponse.go + - tests/mockserver/internal/sdk/models/components/currentactiveusers.go - tests/mockserver/internal/sdk/models/components/customdatasourceconfig.go - tests/mockserver/internal/sdk/models/components/customdatavalue.go - tests/mockserver/internal/sdk/models/components/customentity.go @@ -1536,9 +1561,12 @@ generatedFiles: - tests/mockserver/internal/sdk/models/components/insightsagentsrequestoptions.go - tests/mockserver/internal/sdk/models/components/insightsaiapprequestoptions.go - tests/mockserver/internal/sdk/models/components/insightsassistantrequest.go + - tests/mockserver/internal/sdk/models/components/insightschatsummary.go - tests/mockserver/internal/sdk/models/components/insightsoverviewrequest.go + - tests/mockserver/internal/sdk/models/components/insightsoverviewresponse.go - tests/mockserver/internal/sdk/models/components/insightsrequest.go - tests/mockserver/internal/sdk/models/components/insightsresponse.go + - tests/mockserver/internal/sdk/models/components/insightssearchsummary.go - tests/mockserver/internal/sdk/models/components/invalidoperatorvalueerror.go - tests/mockserver/internal/sdk/models/components/inviteinfo.go - tests/mockserver/internal/sdk/models/components/labeledcountinfo.go @@ -1565,6 +1593,7 @@ generatedFiles: - tests/mockserver/internal/sdk/models/components/operatorscope.go - tests/mockserver/internal/sdk/models/components/peoplerequest.go - tests/mockserver/internal/sdk/models/components/peopleresponse.go + - tests/mockserver/internal/sdk/models/components/peragentinsight.go - tests/mockserver/internal/sdk/models/components/period.go - tests/mockserver/internal/sdk/models/components/permissions.go - tests/mockserver/internal/sdk/models/components/permissionsgroupintersectiondefinition.go @@ -1574,6 +1603,8 @@ generatedFiles: - tests/mockserver/internal/sdk/models/components/personobject.go - tests/mockserver/internal/sdk/models/components/personteam.go - tests/mockserver/internal/sdk/models/components/persontoteamrelationship.go + - tests/mockserver/internal/sdk/models/components/peruserassistantinsight.go + - tests/mockserver/internal/sdk/models/components/peruserinsight.go - tests/mockserver/internal/sdk/models/components/pindocument.go - tests/mockserver/internal/sdk/models/components/pinrequest.go - tests/mockserver/internal/sdk/models/components/possiblevalue.go @@ -2160,7 +2191,7 @@ examples: application/json: {} responses: "200": - application/json: {"users": {"activityInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "SEARCH"}], "inactiveInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "ALL"}]}, "content": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "collections": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "collectionsV2": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "shortcuts": {"shortcutInsights": [{"shortcut": {"inputAlias": "", "addedRoles": [{"person": {"name": "George Clooney", "obfuscatedId": "abc123"}, "role": "VIEWER"}], "removedRoles": [{"person": {"name": "George Clooney", "obfuscatedId": "abc123"}, "role": "ANSWER_MODERATOR"}], "createdBy": {"name": "George Clooney", "obfuscatedId": "abc123"}, "updatedBy": {"name": "George Clooney", "obfuscatedId": "abc123"}, "destinationDocument": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "roles": [{"person": {"name": "George Clooney", "obfuscatedId": "abc123"}, "role": "EDITOR"}]}}]}, "announcements": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "answers": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "ai": {"assistantInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "SEARCH"}]}, "aiApps": {"aiAppInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "ALL"}]}, "gleanAssist": {"activityInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "SEARCH"}]}} + application/json: {"users": {"activityInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "SEARCH"}], "inactiveInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "ALL"}]}, "content": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "collections": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "collectionsV2": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "shortcuts": {"shortcutInsights": [{"shortcut": {"inputAlias": "", "addedRoles": [{"person": {"name": "George Clooney", "obfuscatedId": "abc123"}, "role": "VIEWER"}], "removedRoles": [{"person": {"name": "George Clooney", "obfuscatedId": "abc123"}, "role": "ANSWER_MODERATOR"}], "createdBy": {"name": "George Clooney", "obfuscatedId": "abc123"}, "updatedBy": {"name": "George Clooney", "obfuscatedId": "abc123"}, "destinationDocument": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "roles": [{"person": {"name": "George Clooney", "obfuscatedId": "abc123"}, "role": "EDITOR"}]}}]}, "announcements": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "answers": {"documentInsights": [{"document": {"containerDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "parentDocument": {"metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}, "metadata": {"datasource": "datasource", "objectType": "Feature Request", "container": "container", "parentId": "JIRA_EN-1337", "mimeType": "mimeType", "documentId": "documentId", "createTime": "2000-01-23T04:56:07.000Z", "updateTime": "2000-01-23T04:56:07.000Z", "author": {"name": "name", "obfuscatedId": ""}, "components": ["Backend", "Networking"], "status": "[\"Done\"]", "customData": {"someCustomField": {}}}}}]}, "ai": {"assistantInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "SEARCH"}]}, "aiApps": {"aiAppInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "ALL"}]}, "gleanAssist": {"activityInsights": [{"user": {"name": "George Clooney", "obfuscatedId": "abc123"}, "activity": "SEARCH"}]}, "overviewResponse": {"perUserInsights": [{"person": {"name": "George Clooney", "obfuscatedId": "abc123"}}]}, "assistantResponse": {"perUserInsights": [{"person": {"name": "George Clooney", "obfuscatedId": "abc123"}}]}, "agentsResponse": {"agentUsersInsights": [{"person": {"name": "George Clooney", "obfuscatedId": "abc123"}}]}} messages: speakeasy-default-messages: requestBody: @@ -2711,3 +2742,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** diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index d823a850..02b92650 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -27,7 +27,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: true python: - version: 0.9.3 + version: 0.10.0 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/glean-merged-spec.yaml b/.speakeasy/glean-merged-spec.yaml index 60a94dee..ff81d932 100644 --- a/.speakeasy/glean-merged-spec.yaml +++ b/.speakeasy/glean-merged-spec.yaml @@ -8467,40 +8467,306 @@ components: items: type: string description: List of departments applicable for users tab. + CurrentActiveUsers: + properties: + monthlyActiveUsers: + type: integer + description: Number of current Monthly Active Users, in the specified departments. + weeklyActiveUsers: + type: integer + description: Number of current Weekly Active Users, in the specified departments. + InsightsSearchSummary: + allOf: + - $ref: "#/components/schemas/CurrentActiveUsers" + - type: object + properties: + numSearches: + type: integer + description: Total number of searches by users over the specified time period. + numSearchUsers: + type: integer + description: Total number of distinct users who searched over the specified time period. + InsightsChatSummary: + allOf: + - $ref: "#/components/schemas/CurrentActiveUsers" + - type: object + properties: + numChats: + type: integer + description: Total number of chats by users over the specified time period. + numChatUsers: + type: integer + description: Total number of distinct users who used Chat over the specified time period. + InsightsDepartmentsSummary: + allOf: + - $ref: "#/components/schemas/CurrentActiveUsers" + - type: object + properties: + departments: + type: array + items: + type: string + description: Department name(s). + employeeCount: + type: integer + description: Number of current employees in the specified departments, according to the Org Chart. + totalSignups: + type: integer + description: Number of current signed up employees in the specified departments, according to the Org Chart. + searchSummary: + $ref: "#/components/schemas/InsightsSearchSummary" + chatSummary: + $ref: "#/components/schemas/InsightsChatSummary" + extensionSummary: + $ref: "#/components/schemas/CurrentActiveUsers" + ugcSummary: + $ref: "#/components/schemas/CurrentActiveUsers" + PerUserInsight: + properties: + person: + $ref: "#/components/schemas/Person" + numSearches: + type: integer + description: Total number of searches by this user over the specified time period. + numChats: + type: integer + description: Total number of chats by this user over the specified time period. + InsightsOverviewResponse: + allOf: + - $ref: "#/components/schemas/InsightsDepartmentsSummary" + - type: object + properties: + lastUpdatedTs: + type: integer + description: Unix timestamp of the last update for the insights data in the response. + searchSessionSatisfaction: + type: number + format: float + description: Search session satisfaction rate, over the specified time period in the specified departments. + monthlyActiveUserTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + weeklyActiveUserTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + dailyActiveUserTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + searchDatasourceCounts: + type: object + additionalProperties: + type: integer + description: Counts of search result clicks, by datasource, over the specified time period in the specified departments. + chatDatasourceCounts: + type: object + additionalProperties: + type: integer + description: Counts of cited documents in chat, by datasource, over the specified time period in the specified departments. + perUserInsights: + 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. + PerUserAssistantInsight: + properties: + person: + $ref: "#/components/schemas/Person" + numChatMessages: + type: integer + description: Total number of chat messages sent by this user over the specified time period. + numSummarizations: + type: integer + description: Total number of summarized items by this user over the specified time period. + numAiAnswers: + type: integer + 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. + numDaysActive: + type: integer + description: Total number of days this user was active over the specified time period. + AssistantInsightsResponse: + allOf: + - $ref: "#/components/schemas/CurrentActiveUsers" + - type: object + properties: + lastUpdatedTs: + type: integer + description: Unix timestamp of the last update for the insights data in the response. + monthlyActiveUserTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + weeklyActiveUserTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + dailyActiveUserTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + totalSignups: + type: integer + description: Number of current signed up employees in the specified departments, according to the Org Chart. + chatMessagesTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + summarizationsTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + aiAnswersTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + gleanbotInteractionsTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + perUserInsights: + type: array + items: + $ref: "#/components/schemas/PerUserAssistantInsight" + upvotesTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + downvotesTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + PerAgentInsight: + properties: + agentId: + type: string + description: Agent ID + agentName: + type: string + description: Agent name + userCount: + type: integer + description: Total number of users for this agent over the specified time period. + runCount: + type: integer + description: Total number of runs for this agent over the specified time period. + AgentsUsageByDepartmentInsight: + properties: + department: + type: string + description: Name of the department + agentAdoptionRate: + type: number + format: float + description: Percentage of employees in the department who have used agents at least once over the specified time period. + userCount: + type: integer + description: Total number of users in this department who have used any agent over the specified time period. + runCount: + type: integer + description: Total number of runs in this department over the specified time period. + agentId: + type: string + description: ID of the agent to be shown in the agent column in this department over the specified time period. + agentName: + type: string + description: Name of the agent to be shown in the agent column in this department over the specified time period. + AgentUsersInsight: + properties: + person: + $ref: "#/components/schemas/Person" + departmentName: + type: string + description: Department name + agentsUsedCount: + type: integer + description: Total number of agents used by this user over the specified time period. + averageRunsPerDayCount: + type: number + format: float + description: Average number of runs per day for this user over the specified time period. + agentsCreatedCount: + type: integer + description: Total number of agents created by this user over the specified time period. + runCount: + type: integer + description: Total number of agent runs for this user over the specified time period. + AgentsInsightsV2Response: + allOf: + - $ref: "#/components/schemas/CurrentActiveUsers" + - type: object + properties: + monthlyActiveUserTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + weeklyActiveUserTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + dailyActiveUserTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" + sharedAgentsCount: + type: integer + description: Total number of shared agents. + topAgentsInsights: + type: array + items: + $ref: "#/components/schemas/PerAgentInsight" + agentsUsageByDepartmentInsights: + type: array + items: + $ref: "#/components/schemas/AgentsUsageByDepartmentInsight" + agentUsersInsights: + type: array + items: + $ref: "#/components/schemas/AgentUsersInsight" + dailyAgentRunsTimeseries: + $ref: "#/components/schemas/LabeledCountInfo" InsightsResponse: properties: timeseries: + deprecated: true type: array items: $ref: "#/components/schemas/LabeledCountInfo" description: List of timeseries to make charts (if applicable). users: + deprecated: true $ref: "#/components/schemas/UserInsightsResponse" content: + deprecated: true $ref: "#/components/schemas/ContentInsightsResponse" queries: + deprecated: true $ref: "#/components/schemas/QueryInsightsResponse" collections: + deprecated: true $ref: "#/components/schemas/ContentInsightsResponse" collectionsV2: + deprecated: true $ref: "#/components/schemas/ContentInsightsResponse" shortcuts: + deprecated: true $ref: "#/components/schemas/ShortcutInsightsResponse" announcements: + deprecated: true $ref: "#/components/schemas/ContentInsightsResponse" answers: + deprecated: true $ref: "#/components/schemas/ContentInsightsResponse" ai: + deprecated: true $ref: "#/components/schemas/AiInsightsResponse" aiApps: + deprecated: true $ref: "#/components/schemas/AiAppsInsightsResponse" gleanAssist: + deprecated: true $ref: "#/components/schemas/GleanAssistInsightsResponse" departments: + deprecated: true type: array items: type: string description: list of all departments. + overviewResponse: + $ref: "#/components/schemas/InsightsOverviewResponse" + assistantResponse: + $ref: "#/components/schemas/AssistantInsightsResponse" + agentsResponse: + $ref: "#/components/schemas/AgentsInsightsV2Response" MessagesRequest: required: - id @@ -9272,6 +9538,7 @@ components: - ZERO_STATE_WORKFLOW_CREATED_BY_ME - ZERO_STATE_WORKFLOW_FAVORITES - ZERO_STATE_WORKFLOW_POPULAR + - ZERO_STATE_WORKFLOW_RECENT - ZERO_STATE_WORKFLOW_SUGGESTION - PERSONALIZED_CHAT_SUGGESTION - DAILY_DIGEST @@ -9811,6 +10078,7 @@ components: - ZERO_STATE_WORKFLOW_CREATED_BY_ME - ZERO_STATE_WORKFLOW_FAVORITES - ZERO_STATE_WORKFLOW_POPULAR + - ZERO_STATE_WORKFLOW_RECENT - ZERO_STATE_WORKFLOW_SUGGESTION - PERSONALIZED_CHAT_SUGGESTION - DAILY_DIGEST diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index e175ce51..09865a10 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,12 +1,12 @@ -speakeasyVersion: 1.633.1 +speakeasyVersion: 1.635.3 sources: Glean API: sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:973ad5e684eb699f9e585ec03cc02a48e243146bb66be2014682d3eb48998606 - sourceBlobDigest: sha256:d764346b0c5d0e79a5abc614b36967702bd4f7ecc279ec0d13d6ec75d6d129fa + sourceRevisionDigest: sha256:9c88586528e71ab61d6ab430aae0133ce42899151af73f3917d776b7d45785a5 + sourceBlobDigest: sha256:ce64a4e209ccf3f1af32689bd1d7c3aea9bf764b2b047ccb8decbc87dbdd3c1e tags: - latest - - speakeasy-sdk-regen-1759350524 + - speakeasy-sdk-regen-1759451489 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:973ad5e684eb699f9e585ec03cc02a48e243146bb66be2014682d3eb48998606 - sourceBlobDigest: sha256:d764346b0c5d0e79a5abc614b36967702bd4f7ecc279ec0d13d6ec75d6d129fa + sourceRevisionDigest: sha256:9c88586528e71ab61d6ab430aae0133ce42899151af73f3917d776b7d45785a5 + sourceBlobDigest: sha256:ce64a4e209ccf3f1af32689bd1d7c3aea9bf764b2b047ccb8decbc87dbdd3c1e codeSamplesNamespace: glean-api-specs-python-code-samples - codeSamplesRevisionDigest: sha256:5fe7ff2fe40f994516845cf5b898a09218f76d4176b9396fd0543f596195ce44 + codeSamplesRevisionDigest: sha256:0d1a660f011a38e27a21f4c12262125a96c0408cc6efda8952c81d8feca2fb46 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 159315cd..0e095505 100644 --- a/README.md +++ b/README.md @@ -336,9 +336,6 @@ For more information on obtaining the appropriate token type, please contact you
Available methods -### [client](docs/sdks/client/README.md) - - #### [client.activity](docs/sdks/clientactivity/README.md) * [report](docs/sdks/clientactivity/README.md#report) - Report document activity @@ -468,10 +465,6 @@ For more information on obtaining the appropriate token type, please contact you * [list](docs/sdks/clientverification/README.md#list) - List verifications * [verify](docs/sdks/clientverification/README.md#verify) - Update verification - -### [indexing](docs/sdks/indexing/README.md) - - #### [indexing.authentication](docs/sdks/indexingauthentication/README.md) * [rotate_token](docs/sdks/indexingauthentication/README.md#rotate_token) - Rotate token diff --git a/RELEASES.md b/RELEASES.md index 43e8b69e..de7c6b3a 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -268,4 +268,14 @@ Based on: ### Generated - [python v0.9.3] . ### Releases -- [PyPI v0.9.3] https://pypi.org/project/glean/0.9.3 - . \ No newline at end of file +- [PyPI v0.9.3] https://pypi.org/project/glean/0.9.3 - . + +## 2025-10-07 16:34:41 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.635.3 (2.722.5) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.10.0] . +### Releases +- [PyPI v0.10.0] https://pypi.org/project/glean/0.10.0 - . \ No newline at end of file diff --git a/docs/models/agentsinsightsv2response.md b/docs/models/agentsinsightsv2response.md new file mode 100644 index 00000000..d047332d --- /dev/null +++ b/docs/models/agentsinsightsv2response.md @@ -0,0 +1,17 @@ +# AgentsInsightsV2Response + + +## 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. | +| `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 | +| `shared_agents_count` | *Optional[int]* | :heavy_minus_sign: | Total number of shared agents. | +| `top_agents_insights` | List[[models.PerAgentInsight](../models/peragentinsight.md)] | :heavy_minus_sign: | N/A | +| `agents_usage_by_department_insights` | List[[models.AgentsUsageByDepartmentInsight](../models/agentsusagebydepartmentinsight.md)] | :heavy_minus_sign: | N/A | +| `agent_users_insights` | List[[models.AgentUsersInsight](../models/agentusersinsight.md)] | :heavy_minus_sign: | N/A | +| `daily_agent_runs_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/agentsusagebydepartmentinsight.md b/docs/models/agentsusagebydepartmentinsight.md new file mode 100644 index 00000000..57fa1659 --- /dev/null +++ b/docs/models/agentsusagebydepartmentinsight.md @@ -0,0 +1,13 @@ +# AgentsUsageByDepartmentInsight + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `department` | *Optional[str]* | :heavy_minus_sign: | Name of the department | +| `agent_adoption_rate` | *Optional[float]* | :heavy_minus_sign: | Percentage of employees in the department who have used agents at least once over the specified time period. | +| `user_count` | *Optional[int]* | :heavy_minus_sign: | Total number of users in this department who have used any agent over the specified time period. | +| `run_count` | *Optional[int]* | :heavy_minus_sign: | Total number of runs in this department over the specified time period. | +| `agent_id` | *Optional[str]* | :heavy_minus_sign: | ID of the agent to be shown in the agent column in this department over the specified time period. | +| `agent_name` | *Optional[str]* | :heavy_minus_sign: | Name of the agent to be shown in the agent column in this department over the specified time period. | \ No newline at end of file diff --git a/docs/models/agentusersinsight.md b/docs/models/agentusersinsight.md new file mode 100644 index 00000000..69acef4d --- /dev/null +++ b/docs/models/agentusersinsight.md @@ -0,0 +1,13 @@ +# AgentUsersInsight + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | +| `person` | [Optional[models.Person]](../models/person.md) | :heavy_minus_sign: | N/A | {
"name": "George Clooney",
"obfuscatedId": "abc123"
} | +| `department_name` | *Optional[str]* | :heavy_minus_sign: | Department name | | +| `agents_used_count` | *Optional[int]* | :heavy_minus_sign: | Total number of agents used by this user over the specified time period. | | +| `average_runs_per_day_count` | *Optional[float]* | :heavy_minus_sign: | Average number of runs per day for this user over the specified time period. | | +| `agents_created_count` | *Optional[int]* | :heavy_minus_sign: | Total number of agents created by this user over the specified time period. | | +| `run_count` | *Optional[int]* | :heavy_minus_sign: | Total number of agent runs for this user over the specified time period. | | \ No newline at end of file diff --git a/docs/models/assistantinsightsresponse.md b/docs/models/assistantinsightsresponse.md new file mode 100644 index 00000000..022c4ee4 --- /dev/null +++ b/docs/models/assistantinsightsresponse.md @@ -0,0 +1,21 @@ +# AssistantInsightsResponse + + +## 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. | +| `last_updated_ts` | *Optional[int]* | :heavy_minus_sign: | Unix timestamp of the last update for the insights data in the response. | +| `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 | +| `total_signups` | *Optional[int]* | :heavy_minus_sign: | Number of current signed up employees in the specified departments, according to the Org Chart. | +| `chat_messages_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | +| `summarizations_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | +| `ai_answers_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | +| `gleanbot_interactions_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | +| `per_user_insights` | List[[models.PerUserAssistantInsight](../models/peruserassistantinsight.md)] | :heavy_minus_sign: | N/A | +| `upvotes_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | +| `downvotes_timeseries` | [Optional[models.LabeledCountInfo]](../models/labeledcountinfo.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/currentactiveusers.md b/docs/models/currentactiveusers.md new file mode 100644 index 00000000..3852b41c --- /dev/null +++ b/docs/models/currentactiveusers.md @@ -0,0 +1,9 @@ +# CurrentActiveUsers + + +## 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. | \ No newline at end of file diff --git a/docs/models/engagementbreakdown.md b/docs/models/engagementbreakdown.md new file mode 100644 index 00000000..3803a9f0 --- /dev/null +++ b/docs/models/engagementbreakdown.md @@ -0,0 +1,11 @@ +# 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/feedrequestcategory.md b/docs/models/feedrequestcategory.md index 070f336d..b6590356 100644 --- a/docs/models/feedrequestcategory.md +++ b/docs/models/feedrequestcategory.md @@ -26,6 +26,7 @@ | `ZERO_STATE_WORKFLOW_CREATED_BY_ME` | ZERO_STATE_WORKFLOW_CREATED_BY_ME | | `ZERO_STATE_WORKFLOW_FAVORITES` | ZERO_STATE_WORKFLOW_FAVORITES | | `ZERO_STATE_WORKFLOW_POPULAR` | ZERO_STATE_WORKFLOW_POPULAR | +| `ZERO_STATE_WORKFLOW_RECENT` | ZERO_STATE_WORKFLOW_RECENT | | `ZERO_STATE_WORKFLOW_SUGGESTION` | ZERO_STATE_WORKFLOW_SUGGESTION | | `PERSONALIZED_CHAT_SUGGESTION` | PERSONALIZED_CHAT_SUGGESTION | | `DAILY_DIGEST` | DAILY_DIGEST | \ No newline at end of file diff --git a/docs/models/feedresultcategory.md b/docs/models/feedresultcategory.md index 3a70f49a..5de26d31 100644 --- a/docs/models/feedresultcategory.md +++ b/docs/models/feedresultcategory.md @@ -28,6 +28,7 @@ Category of the result, one of the requested categories in incoming request. | `ZERO_STATE_WORKFLOW_CREATED_BY_ME` | ZERO_STATE_WORKFLOW_CREATED_BY_ME | | `ZERO_STATE_WORKFLOW_FAVORITES` | ZERO_STATE_WORKFLOW_FAVORITES | | `ZERO_STATE_WORKFLOW_POPULAR` | ZERO_STATE_WORKFLOW_POPULAR | +| `ZERO_STATE_WORKFLOW_RECENT` | ZERO_STATE_WORKFLOW_RECENT | | `ZERO_STATE_WORKFLOW_SUGGESTION` | ZERO_STATE_WORKFLOW_SUGGESTION | | `PERSONALIZED_CHAT_SUGGESTION` | PERSONALIZED_CHAT_SUGGESTION | | `DAILY_DIGEST` | DAILY_DIGEST | \ No newline at end of file diff --git a/docs/models/insightschatsummary.md b/docs/models/insightschatsummary.md new file mode 100644 index 00000000..ecbd7385 --- /dev/null +++ b/docs/models/insightschatsummary.md @@ -0,0 +1,11 @@ +# InsightsChatSummary + + +## 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. | +| `num_chats` | *Optional[int]* | :heavy_minus_sign: | Total number of chats by users over the specified time period. | +| `num_chat_users` | *Optional[int]* | :heavy_minus_sign: | Total number of distinct users who used Chat over the specified time period. | \ No newline at end of file diff --git a/docs/models/insightsoverviewresponse.md b/docs/models/insightsoverviewresponse.md new file mode 100644 index 00000000..af04f57d --- /dev/null +++ b/docs/models/insightsoverviewresponse.md @@ -0,0 +1,25 @@ +# InsightsOverviewResponse + + +## 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 diff --git a/docs/models/insightsresponse.md b/docs/models/insightsresponse.md index d97736d5..dcb429dc 100644 --- a/docs/models/insightsresponse.md +++ b/docs/models/insightsresponse.md @@ -3,18 +3,21 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `timeseries` | List[[models.LabeledCountInfo](../models/labeledcountinfo.md)] | :heavy_minus_sign: | List of timeseries to make charts (if applicable). | -| `users` | [Optional[models.UserInsightsResponse]](../models/userinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `content` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `queries` | [Optional[models.QueryInsightsResponse]](../models/queryinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `collections` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `collections_v2` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `shortcuts` | [Optional[models.ShortcutInsightsResponse]](../models/shortcutinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `announcements` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `answers` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `ai` | [Optional[models.AiInsightsResponse]](../models/aiinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `ai_apps` | [Optional[models.AiAppsInsightsResponse]](../models/aiappsinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `glean_assist` | [Optional[models.GleanAssistInsightsResponse]](../models/gleanassistinsightsresponse.md) | :heavy_minus_sign: | N/A | -| `departments` | List[*str*] | :heavy_minus_sign: | list of all departments. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ~~`timeseries`~~ | List[[models.LabeledCountInfo](../models/labeledcountinfo.md)] | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

List of timeseries to make charts (if applicable). | +| `users` | [Optional[models.UserInsightsResponse]](../models/userinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `content` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `queries` | [Optional[models.QueryInsightsResponse]](../models/queryinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `collections` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `collections_v2` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `shortcuts` | [Optional[models.ShortcutInsightsResponse]](../models/shortcutinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `announcements` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `answers` | [Optional[models.ContentInsightsResponse]](../models/contentinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `ai` | [Optional[models.AiInsightsResponse]](../models/aiinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `ai_apps` | [Optional[models.AiAppsInsightsResponse]](../models/aiappsinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `glean_assist` | [Optional[models.GleanAssistInsightsResponse]](../models/gleanassistinsightsresponse.md) | :heavy_minus_sign: | N/A | +| ~~`departments`~~ | List[*str*] | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

list of all departments. | +| `overview_response` | [Optional[models.InsightsOverviewResponse]](../models/insightsoverviewresponse.md) | :heavy_minus_sign: | N/A | +| `assistant_response` | [Optional[models.AssistantInsightsResponse]](../models/assistantinsightsresponse.md) | :heavy_minus_sign: | N/A | +| `agents_response` | [Optional[models.AgentsInsightsV2Response]](../models/agentsinsightsv2response.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/insightssearchsummary.md b/docs/models/insightssearchsummary.md new file mode 100644 index 00000000..d527f436 --- /dev/null +++ b/docs/models/insightssearchsummary.md @@ -0,0 +1,11 @@ +# InsightsSearchSummary + + +## 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. | +| `num_searches` | *Optional[int]* | :heavy_minus_sign: | Total number of searches by users over the specified time period. | +| `num_search_users` | *Optional[int]* | :heavy_minus_sign: | Total number of distinct users who searched over the specified time period. | \ No newline at end of file diff --git a/docs/models/peragentinsight.md b/docs/models/peragentinsight.md new file mode 100644 index 00000000..299da528 --- /dev/null +++ b/docs/models/peragentinsight.md @@ -0,0 +1,11 @@ +# PerAgentInsight + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `agent_id` | *Optional[str]* | :heavy_minus_sign: | Agent ID | +| `agent_name` | *Optional[str]* | :heavy_minus_sign: | Agent name | +| `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. | \ No newline at end of file diff --git a/docs/models/peruserassistantinsight.md b/docs/models/peruserassistantinsight.md new file mode 100644 index 00000000..7568b913 --- /dev/null +++ b/docs/models/peruserassistantinsight.md @@ -0,0 +1,13 @@ +# PerUserAssistantInsight + + +## 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 diff --git a/docs/models/peruserinsight.md b/docs/models/peruserinsight.md new file mode 100644 index 00000000..cb5c03e4 --- /dev/null +++ b/docs/models/peruserinsight.md @@ -0,0 +1,10 @@ +# PerUserInsight + + +## 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 diff --git a/docs/sdks/client/README.md b/docs/sdks/client/README.md deleted file mode 100644 index 21d11dde..00000000 --- a/docs/sdks/client/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Client -(*client*) - -## Overview - -### Available Operations diff --git a/docs/sdks/glean/README.md b/docs/sdks/glean/README.md deleted file mode 100644 index 643b7178..00000000 --- a/docs/sdks/glean/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Glean SDK - -## Overview - -Glean API: # 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. - -# Usage guidelines -This API is evolving fast. Glean will provide advance notice of any planned backwards incompatible changes along -with a 6-month sunset period for anything that requires developers to adopt the new versions. - -# API Clients -Official API clients for the Glean Indexing API are available in multiple languages: - -- [Python](https://github.com/gleanwork/api-client-python) -- [TypeScript](https://github.com/gleanwork/api-client-typescript) -- [Go](https://github.com/gleanwork/api-client-go) -- [Java](https://github.com/gleanwork/api-client-java) - -These API clients provide type-safe, idiomatic interfaces for working with Glean IndexingAPIs in your language of choice. - - -### Available Operations diff --git a/docs/sdks/indexing/README.md b/docs/sdks/indexing/README.md deleted file mode 100644 index 3768d492..00000000 --- a/docs/sdks/indexing/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Indexing -(*indexing*) - -## Overview - -### Available Operations diff --git a/pyproject.toml b/pyproject.toml index 6d3dd0f1..d2d649ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "glean-api-client" -version = "0.9.3" +version = "0.10.0" 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 4effb771..2a062332 100644 --- a/speakeasyusagegen/.speakeasy/logs/naming.log +++ b/speakeasyusagegen/.speakeasy/logs/naming.log @@ -752,6 +752,18 @@ InsightsResponse (HttpMeta: HTTPMetadata, InsightsResponse: InsightsResponse) AiAppsInsightsResponse (lastLogTimestamp: integer, aiAppInsights: array, totalActiveUsers: integer ...) AiAppActionCounts (totalSlackbotResponses: integer, totalSlackbotResponsesShared: integer, totalSlackbotResponsesNotHelpful: integer ...) GleanAssistInsightsResponse (lastLogTimestamp: integer, activityInsights: array, totalActiveUsers: integer ...) + InsightsOverviewResponse (monthlyActiveUsers: integer, weeklyActiveUsers: integer, departments: array ...) + 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 ...) + AssistantInsightsResponse (monthlyActiveUsers: integer, weeklyActiveUsers: integer, lastUpdatedTs: integer ...) + PerUserAssistantInsight (person: Person, numChatMessages: integer, numSummarizations: integer ...) + AgentsInsightsV2Response (monthlyActiveUsers: integer, weeklyActiveUsers: integer, monthlyActiveUserTimeseries: LabeledCountInfo ...) + PerAgentInsight (agentId: string, agentName: string, userCount: integer ...) + AgentsUsageByDepartmentInsight (department: string, agentAdoptionRate: float32, userCount: integer ...) + AgentUsersInsight (person: Person, departmentName: string, agentsUsedCount: integer ...) Messages (SDK empty) MessagesRequest (idType: enum, id: string, workspaceId: string ...) IdType (enum: CHANNEL_NAME, THREAD_ID, CONVERSATION_ID) diff --git a/src/glean/api_client/_version.py b/src/glean/api_client/_version.py index 001ecad6..33eb0c40 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.9.3" +__version__: str = "0.10.0" __openapi_doc_version__: str = "0.9.0" -__gen_version__: str = "2.720.1" -__user_agent__: str = "speakeasy-sdk/python 0.9.3 2.720.1 0.9.0 glean" +__gen_version__: str = "2.722.5" +__user_agent__: str = "speakeasy-sdk/python 0.10.0 2.722.5 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 2c797a65..5223cddd 100644 --- a/src/glean/api_client/models/__init__.py +++ b/src/glean/api_client/models/__init__.py @@ -126,6 +126,15 @@ AgentsInsightsV2Request, AgentsInsightsV2RequestTypedDict, ) + from .agentsinsightsv2response import ( + AgentsInsightsV2Response, + AgentsInsightsV2ResponseTypedDict, + ) + from .agentsusagebydepartmentinsight import ( + AgentsUsageByDepartmentInsight, + AgentsUsageByDepartmentInsightTypedDict, + ) + from .agentusersinsight import AgentUsersInsight, AgentUsersInsightTypedDict from .aiappactioncounts import AiAppActionCounts, AiAppActionCountsTypedDict from .aiappsinsightsresponse import ( AiAppsInsightsResponse, @@ -153,6 +162,10 @@ ) from .answerresult import AnswerResult, AnswerResultTypedDict from .appresult import AppResult, AppResultTypedDict + from .assistantinsightsresponse import ( + AssistantInsightsResponse, + AssistantInsightsResponseTypedDict, + ) from .authconfig import ( AuthConfig, AuthConfigStatus, @@ -333,6 +346,7 @@ CreateShortcutResponse, CreateShortcutResponseTypedDict, ) + from .currentactiveusers import CurrentActiveUsers, CurrentActiveUsersTypedDict from .customdatasourceconfig import ( CustomDatasourceConfig, CustomDatasourceConfigConnectorType, @@ -799,10 +813,17 @@ InsightsAssistantRequest, InsightsAssistantRequestTypedDict, ) + from .insightschatsummary import InsightsChatSummary, InsightsChatSummaryTypedDict from .insightsoverviewrequest import ( InsightsOverviewRequest, InsightsOverviewRequestTypedDict, ) + from .insightsoverviewresponse import ( + EngagementBreakdown, + EngagementBreakdownTypedDict, + InsightsOverviewResponse, + InsightsOverviewResponseTypedDict, + ) from .insightsrequest import ( AssistantActivityType, InsightsRequest, @@ -810,6 +831,10 @@ InsightsRequestTypedDict, ) from .insightsresponse import InsightsResponse, InsightsResponseTypedDict + from .insightssearchsummary import ( + InsightsSearchSummary, + InsightsSearchSummaryTypedDict, + ) from .invalidoperatorvalueerror import ( InvalidOperatorValueError, InvalidOperatorValueErrorTypedDict, @@ -904,6 +929,7 @@ PeopleRequestTypedDict, ) from .peopleresponse import PeopleResponse, PeopleResponseTypedDict + from .peragentinsight import PerAgentInsight, PerAgentInsightTypedDict from .period import Period, PeriodTypedDict from .permissions import Permissions, PermissionsTypedDict from .permissionsgroupintersectiondefinition import ( @@ -913,6 +939,11 @@ from .persondistance import PersonDistance, PersonDistanceTypedDict from .personobject import PersonObject, PersonObjectTypedDict from .personteam import PersonTeam, PersonTeamRelationship, PersonTeamTypedDict + from .peruserassistantinsight import ( + PerUserAssistantInsight, + PerUserAssistantInsightTypedDict, + ) + from .peruserinsight import PerUserInsight, PerUserInsightTypedDict from .pinrequest import PinRequest, PinRequestTypedDict from .possiblevalue import PossibleValue, PossibleValueTypedDict from .post_api_index_v1_debug_datasource_documentop import ( @@ -1288,8 +1319,14 @@ "AgentSchemas", "AgentSchemasTypedDict", "AgentTypedDict", + "AgentUsersInsight", + "AgentUsersInsightTypedDict", "AgentsInsightsV2Request", "AgentsInsightsV2RequestTypedDict", + "AgentsInsightsV2Response", + "AgentsInsightsV2ResponseTypedDict", + "AgentsUsageByDepartmentInsight", + "AgentsUsageByDepartmentInsightTypedDict", "AiAppActionCounts", "AiAppActionCountsTypedDict", "AiAppsInsightsResponse", @@ -1324,6 +1361,8 @@ "AppResult", "AppResultTypedDict", "AssistantActivityType", + "AssistantInsightsResponse", + "AssistantInsightsResponseTypedDict", "AuthConfig", "AuthConfigStatus", "AuthConfigType", @@ -1474,6 +1513,8 @@ "CreateShortcutResponseTypedDict", "CreatecollectionResponse", "CreatecollectionResponseTypedDict", + "CurrentActiveUsers", + "CurrentActiveUsersTypedDict", "CustomDataValue", "CustomDataValueTypedDict", "CustomDatasourceConfig", @@ -1661,6 +1702,8 @@ "EmployeeInfoDefinitionTypedDict", "EmployeeTeamInfo", "EmployeeTeamInfoTypedDict", + "EngagementBreakdown", + "EngagementBreakdownTypedDict", "EntitiesSortOrder", "EntityRelationship", "EntityRelationshipTypedDict", @@ -1862,13 +1905,19 @@ "InsightsAiAppRequestOptionsTypedDict", "InsightsAssistantRequest", "InsightsAssistantRequestTypedDict", + "InsightsChatSummary", + "InsightsChatSummaryTypedDict", "InsightsOverviewRequest", "InsightsOverviewRequestTypedDict", + "InsightsOverviewResponse", + "InsightsOverviewResponseTypedDict", "InsightsRequest", "InsightsRequestCategory", "InsightsRequestTypedDict", "InsightsResponse", "InsightsResponseTypedDict", + "InsightsSearchSummary", + "InsightsSearchSummaryTypedDict", "InvalidOperatorValueError", "InvalidOperatorValueErrorTypedDict", "InviteInfo", @@ -1950,6 +1999,12 @@ "PeopleRequestTypedDict", "PeopleResponse", "PeopleResponseTypedDict", + "PerAgentInsight", + "PerAgentInsightTypedDict", + "PerUserAssistantInsight", + "PerUserAssistantInsightTypedDict", + "PerUserInsight", + "PerUserInsightTypedDict", "Period", "PeriodTypedDict", "Permissions", @@ -2322,6 +2377,12 @@ "OutputSchemaTypedDict": ".agentschemas", "AgentsInsightsV2Request": ".agentsinsightsv2request", "AgentsInsightsV2RequestTypedDict": ".agentsinsightsv2request", + "AgentsInsightsV2Response": ".agentsinsightsv2response", + "AgentsInsightsV2ResponseTypedDict": ".agentsinsightsv2response", + "AgentsUsageByDepartmentInsight": ".agentsusagebydepartmentinsight", + "AgentsUsageByDepartmentInsightTypedDict": ".agentsusagebydepartmentinsight", + "AgentUsersInsight": ".agentusersinsight", + "AgentUsersInsightTypedDict": ".agentusersinsight", "AiAppActionCounts": ".aiappactioncounts", "AiAppActionCountsTypedDict": ".aiappactioncounts", "AiAppsInsightsResponse": ".aiappsinsightsresponse", @@ -2346,6 +2407,8 @@ "AnswerResultTypedDict": ".answerresult", "AppResult": ".appresult", "AppResultTypedDict": ".appresult", + "AssistantInsightsResponse": ".assistantinsightsresponse", + "AssistantInsightsResponseTypedDict": ".assistantinsightsresponse", "AuthConfig": ".authconfig", "AuthConfigStatus": ".authconfig", "AuthConfigType": ".authconfig", @@ -2484,6 +2547,8 @@ "CreateShortcutRequestTypedDict": ".createshortcutrequest", "CreateShortcutResponse": ".createshortcutresponse", "CreateShortcutResponseTypedDict": ".createshortcutresponse", + "CurrentActiveUsers": ".currentactiveusers", + "CurrentActiveUsersTypedDict": ".currentactiveusers", "CustomDatasourceConfig": ".customdatasourceconfig", "CustomDatasourceConfigConnectorType": ".customdatasourceconfig", "CustomDatasourceConfigTypedDict": ".customdatasourceconfig", @@ -2849,14 +2914,22 @@ "InsightsAiAppRequestOptionsTypedDict": ".insightsaiapprequestoptions", "InsightsAssistantRequest": ".insightsassistantrequest", "InsightsAssistantRequestTypedDict": ".insightsassistantrequest", + "InsightsChatSummary": ".insightschatsummary", + "InsightsChatSummaryTypedDict": ".insightschatsummary", "InsightsOverviewRequest": ".insightsoverviewrequest", "InsightsOverviewRequestTypedDict": ".insightsoverviewrequest", + "EngagementBreakdown": ".insightsoverviewresponse", + "EngagementBreakdownTypedDict": ".insightsoverviewresponse", + "InsightsOverviewResponse": ".insightsoverviewresponse", + "InsightsOverviewResponseTypedDict": ".insightsoverviewresponse", "AssistantActivityType": ".insightsrequest", "InsightsRequest": ".insightsrequest", "InsightsRequestCategory": ".insightsrequest", "InsightsRequestTypedDict": ".insightsrequest", "InsightsResponse": ".insightsresponse", "InsightsResponseTypedDict": ".insightsresponse", + "InsightsSearchSummary": ".insightssearchsummary", + "InsightsSearchSummaryTypedDict": ".insightssearchsummary", "InvalidOperatorValueError": ".invalidoperatorvalueerror", "InvalidOperatorValueErrorTypedDict": ".invalidoperatorvalueerror", "LabeledCountInfo": ".labeledcountinfo", @@ -2931,6 +3004,8 @@ "PeopleRequestTypedDict": ".peoplerequest", "PeopleResponse": ".peopleresponse", "PeopleResponseTypedDict": ".peopleresponse", + "PerAgentInsight": ".peragentinsight", + "PerAgentInsightTypedDict": ".peragentinsight", "Period": ".period", "PeriodTypedDict": ".period", "Permissions": ".permissions", @@ -2944,6 +3019,10 @@ "PersonTeam": ".personteam", "PersonTeamRelationship": ".personteam", "PersonTeamTypedDict": ".personteam", + "PerUserAssistantInsight": ".peruserassistantinsight", + "PerUserAssistantInsightTypedDict": ".peruserassistantinsight", + "PerUserInsight": ".peruserinsight", + "PerUserInsightTypedDict": ".peruserinsight", "PinRequest": ".pinrequest", "PinRequestTypedDict": ".pinrequest", "PossibleValue": ".possiblevalue", diff --git a/src/glean/api_client/models/agentsinsightsv2response.py b/src/glean/api_client/models/agentsinsightsv2response.py new file mode 100644 index 00000000..5d04b150 --- /dev/null +++ b/src/glean/api_client/models/agentsinsightsv2response.py @@ -0,0 +1,78 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .agentsusagebydepartmentinsight import ( + AgentsUsageByDepartmentInsight, + AgentsUsageByDepartmentInsightTypedDict, +) +from .agentusersinsight import AgentUsersInsight, AgentUsersInsightTypedDict +from .labeledcountinfo import LabeledCountInfo, LabeledCountInfoTypedDict +from .peragentinsight import PerAgentInsight, PerAgentInsightTypedDict +from glean.api_client.types import BaseModel +import pydantic +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class AgentsInsightsV2ResponseTypedDict(TypedDict): + monthly_active_users: NotRequired[int] + r"""Number of current Monthly Active Users, in the specified departments.""" + weekly_active_users: NotRequired[int] + r"""Number of current Weekly Active Users, in the specified departments.""" + monthly_active_user_timeseries: NotRequired[LabeledCountInfoTypedDict] + weekly_active_user_timeseries: NotRequired[LabeledCountInfoTypedDict] + daily_active_user_timeseries: NotRequired[LabeledCountInfoTypedDict] + shared_agents_count: NotRequired[int] + r"""Total number of shared agents.""" + top_agents_insights: NotRequired[List[PerAgentInsightTypedDict]] + agents_usage_by_department_insights: NotRequired[ + List[AgentsUsageByDepartmentInsightTypedDict] + ] + agent_users_insights: NotRequired[List[AgentUsersInsightTypedDict]] + daily_agent_runs_timeseries: NotRequired[LabeledCountInfoTypedDict] + + +class AgentsInsightsV2Response(BaseModel): + monthly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="monthlyActiveUsers") + ] = None + r"""Number of current Monthly Active Users, in the specified departments.""" + + weekly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="weeklyActiveUsers") + ] = None + r"""Number of current Weekly Active Users, in the specified departments.""" + + monthly_active_user_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="monthlyActiveUserTimeseries") + ] = None + + weekly_active_user_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="weeklyActiveUserTimeseries") + ] = None + + daily_active_user_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="dailyActiveUserTimeseries") + ] = None + + shared_agents_count: Annotated[ + Optional[int], pydantic.Field(alias="sharedAgentsCount") + ] = None + r"""Total number of shared agents.""" + + top_agents_insights: Annotated[ + Optional[List[PerAgentInsight]], pydantic.Field(alias="topAgentsInsights") + ] = None + + agents_usage_by_department_insights: Annotated[ + Optional[List[AgentsUsageByDepartmentInsight]], + pydantic.Field(alias="agentsUsageByDepartmentInsights"), + ] = None + + agent_users_insights: Annotated[ + Optional[List[AgentUsersInsight]], pydantic.Field(alias="agentUsersInsights") + ] = None + + daily_agent_runs_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="dailyAgentRunsTimeseries") + ] = None diff --git a/src/glean/api_client/models/agentsusagebydepartmentinsight.py b/src/glean/api_client/models/agentsusagebydepartmentinsight.py new file mode 100644 index 00000000..2824a979 --- /dev/null +++ b/src/glean/api_client/models/agentsusagebydepartmentinsight.py @@ -0,0 +1,44 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from glean.api_client.types import BaseModel +import pydantic +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class AgentsUsageByDepartmentInsightTypedDict(TypedDict): + department: NotRequired[str] + r"""Name of the department""" + agent_adoption_rate: NotRequired[float] + r"""Percentage of employees in the department who have used agents at least once over the specified time period.""" + user_count: NotRequired[int] + r"""Total number of users in this department who have used any agent over the specified time period.""" + run_count: NotRequired[int] + r"""Total number of runs in this department over the specified time period.""" + agent_id: NotRequired[str] + r"""ID of the agent to be shown in the agent column in this department over the specified time period.""" + agent_name: NotRequired[str] + r"""Name of the agent to be shown in the agent column in this department over the specified time period.""" + + +class AgentsUsageByDepartmentInsight(BaseModel): + department: Optional[str] = None + r"""Name of the department""" + + agent_adoption_rate: Annotated[ + Optional[float], pydantic.Field(alias="agentAdoptionRate") + ] = None + r"""Percentage of employees in the department who have used agents at least once over the specified time period.""" + + user_count: Annotated[Optional[int], pydantic.Field(alias="userCount")] = None + r"""Total number of users in this department who have used any agent over the specified time period.""" + + run_count: Annotated[Optional[int], pydantic.Field(alias="runCount")] = None + r"""Total number of runs in this department over the specified time period.""" + + agent_id: Annotated[Optional[str], pydantic.Field(alias="agentId")] = None + r"""ID of the agent to be shown in the agent column in this department over the specified time period.""" + + agent_name: Annotated[Optional[str], pydantic.Field(alias="agentName")] = None + r"""Name of the agent to be shown in the agent column in this department over the specified time period.""" diff --git a/src/glean/api_client/models/agentusersinsight.py b/src/glean/api_client/models/agentusersinsight.py new file mode 100644 index 00000000..5de20c6e --- /dev/null +++ b/src/glean/api_client/models/agentusersinsight.py @@ -0,0 +1,49 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .person import Person, PersonTypedDict +from glean.api_client.types import BaseModel +import pydantic +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class AgentUsersInsightTypedDict(TypedDict): + person: NotRequired[PersonTypedDict] + department_name: NotRequired[str] + r"""Department name""" + agents_used_count: NotRequired[int] + r"""Total number of agents used by this user over the specified time period.""" + average_runs_per_day_count: NotRequired[float] + r"""Average number of runs per day for this user over the specified time period.""" + agents_created_count: NotRequired[int] + r"""Total number of agents created by this user over the specified time period.""" + run_count: NotRequired[int] + r"""Total number of agent runs for this user over the specified time period.""" + + +class AgentUsersInsight(BaseModel): + person: Optional[Person] = None + + department_name: Annotated[ + Optional[str], pydantic.Field(alias="departmentName") + ] = None + r"""Department name""" + + agents_used_count: Annotated[ + Optional[int], pydantic.Field(alias="agentsUsedCount") + ] = None + r"""Total number of agents used by this user over the specified time period.""" + + average_runs_per_day_count: Annotated[ + Optional[float], pydantic.Field(alias="averageRunsPerDayCount") + ] = None + r"""Average number of runs per day for this user over the specified time period.""" + + agents_created_count: Annotated[ + Optional[int], pydantic.Field(alias="agentsCreatedCount") + ] = None + r"""Total number of agents created by this user over the specified time period.""" + + run_count: Annotated[Optional[int], pydantic.Field(alias="runCount")] = None + r"""Total number of agent runs for this user over the specified time period.""" diff --git a/src/glean/api_client/models/assistantinsightsresponse.py b/src/glean/api_client/models/assistantinsightsresponse.py new file mode 100644 index 00000000..ba5ac38d --- /dev/null +++ b/src/glean/api_client/models/assistantinsightsresponse.py @@ -0,0 +1,94 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .labeledcountinfo import LabeledCountInfo, LabeledCountInfoTypedDict +from .peruserassistantinsight import ( + PerUserAssistantInsight, + PerUserAssistantInsightTypedDict, +) +from glean.api_client.types import BaseModel +import pydantic +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class AssistantInsightsResponseTypedDict(TypedDict): + monthly_active_users: NotRequired[int] + r"""Number of current Monthly Active Users, in the specified departments.""" + weekly_active_users: NotRequired[int] + r"""Number of current Weekly Active Users, in the specified departments.""" + last_updated_ts: NotRequired[int] + r"""Unix timestamp of the last update for the insights data in the response.""" + monthly_active_user_timeseries: NotRequired[LabeledCountInfoTypedDict] + weekly_active_user_timeseries: NotRequired[LabeledCountInfoTypedDict] + daily_active_user_timeseries: NotRequired[LabeledCountInfoTypedDict] + total_signups: NotRequired[int] + r"""Number of current signed up employees in the specified departments, according to the Org Chart.""" + chat_messages_timeseries: NotRequired[LabeledCountInfoTypedDict] + summarizations_timeseries: NotRequired[LabeledCountInfoTypedDict] + ai_answers_timeseries: NotRequired[LabeledCountInfoTypedDict] + gleanbot_interactions_timeseries: NotRequired[LabeledCountInfoTypedDict] + per_user_insights: NotRequired[List[PerUserAssistantInsightTypedDict]] + upvotes_timeseries: NotRequired[LabeledCountInfoTypedDict] + downvotes_timeseries: NotRequired[LabeledCountInfoTypedDict] + + +class AssistantInsightsResponse(BaseModel): + monthly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="monthlyActiveUsers") + ] = None + r"""Number of current Monthly Active Users, in the specified departments.""" + + weekly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="weeklyActiveUsers") + ] = None + r"""Number of current Weekly Active Users, in the specified departments.""" + + last_updated_ts: Annotated[Optional[int], pydantic.Field(alias="lastUpdatedTs")] = ( + None + ) + r"""Unix timestamp of the last update for the insights data in the response.""" + + monthly_active_user_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="monthlyActiveUserTimeseries") + ] = None + + weekly_active_user_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="weeklyActiveUserTimeseries") + ] = None + + daily_active_user_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="dailyActiveUserTimeseries") + ] = None + + total_signups: Annotated[Optional[int], pydantic.Field(alias="totalSignups")] = None + r"""Number of current signed up employees in the specified departments, according to the Org Chart.""" + + chat_messages_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="chatMessagesTimeseries") + ] = None + + summarizations_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="summarizationsTimeseries") + ] = None + + ai_answers_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="aiAnswersTimeseries") + ] = None + + gleanbot_interactions_timeseries: Annotated[ + Optional[LabeledCountInfo], + pydantic.Field(alias="gleanbotInteractionsTimeseries"), + ] = None + + per_user_insights: Annotated[ + Optional[List[PerUserAssistantInsight]], pydantic.Field(alias="perUserInsights") + ] = None + + upvotes_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="upvotesTimeseries") + ] = None + + downvotes_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="downvotesTimeseries") + ] = None diff --git a/src/glean/api_client/models/currentactiveusers.py b/src/glean/api_client/models/currentactiveusers.py new file mode 100644 index 00000000..bf402756 --- /dev/null +++ b/src/glean/api_client/models/currentactiveusers.py @@ -0,0 +1,26 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from glean.api_client.types import BaseModel +import pydantic +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class CurrentActiveUsersTypedDict(TypedDict): + monthly_active_users: NotRequired[int] + r"""Number of current Monthly Active Users, in the specified departments.""" + weekly_active_users: NotRequired[int] + r"""Number of current Weekly Active Users, in the specified departments.""" + + +class CurrentActiveUsers(BaseModel): + monthly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="monthlyActiveUsers") + ] = None + r"""Number of current Monthly Active Users, in the specified departments.""" + + weekly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="weeklyActiveUsers") + ] = None + r"""Number of current Weekly Active Users, in the specified departments.""" diff --git a/src/glean/api_client/models/feedrequest.py b/src/glean/api_client/models/feedrequest.py index aed5d769..c656672b 100644 --- a/src/glean/api_client/models/feedrequest.py +++ b/src/glean/api_client/models/feedrequest.py @@ -32,6 +32,7 @@ class FeedRequestCategory(str, Enum): ZERO_STATE_WORKFLOW_CREATED_BY_ME = "ZERO_STATE_WORKFLOW_CREATED_BY_ME" ZERO_STATE_WORKFLOW_FAVORITES = "ZERO_STATE_WORKFLOW_FAVORITES" ZERO_STATE_WORKFLOW_POPULAR = "ZERO_STATE_WORKFLOW_POPULAR" + ZERO_STATE_WORKFLOW_RECENT = "ZERO_STATE_WORKFLOW_RECENT" ZERO_STATE_WORKFLOW_SUGGESTION = "ZERO_STATE_WORKFLOW_SUGGESTION" PERSONALIZED_CHAT_SUGGESTION = "PERSONALIZED_CHAT_SUGGESTION" DAILY_DIGEST = "DAILY_DIGEST" diff --git a/src/glean/api_client/models/feedresult.py b/src/glean/api_client/models/feedresult.py index da88e21a..38511cdb 100644 --- a/src/glean/api_client/models/feedresult.py +++ b/src/glean/api_client/models/feedresult.py @@ -33,6 +33,7 @@ class FeedResultCategory(str, Enum): ZERO_STATE_WORKFLOW_CREATED_BY_ME = "ZERO_STATE_WORKFLOW_CREATED_BY_ME" ZERO_STATE_WORKFLOW_FAVORITES = "ZERO_STATE_WORKFLOW_FAVORITES" ZERO_STATE_WORKFLOW_POPULAR = "ZERO_STATE_WORKFLOW_POPULAR" + ZERO_STATE_WORKFLOW_RECENT = "ZERO_STATE_WORKFLOW_RECENT" ZERO_STATE_WORKFLOW_SUGGESTION = "ZERO_STATE_WORKFLOW_SUGGESTION" PERSONALIZED_CHAT_SUGGESTION = "PERSONALIZED_CHAT_SUGGESTION" DAILY_DIGEST = "DAILY_DIGEST" diff --git a/src/glean/api_client/models/insightschatsummary.py b/src/glean/api_client/models/insightschatsummary.py new file mode 100644 index 00000000..f9c150ea --- /dev/null +++ b/src/glean/api_client/models/insightschatsummary.py @@ -0,0 +1,38 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from glean.api_client.types import BaseModel +import pydantic +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class InsightsChatSummaryTypedDict(TypedDict): + monthly_active_users: NotRequired[int] + r"""Number of current Monthly Active Users, in the specified departments.""" + weekly_active_users: NotRequired[int] + r"""Number of current Weekly Active Users, in the specified departments.""" + num_chats: NotRequired[int] + r"""Total number of chats by users over the specified time period.""" + num_chat_users: NotRequired[int] + r"""Total number of distinct users who used Chat over the specified time period.""" + + +class InsightsChatSummary(BaseModel): + monthly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="monthlyActiveUsers") + ] = None + r"""Number of current Monthly Active Users, in the specified departments.""" + + weekly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="weeklyActiveUsers") + ] = None + r"""Number of current Weekly Active Users, in the specified departments.""" + + num_chats: Annotated[Optional[int], pydantic.Field(alias="numChats")] = None + r"""Total number of chats by users over the specified time period.""" + + num_chat_users: Annotated[Optional[int], pydantic.Field(alias="numChatUsers")] = ( + None + ) + r"""Total number of distinct users who used Chat over the specified time period.""" diff --git a/src/glean/api_client/models/insightsoverviewresponse.py b/src/glean/api_client/models/insightsoverviewresponse.py new file mode 100644 index 00000000..5a432be4 --- /dev/null +++ b/src/glean/api_client/models/insightsoverviewresponse.py @@ -0,0 +1,148 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .currentactiveusers import CurrentActiveUsers, CurrentActiveUsersTypedDict +from .insightschatsummary import InsightsChatSummary, InsightsChatSummaryTypedDict +from .insightssearchsummary import InsightsSearchSummary, InsightsSearchSummaryTypedDict +from .labeledcountinfo import LabeledCountInfo, LabeledCountInfoTypedDict +from .peruserinsight import PerUserInsight, PerUserInsightTypedDict +from glean.api_client.types import BaseModel +import pydantic +from typing import Dict, List, Optional +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.""" + weekly_active_users: NotRequired[int] + r"""Number of current Weekly Active Users, in the specified departments.""" + departments: NotRequired[List[str]] + r"""Department name(s).""" + employee_count: NotRequired[int] + r"""Number of current employees in the specified departments, according to the Org Chart.""" + total_signups: NotRequired[int] + r"""Number of current signed up employees in the specified departments, according to the Org Chart.""" + search_summary: NotRequired[InsightsSearchSummaryTypedDict] + chat_summary: NotRequired[InsightsChatSummaryTypedDict] + extension_summary: NotRequired[CurrentActiveUsersTypedDict] + ugc_summary: NotRequired[CurrentActiveUsersTypedDict] + last_updated_ts: NotRequired[int] + r"""Unix timestamp of the last update for the insights data in the response.""" + search_session_satisfaction: NotRequired[float] + r"""Search session satisfaction rate, over the specified time period in the specified departments.""" + monthly_active_user_timeseries: NotRequired[LabeledCountInfoTypedDict] + weekly_active_user_timeseries: NotRequired[LabeledCountInfoTypedDict] + daily_active_user_timeseries: NotRequired[LabeledCountInfoTypedDict] + search_datasource_counts: NotRequired[Dict[str, int]] + r"""Counts of search result clicks, by datasource, over the specified time period in the specified departments.""" + 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] + + +class InsightsOverviewResponse(BaseModel): + monthly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="monthlyActiveUsers") + ] = None + r"""Number of current Monthly Active Users, in the specified departments.""" + + weekly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="weeklyActiveUsers") + ] = None + r"""Number of current Weekly Active Users, in the specified departments.""" + + departments: Optional[List[str]] = None + r"""Department name(s).""" + + employee_count: Annotated[Optional[int], pydantic.Field(alias="employeeCount")] = ( + None + ) + r"""Number of current employees in the specified departments, according to the Org Chart.""" + + total_signups: Annotated[Optional[int], pydantic.Field(alias="totalSignups")] = None + r"""Number of current signed up employees in the specified departments, according to the Org Chart.""" + + search_summary: Annotated[ + Optional[InsightsSearchSummary], pydantic.Field(alias="searchSummary") + ] = None + + chat_summary: Annotated[ + Optional[InsightsChatSummary], pydantic.Field(alias="chatSummary") + ] = None + + extension_summary: Annotated[ + Optional[CurrentActiveUsers], pydantic.Field(alias="extensionSummary") + ] = None + + ugc_summary: Annotated[ + Optional[CurrentActiveUsers], pydantic.Field(alias="ugcSummary") + ] = None + + last_updated_ts: Annotated[Optional[int], pydantic.Field(alias="lastUpdatedTs")] = ( + None + ) + r"""Unix timestamp of the last update for the insights data in the response.""" + + search_session_satisfaction: Annotated[ + Optional[float], pydantic.Field(alias="searchSessionSatisfaction") + ] = None + r"""Search session satisfaction rate, over the specified time period in the specified departments.""" + + monthly_active_user_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="monthlyActiveUserTimeseries") + ] = None + + weekly_active_user_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="weeklyActiveUserTimeseries") + ] = None + + daily_active_user_timeseries: Annotated[ + Optional[LabeledCountInfo], pydantic.Field(alias="dailyActiveUserTimeseries") + ] = None + + search_datasource_counts: Annotated[ + Optional[Dict[str, int]], pydantic.Field(alias="searchDatasourceCounts") + ] = None + r"""Counts of search result clicks, by datasource, over the specified time period in the specified departments.""" + + chat_datasource_counts: Annotated[ + Optional[Dict[str, int]], pydantic.Field(alias="chatDatasourceCounts") + ] = None + r"""Counts of cited documents in chat, by datasource, over the specified time period in the specified departments.""" + + 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 diff --git a/src/glean/api_client/models/insightsresponse.py b/src/glean/api_client/models/insightsresponse.py index 8bd36b75..9502ae3f 100644 --- a/src/glean/api_client/models/insightsresponse.py +++ b/src/glean/api_client/models/insightsresponse.py @@ -1,11 +1,19 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .agentsinsightsv2response import ( + AgentsInsightsV2Response, + AgentsInsightsV2ResponseTypedDict, +) from .aiappsinsightsresponse import ( AiAppsInsightsResponse, AiAppsInsightsResponseTypedDict, ) from .aiinsightsresponse import AiInsightsResponse, AiInsightsResponseTypedDict +from .assistantinsightsresponse import ( + AssistantInsightsResponse, + AssistantInsightsResponseTypedDict, +) from .contentinsightsresponse import ( ContentInsightsResponse, ContentInsightsResponseTypedDict, @@ -14,6 +22,10 @@ GleanAssistInsightsResponse, GleanAssistInsightsResponseTypedDict, ) +from .insightsoverviewresponse import ( + InsightsOverviewResponse, + InsightsOverviewResponseTypedDict, +) from .labeledcountinfo import LabeledCountInfo, LabeledCountInfoTypedDict from .queryinsightsresponse import QueryInsightsResponse, QueryInsightsResponseTypedDict from .shortcutinsightsresponse import ( @@ -43,10 +55,18 @@ class InsightsResponseTypedDict(TypedDict): glean_assist: NotRequired[GleanAssistInsightsResponseTypedDict] departments: NotRequired[List[str]] r"""list of all departments.""" + overview_response: NotRequired[InsightsOverviewResponseTypedDict] + assistant_response: NotRequired[AssistantInsightsResponseTypedDict] + agents_response: NotRequired[AgentsInsightsV2ResponseTypedDict] class InsightsResponse(BaseModel): - timeseries: Optional[List[LabeledCountInfo]] = None + timeseries: Annotated[ + Optional[List[LabeledCountInfo]], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible." + ), + ] = None r"""List of timeseries to make charts (if applicable).""" users: Optional[UserInsightsResponse] = None @@ -77,5 +97,22 @@ class InsightsResponse(BaseModel): Optional[GleanAssistInsightsResponse], pydantic.Field(alias="gleanAssist") ] = None - departments: Optional[List[str]] = None + departments: Annotated[ + Optional[List[str]], + pydantic.Field( + deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible." + ), + ] = None r"""list of all departments.""" + + overview_response: Annotated[ + Optional[InsightsOverviewResponse], pydantic.Field(alias="overviewResponse") + ] = None + + assistant_response: Annotated[ + Optional[AssistantInsightsResponse], pydantic.Field(alias="assistantResponse") + ] = None + + agents_response: Annotated[ + Optional[AgentsInsightsV2Response], pydantic.Field(alias="agentsResponse") + ] = None diff --git a/src/glean/api_client/models/insightssearchsummary.py b/src/glean/api_client/models/insightssearchsummary.py new file mode 100644 index 00000000..252c1b0d --- /dev/null +++ b/src/glean/api_client/models/insightssearchsummary.py @@ -0,0 +1,38 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from glean.api_client.types import BaseModel +import pydantic +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class InsightsSearchSummaryTypedDict(TypedDict): + monthly_active_users: NotRequired[int] + r"""Number of current Monthly Active Users, in the specified departments.""" + weekly_active_users: NotRequired[int] + r"""Number of current Weekly Active Users, in the specified departments.""" + num_searches: NotRequired[int] + r"""Total number of searches by users over the specified time period.""" + num_search_users: NotRequired[int] + r"""Total number of distinct users who searched over the specified time period.""" + + +class InsightsSearchSummary(BaseModel): + monthly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="monthlyActiveUsers") + ] = None + r"""Number of current Monthly Active Users, in the specified departments.""" + + weekly_active_users: Annotated[ + Optional[int], pydantic.Field(alias="weeklyActiveUsers") + ] = None + r"""Number of current Weekly Active Users, in the specified departments.""" + + num_searches: Annotated[Optional[int], pydantic.Field(alias="numSearches")] = None + r"""Total number of searches by users over the specified time period.""" + + num_search_users: Annotated[ + Optional[int], pydantic.Field(alias="numSearchUsers") + ] = None + r"""Total number of distinct users who searched over the specified time period.""" diff --git a/src/glean/api_client/models/peragentinsight.py b/src/glean/api_client/models/peragentinsight.py new file mode 100644 index 00000000..5e458d97 --- /dev/null +++ b/src/glean/api_client/models/peragentinsight.py @@ -0,0 +1,32 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from glean.api_client.types import BaseModel +import pydantic +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PerAgentInsightTypedDict(TypedDict): + agent_id: NotRequired[str] + r"""Agent ID""" + agent_name: NotRequired[str] + r"""Agent name""" + user_count: NotRequired[int] + r"""Total number of users for this agent over the specified time period.""" + run_count: NotRequired[int] + r"""Total number of runs for this agent over the specified time period.""" + + +class PerAgentInsight(BaseModel): + agent_id: Annotated[Optional[str], pydantic.Field(alias="agentId")] = None + r"""Agent ID""" + + agent_name: Annotated[Optional[str], pydantic.Field(alias="agentName")] = None + r"""Agent name""" + + user_count: Annotated[Optional[int], pydantic.Field(alias="userCount")] = None + r"""Total number of users for this agent over the specified time period.""" + + run_count: Annotated[Optional[int], pydantic.Field(alias="runCount")] = None + r"""Total number of runs 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 new file mode 100644 index 00000000..e98613c8 --- /dev/null +++ b/src/glean/api_client/models/peruserassistantinsight.py @@ -0,0 +1,51 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .person import Person, PersonTypedDict +from glean.api_client.types import BaseModel +import pydantic +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PerUserAssistantInsightTypedDict(TypedDict): + person: NotRequired[PersonTypedDict] + num_chat_messages: NotRequired[int] + r"""Total number of chat messages sent by this user over the specified time period.""" + num_summarizations: NotRequired[int] + r"""Total number of summarized items by this user over the specified time period.""" + 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.""" + num_days_active: NotRequired[int] + r"""Total number of days this user was active over the specified time period.""" + + +class PerUserAssistantInsight(BaseModel): + person: Optional[Person] = None + + num_chat_messages: Annotated[ + Optional[int], pydantic.Field(alias="numChatMessages") + ] = None + r"""Total number of chat messages sent by this user over the specified time period.""" + + num_summarizations: Annotated[ + Optional[int], pydantic.Field(alias="numSummarizations") + ] = None + r"""Total number of summarized items by this user over the specified time period.""" + + num_ai_answers: Annotated[Optional[int], pydantic.Field(alias="numAiAnswers")] = ( + None + ) + r"""Total number of AI Answers interacted with by this user over the specified time period.""" + + 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.""" + + 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.""" diff --git a/src/glean/api_client/models/peruserinsight.py b/src/glean/api_client/models/peruserinsight.py new file mode 100644 index 00000000..f5105aee --- /dev/null +++ b/src/glean/api_client/models/peruserinsight.py @@ -0,0 +1,26 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .person import Person, PersonTypedDict +from glean.api_client.types import BaseModel +import pydantic +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class PerUserInsightTypedDict(TypedDict): + person: NotRequired[PersonTypedDict] + num_searches: NotRequired[int] + 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.""" + + +class PerUserInsight(BaseModel): + person: Optional[Person] = None + + num_searches: Annotated[Optional[int], pydantic.Field(alias="numSearches")] = None + r"""Total number of searches by this user over the specified time period.""" + + num_chats: Annotated[Optional[int], pydantic.Field(alias="numChats")] = None + r"""Total number of chats by this user over the specified time period.""" diff --git a/tests/mockserver/internal/handler/pathpostrestapiv1createcollection.go b/tests/mockserver/internal/handler/pathpostrestapiv1createcollection.go index 5c99a0ad..371b9023 100644 --- a/tests/mockserver/internal/handler/pathpostrestapiv1createcollection.go +++ b/tests/mockserver/internal/handler/pathpostrestapiv1createcollection.go @@ -56,14 +56,14 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ operations.ResponseBody2{ Collection: &components.Collection{ Name: "", - Description: "motionless whenever paintwork import over cuckoo", + Description: "whole busily jive hawk gee basic minus hence", AddedRoles: []components.UserRoleSpecification{ components.UserRoleSpecification{ Person: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", }, - Role: components.UserRoleOwner, + Role: components.UserRoleAnswerModerator, }, }, RemovedRoles: []components.UserRoleSpecification{ @@ -90,7 +90,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, }, }, - ID: 363711, + ID: 158969, Creator: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", @@ -101,7 +101,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, Items: []components.CollectionItem{ components.CollectionItem{ - CollectionID: 570197, + CollectionID: 110375, CreatedBy: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", @@ -266,13 +266,13 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ Name: "George Clooney", ObfuscatedID: "abc123", }, - Role: components.UserRoleAnswerModerator, + Role: components.UserRoleEditor, }, }, }, Collection: &components.Collection{ Name: "", - Description: "athwart skateboard newsstand farm bourgeoisie ah how elliptical aha well-to-do", + Description: "wedge colorfully orientate rally", AudienceFilters: []components.FacetFilter{ components.FacetFilter{ FieldName: types.String("type"), @@ -288,7 +288,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, }, }, - ID: 643990, + ID: 131797, Creator: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", @@ -300,7 +300,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ Children: []components.Collection{ components.Collection{ Name: "", - Description: "woot purse salty even as advanced", + Description: "outside yippee sidetrack mature regularly mouser inject worth", AudienceFilters: []components.FacetFilter{ components.FacetFilter{ FieldName: types.String("type"), @@ -316,7 +316,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, }, }, - ID: 359978, + ID: 149448, Creator: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", @@ -328,7 +328,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, }, }, - ItemType: components.CollectionItemItemTypeURL, + ItemType: components.CollectionItemItemTypeCollection, }, }, }, diff --git a/tests/mockserver/internal/handler/pathpostrestapiv1getchat.go b/tests/mockserver/internal/handler/pathpostrestapiv1getchat.go index 35e69d35..f8469b5b 100644 --- a/tests/mockserver/internal/handler/pathpostrestapiv1getchat.go +++ b/tests/mockserver/internal/handler/pathpostrestapiv1getchat.go @@ -628,8 +628,8 @@ func testGetchatGetchat0(w http.ResponseWriter, req *http.Request) { Roles: []components.UserRoleSpecification{}, SourceDocumentSpec: types.Pointer(components.CreateDocumentSpecUnionDocumentSpec3( components.DocumentSpec3{ - UgcType: components.DocumentSpecUgcType1Shortcuts, - ContentID: 602763, + UgcType: components.DocumentSpecUgcType1Announcements, + ContentID: 848009, }, )), SourceType: components.AnswerSourceTypeAssistant.ToPointer(), diff --git a/tests/mockserver/internal/sdk/models/components/agentsinsightsv2response.go b/tests/mockserver/internal/sdk/models/components/agentsinsightsv2response.go new file mode 100644 index 00000000..0100b922 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/agentsinsightsv2response.go @@ -0,0 +1,89 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type AgentsInsightsV2Response struct { + // Number of current Monthly Active Users, in the specified departments. + MonthlyActiveUsers *int64 `json:"monthlyActiveUsers,omitempty"` + // Number of current Weekly Active Users, in the specified departments. + WeeklyActiveUsers *int64 `json:"weeklyActiveUsers,omitempty"` + MonthlyActiveUserTimeseries *LabeledCountInfo `json:"monthlyActiveUserTimeseries,omitempty"` + WeeklyActiveUserTimeseries *LabeledCountInfo `json:"weeklyActiveUserTimeseries,omitempty"` + DailyActiveUserTimeseries *LabeledCountInfo `json:"dailyActiveUserTimeseries,omitempty"` + // Total number of shared agents. + SharedAgentsCount *int64 `json:"sharedAgentsCount,omitempty"` + TopAgentsInsights []PerAgentInsight `json:"topAgentsInsights,omitempty"` + AgentsUsageByDepartmentInsights []AgentsUsageByDepartmentInsight `json:"agentsUsageByDepartmentInsights,omitempty"` + AgentUsersInsights []AgentUsersInsight `json:"agentUsersInsights,omitempty"` + DailyAgentRunsTimeseries *LabeledCountInfo `json:"dailyAgentRunsTimeseries,omitempty"` +} + +func (o *AgentsInsightsV2Response) GetMonthlyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.MonthlyActiveUsers +} + +func (o *AgentsInsightsV2Response) GetWeeklyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.WeeklyActiveUsers +} + +func (o *AgentsInsightsV2Response) GetMonthlyActiveUserTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.MonthlyActiveUserTimeseries +} + +func (o *AgentsInsightsV2Response) GetWeeklyActiveUserTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.WeeklyActiveUserTimeseries +} + +func (o *AgentsInsightsV2Response) GetDailyActiveUserTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.DailyActiveUserTimeseries +} + +func (o *AgentsInsightsV2Response) GetSharedAgentsCount() *int64 { + if o == nil { + return nil + } + return o.SharedAgentsCount +} + +func (o *AgentsInsightsV2Response) GetTopAgentsInsights() []PerAgentInsight { + if o == nil { + return nil + } + return o.TopAgentsInsights +} + +func (o *AgentsInsightsV2Response) GetAgentsUsageByDepartmentInsights() []AgentsUsageByDepartmentInsight { + if o == nil { + return nil + } + return o.AgentsUsageByDepartmentInsights +} + +func (o *AgentsInsightsV2Response) GetAgentUsersInsights() []AgentUsersInsight { + if o == nil { + return nil + } + return o.AgentUsersInsights +} + +func (o *AgentsInsightsV2Response) GetDailyAgentRunsTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.DailyAgentRunsTimeseries +} diff --git a/tests/mockserver/internal/sdk/models/components/agentsusagebydepartmentinsight.go b/tests/mockserver/internal/sdk/models/components/agentsusagebydepartmentinsight.go new file mode 100644 index 00000000..49a59097 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/agentsusagebydepartmentinsight.go @@ -0,0 +1,60 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type AgentsUsageByDepartmentInsight struct { + // Name of the department + Department *string `json:"department,omitempty"` + // Percentage of employees in the department who have used agents at least once over the specified time period. + AgentAdoptionRate *float32 `json:"agentAdoptionRate,omitempty"` + // Total number of users in this department who have used any agent over the specified time period. + UserCount *int64 `json:"userCount,omitempty"` + // Total number of runs in this department over the specified time period. + RunCount *int64 `json:"runCount,omitempty"` + // ID of the agent to be shown in the agent column in this department over the specified time period. + AgentID *string `json:"agentId,omitempty"` + // Name of the agent to be shown in the agent column in this department over the specified time period. + AgentName *string `json:"agentName,omitempty"` +} + +func (o *AgentsUsageByDepartmentInsight) GetDepartment() *string { + if o == nil { + return nil + } + return o.Department +} + +func (o *AgentsUsageByDepartmentInsight) GetAgentAdoptionRate() *float32 { + if o == nil { + return nil + } + return o.AgentAdoptionRate +} + +func (o *AgentsUsageByDepartmentInsight) GetUserCount() *int64 { + if o == nil { + return nil + } + return o.UserCount +} + +func (o *AgentsUsageByDepartmentInsight) GetRunCount() *int64 { + if o == nil { + return nil + } + return o.RunCount +} + +func (o *AgentsUsageByDepartmentInsight) GetAgentID() *string { + if o == nil { + return nil + } + return o.AgentID +} + +func (o *AgentsUsageByDepartmentInsight) GetAgentName() *string { + if o == nil { + return nil + } + return o.AgentName +} diff --git a/tests/mockserver/internal/sdk/models/components/agentusersinsight.go b/tests/mockserver/internal/sdk/models/components/agentusersinsight.go new file mode 100644 index 00000000..edfaaac0 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/agentusersinsight.go @@ -0,0 +1,59 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type AgentUsersInsight struct { + Person *Person `json:"person,omitempty"` + // Department name + DepartmentName *string `json:"departmentName,omitempty"` + // Total number of agents used by this user over the specified time period. + AgentsUsedCount *int64 `json:"agentsUsedCount,omitempty"` + // Average number of runs per day for this user over the specified time period. + AverageRunsPerDayCount *float32 `json:"averageRunsPerDayCount,omitempty"` + // Total number of agents created by this user over the specified time period. + AgentsCreatedCount *int64 `json:"agentsCreatedCount,omitempty"` + // Total number of agent runs for this user over the specified time period. + RunCount *int64 `json:"runCount,omitempty"` +} + +func (o *AgentUsersInsight) GetPerson() *Person { + if o == nil { + return nil + } + return o.Person +} + +func (o *AgentUsersInsight) GetDepartmentName() *string { + if o == nil { + return nil + } + return o.DepartmentName +} + +func (o *AgentUsersInsight) GetAgentsUsedCount() *int64 { + if o == nil { + return nil + } + return o.AgentsUsedCount +} + +func (o *AgentUsersInsight) GetAverageRunsPerDayCount() *float32 { + if o == nil { + return nil + } + return o.AverageRunsPerDayCount +} + +func (o *AgentUsersInsight) GetAgentsCreatedCount() *int64 { + if o == nil { + return nil + } + return o.AgentsCreatedCount +} + +func (o *AgentUsersInsight) GetRunCount() *int64 { + if o == nil { + return nil + } + return o.RunCount +} diff --git a/tests/mockserver/internal/sdk/models/components/assistantinsightsresponse.go b/tests/mockserver/internal/sdk/models/components/assistantinsightsresponse.go new file mode 100644 index 00000000..a997b8f6 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/assistantinsightsresponse.go @@ -0,0 +1,122 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type AssistantInsightsResponse struct { + // Number of current Monthly Active Users, in the specified departments. + MonthlyActiveUsers *int64 `json:"monthlyActiveUsers,omitempty"` + // Number of current Weekly Active Users, in the specified departments. + WeeklyActiveUsers *int64 `json:"weeklyActiveUsers,omitempty"` + // Unix timestamp of the last update for the insights data in the response. + LastUpdatedTs *int64 `json:"lastUpdatedTs,omitempty"` + MonthlyActiveUserTimeseries *LabeledCountInfo `json:"monthlyActiveUserTimeseries,omitempty"` + WeeklyActiveUserTimeseries *LabeledCountInfo `json:"weeklyActiveUserTimeseries,omitempty"` + DailyActiveUserTimeseries *LabeledCountInfo `json:"dailyActiveUserTimeseries,omitempty"` + // Number of current signed up employees in the specified departments, according to the Org Chart. + TotalSignups *int64 `json:"totalSignups,omitempty"` + ChatMessagesTimeseries *LabeledCountInfo `json:"chatMessagesTimeseries,omitempty"` + SummarizationsTimeseries *LabeledCountInfo `json:"summarizationsTimeseries,omitempty"` + AiAnswersTimeseries *LabeledCountInfo `json:"aiAnswersTimeseries,omitempty"` + GleanbotInteractionsTimeseries *LabeledCountInfo `json:"gleanbotInteractionsTimeseries,omitempty"` + PerUserInsights []PerUserAssistantInsight `json:"perUserInsights,omitempty"` + UpvotesTimeseries *LabeledCountInfo `json:"upvotesTimeseries,omitempty"` + DownvotesTimeseries *LabeledCountInfo `json:"downvotesTimeseries,omitempty"` +} + +func (o *AssistantInsightsResponse) GetMonthlyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.MonthlyActiveUsers +} + +func (o *AssistantInsightsResponse) GetWeeklyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.WeeklyActiveUsers +} + +func (o *AssistantInsightsResponse) GetLastUpdatedTs() *int64 { + if o == nil { + return nil + } + return o.LastUpdatedTs +} + +func (o *AssistantInsightsResponse) GetMonthlyActiveUserTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.MonthlyActiveUserTimeseries +} + +func (o *AssistantInsightsResponse) GetWeeklyActiveUserTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.WeeklyActiveUserTimeseries +} + +func (o *AssistantInsightsResponse) GetDailyActiveUserTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.DailyActiveUserTimeseries +} + +func (o *AssistantInsightsResponse) GetTotalSignups() *int64 { + if o == nil { + return nil + } + return o.TotalSignups +} + +func (o *AssistantInsightsResponse) GetChatMessagesTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.ChatMessagesTimeseries +} + +func (o *AssistantInsightsResponse) GetSummarizationsTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.SummarizationsTimeseries +} + +func (o *AssistantInsightsResponse) GetAiAnswersTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.AiAnswersTimeseries +} + +func (o *AssistantInsightsResponse) GetGleanbotInteractionsTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.GleanbotInteractionsTimeseries +} + +func (o *AssistantInsightsResponse) GetPerUserInsights() []PerUserAssistantInsight { + if o == nil { + return nil + } + return o.PerUserInsights +} + +func (o *AssistantInsightsResponse) GetUpvotesTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.UpvotesTimeseries +} + +func (o *AssistantInsightsResponse) GetDownvotesTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.DownvotesTimeseries +} diff --git a/tests/mockserver/internal/sdk/models/components/currentactiveusers.go b/tests/mockserver/internal/sdk/models/components/currentactiveusers.go new file mode 100644 index 00000000..f4a046ec --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/currentactiveusers.go @@ -0,0 +1,24 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type CurrentActiveUsers struct { + // Number of current Monthly Active Users, in the specified departments. + MonthlyActiveUsers *int64 `json:"monthlyActiveUsers,omitempty"` + // Number of current Weekly Active Users, in the specified departments. + WeeklyActiveUsers *int64 `json:"weeklyActiveUsers,omitempty"` +} + +func (o *CurrentActiveUsers) GetMonthlyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.MonthlyActiveUsers +} + +func (o *CurrentActiveUsers) GetWeeklyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.WeeklyActiveUsers +} diff --git a/tests/mockserver/internal/sdk/models/components/feedrequest.go b/tests/mockserver/internal/sdk/models/components/feedrequest.go index 385cfb4e..bfc6576d 100644 --- a/tests/mockserver/internal/sdk/models/components/feedrequest.go +++ b/tests/mockserver/internal/sdk/models/components/feedrequest.go @@ -31,6 +31,7 @@ const ( FeedRequestCategoryZeroStateWorkflowCreatedByMe FeedRequestCategory = "ZERO_STATE_WORKFLOW_CREATED_BY_ME" FeedRequestCategoryZeroStateWorkflowFavorites FeedRequestCategory = "ZERO_STATE_WORKFLOW_FAVORITES" FeedRequestCategoryZeroStateWorkflowPopular FeedRequestCategory = "ZERO_STATE_WORKFLOW_POPULAR" + FeedRequestCategoryZeroStateWorkflowRecent FeedRequestCategory = "ZERO_STATE_WORKFLOW_RECENT" FeedRequestCategoryZeroStateWorkflowSuggestion FeedRequestCategory = "ZERO_STATE_WORKFLOW_SUGGESTION" FeedRequestCategoryPersonalizedChatSuggestion FeedRequestCategory = "PERSONALIZED_CHAT_SUGGESTION" FeedRequestCategoryDailyDigest FeedRequestCategory = "DAILY_DIGEST" @@ -87,6 +88,8 @@ func (e *FeedRequestCategory) UnmarshalJSON(data []byte) error { fallthrough case "ZERO_STATE_WORKFLOW_POPULAR": fallthrough + case "ZERO_STATE_WORKFLOW_RECENT": + fallthrough case "ZERO_STATE_WORKFLOW_SUGGESTION": fallthrough case "PERSONALIZED_CHAT_SUGGESTION": diff --git a/tests/mockserver/internal/sdk/models/components/feedresult.go b/tests/mockserver/internal/sdk/models/components/feedresult.go index 300d9e7c..d7955c06 100644 --- a/tests/mockserver/internal/sdk/models/components/feedresult.go +++ b/tests/mockserver/internal/sdk/models/components/feedresult.go @@ -32,6 +32,7 @@ const ( FeedResultCategoryZeroStateWorkflowCreatedByMe FeedResultCategory = "ZERO_STATE_WORKFLOW_CREATED_BY_ME" FeedResultCategoryZeroStateWorkflowFavorites FeedResultCategory = "ZERO_STATE_WORKFLOW_FAVORITES" FeedResultCategoryZeroStateWorkflowPopular FeedResultCategory = "ZERO_STATE_WORKFLOW_POPULAR" + FeedResultCategoryZeroStateWorkflowRecent FeedResultCategory = "ZERO_STATE_WORKFLOW_RECENT" FeedResultCategoryZeroStateWorkflowSuggestion FeedResultCategory = "ZERO_STATE_WORKFLOW_SUGGESTION" FeedResultCategoryPersonalizedChatSuggestion FeedResultCategory = "PERSONALIZED_CHAT_SUGGESTION" FeedResultCategoryDailyDigest FeedResultCategory = "DAILY_DIGEST" @@ -88,6 +89,8 @@ func (e *FeedResultCategory) UnmarshalJSON(data []byte) error { fallthrough case "ZERO_STATE_WORKFLOW_POPULAR": fallthrough + case "ZERO_STATE_WORKFLOW_RECENT": + fallthrough case "ZERO_STATE_WORKFLOW_SUGGESTION": fallthrough case "PERSONALIZED_CHAT_SUGGESTION": diff --git a/tests/mockserver/internal/sdk/models/components/insightschatsummary.go b/tests/mockserver/internal/sdk/models/components/insightschatsummary.go new file mode 100644 index 00000000..d60b2e3e --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/insightschatsummary.go @@ -0,0 +1,42 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type InsightsChatSummary struct { + // Number of current Monthly Active Users, in the specified departments. + MonthlyActiveUsers *int64 `json:"monthlyActiveUsers,omitempty"` + // Number of current Weekly Active Users, in the specified departments. + WeeklyActiveUsers *int64 `json:"weeklyActiveUsers,omitempty"` + // Total number of chats by users over the specified time period. + NumChats *int64 `json:"numChats,omitempty"` + // Total number of distinct users who used Chat over the specified time period. + NumChatUsers *int64 `json:"numChatUsers,omitempty"` +} + +func (o *InsightsChatSummary) GetMonthlyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.MonthlyActiveUsers +} + +func (o *InsightsChatSummary) GetWeeklyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.WeeklyActiveUsers +} + +func (o *InsightsChatSummary) GetNumChats() *int64 { + if o == nil { + return nil + } + return o.NumChats +} + +func (o *InsightsChatSummary) GetNumChatUsers() *int64 { + if o == nil { + return nil + } + return o.NumChatUsers +} diff --git a/tests/mockserver/internal/sdk/models/components/insightsoverviewresponse.go b/tests/mockserver/internal/sdk/models/components/insightsoverviewresponse.go new file mode 100644 index 00000000..77b017d5 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/insightsoverviewresponse.go @@ -0,0 +1,199 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +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"` + // Number of current Weekly Active Users, in the specified departments. + WeeklyActiveUsers *int64 `json:"weeklyActiveUsers,omitempty"` + // Department name(s). + Departments []string `json:"departments,omitempty"` + // Number of current employees in the specified departments, according to the Org Chart. + EmployeeCount *int64 `json:"employeeCount,omitempty"` + // Number of current signed up employees in the specified departments, according to the Org Chart. + TotalSignups *int64 `json:"totalSignups,omitempty"` + SearchSummary *InsightsSearchSummary `json:"searchSummary,omitempty"` + ChatSummary *InsightsChatSummary `json:"chatSummary,omitempty"` + ExtensionSummary *CurrentActiveUsers `json:"extensionSummary,omitempty"` + UgcSummary *CurrentActiveUsers `json:"ugcSummary,omitempty"` + // Unix timestamp of the last update for the insights data in the response. + LastUpdatedTs *int64 `json:"lastUpdatedTs,omitempty"` + // Search session satisfaction rate, over the specified time period in the specified departments. + SearchSessionSatisfaction *float32 `json:"searchSessionSatisfaction,omitempty"` + MonthlyActiveUserTimeseries *LabeledCountInfo `json:"monthlyActiveUserTimeseries,omitempty"` + WeeklyActiveUserTimeseries *LabeledCountInfo `json:"weeklyActiveUserTimeseries,omitempty"` + DailyActiveUserTimeseries *LabeledCountInfo `json:"dailyActiveUserTimeseries,omitempty"` + // Counts of search result clicks, by datasource, over the specified time period in the specified departments. + 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"` +} + +func (o *InsightsOverviewResponse) GetMonthlyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.MonthlyActiveUsers +} + +func (o *InsightsOverviewResponse) GetWeeklyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.WeeklyActiveUsers +} + +func (o *InsightsOverviewResponse) GetDepartments() []string { + if o == nil { + return nil + } + return o.Departments +} + +func (o *InsightsOverviewResponse) GetEmployeeCount() *int64 { + if o == nil { + return nil + } + return o.EmployeeCount +} + +func (o *InsightsOverviewResponse) GetTotalSignups() *int64 { + if o == nil { + return nil + } + return o.TotalSignups +} + +func (o *InsightsOverviewResponse) GetSearchSummary() *InsightsSearchSummary { + if o == nil { + return nil + } + return o.SearchSummary +} + +func (o *InsightsOverviewResponse) GetChatSummary() *InsightsChatSummary { + if o == nil { + return nil + } + return o.ChatSummary +} + +func (o *InsightsOverviewResponse) GetExtensionSummary() *CurrentActiveUsers { + if o == nil { + return nil + } + return o.ExtensionSummary +} + +func (o *InsightsOverviewResponse) GetUgcSummary() *CurrentActiveUsers { + if o == nil { + return nil + } + return o.UgcSummary +} + +func (o *InsightsOverviewResponse) GetLastUpdatedTs() *int64 { + if o == nil { + return nil + } + return o.LastUpdatedTs +} + +func (o *InsightsOverviewResponse) GetSearchSessionSatisfaction() *float32 { + if o == nil { + return nil + } + return o.SearchSessionSatisfaction +} + +func (o *InsightsOverviewResponse) GetMonthlyActiveUserTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.MonthlyActiveUserTimeseries +} + +func (o *InsightsOverviewResponse) GetWeeklyActiveUserTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.WeeklyActiveUserTimeseries +} + +func (o *InsightsOverviewResponse) GetDailyActiveUserTimeseries() *LabeledCountInfo { + if o == nil { + return nil + } + return o.DailyActiveUserTimeseries +} + +func (o *InsightsOverviewResponse) GetSearchDatasourceCounts() map[string]int64 { + if o == nil { + return nil + } + return o.SearchDatasourceCounts +} + +func (o *InsightsOverviewResponse) GetChatDatasourceCounts() map[string]int64 { + if o == nil { + return nil + } + return o.ChatDatasourceCounts +} + +func (o *InsightsOverviewResponse) GetPerUserInsights() []PerUserInsight { + if o == nil { + return nil + } + 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/insightsresponse.go b/tests/mockserver/internal/sdk/models/components/insightsresponse.go index fe65a737..e526a92d 100644 --- a/tests/mockserver/internal/sdk/models/components/insightsresponse.go +++ b/tests/mockserver/internal/sdk/models/components/insightsresponse.go @@ -4,6 +4,8 @@ package components type InsightsResponse struct { // List of timeseries to make charts (if applicable). + // + // Deprecated: This will be removed in a future release, please migrate away from it as soon as possible. Timeseries []LabeledCountInfo `json:"timeseries,omitempty"` Users *UserInsightsResponse `json:"users,omitempty"` Content *ContentInsightsResponse `json:"content,omitempty"` @@ -17,7 +19,12 @@ type InsightsResponse struct { AiApps *AiAppsInsightsResponse `json:"aiApps,omitempty"` GleanAssist *GleanAssistInsightsResponse `json:"gleanAssist,omitempty"` // list of all departments. - Departments []string `json:"departments,omitempty"` + // + // Deprecated: This will be removed in a future release, please migrate away from it as soon as possible. + Departments []string `json:"departments,omitempty"` + OverviewResponse *InsightsOverviewResponse `json:"overviewResponse,omitempty"` + AssistantResponse *AssistantInsightsResponse `json:"assistantResponse,omitempty"` + AgentsResponse *AgentsInsightsV2Response `json:"agentsResponse,omitempty"` } func (o *InsightsResponse) GetTimeseries() []LabeledCountInfo { @@ -110,3 +117,24 @@ func (o *InsightsResponse) GetDepartments() []string { } return o.Departments } + +func (o *InsightsResponse) GetOverviewResponse() *InsightsOverviewResponse { + if o == nil { + return nil + } + return o.OverviewResponse +} + +func (o *InsightsResponse) GetAssistantResponse() *AssistantInsightsResponse { + if o == nil { + return nil + } + return o.AssistantResponse +} + +func (o *InsightsResponse) GetAgentsResponse() *AgentsInsightsV2Response { + if o == nil { + return nil + } + return o.AgentsResponse +} diff --git a/tests/mockserver/internal/sdk/models/components/insightssearchsummary.go b/tests/mockserver/internal/sdk/models/components/insightssearchsummary.go new file mode 100644 index 00000000..23269c55 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/insightssearchsummary.go @@ -0,0 +1,42 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type InsightsSearchSummary struct { + // Number of current Monthly Active Users, in the specified departments. + MonthlyActiveUsers *int64 `json:"monthlyActiveUsers,omitempty"` + // Number of current Weekly Active Users, in the specified departments. + WeeklyActiveUsers *int64 `json:"weeklyActiveUsers,omitempty"` + // Total number of searches by users over the specified time period. + NumSearches *int64 `json:"numSearches,omitempty"` + // Total number of distinct users who searched over the specified time period. + NumSearchUsers *int64 `json:"numSearchUsers,omitempty"` +} + +func (o *InsightsSearchSummary) GetMonthlyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.MonthlyActiveUsers +} + +func (o *InsightsSearchSummary) GetWeeklyActiveUsers() *int64 { + if o == nil { + return nil + } + return o.WeeklyActiveUsers +} + +func (o *InsightsSearchSummary) GetNumSearches() *int64 { + if o == nil { + return nil + } + return o.NumSearches +} + +func (o *InsightsSearchSummary) GetNumSearchUsers() *int64 { + if o == nil { + return nil + } + return o.NumSearchUsers +} diff --git a/tests/mockserver/internal/sdk/models/components/peragentinsight.go b/tests/mockserver/internal/sdk/models/components/peragentinsight.go new file mode 100644 index 00000000..591003a8 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/peragentinsight.go @@ -0,0 +1,42 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type PerAgentInsight struct { + // Agent ID + AgentID *string `json:"agentId,omitempty"` + // Agent name + AgentName *string `json:"agentName,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. + RunCount *int64 `json:"runCount,omitempty"` +} + +func (o *PerAgentInsight) GetAgentID() *string { + if o == nil { + return nil + } + return o.AgentID +} + +func (o *PerAgentInsight) GetAgentName() *string { + if o == nil { + return nil + } + return o.AgentName +} + +func (o *PerAgentInsight) GetUserCount() *int64 { + if o == nil { + return nil + } + return o.UserCount +} + +func (o *PerAgentInsight) GetRunCount() *int64 { + if o == nil { + return nil + } + return o.RunCount +} diff --git a/tests/mockserver/internal/sdk/models/components/peruserassistantinsight.go b/tests/mockserver/internal/sdk/models/components/peruserassistantinsight.go new file mode 100644 index 00000000..cc020f77 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/peruserassistantinsight.go @@ -0,0 +1,59 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type PerUserAssistantInsight struct { + Person *Person `json:"person,omitempty"` + // Total number of chat messages sent by this user over the specified time period. + NumChatMessages *int64 `json:"numChatMessages,omitempty"` + // Total number of summarized items by this user over the specified time period. + 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. + NumGleanbotInteractions *int64 `json:"numGleanbotInteractions,omitempty"` + // Total number of days this user was active over the specified time period. + NumDaysActive *int64 `json:"numDaysActive,omitempty"` +} + +func (o *PerUserAssistantInsight) GetPerson() *Person { + if o == nil { + return nil + } + return o.Person +} + +func (o *PerUserAssistantInsight) GetNumChatMessages() *int64 { + if o == nil { + return nil + } + return o.NumChatMessages +} + +func (o *PerUserAssistantInsight) GetNumSummarizations() *int64 { + if o == nil { + return nil + } + return o.NumSummarizations +} + +func (o *PerUserAssistantInsight) GetNumAiAnswers() *int64 { + if o == nil { + return nil + } + return o.NumAiAnswers +} + +func (o *PerUserAssistantInsight) GetNumGleanbotInteractions() *int64 { + if o == nil { + return nil + } + return o.NumGleanbotInteractions +} + +func (o *PerUserAssistantInsight) GetNumDaysActive() *int64 { + if o == nil { + return nil + } + return o.NumDaysActive +} diff --git a/tests/mockserver/internal/sdk/models/components/peruserinsight.go b/tests/mockserver/internal/sdk/models/components/peruserinsight.go new file mode 100644 index 00000000..0b5ee8f3 --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/peruserinsight.go @@ -0,0 +1,32 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +type PerUserInsight struct { + Person *Person `json:"person,omitempty"` + // Total number of searches by this user over the specified time period. + NumSearches *int64 `json:"numSearches,omitempty"` + // Total number of chats by this user over the specified time period. + NumChats *int64 `json:"numChats,omitempty"` +} + +func (o *PerUserInsight) GetPerson() *Person { + if o == nil { + return nil + } + return o.Person +} + +func (o *PerUserInsight) GetNumSearches() *int64 { + if o == nil { + return nil + } + return o.NumSearches +} + +func (o *PerUserInsight) GetNumChats() *int64 { + if o == nil { + return nil + } + return o.NumChats +} diff --git a/tests/test_summarize.py b/tests/test_summarize.py index cac8e978..63b4eb85 100644 --- a/tests/test_summarize.py +++ b/tests/test_summarize.py @@ -1,6 +1,6 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -from glean.api_client import Glean, models +from glean.api_client import Glean import os from tests.test_client import create_test_http_client @@ -18,12 +18,10 @@ def test_summarize_summarize(): res = glean.client.documents.summarize( document_specs=[ { - "ugc_type": models.DocumentSpecUgcType1.SHORTCUTS, - "content_id": 602763, + "url": "https://dim-glider.com/", }, { - "ugc_type": models.DocumentSpecUgcType1.SHORTCUTS, - "content_id": 602763, + "id": "", }, ] ) From 70915787f1db79b96e19adfb2698a8c6659c3066 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:38:05 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow