From d39672d5943de69c3bccee9ba7f29850c08e5ff3 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Tue, 12 Aug 2025 20:09:37 +0000 Subject: [PATCH 1/2] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.603.0 --- .devcontainer/setup.sh | 1 + .speakeasy/gen.lock | 25 +- .speakeasy/gen.yaml | 3 +- .speakeasy/glean-merged-spec.yaml | 250 ++++++++++++------ .speakeasy/workflow.lock | 14 +- README.md | 8 +- RELEASES.md | 12 +- USAGE.md | 8 +- docs/models/authconfigstatus.md | 3 +- docs/models/chatmessagefragment.md | 3 +- docs/models/chatrequest.md | 2 +- docs/models/documentdefinition.md | 2 +- docs/models/event.md | 63 ++--- docs/models/feedback.md | 1 + docs/models/manualfeedbackinfo.md | 2 +- .../{vote.md => manualfeedbackinfovote.md} | 2 +- docs/models/manualfeedbacksidebysideinfo.md | 15 ++ .../manualfeedbacksidebysideinfosource.md | 12 + .../manualfeedbacksidebysideinfovote.md | 12 + docs/models/responsemetadata.md | 12 + docs/models/searchrequest.md | 1 - docs/models/searchresponsemetadata.md | 1 + docs/models/sidebysideimplementation.md | 12 + docs/models/structuredresult.md | 1 + docs/sdks/agents/README.md | 5 + docs/sdks/announcements/README.md | 3 + docs/sdks/answers/README.md | 5 + docs/sdks/clientactivity/README.md | 2 + docs/sdks/clientauthentication/README.md | 1 + docs/sdks/clientchat/README.md | 16 +- docs/sdks/clientdocuments/README.md | 4 + docs/sdks/clientshortcuts/README.md | 5 + docs/sdks/clientverification/README.md | 3 + docs/sdks/collections/README.md | 8 + docs/sdks/datasources/README.md | 2 + docs/sdks/entities/README.md | 2 + docs/sdks/indexingauthentication/README.md | 3 +- docs/sdks/indexingdatasource/README.md | 3 +- docs/sdks/indexingdocuments/README.md | 24 +- docs/sdks/indexingpermissions/README.md | 18 +- docs/sdks/indexingshortcuts/README.md | 2 + docs/sdks/insights/README.md | 1 + docs/sdks/messages/README.md | 1 + docs/sdks/people/README.md | 17 +- docs/sdks/pins/README.md | 5 + docs/sdks/policies/README.md | 5 + docs/sdks/reports/README.md | 3 + docs/sdks/search/README.md | 21 +- docs/sdks/tools/README.md | 2 + docs/sdks/visibilityoverrides/README.md | 2 + poetry.toml | 1 + pyproject.toml | 2 +- scripts/publish.sh | 1 - speakeasyusagegen/.speakeasy/logs/naming.log | 37 ++- src/glean/api_client/_version.py | 6 +- src/glean/api_client/client_chat.py | 8 +- src/glean/api_client/errors/__init__.py | 5 +- .../api_client/indexing_authentication.py | 4 +- src/glean/api_client/indexing_datasource.py | 4 +- src/glean/api_client/indexing_documents.py | 28 +- src/glean/api_client/indexing_permissions.py | 12 +- src/glean/api_client/models/__init__.py | 45 +++- src/glean/api_client/models/authconfig.py | 1 + src/glean/api_client/models/chatmessage.py | 2 +- .../api_client/models/chatmessagefragment.py | 6 + src/glean/api_client/models/chatrequest.py | 4 +- .../api_client/models/documentdefinition.py | 4 +- src/glean/api_client/models/feedback.py | 13 + src/glean/api_client/models/generatedqna.py | 10 +- .../api_client/models/manualfeedbackinfo.py | 6 +- .../models/manualfeedbacksidebysideinfo.py | 77 ++++++ src/glean/api_client/models/searchrequest.py | 6 - .../models/searchresponsemetadata.py | 7 + .../models/sidebysideimplementation.py | 69 +++++ .../api_client/models/structuredresult.py | 6 + src/glean/api_client/people.py | 16 +- src/glean/api_client/search.py | 20 -- src/glean/api_client/utils/__init__.py | 5 +- .../sdk/models/components/authconfig.go | 3 + .../sdk/models/components/chatmessage.go | 2 +- .../models/components/chatmessagefragment.go | 9 + .../sdk/models/components/chatrequest.go | 2 +- .../models/components/documentdefinition.go | 2 +- .../sdk/models/components/feedback.go | 79 +++--- .../models/components/manualfeedbackinfo.go | 20 +- .../manualfeedbacksidebysideinfo.go | 143 ++++++++++ .../sdk/models/components/searchrequest.go | 9 - .../components/searchresponsemetadata.go | 9 + .../components/sidebysideimplementation.go | 82 ++++++ .../sdk/models/components/structuredresult.go | 8 + tests/test_client_chat.py | 7 + tests/test_search.py | 12 - 92 files changed, 1071 insertions(+), 349 deletions(-) rename docs/models/{vote.md => manualfeedbackinfovote.md} (88%) create mode 100644 docs/models/manualfeedbacksidebysideinfo.md create mode 100644 docs/models/manualfeedbacksidebysideinfosource.md create mode 100644 docs/models/manualfeedbacksidebysideinfovote.md create mode 100644 docs/models/responsemetadata.md create mode 100644 docs/models/sidebysideimplementation.md create mode 100644 src/glean/api_client/models/manualfeedbacksidebysideinfo.py create mode 100644 src/glean/api_client/models/sidebysideimplementation.py create mode 100644 tests/mockserver/internal/sdk/models/components/manualfeedbacksidebysideinfo.go create mode 100644 tests/mockserver/internal/sdk/models/components/sidebysideimplementation.go diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh index b424ece0..9f04ea60 100644 --- a/.devcontainer/setup.sh +++ b/.devcontainer/setup.sh @@ -7,6 +7,7 @@ curl -fsSL https://raw.githubusercontent.com/speakeasy-api/speakeasy/main/instal rmdir samples || true mkdir samples + python -m pip install --upgrade pip pip install -e . diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index fe295d93..46f03a26 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: bb65a174a6b697994f7bde3845843d9d + docChecksum: b0738d0775f5848e1288d7ca6b0400e4 docVersion: 0.9.0 - speakeasyVersion: 1.580.2 - generationVersion: 2.656.5 - releaseVersion: 0.7.1 - configChecksum: f7304ede6fe6f15382ffd279d0680654 + speakeasyVersion: 1.603.0 + generationVersion: 2.681.1 + releaseVersion: 0.7.2 + configChecksum: bc34eadc14a450be0874b1974696c11c 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.19.4 + core: 5.19.8 defaultEnabledRetries: 0.2.0 deprecations: 3.0.2 devContainers: 3.0.0 @@ -37,7 +37,7 @@ features: responseFormat: 1.0.1 retries: 3.0.2 sdkHooks: 1.1.0 - tests: 1.19.1 + tests: 1.19.2 unions: 3.0.4 uploadStreams: 1.0.0 generatedFiles: @@ -412,6 +412,10 @@ generatedFiles: - docs/models/listverificationsrequest.md - docs/models/manualfeedbackinfo.md - docs/models/manualfeedbackinfosource.md + - docs/models/manualfeedbackinfovote.md + - docs/models/manualfeedbacksidebysideinfo.md + - docs/models/manualfeedbacksidebysideinfosource.md + - docs/models/manualfeedbacksidebysideinfovote.md - docs/models/meeting.md - docs/models/message.md - docs/models/messagesrequest.md @@ -482,6 +486,7 @@ generatedFiles: - docs/models/reportstatusresponsestatus.md - docs/models/requesttype.md - docs/models/responsehint.md + - docs/models/responsemetadata.md - docs/models/responsestatus.md - docs/models/restrictionfilters.md - docs/models/resultdocument.md @@ -519,6 +524,7 @@ generatedFiles: - docs/models/shortcutinsightsresponse.md - docs/models/shortcutmutableproperties.md - docs/models/shortcutspaginationmetadata.md + - docs/models/sidebysideimplementation.md - docs/models/socialnetwork.md - docs/models/socialnetworkdefinition.md - docs/models/sortoptions.md @@ -597,7 +603,6 @@ generatedFiles: - docs/models/verifyrequest.md - docs/models/verifyrequestaction.md - docs/models/viewerinfo.md - - docs/models/vote.md - docs/models/warningtype.md - docs/models/workflow.md - docs/models/workflowfeedbackinfo.md @@ -966,6 +971,7 @@ generatedFiles: - src/glean/api_client/models/listshortcutspaginatedresponse.py - src/glean/api_client/models/listverificationsop.py - src/glean/api_client/models/manualfeedbackinfo.py + - src/glean/api_client/models/manualfeedbacksidebysideinfo.py - src/glean/api_client/models/meeting.py - src/glean/api_client/models/message.py - src/glean/api_client/models/messagesrequest.py @@ -1048,6 +1054,7 @@ generatedFiles: - src/glean/api_client/models/shortcutinsightsresponse.py - src/glean/api_client/models/shortcutmutableproperties.py - src/glean/api_client/models/shortcutspaginationmetadata.py + - src/glean/api_client/models/sidebysideimplementation.py - src/glean/api_client/models/socialnetwork.py - src/glean/api_client/models/socialnetworkdefinition.py - src/glean/api_client/models/sortoptions.py @@ -1518,6 +1525,7 @@ generatedFiles: - tests/mockserver/internal/sdk/models/components/listshortcutspaginatedrequest.go - tests/mockserver/internal/sdk/models/components/listshortcutspaginatedresponse.go - tests/mockserver/internal/sdk/models/components/manualfeedbackinfo.go + - tests/mockserver/internal/sdk/models/components/manualfeedbacksidebysideinfo.go - tests/mockserver/internal/sdk/models/components/meeting.go - tests/mockserver/internal/sdk/models/components/message.go - tests/mockserver/internal/sdk/models/components/messagesrequest.go @@ -1596,6 +1604,7 @@ generatedFiles: - tests/mockserver/internal/sdk/models/components/shortcutinsightsresponse.go - tests/mockserver/internal/sdk/models/components/shortcutmutableproperties.go - tests/mockserver/internal/sdk/models/components/shortcutspaginationmetadata.go + - tests/mockserver/internal/sdk/models/components/sidebysideimplementation.go - tests/mockserver/internal/sdk/models/components/socialnetwork.go - tests/mockserver/internal/sdk/models/components/socialnetworkdefinition.go - tests/mockserver/internal/sdk/models/components/sortoptions.go diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 788dd0d5..308502e5 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -26,7 +26,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: true python: - version: 0.7.1 + version: 0.7.2 additionalDependencies: dev: {} main: {} @@ -57,6 +57,7 @@ python: methodArguments: infer-optional-args moduleName: glean.api_client outputModelSuffix: output + packageManager: poetry packageName: glean pytestFilterWarnings: [] pytestTimeout: 0 diff --git a/.speakeasy/glean-merged-spec.yaml b/.speakeasy/glean-merged-spec.yaml index e41f9253..e77a6900 100644 --- a/.speakeasy/glean-merged-spec.yaml +++ b/.speakeasy/glean-merged-spec.yaml @@ -2245,7 +2245,7 @@ paths: /api/index/v1/indexdocuments: post: summary: Index documents - description: Adds or updates multiple documents in the index. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#choosing-indexdocuments-vs-bulkindexdocuments) documentation for an explanation of when to use this endpoint. + description: Adds or updates multiple documents in the index. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-indexing/choosing-indexdocuments-vs-bulkindexdocuments) documentation for an explanation of when to use this endpoint. tags: - Documents requestBody: @@ -2271,7 +2271,7 @@ paths: /api/index/v1/bulkindexdocuments: post: summary: Bulk index documents - description: Replaces the documents in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + description: Replaces the documents in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. tags: - Documents requestBody: @@ -2403,7 +2403,7 @@ paths: /api/index/v1/bulkindexusers: post: summary: Bulk index users - description: Replaces the users in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + description: Replaces the users in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. tags: - Permissions requestBody: @@ -2451,7 +2451,7 @@ paths: /api/index/v1/bulkindexgroups: post: summary: Bulk index groups - description: Replaces the groups in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + description: Replaces the groups in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. tags: - Permissions requestBody: @@ -2499,7 +2499,7 @@ paths: /api/index/v1/bulkindexmemberships: post: summary: Bulk index memberships for a group - description: Replaces the memberships for a group in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + description: Replaces the memberships for a group in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. tags: - Permissions requestBody: @@ -2622,7 +2622,7 @@ paths: description: | Gather information about the datasource's overall status. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. tags: - Troubleshooting parameters: @@ -2653,7 +2653,7 @@ paths: description: | Gives various information that would help in debugging related to a particular document. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. tags: - Troubleshooting parameters: @@ -2691,7 +2691,7 @@ paths: description: | Gives various information that would help in debugging related to a batch of documents. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. tags: - Troubleshooting parameters: @@ -2729,7 +2729,7 @@ paths: description: | Gives various information that would help in debugging related to a particular user. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. tags: - Troubleshooting parameters: @@ -2765,7 +2765,7 @@ paths: description: | Check if a given user has access to access a document in a custom datasource - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. tags: - Troubleshooting requestBody: @@ -2797,7 +2797,7 @@ paths: description: | Intended for debugging/validation. Fetches the current upload and indexing status of documents. - Tip: Use [/debug/{datasource}/document](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-document) for richer information. + Tip: Use [/debug/{datasource}/document](https://developers.glean.com/indexing/debugging/datasource-document) for richer information. tags: - Troubleshooting requestBody: @@ -2829,7 +2829,7 @@ paths: description: | Fetches document count for the specified custom datasource. - Tip: Use [/debug/{datasource}/status](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-status) for richer information. + Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information. tags: - Troubleshooting requestBody: @@ -2861,7 +2861,7 @@ paths: description: | Fetches user count for the specified custom datasource. - Tip: Use [/debug/{datasource}/status](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-status) for richer information. + Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information. tags: - Troubleshooting requestBody: @@ -2963,7 +2963,7 @@ paths: /api/index/v1/rotatetoken: post: summary: Rotate token - description: Rotates the secret value inside the Indexing API token and returns the new raw secret. All other properties of the token are unchanged. In order to rotate the secret value, include the token as the bearer token in the `/rotatetoken` request. Please refer to [Token rotation](https://developers.glean.com/docs/indexing_api_token_rotation/) documentation for more information. + description: Rotates the secret value inside the Indexing API token and returns the new raw secret. All other properties of the token are unchanged. In order to rotate the secret value, include the token as the bearer token in the `/rotatetoken` request. Please refer to [Token rotation](https://developers.glean.com/indexing/authentication/token-rotation) documentation for more information. tags: - Authentication responses: @@ -3006,7 +3006,7 @@ paths: /api/index/v1/bulkindexemployees: post: summary: Bulk index employees - description: Replaces all the currently indexed employees using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + description: Replaces all the currently indexed employees using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. tags: - People requestBody: @@ -3121,7 +3121,7 @@ paths: /api/index/v1/bulkindexteams: post: summary: Bulk index teams - description: Replaces all the currently indexed teams using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + description: Replaces all the currently indexed teams using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. tags: - People requestBody: @@ -3868,6 +3868,71 @@ components: ratingScale: type: integer description: The scale of comparison for a rating associated with the feedback. Rating values start from one and go up to the maximum specified by ratingScale. For example, a five-option satisfaction rating will have a ratingScale of 5 and a thumbs-up/thumbs-down rating will have a ratingScale of 2. + SideBySideImplementation: + properties: + implementationId: + type: string + description: Unique identifier for this implementation variant. + implementationName: + type: string + description: Human-readable name for this implementation (e.g., "Variant A", "GPT-4", "Claude"). + searchParams: + type: object + description: The search/chat parameters used for this implementation. + additionalProperties: + type: string + response: + type: string + description: The full response generated by this implementation. + responseMetadata: + type: object + description: Metadata about the response (e.g., latency, token count). + properties: + latencyMs: + type: integer + description: Time taken to generate the response in milliseconds. + tokenCount: + type: integer + description: Number of tokens in the response. + modelUsed: + type: string + description: The specific model version used. + ManualFeedbackSideBySideInfo: + properties: + email: + type: string + description: The email address of the user who submitted the side-by-side feedback. + source: + type: string + description: The source associated with the side-by-side feedback event. + enum: + - LIVE_EVAL + - CHAT + - SEARCH + query: + type: string + description: The query or prompt that was evaluated across multiple implementations. + implementations: + type: array + description: Array of implementations that were compared side-by-side. + items: + $ref: "#/components/schemas/SideBySideImplementation" + evaluationSessionId: + type: string + description: Unique identifier for this evaluation session to group related feedback events. + implementationId: + type: string + description: The ID of the implementation this specific feedback event is for. + vote: + type: string + description: The vote for this specific implementation. + enum: + - UPVOTE + - DOWNVOTE + - NEUTRAL + comments: + type: string + description: Specific feedback comments for this implementation. SeenFeedbackInfo: properties: isExplicit: @@ -3938,6 +4003,7 @@ components: FOCUS_IN: The user clicked into an interactive element, e.g. the search box. LAST_TOKEN: The final token of a streaming response is received. MANUAL_FEEDBACK: The user submitted textual manual feedback regarding the object. + MANUAL_FEEDBACK_SIDE_BY_SIDE: The user submitted comparative feedback for multiple side-by-side implementations. MARK_AS_READ: The user explicitly marked the content as read. MESSAGE: The user attempted to send a message using their default messaing app. MIDDLE_CLICK: The user middle clicked the object's primary link with the intent to open its full representation in a new tab. @@ -3967,6 +4033,7 @@ components: - FOCUS_IN - LAST_TOKEN - MANUAL_FEEDBACK + - MANUAL_FEEDBACK_SIDE_BY_SIDE - MARK_AS_READ - MESSAGE - MIDDLE_CLICK @@ -4021,6 +4088,8 @@ components: description: The UI element associated with the event, if any. manualFeedbackInfo: $ref: "#/components/schemas/ManualFeedbackInfo" + manualFeedbackSideBySideInfo: + $ref: "#/components/schemas/ManualFeedbackSideBySideInfo" seenFeedbackInfo: $ref: "#/components/schemas/SeenFeedbackInfo" userViewInfo: @@ -5395,6 +5464,68 @@ components: description: The document's document_category(.proto). sourceDocument: $ref: "#/components/schemas/Document" + FollowupAction: + description: A follow-up action that can be invoked by the user after a response. The action parameters are not included and need to be predicted/filled separately. + properties: + actionRunId: + type: string + description: Unique identifier for this actionRun recommendation event. + actionInstanceId: + type: string + description: The ID of the action instance that will be invoked. + actionId: + type: string + description: The ID of the associated action. + recommendationText: + type: string + description: Text to be displayed to the user when recommending the action instance. + actionLabel: + type: string + description: The label to be used when displaying a button to execute this action instance. + userConfirmationRequired: + type: boolean + description: Whether user confirmation is needed before executing this action instance. + GeneratedQna: + properties: + question: + type: string + description: Search query rephrased into a question. + answer: + type: string + description: Answer generated for the given query or the generated question. + followUpPrompts: + type: array + items: + type: string + description: List of all follow-up prompts generated for the given query or the generated question. + followupActions: + description: List of follow-up actions generated for the given query or the generated question. + type: array + items: + $ref: "#/components/schemas/FollowupAction" + ranges: + type: array + items: + $ref: "#/components/schemas/TextRange" + description: Answer subsections to mark with special formatting (citations, bolding etc) + status: + type: string + enum: + - COMPUTING + - DISABLED + - FAILED + - NO_ANSWER + - SKIPPED + - STREAMING + - SUCCEEDED + - TIMEOUT + description: Status of backend generating the answer + cursor: + type: string + description: An opaque cursor representing the search request + trackingToken: + type: string + description: An opaque token that represents this particular result in this particular query. To be used for /feedback reporting. SearchResult: required: - url @@ -5748,6 +5879,8 @@ components: $ref: "#/components/schemas/CustomEntity" answer: $ref: "#/components/schemas/Answer" + generatedQna: + $ref: "#/components/schemas/GeneratedQna" extractedQnA: $ref: "#/components/schemas/ExtractedQnA" meeting: @@ -6994,6 +7127,7 @@ components: enum: - AWAITING_AUTH - AUTHORIZED + - AUTH_DISABLED client_url: type: string format: url @@ -7162,6 +7296,9 @@ components: action: description: Basic information about an action. This can be used to construct rich-text messages with action references. $ref: "#/components/schemas/ToolInfo" + citation: + description: Inline citation. + $ref: "#/components/schemas/ChatMessageCitation" ChatMessage: description: A message that is rendered as one coherent unit with one given sender. properties: @@ -7169,7 +7306,7 @@ components: $ref: "#/components/schemas/AgentConfig" description: Describes the agent config that generated this message. Populated on responses and not required on requests. author: - default: USER + default: GLEAN_AI enum: - USER - GLEAN_AI @@ -7248,7 +7385,7 @@ components: description: The id of the Chat that context should be retrieved from and messages added to. An empty id starts a new Chat, and the Chat is saved if saveChat is true. messages: type: array - description: A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query. + description: A list of chat messages, from most recent to least recent. At least one message must specify a USER author. items: $ref: "#/components/schemas/ChatMessage" agentConfig: @@ -8277,68 +8414,6 @@ components: datasourceInstanceDisplayName: type: string description: The datasource instance display name from which the document was extracted. This is used for appinstance facet filter for datasources that support multiple instances. - FollowupAction: - description: A follow-up action that can be invoked by the user after a response. The action parameters are not included and need to be predicted/filled separately. - properties: - actionRunId: - type: string - description: Unique identifier for this actionRun recommendation event. - actionInstanceId: - type: string - description: The ID of the action instance that will be invoked. - actionId: - type: string - description: The ID of the associated action. - recommendationText: - type: string - description: Text to be displayed to the user when recommending the action instance. - actionLabel: - type: string - description: The label to be used when displaying a button to execute this action instance. - userConfirmationRequired: - type: boolean - description: Whether user confirmation is needed before executing this action instance. - GeneratedQna: - properties: - question: - type: string - description: Search query rephrased into a question. - answer: - type: string - description: Answer generated for the given query or the generated question. - followUpPrompts: - type: array - items: - type: string - description: List of all follow-up prompts generated for the given query or the generated question. - followupActions: - description: List of follow-up actions generated for the given query or the generated question. - type: array - items: - $ref: "#/components/schemas/FollowupAction" - ranges: - type: array - items: - $ref: "#/components/schemas/TextRange" - description: Answer subsections to mark with special formatting (citations, bolding etc) - status: - type: string - enum: - - COMPUTING - - DISABLED - - FAILED - - NO_ANSWER - - SKIPPED - - STREAMING - - SUCCEEDED - - TIMEOUT - description: Status of backend generating the answer - cursor: - type: string - description: An opaque cursor representing the search request - trackingToken: - type: string - description: An opaque token that represents this particular result in this particular query. To be used for /feedback reporting. InvalidOperatorValueError: properties: key: @@ -8441,6 +8516,10 @@ components: searchedQuery: type: string description: The actual query used to perform search and return results. + searchedQueryWithoutNegation: + type: string + description: The query used to perform search and return results, with negated terms and facets removed. + x-includeEmpty: true searchedQueryRanges: type: array items: @@ -8765,11 +8844,6 @@ components: type: integer description: Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer. example: 5000 - people: - type: array - description: People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value. - items: - $ref: "#/components/schemas/Person" disableSpellcheck: type: boolean description: Whether or not to disable spellcheck. @@ -10118,7 +10192,7 @@ components: The permalink for viewing the document. **Note: viewURL is a required field if id was not set when uploading the document.**' permissions: $ref: "#/components/schemas/DocumentPermissionsDefinition" - description: The permissions that define who can view this document in the search results. Please refer to [this](https://developers.glean.com/docs/indexing_api_permissions/) for more details. + description: The permissions that define who can view this document in the search results. Please refer to [this](https://developers.glean.com/indexing/documents/permissions) for more details. required: - permissions - datasource @@ -10620,7 +10694,7 @@ components: description: The current owner of the document, if not the author. permissions: $ref: "#/components/schemas/DocumentPermissionsDefinition" - description: The permissions that define who can view this document in the search results. Please refer to [this](https://developers.glean.com/docs/indexing_api_permissions/) for more details. + description: The permissions that define who can view this document in the search results. Please refer to [this](https://developers.glean.com/indexing/documents/permissions) for more details. createdAt: type: integer format: int64 @@ -10654,7 +10728,7 @@ components: type: array items: $ref: "#/components/schemas/CustomProperty" - description: Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/docs/facets_and_operators_for_custom_datasources/). + description: Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/indexing/datasource/custom-properties/operators_and_facets). required: - datasource CommentDefinition: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 74ca0dfa..b3d4b100 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,12 +1,12 @@ -speakeasyVersion: 1.580.2 +speakeasyVersion: 1.603.0 sources: Glean API: sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:57fc6af98e6e9e98c92547985293be8fafd52d2a1d1ef88d4b24636743b9f119 - sourceBlobDigest: sha256:01cf4577ff2f15ba160b16bba410571a8ba0c5fefa7e6dd7101edef7ef7c68dc + sourceRevisionDigest: sha256:8f18d79a0a7d8f51de7edd5bc8ca3ccc569b81832ffc44ce95a27a12e67b9b7d + sourceBlobDigest: sha256:bb3e5a453f03cbdecf3fb3925768ef4cb0b3119083d9d36c341e1ecd721cde8b tags: - latest - - speakeasy-sdk-regen-1751974088 + - speakeasy-sdk-regen-1752597387 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:57fc6af98e6e9e98c92547985293be8fafd52d2a1d1ef88d4b24636743b9f119 - sourceBlobDigest: sha256:01cf4577ff2f15ba160b16bba410571a8ba0c5fefa7e6dd7101edef7ef7c68dc + sourceRevisionDigest: sha256:8f18d79a0a7d8f51de7edd5bc8ca3ccc569b81832ffc44ce95a27a12e67b9b7d + sourceBlobDigest: sha256:bb3e5a453f03cbdecf3fb3925768ef4cb0b3119083d9d36c341e1ecd721cde8b codeSamplesNamespace: glean-api-specs-python-code-samples - codeSamplesRevisionDigest: sha256:4fcbe6c58b860aa6d5380328a5e28104c0b1f1724dca9bd974696bde707c1531 + codeSamplesRevisionDigest: sha256:de3bba82d5dbca7c1e5176fccda54e82660c50b9dbe534a26fba17e65abf4dc1 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 920e16c2..e74a00c2 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ with Glean( res = glean.client.chat.create(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", @@ -160,7 +161,7 @@ with Glean(
-The same SDK client can also be used to make asychronous requests by importing asyncio. +The same SDK client can also be used to make asynchronous requests by importing asyncio. ```python # Asynchronous Example import asyncio @@ -175,6 +176,7 @@ async def main(): res = await glean.client.chat.create_async(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", @@ -203,6 +205,7 @@ with Glean( res = glean.client.chat.create_stream(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", @@ -217,7 +220,7 @@ with Glean(
-The same SDK client can also be used to make asychronous requests by importing asyncio. +The same SDK client can also be used to make asynchronous requests by importing asyncio. ```python # Asynchronous Example import asyncio @@ -232,6 +235,7 @@ async def main(): res = await glean.client.chat.create_stream_async(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", diff --git a/RELEASES.md b/RELEASES.md index cc00da44..1f01a317 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -188,4 +188,14 @@ Based on: ### Generated - [python v0.7.1] . ### Releases -- [PyPI v0.7.1] https://pypi.org/project/glean/0.7.1 - . \ No newline at end of file +- [PyPI v0.7.1] https://pypi.org/project/glean/0.7.1 - . + +## 2025-08-12 20:06:23 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.603.0 (2.681.1) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.7.2] . +### Releases +- [PyPI v0.7.2] https://pypi.org/project/glean/0.7.2 - . \ No newline at end of file diff --git a/USAGE.md b/USAGE.md index 6bd93fa2..181a2987 100644 --- a/USAGE.md +++ b/USAGE.md @@ -11,6 +11,7 @@ with Glean( res = glean.client.chat.create(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", @@ -25,7 +26,7 @@ with Glean(
-The same SDK client can also be used to make asychronous requests by importing asyncio. +The same SDK client can also be used to make asynchronous requests by importing asyncio. ```python # Asynchronous Example import asyncio @@ -40,6 +41,7 @@ async def main(): res = await glean.client.chat.create_async(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", @@ -66,6 +68,7 @@ with Glean( res = glean.client.chat.create_stream(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", @@ -80,7 +83,7 @@ with Glean(
-The same SDK client can also be used to make asychronous requests by importing asyncio. +The same SDK client can also be used to make asynchronous requests by importing asyncio. ```python # Asynchronous Example import asyncio @@ -95,6 +98,7 @@ async def main(): res = await glean.client.chat.create_stream_async(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", diff --git a/docs/models/authconfigstatus.md b/docs/models/authconfigstatus.md index 0b010bdf..60f45500 100644 --- a/docs/models/authconfigstatus.md +++ b/docs/models/authconfigstatus.md @@ -8,4 +8,5 @@ Auth status of the tool. | Name | Value | | --------------- | --------------- | | `AWAITING_AUTH` | AWAITING_AUTH | -| `AUTHORIZED` | AUTHORIZED | \ No newline at end of file +| `AUTHORIZED` | AUTHORIZED | +| `AUTH_DISABLED` | AUTH_DISABLED | \ No newline at end of file diff --git a/docs/models/chatmessagefragment.md b/docs/models/chatmessagefragment.md index 867f5d21..2ecc8633 100644 --- a/docs/models/chatmessagefragment.md +++ b/docs/models/chatmessagefragment.md @@ -12,4 +12,5 @@ Represents a part of a ChatMessage that originates from a single action/tool. It | `text` | *Optional[str]* | :heavy_minus_sign: | N/A | | | `query_suggestion` | [Optional[models.QuerySuggestion]](../models/querysuggestion.md) | :heavy_minus_sign: | N/A | {
"query": "app:github type:pull author:mortimer",
"label": "Mortimer's PRs",
"datasource": "github"
} | | `file` | [Optional[models.ChatFile]](../models/chatfile.md) | :heavy_minus_sign: | Structure for file uploaded by a user for Chat. | | -| `action` | [Optional[models.ToolInfo]](../models/toolinfo.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `action` | [Optional[models.ToolInfo]](../models/toolinfo.md) | :heavy_minus_sign: | N/A | | +| `citation` | [Optional[models.ChatMessageCitation]](../models/chatmessagecitation.md) | :heavy_minus_sign: | Information about the source for a ChatMessage. | | \ No newline at end of file diff --git a/docs/models/chatrequest.md b/docs/models/chatrequest.md index 4aa02657..9947a425 100644 --- a/docs/models/chatrequest.md +++ b/docs/models/chatrequest.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `save_chat` | *Optional[bool]* | :heavy_minus_sign: | Save the current interaction as a Chat for the user to access and potentially continue later. | | | `chat_id` | *Optional[str]* | :heavy_minus_sign: | The id of the Chat that context should be retrieved from and messages added to. An empty id starts a new Chat, and the Chat is saved if saveChat is true. | | -| `messages` | List[[models.ChatMessage](../models/chatmessage.md)] | :heavy_check_mark: | A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query. | | +| `messages` | List[[models.ChatMessage](../models/chatmessage.md)] | :heavy_check_mark: | A list of chat messages, from most recent to least recent. At least one message must specify a USER author. | | | `agent_config` | [Optional[models.AgentConfig]](../models/agentconfig.md) | :heavy_minus_sign: | Describes the agent that executes the request. | | | `inclusions` | [Optional[models.ChatRestrictionFilters]](../models/chatrestrictionfilters.md) | :heavy_minus_sign: | N/A | | | `exclusions` | [Optional[models.ChatRestrictionFilters]](../models/chatrestrictionfilters.md) | :heavy_minus_sign: | N/A | | diff --git a/docs/models/documentdefinition.md b/docs/models/documentdefinition.md index 5fd4d407..054c6871 100644 --- a/docs/models/documentdefinition.md +++ b/docs/models/documentdefinition.md @@ -29,4 +29,4 @@ Indexable document structure | `status` | *Optional[str]* | :heavy_minus_sign: | N/A | | `additional_urls` | List[*str*] | :heavy_minus_sign: | Additional variations of the URL that this document points to. | | `comments` | List[[models.CommentDefinition](../models/commentdefinition.md)] | :heavy_minus_sign: | Comments associated with the document. | -| `custom_properties` | List[[models.CustomProperty](../models/customproperty.md)] | :heavy_minus_sign: | Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/docs/facets_and_operators_for_custom_datasources/). | \ No newline at end of file +| `custom_properties` | List[[models.CustomProperty](../models/customproperty.md)] | :heavy_minus_sign: | Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/indexing/datasource/custom-properties/operators_and_facets). | \ No newline at end of file diff --git a/docs/models/event.md b/docs/models/event.md index d33c6f60..0970431d 100644 --- a/docs/models/event.md +++ b/docs/models/event.md @@ -5,34 +5,35 @@ The action the user took within a Glean client with respect to the object referr ## Values -| Name | Value | -| ----------------- | ----------------- | -| `CLICK` | CLICK | -| `CONTAINER_CLICK` | CONTAINER_CLICK | -| `COPY_LINK` | COPY_LINK | -| `CREATE` | CREATE | -| `DISMISS` | DISMISS | -| `DOWNVOTE` | DOWNVOTE | -| `EMAIL` | EMAIL | -| `EXECUTE` | EXECUTE | -| `FILTER` | FILTER | -| `FIRST_TOKEN` | FIRST_TOKEN | -| `FOCUS_IN` | FOCUS_IN | -| `LAST_TOKEN` | LAST_TOKEN | -| `MANUAL_FEEDBACK` | MANUAL_FEEDBACK | -| `MARK_AS_READ` | MARK_AS_READ | -| `MESSAGE` | MESSAGE | -| `MIDDLE_CLICK` | MIDDLE_CLICK | -| `PAGE_BLUR` | PAGE_BLUR | -| `PAGE_FOCUS` | PAGE_FOCUS | -| `PAGE_LEAVE` | PAGE_LEAVE | -| `PREVIEW` | PREVIEW | -| `RELATED_CLICK` | RELATED_CLICK | -| `RIGHT_CLICK` | RIGHT_CLICK | -| `SECTION_CLICK` | SECTION_CLICK | -| `SEEN` | SEEN | -| `SHARE` | SHARE | -| `SHOW_MORE` | SHOW_MORE | -| `UPVOTE` | UPVOTE | -| `VIEW` | VIEW | -| `VISIBLE` | VISIBLE | \ No newline at end of file +| Name | Value | +| ------------------------------ | ------------------------------ | +| `CLICK` | CLICK | +| `CONTAINER_CLICK` | CONTAINER_CLICK | +| `COPY_LINK` | COPY_LINK | +| `CREATE` | CREATE | +| `DISMISS` | DISMISS | +| `DOWNVOTE` | DOWNVOTE | +| `EMAIL` | EMAIL | +| `EXECUTE` | EXECUTE | +| `FILTER` | FILTER | +| `FIRST_TOKEN` | FIRST_TOKEN | +| `FOCUS_IN` | FOCUS_IN | +| `LAST_TOKEN` | LAST_TOKEN | +| `MANUAL_FEEDBACK` | MANUAL_FEEDBACK | +| `MANUAL_FEEDBACK_SIDE_BY_SIDE` | MANUAL_FEEDBACK_SIDE_BY_SIDE | +| `MARK_AS_READ` | MARK_AS_READ | +| `MESSAGE` | MESSAGE | +| `MIDDLE_CLICK` | MIDDLE_CLICK | +| `PAGE_BLUR` | PAGE_BLUR | +| `PAGE_FOCUS` | PAGE_FOCUS | +| `PAGE_LEAVE` | PAGE_LEAVE | +| `PREVIEW` | PREVIEW | +| `RELATED_CLICK` | RELATED_CLICK | +| `RIGHT_CLICK` | RIGHT_CLICK | +| `SECTION_CLICK` | SECTION_CLICK | +| `SEEN` | SEEN | +| `SHARE` | SHARE | +| `SHOW_MORE` | SHOW_MORE | +| `UPVOTE` | UPVOTE | +| `VIEW` | VIEW | +| `VISIBLE` | VISIBLE | \ No newline at end of file diff --git a/docs/models/feedback.md b/docs/models/feedback.md index f541731e..6fe107ab 100644 --- a/docs/models/feedback.md +++ b/docs/models/feedback.md @@ -20,6 +20,7 @@ | `ui_tree` | List[*str*] | :heavy_minus_sign: | The UI element tree associated with the event, if any. | | `ui_element` | *Optional[str]* | :heavy_minus_sign: | The UI element associated with the event, if any. | | `manual_feedback_info` | [Optional[models.ManualFeedbackInfo]](../models/manualfeedbackinfo.md) | :heavy_minus_sign: | N/A | +| `manual_feedback_side_by_side_info` | [Optional[models.ManualFeedbackSideBySideInfo]](../models/manualfeedbacksidebysideinfo.md) | :heavy_minus_sign: | N/A | | `seen_feedback_info` | [Optional[models.SeenFeedbackInfo]](../models/seenfeedbackinfo.md) | :heavy_minus_sign: | N/A | | `user_view_info` | [Optional[models.UserViewInfo]](../models/userviewinfo.md) | :heavy_minus_sign: | N/A | | `workflow_feedback_info` | [Optional[models.WorkflowFeedbackInfo]](../models/workflowfeedbackinfo.md) | :heavy_minus_sign: | N/A | diff --git a/docs/models/manualfeedbackinfo.md b/docs/models/manualfeedbackinfo.md index f9d304cc..08c30df5 100644 --- a/docs/models/manualfeedbackinfo.md +++ b/docs/models/manualfeedbackinfo.md @@ -18,7 +18,7 @@ | `previous_messages` | List[*str*] | :heavy_minus_sign: | The array of previous messages in a chat session, ordered by oldest to newest. | | `chat_transcript` | List[[models.FeedbackChatExchange](../models/feedbackchatexchange.md)] | :heavy_minus_sign: | Array of previous request/response exchanges, ordered by oldest to newest. | | `num_queries_from_first_run` | *Optional[int]* | :heavy_minus_sign: | How many times this query has been run in the past. | -| `vote` | [Optional[models.Vote]](../models/vote.md) | :heavy_minus_sign: | The vote associated with the Feedback.event.MANUAL_FEEDBACK event. | +| `vote` | [Optional[models.ManualFeedbackInfoVote]](../models/manualfeedbackinfovote.md) | :heavy_minus_sign: | The vote associated with the Feedback.event.MANUAL_FEEDBACK event. | | `rating` | *Optional[int]* | :heavy_minus_sign: | A rating associated with the user feedback. The value will be between one and the maximum given by ratingScale, inclusive. | | `rating_key` | *Optional[str]* | :heavy_minus_sign: | A description of the rating that contextualizes how it appeared to the user, e.g. "satisfied". | | `rating_scale` | *Optional[int]* | :heavy_minus_sign: | The scale of comparison for a rating associated with the feedback. Rating values start from one and go up to the maximum specified by ratingScale. For example, a five-option satisfaction rating will have a ratingScale of 5 and a thumbs-up/thumbs-down rating will have a ratingScale of 2. | \ No newline at end of file diff --git a/docs/models/vote.md b/docs/models/manualfeedbackinfovote.md similarity index 88% rename from docs/models/vote.md rename to docs/models/manualfeedbackinfovote.md index 75566ee7..401fb94b 100644 --- a/docs/models/vote.md +++ b/docs/models/manualfeedbackinfovote.md @@ -1,4 +1,4 @@ -# Vote +# ManualFeedbackInfoVote The vote associated with the Feedback.event.MANUAL_FEEDBACK event. diff --git a/docs/models/manualfeedbacksidebysideinfo.md b/docs/models/manualfeedbacksidebysideinfo.md new file mode 100644 index 00000000..48d47a85 --- /dev/null +++ b/docs/models/manualfeedbacksidebysideinfo.md @@ -0,0 +1,15 @@ +# ManualFeedbackSideBySideInfo + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `email` | *Optional[str]* | :heavy_minus_sign: | The email address of the user who submitted the side-by-side feedback. | +| `source` | [Optional[models.ManualFeedbackSideBySideInfoSource]](../models/manualfeedbacksidebysideinfosource.md) | :heavy_minus_sign: | The source associated with the side-by-side feedback event. | +| `query` | *Optional[str]* | :heavy_minus_sign: | The query or prompt that was evaluated across multiple implementations. | +| `implementations` | List[[models.SideBySideImplementation](../models/sidebysideimplementation.md)] | :heavy_minus_sign: | Array of implementations that were compared side-by-side. | +| `evaluation_session_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for this evaluation session to group related feedback events. | +| `implementation_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the implementation this specific feedback event is for. | +| `vote` | [Optional[models.ManualFeedbackSideBySideInfoVote]](../models/manualfeedbacksidebysideinfovote.md) | :heavy_minus_sign: | The vote for this specific implementation. | +| `comments` | *Optional[str]* | :heavy_minus_sign: | Specific feedback comments for this implementation. | \ No newline at end of file diff --git a/docs/models/manualfeedbacksidebysideinfosource.md b/docs/models/manualfeedbacksidebysideinfosource.md new file mode 100644 index 00000000..ac916e0d --- /dev/null +++ b/docs/models/manualfeedbacksidebysideinfosource.md @@ -0,0 +1,12 @@ +# ManualFeedbackSideBySideInfoSource + +The source associated with the side-by-side feedback event. + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `LIVE_EVAL` | LIVE_EVAL | +| `CHAT` | CHAT | +| `SEARCH` | SEARCH | \ No newline at end of file diff --git a/docs/models/manualfeedbacksidebysideinfovote.md b/docs/models/manualfeedbacksidebysideinfovote.md new file mode 100644 index 00000000..3ba4a1be --- /dev/null +++ b/docs/models/manualfeedbacksidebysideinfovote.md @@ -0,0 +1,12 @@ +# ManualFeedbackSideBySideInfoVote + +The vote for this specific implementation. + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `UPVOTE` | UPVOTE | +| `DOWNVOTE` | DOWNVOTE | +| `NEUTRAL` | NEUTRAL | \ No newline at end of file diff --git a/docs/models/responsemetadata.md b/docs/models/responsemetadata.md new file mode 100644 index 00000000..a0011a2f --- /dev/null +++ b/docs/models/responsemetadata.md @@ -0,0 +1,12 @@ +# ResponseMetadata + +Metadata about the response (e.g., latency, token count). + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `latency_ms` | *Optional[int]* | :heavy_minus_sign: | Time taken to generate the response in milliseconds. | +| `token_count` | *Optional[int]* | :heavy_minus_sign: | Number of tokens in the response. | +| `model_used` | *Optional[str]* | :heavy_minus_sign: | The specific model version used. | \ No newline at end of file diff --git a/docs/models/searchrequest.md b/docs/models/searchrequest.md index 0da61270..ae190b55 100644 --- a/docs/models/searchrequest.md +++ b/docs/models/searchrequest.md @@ -17,5 +17,4 @@ | `input_details` | [Optional[models.SearchRequestInputDetails]](../models/searchrequestinputdetails.md) | :heavy_minus_sign: | N/A | {
"hasCopyPaste": true
} | | `request_options` | [Optional[models.SearchRequestOptions]](../models/searchrequestoptions.md) | :heavy_minus_sign: | N/A | {
"datasourceFilter": "JIRA",
"datasourcesFilter": [
"JIRA"
],
"queryOverridesFacetFilters": true,
"facetFilters": [
{
"fieldName": "fieldName",
"values": [
"fieldValues",
"fieldValues"
]
},
{
"fieldName": "fieldName",
"values": [
"fieldValues",
"fieldValues"
]
}
]
} | | `timeout_millis` | *Optional[int]* | :heavy_minus_sign: | Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer. | 5000 | -| `people` | List[[models.Person](../models/person.md)] | :heavy_minus_sign: | People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value. | | | `disable_spellcheck` | *Optional[bool]* | :heavy_minus_sign: | Whether or not to disable spellcheck. | | \ No newline at end of file diff --git a/docs/models/searchresponsemetadata.md b/docs/models/searchresponsemetadata.md index e46b0deb..e212c207 100644 --- a/docs/models/searchresponsemetadata.md +++ b/docs/models/searchresponsemetadata.md @@ -7,6 +7,7 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `rewritten_query` | *Optional[str]* | :heavy_minus_sign: | A cleaned up or updated version of the query to be displayed in the query box. Useful for mapping visual facets to search operators. | | | `searched_query` | *Optional[str]* | :heavy_minus_sign: | The actual query used to perform search and return results. | | +| `searched_query_without_negation` | *Optional[str]* | :heavy_minus_sign: | The query used to perform search and return results, with negated terms and facets removed. | | | `searched_query_ranges` | List[[models.TextRange](../models/textrange.md)] | :heavy_minus_sign: | The bolded ranges within the searched query. | | | `original_query` | *Optional[str]* | :heavy_minus_sign: | The query text sent by the client in the request. | | | `query_suggestion` | [Optional[models.QuerySuggestion]](../models/querysuggestion.md) | :heavy_minus_sign: | N/A | {
"query": "app:github type:pull author:mortimer",
"label": "Mortimer's PRs",
"datasource": "github"
} | diff --git a/docs/models/sidebysideimplementation.md b/docs/models/sidebysideimplementation.md new file mode 100644 index 00000000..f5278307 --- /dev/null +++ b/docs/models/sidebysideimplementation.md @@ -0,0 +1,12 @@ +# SideBySideImplementation + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `implementation_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for this implementation variant. | +| `implementation_name` | *Optional[str]* | :heavy_minus_sign: | Human-readable name for this implementation (e.g., "Variant A", "GPT-4", "Claude"). | +| `search_params` | Dict[str, *str*] | :heavy_minus_sign: | The search/chat parameters used for this implementation. | +| `response` | *Optional[str]* | :heavy_minus_sign: | The full response generated by this implementation. | +| `response_metadata` | [Optional[models.ResponseMetadata]](../models/responsemetadata.md) | :heavy_minus_sign: | Metadata about the response (e.g., latency, token count). | \ No newline at end of file diff --git a/docs/models/structuredresult.md b/docs/models/structuredresult.md index f31db208..e6323172 100644 --- a/docs/models/structuredresult.md +++ b/docs/models/structuredresult.md @@ -13,6 +13,7 @@ A single object that can support any object in the work graph. Only a single obj | `team` | [Optional[models.Team]](../models/team.md) | :heavy_minus_sign: | N/A | | | `custom_entity` | [Optional[models.CustomEntity]](../models/customentity.md) | :heavy_minus_sign: | N/A | | | `answer` | [Optional[models.Answer]](../models/answer.md) | :heavy_minus_sign: | N/A | | +| `generated_qna` | [Optional[models.GeneratedQna]](../models/generatedqna.md) | :heavy_minus_sign: | N/A | | | `extracted_qn_a` | [Optional[models.ExtractedQnA]](../models/extractedqna.md) | :heavy_minus_sign: | N/A | | | `meeting` | [Optional[models.Meeting]](../models/meeting.md) | :heavy_minus_sign: | N/A | | | `app` | [Optional[models.AppResult]](../models/appresult.md) | :heavy_minus_sign: | N/A | | diff --git a/docs/sdks/agents/README.md b/docs/sdks/agents/README.md index eea95d87..ea6fa129 100644 --- a/docs/sdks/agents/README.md +++ b/docs/sdks/agents/README.md @@ -17,6 +17,7 @@ Returns details of an [agent](https://developers.glean.com/agents/agents-api) cr ### Example Usage + ```python from glean.api_client import Glean import os @@ -57,6 +58,7 @@ Return [agent](https://developers.glean.com/agents/agents-api)'s input and outpu ### Example Usage + ```python from glean.api_client import Glean import os @@ -97,6 +99,7 @@ Search for [agents](https://developers.glean.com/agents/agents-api) by agent nam ### Example Usage + ```python from glean.api_client import Glean import os @@ -136,6 +139,7 @@ Executes an [agent](https://developers.glean.com/agents/agents-api) run and retu ### Example Usage + ```python from glean.api_client import Glean import os @@ -182,6 +186,7 @@ Executes an [agent](https://developers.glean.com/agents/agents-api) run and retu ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/announcements/README.md b/docs/sdks/announcements/README.md index 8b419039..175280f8 100644 --- a/docs/sdks/announcements/README.md +++ b/docs/sdks/announcements/README.md @@ -15,6 +15,7 @@ Create a textual announcement visible to some set of users based on department a ### Example Usage + ```python from glean.api_client import Glean, models from glean.api_client.utils import parse_datetime @@ -1168,6 +1169,7 @@ Delete an existing user-generated announcement. ### Example Usage + ```python from glean.api_client import Glean import os @@ -1202,6 +1204,7 @@ Update a textual announcement visible to some set of users based on department a ### Example Usage + ```python from glean.api_client import Glean, models from glean.api_client.utils import parse_datetime diff --git a/docs/sdks/answers/README.md b/docs/sdks/answers/README.md index 8c6be8a1..876f0afe 100644 --- a/docs/sdks/answers/README.md +++ b/docs/sdks/answers/README.md @@ -17,6 +17,7 @@ Create a user-generated Answer that contains a question and answer. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -104,6 +105,7 @@ Delete an existing user-generated Answer. ### Example Usage + ```python from glean.api_client import Glean import os @@ -139,6 +141,7 @@ Update an existing user-generated Answer. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -232,6 +235,7 @@ Read the details of a particular Answer given its ID. ### Example Usage + ```python from glean.api_client import Glean import os @@ -272,6 +276,7 @@ List Answers created by the current user. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/clientactivity/README.md b/docs/sdks/clientactivity/README.md index 81c4e512..bf7f9f08 100644 --- a/docs/sdks/clientactivity/README.md +++ b/docs/sdks/clientactivity/README.md @@ -14,6 +14,7 @@ Report user activity that occurs on indexed documents such as viewing or editing ### Example Usage + ```python from glean.api_client import Glean, models from glean.api_client.utils import parse_datetime @@ -72,6 +73,7 @@ Report events that happen to results within a Glean client UI, such as search re ### Example Usage + ```python from glean.api_client import Glean, models import os diff --git a/docs/sdks/clientauthentication/README.md b/docs/sdks/clientauthentication/README.md index 9fe09ba3..86e95796 100644 --- a/docs/sdks/clientauthentication/README.md +++ b/docs/sdks/clientauthentication/README.md @@ -18,6 +18,7 @@ for use with the Client API (e.g. `/rest/api/v1/*`). ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/clientchat/README.md b/docs/sdks/clientchat/README.md index e44fd1a6..b8c937d3 100644 --- a/docs/sdks/clientchat/README.md +++ b/docs/sdks/clientchat/README.md @@ -22,6 +22,7 @@ Have a conversation with Glean AI. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -33,6 +34,7 @@ with Glean( res = glean.client.chat.create(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", @@ -50,7 +52,7 @@ with Glean( | Parameter | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `messages` | List[[models.ChatMessage](../../models/chatmessage.md)] | :heavy_check_mark: | A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query. | | +| `messages` | List[[models.ChatMessage](../../models/chatmessage.md)] | :heavy_check_mark: | A list of chat messages, from most recent to least recent. At least one message must specify a USER author. | | | `timezone_offset` | *Optional[int]* | :heavy_minus_sign: | The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC. | | | `save_chat` | *Optional[bool]* | :heavy_minus_sign: | Save the current interaction as a Chat for the user to access and potentially continue later. | | | `chat_id` | *Optional[str]* | :heavy_minus_sign: | The id of the Chat that context should be retrieved from and messages added to. An empty id starts a new Chat, and the Chat is saved if saveChat is true. | | @@ -80,6 +82,7 @@ Deletes all saved Chats a user has had and all their contained conversational co ### Example Usage + ```python from glean.api_client import Glean import os @@ -114,6 +117,7 @@ Deletes saved Chats and all their contained conversational content. ### Example Usage + ```python from glean.api_client import Glean import os @@ -149,6 +153,7 @@ Retrieves the chat history between Glean Assistant and the user for a given Chat ### Example Usage + ```python from glean.api_client import Glean import os @@ -189,6 +194,7 @@ Retrieves all the saved Chats between Glean Assistant and the user. The returned ### Example Usage + ```python from glean.api_client import Glean import os @@ -228,6 +234,7 @@ Gets the Chat application details for the specified application ID. ### Example Usage + ```python from glean.api_client import Glean import os @@ -268,6 +275,7 @@ Upload files for Chat. ### Example Usage + ```python from glean.api_client import Glean import os @@ -308,6 +316,7 @@ Get files uploaded by a user for Chat. ### Example Usage + ```python from glean.api_client import Glean import os @@ -350,6 +359,7 @@ Delete files uploaded by a user for Chat. ### Example Usage + ```python from glean.api_client import Glean import os @@ -389,6 +399,7 @@ Have a conversation with Glean AI. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -400,6 +411,7 @@ with Glean( res = glean.client.chat.create_stream(messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", @@ -417,7 +429,7 @@ with Glean( | Parameter | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `messages` | List[[models.ChatMessage](../../models/chatmessage.md)] | :heavy_check_mark: | A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query. | | +| `messages` | List[[models.ChatMessage](../../models/chatmessage.md)] | :heavy_check_mark: | A list of chat messages, from most recent to least recent. At least one message must specify a USER author. | | | `timezone_offset` | *Optional[int]* | :heavy_minus_sign: | The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC. | | | `save_chat` | *Optional[bool]* | :heavy_minus_sign: | Save the current interaction as a Chat for the user to access and potentially continue later. | | | `chat_id` | *Optional[str]* | :heavy_minus_sign: | The id of the Chat that context should be retrieved from and messages added to. An empty id starts a new Chat, and the Chat is saved if saveChat is true. | | diff --git a/docs/sdks/clientdocuments/README.md b/docs/sdks/clientdocuments/README.md index 52264523..421ef846 100644 --- a/docs/sdks/clientdocuments/README.md +++ b/docs/sdks/clientdocuments/README.md @@ -16,6 +16,7 @@ Read the emails of all users who have access to the given document. ### Example Usage + ```python from glean.api_client import Glean import os @@ -55,6 +56,7 @@ Read the documents including metadata (does not include enhanced metadata via `/ ### Example Usage + ```python from glean.api_client import Glean import os @@ -94,6 +96,7 @@ Read the documents including metadata (does not include enhanced metadata via `/ ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -153,6 +156,7 @@ Generate an AI summary of the requested documents. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/clientshortcuts/README.md b/docs/sdks/clientshortcuts/README.md index 38813a53..23aa92b5 100644 --- a/docs/sdks/clientshortcuts/README.md +++ b/docs/sdks/clientshortcuts/README.md @@ -17,6 +17,7 @@ Create a user-generated shortcut that contains an alias and destination URL. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -75,6 +76,7 @@ Delete an existing user-generated shortcut. ### Example Usage + ```python from glean.api_client import Glean import os @@ -109,6 +111,7 @@ Read a particular shortcut's details given its ID. ### Example Usage + ```python from glean.api_client import Glean import os @@ -150,6 +153,7 @@ List shortcuts editable/owned by the currently authenticated user. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -208,6 +212,7 @@ Updates the shortcut with the given ID. ### Example Usage + ```python from glean.api_client import Glean, models import os diff --git a/docs/sdks/clientverification/README.md b/docs/sdks/clientverification/README.md index 85f9c247..112d856e 100644 --- a/docs/sdks/clientverification/README.md +++ b/docs/sdks/clientverification/README.md @@ -15,6 +15,7 @@ Creates a verification reminder for the document. Users can create verification ### Example Usage + ```python from glean.api_client import Glean import os @@ -57,6 +58,7 @@ Returns the information to be rendered in verification dashboard. Includes infor ### Example Usage + ```python from glean.api_client import Glean import os @@ -96,6 +98,7 @@ Verify documents to keep the knowledge up to date within customer corpus. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/collections/README.md b/docs/sdks/collections/README.md index ee4adf85..43979a3b 100644 --- a/docs/sdks/collections/README.md +++ b/docs/sdks/collections/README.md @@ -20,6 +20,7 @@ Add items to a Collection. ### Example Usage + ```python from glean.api_client import Glean import os @@ -60,6 +61,7 @@ Create a publicly visible (empty) Collection of documents. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -140,6 +142,7 @@ Delete a Collection given the Collection's ID. ### Example Usage + ```python from glean.api_client import Glean import os @@ -180,6 +183,7 @@ Delete a single item from a Collection. ### Example Usage + ```python from glean.api_client import Glean import os @@ -221,6 +225,7 @@ Update the properties of an existing Collection. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -301,6 +306,7 @@ Update the URL, Glean Document ID, description of an item within a Collection gi ### Example Usage + ```python from glean.api_client import Glean import os @@ -344,6 +350,7 @@ Read the details of a Collection given its ID. Does not fetch items in this Coll ### Example Usage + ```python from glean.api_client import Glean import os @@ -386,6 +393,7 @@ List all existing Collections. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/datasources/README.md b/docs/sdks/datasources/README.md index e578a760..5ea8a1ad 100644 --- a/docs/sdks/datasources/README.md +++ b/docs/sdks/datasources/README.md @@ -14,6 +14,7 @@ Add or update a custom datasource and its schema. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -83,6 +84,7 @@ Fetches the datasource config for the specified custom datasource. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/entities/README.md b/docs/sdks/entities/README.md index 70022991..925cdad4 100644 --- a/docs/sdks/entities/README.md +++ b/docs/sdks/entities/README.md @@ -14,6 +14,7 @@ List some set of details for all entities that fit the given criteria and return ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -76,6 +77,7 @@ Read people details for the given IDs. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/indexingauthentication/README.md b/docs/sdks/indexingauthentication/README.md index 7a689b7c..e50aec83 100644 --- a/docs/sdks/indexingauthentication/README.md +++ b/docs/sdks/indexingauthentication/README.md @@ -9,10 +9,11 @@ ## rotate_token -Rotates the secret value inside the Indexing API token and returns the new raw secret. All other properties of the token are unchanged. In order to rotate the secret value, include the token as the bearer token in the `/rotatetoken` request. Please refer to [Token rotation](https://developers.glean.com/docs/indexing_api_token_rotation/) documentation for more information. +Rotates the secret value inside the Indexing API token and returns the new raw secret. All other properties of the token are unchanged. In order to rotate the secret value, include the token as the bearer token in the `/rotatetoken` request. Please refer to [Token rotation](https://developers.glean.com/indexing/authentication/token-rotation) documentation for more information. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/indexingdatasource/README.md b/docs/sdks/indexingdatasource/README.md index c63bcecf..b447979c 100644 --- a/docs/sdks/indexingdatasource/README.md +++ b/docs/sdks/indexingdatasource/README.md @@ -12,11 +12,12 @@ Gather information about the datasource's overall status. Currently in beta, might undergo breaking changes without prior notice. -Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. +Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/indexingdocuments/README.md b/docs/sdks/indexingdocuments/README.md index 41f3ab02..f514c70a 100644 --- a/docs/sdks/indexingdocuments/README.md +++ b/docs/sdks/indexingdocuments/README.md @@ -24,6 +24,7 @@ Adds a document to the index or updates an existing document. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -57,10 +58,11 @@ with Glean( ## index -Adds or updates multiple documents in the index. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#choosing-indexdocuments-vs-bulkindexdocuments) documentation for an explanation of when to use this endpoint. +Adds or updates multiple documents in the index. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-indexing/choosing-indexdocuments-vs-bulkindexdocuments) documentation for an explanation of when to use this endpoint. ### Example Usage + ```python from glean.api_client import Glean import os @@ -93,10 +95,11 @@ with Glean( ## bulk_index -Replaces the documents in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. +Replaces the documents in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. ### Example Usage + ```python from glean.api_client import Glean import os @@ -148,6 +151,7 @@ For more frequent document processing, contact Glean support. ### Example Usage + ```python from glean.api_client import Glean import os @@ -182,6 +186,7 @@ Deletes the specified document from the index. Succeeds if document is not prese ### Example Usage + ```python from glean.api_client import Glean import os @@ -217,11 +222,12 @@ with Glean( Gives various information that would help in debugging related to a particular document. Currently in beta, might undergo breaking changes without prior notice. -Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. +Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. ### Example Usage + ```python from glean.api_client import Glean import os @@ -261,11 +267,12 @@ with Glean( Gives various information that would help in debugging related to a batch of documents. Currently in beta, might undergo breaking changes without prior notice. -Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. +Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. ### Example Usage + ```python from glean.api_client import Glean import os @@ -304,11 +311,12 @@ with Glean( Check if a given user has access to access a document in a custom datasource -Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. +Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. ### Example Usage + ```python from glean.api_client import Glean import os @@ -349,13 +357,14 @@ with Glean( Intended for debugging/validation. Fetches the current upload and indexing status of documents. -Tip: Use [/debug/{datasource}/document](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-document) for richer information. +Tip: Use [/debug/{datasource}/document](https://developers.glean.com/indexing/debugging/datasource-document) for richer information. > :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible. ### Example Usage + ```python from glean.api_client import Glean import os @@ -395,13 +404,14 @@ with Glean( Fetches document count for the specified custom datasource. -Tip: Use [/debug/{datasource}/status](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-status) for richer information. +Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information. > :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/indexingpermissions/README.md b/docs/sdks/indexingpermissions/README.md index 404b19af..db353896 100644 --- a/docs/sdks/indexingpermissions/README.md +++ b/docs/sdks/indexingpermissions/README.md @@ -24,6 +24,7 @@ Updates the permissions for a given document without modifying document content. ### Example Usage + ```python from glean.api_client import Glean import os @@ -62,6 +63,7 @@ Adds a datasource user or updates an existing user. ### Example Usage + ```python from glean.api_client import Glean import os @@ -97,10 +99,11 @@ with Glean( ## bulk_index_users -Replaces the users in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. +Replaces the users in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. ### Example Usage + ```python from glean.api_client import Glean import os @@ -146,6 +149,7 @@ Add or update a group in the datasource. ### Example Usage + ```python from glean.api_client import Glean import os @@ -180,10 +184,11 @@ with Glean( ## bulk_index_groups -Replaces the groups in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. +Replaces the groups in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. ### Example Usage + ```python from glean.api_client import Glean import os @@ -228,6 +233,7 @@ Add the memberships of a group in the datasource. ### Example Usage + ```python from glean.api_client import Glean import os @@ -262,10 +268,11 @@ with Glean( ## bulk_index_memberships -Replaces the memberships for a group in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. +Replaces the memberships for a group in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. ### Example Usage + ```python from glean.api_client import Glean import os @@ -309,6 +316,7 @@ Schedules the immediate processing of all group memberships uploaded through the ### Example Usage + ```python from glean.api_client import Glean import os @@ -343,6 +351,7 @@ Delete the user from the datasource. Silently succeeds if user is not present. ### Example Usage + ```python from glean.api_client import Glean import os @@ -379,6 +388,7 @@ Delete group from the datasource. Silently succeeds if group is not present. ### Example Usage + ```python from glean.api_client import Glean import os @@ -415,6 +425,7 @@ Delete membership to a group in the specified datasource. Silently succeeds if m ### Example Usage + ```python from glean.api_client import Glean import os @@ -453,6 +464,7 @@ Allow the datasource be visible to the specified beta users. The default behavio ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/indexingshortcuts/README.md b/docs/sdks/indexingshortcuts/README.md index 7eb3581b..0d67f7d8 100644 --- a/docs/sdks/indexingshortcuts/README.md +++ b/docs/sdks/indexingshortcuts/README.md @@ -14,6 +14,7 @@ Replaces all the currently indexed shortcuts using paginated batch API calls. No ### Example Usage + ```python from glean.api_client import Glean import os @@ -59,6 +60,7 @@ Creates glean shortcuts for uploaded shortcuts info. Glean would host the shortc ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/insights/README.md b/docs/sdks/insights/README.md index 82bfef8e..3a8de827 100644 --- a/docs/sdks/insights/README.md +++ b/docs/sdks/insights/README.md @@ -13,6 +13,7 @@ Reads the aggregate information for each user, query, and content. ### Example Usage + ```python from glean.api_client import Glean, models import os diff --git a/docs/sdks/messages/README.md b/docs/sdks/messages/README.md index 22714058..d7cbe960 100644 --- a/docs/sdks/messages/README.md +++ b/docs/sdks/messages/README.md @@ -13,6 +13,7 @@ Retrieves list of messages from messaging/chat datasources (e.g. Slack, Teams). ### Example Usage + ```python from glean.api_client import Glean, models import os diff --git a/docs/sdks/people/README.md b/docs/sdks/people/README.md index 1f7f7b35..94438eef 100644 --- a/docs/sdks/people/README.md +++ b/docs/sdks/people/README.md @@ -20,11 +20,12 @@ Gives various information that would help in debugging related to a particular user. Currently in beta, might undergo breaking changes without prior notice. -Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. +Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. ### Example Usage + ```python from glean.api_client import Glean import os @@ -63,13 +64,14 @@ with Glean( Fetches user count for the specified custom datasource. -Tip: Use [/debug/{datasource}/status](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-status) for richer information. +Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information. > :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible. ### Example Usage + ```python from glean.api_client import Glean import os @@ -109,6 +111,7 @@ Adds an employee or updates information about an employee ### Example Usage + ```python from glean.api_client import Glean import os @@ -149,10 +152,11 @@ with Glean( ## bulk_index -Replaces all the currently indexed employees using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. +Replaces all the currently indexed employees using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. ### Example Usage + ```python from glean.api_client import Glean import os @@ -204,6 +208,7 @@ Schedules the immediate processing of employees and teams uploaded through the i ### Example Usage + ```python from glean.api_client import Glean import os @@ -237,6 +242,7 @@ Delete an employee. Silently succeeds if employee is not present. ### Example Usage + ```python from glean.api_client import Glean import os @@ -272,6 +278,7 @@ Adds a team or updates information about a team ### Example Usage + ```python from glean.api_client import Glean import os @@ -321,6 +328,7 @@ Delete a team based on provided id. ### Example Usage + ```python from glean.api_client import Glean import os @@ -351,10 +359,11 @@ with Glean( ## bulk_index_teams -Replaces all the currently indexed teams using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. +Replaces all the currently indexed teams using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/pins/README.md b/docs/sdks/pins/README.md index a4366e57..629e2591 100644 --- a/docs/sdks/pins/README.md +++ b/docs/sdks/pins/README.md @@ -17,6 +17,7 @@ Update an existing user-generated pin. ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -72,6 +73,7 @@ Read pin details given its ID. ### Example Usage + ```python from glean.api_client import Glean import os @@ -111,6 +113,7 @@ Lists all pins. ### Example Usage + ```python from glean.api_client import Glean import os @@ -150,6 +153,7 @@ Pin a document as a result for a given search query.Pin results that are known t ### Example Usage + ```python from glean.api_client import Glean, models import os @@ -205,6 +209,7 @@ Unpin a previously pinned result. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/policies/README.md b/docs/sdks/policies/README.md index 627cad13..69030c29 100644 --- a/docs/sdks/policies/README.md +++ b/docs/sdks/policies/README.md @@ -17,6 +17,7 @@ Fetches the specified policy version, or the latest if no version is provided. ### Example Usage + ```python from glean.api_client import Glean import os @@ -57,6 +58,7 @@ Updates an existing policy. ### Example Usage + ```python from glean.api_client import Glean import os @@ -101,6 +103,7 @@ Lists policies with filtering. ### Example Usage + ```python from glean.api_client import Glean import os @@ -141,6 +144,7 @@ Creates a new policy with specified specifications and returns its id. ### Example Usage + ```python from glean.api_client import Glean import os @@ -183,6 +187,7 @@ Downloads CSV violations report for a specific policy id. This does not support ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/reports/README.md b/docs/sdks/reports/README.md index 974a4a09..473e2ae1 100644 --- a/docs/sdks/reports/README.md +++ b/docs/sdks/reports/README.md @@ -15,6 +15,7 @@ Creates a new one-time report and executes its batch job. ### Example Usage + ```python from glean.api_client import Glean import os @@ -55,6 +56,7 @@ Downloads CSV violations report for a specific report id. ### Example Usage + ```python from glean.api_client import Glean import os @@ -94,6 +96,7 @@ Fetches the status of the run corresponding to the report-id. ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md index ff022a48..cf918818 100644 --- a/docs/sdks/search/README.md +++ b/docs/sdks/search/README.md @@ -17,6 +17,7 @@ Retrieves results for search query without respect for permissions. This is avai ### Example Usage + ```python from glean.api_client import Glean, models from glean.api_client.utils import parse_datetime @@ -126,12 +127,7 @@ with Glean( ), ], facet_bucket_size=723824, - ), timeout_millis=5000, people=[ - models.Person( - name="George Clooney", - obfuscated_id="abc123", - ), - ]) + ), timeout_millis=5000) # Handle response print(res) @@ -154,7 +150,6 @@ with Glean( | `input_details` | [Optional[models.SearchRequestInputDetails]](../../models/searchrequestinputdetails.md) | :heavy_minus_sign: | N/A | {
"hasCopyPaste": true
} | | `request_options` | [Optional[models.SearchRequestOptions]](../../models/searchrequestoptions.md) | :heavy_minus_sign: | N/A | {
"datasourceFilter": "JIRA",
"datasourcesFilter": [
"JIRA"
],
"queryOverridesFacetFilters": true,
"facetFilters": [
{
"fieldName": "fieldName",
"values": [
"fieldValues",
"fieldValues"
]
},
{
"fieldName": "fieldName",
"values": [
"fieldValues",
"fieldValues"
]
}
]
} | | `timeout_millis` | *Optional[int]* | :heavy_minus_sign: | Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer. | 5000 | -| `people` | List[[models.Person](../../models/person.md)] | :heavy_minus_sign: | People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value. | | | `disable_spellcheck` | *Optional[bool]* | :heavy_minus_sign: | Whether or not to disable spellcheck. | | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | @@ -175,6 +170,7 @@ Retrieve query suggestions, operators and documents for the given partially type ### Example Usage + ```python from glean.api_client import Glean import os @@ -229,6 +225,7 @@ The personalized feed/home includes different types of contents including sugges ### Example Usage + ```python from glean.api_client import Glean import os @@ -271,6 +268,7 @@ Retrieve recommended documents for the given URL or Glean Document ID. ### Example Usage + ```python from glean.api_client import Glean, models from glean.api_client.utils import parse_datetime @@ -483,6 +481,7 @@ Retrieve results from the index for the given query and filters. ### Example Usage + ```python from glean.api_client import Glean, models from glean.api_client.utils import parse_datetime @@ -592,12 +591,7 @@ with Glean( ), ], facet_bucket_size=939520, - ), timeout_millis=5000, people=[ - models.Person( - name="George Clooney", - obfuscated_id="abc123", - ), - ]) + ), timeout_millis=5000) # Handle response print(res) @@ -620,7 +614,6 @@ with Glean( | `input_details` | [Optional[models.SearchRequestInputDetails]](../../models/searchrequestinputdetails.md) | :heavy_minus_sign: | N/A | {
"hasCopyPaste": true
} | | `request_options` | [Optional[models.SearchRequestOptions]](../../models/searchrequestoptions.md) | :heavy_minus_sign: | N/A | {
"datasourceFilter": "JIRA",
"datasourcesFilter": [
"JIRA"
],
"queryOverridesFacetFilters": true,
"facetFilters": [
{
"fieldName": "fieldName",
"values": [
"fieldValues",
"fieldValues"
]
},
{
"fieldName": "fieldName",
"values": [
"fieldValues",
"fieldValues"
]
}
]
} | | `timeout_millis` | *Optional[int]* | :heavy_minus_sign: | Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer. | 5000 | -| `people` | List[[models.Person](../../models/person.md)] | :heavy_minus_sign: | People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value. | | | `disable_spellcheck` | *Optional[bool]* | :heavy_minus_sign: | Whether or not to disable spellcheck. | | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | diff --git a/docs/sdks/tools/README.md b/docs/sdks/tools/README.md index 132affb0..2f9dc0fa 100644 --- a/docs/sdks/tools/README.md +++ b/docs/sdks/tools/README.md @@ -14,6 +14,7 @@ Returns a filtered set of available tools based on optional tool name parameters ### Example Usage + ```python from glean.api_client import Glean import os @@ -53,6 +54,7 @@ Execute the specified tool with provided parameters ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/docs/sdks/visibilityoverrides/README.md b/docs/sdks/visibilityoverrides/README.md index faa0a4d3..2fc45679 100644 --- a/docs/sdks/visibilityoverrides/README.md +++ b/docs/sdks/visibilityoverrides/README.md @@ -14,6 +14,7 @@ Fetches the visibility override status of the documents passed. ### Example Usage + ```python from glean.api_client import Glean import os @@ -53,6 +54,7 @@ Sets the visibility-override state of the documents specified, effectively hidin ### Example Usage + ```python from glean.api_client import Glean import os diff --git a/poetry.toml b/poetry.toml index ab1033bd..cd3492ac 100644 --- a/poetry.toml +++ b/poetry.toml @@ -1,2 +1,3 @@ + [virtualenvs] in-project = true diff --git a/pyproject.toml b/pyproject.toml index d4b5a75c..7acaa233 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "glean-api-client" -version = "0.7.1" +version = "0.7.2" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Glean Technologies, Inc." }] license = "MIT" diff --git a/scripts/publish.sh b/scripts/publish.sh index f2f2cf2c..2a3ead70 100755 --- a/scripts/publish.sh +++ b/scripts/publish.sh @@ -1,5 +1,4 @@ #!/usr/bin/env bash - export POETRY_PYPI_TOKEN_PYPI=${PYPI_TOKEN} poetry run python scripts/prepare_readme.py diff --git a/speakeasyusagegen/.speakeasy/logs/naming.log b/speakeasyusagegen/.speakeasy/logs/naming.log index 327436a3..a9bcb1a6 100644 --- a/speakeasyusagegen/.speakeasy/logs/naming.log +++ b/speakeasyusagegen/.speakeasy/logs/naming.log @@ -66,10 +66,13 @@ DEBUG discriminated: Renamed to "UpdateAnnouncementRequest_channel" registrationID: "scope:shared refType:Schemas refName:UpdateAnnouncementRequest originalName:channel" DEBUG ---- Renaming 4 types with name "source" --- +--- Renaming 5 types with name "source" --- DEBUG discriminated: Renamed to "ManualFeedbackInfo_source" labels: "original_name:source scope:shared data_type:enum refName:ManualFeedbackInfo" registrationID: "scope:shared refType:Schemas refName:ManualFeedbackInfo originalName:source" +DEBUG discriminated: Renamed to "ManualFeedbackSideBySideInfo_source" + labels: "original_name:source scope:shared data_type:enum refName:ManualFeedbackSideBySideInfo" + registrationID: "scope:shared refType:Schemas refName:ManualFeedbackSideBySideInfo originalName:source" DEBUG discriminated: Renamed to "WorkflowFeedbackInfo_source" labels: "original_name:source scope:shared data_type:enum refName:WorkflowFeedbackInfo" registrationID: "scope:shared refType:Schemas refName:WorkflowFeedbackInfo originalName:source" @@ -81,6 +84,15 @@ DEBUG discriminated: Renamed to "ConferenceData_source" registrationID: "scope:shared refType:Schemas refName:ConferenceData originalName:source" DEBUG +--- Renaming 2 types with name "vote" --- +DEBUG discriminated: Renamed to "ManualFeedbackInfo_vote" + labels: "original_name:vote scope:shared data_type:enum refName:ManualFeedbackInfo" + registrationID: "scope:shared refType:Schemas refName:ManualFeedbackInfo originalName:vote" +DEBUG discriminated: Renamed to "ManualFeedbackSideBySideInfo_vote" + labels: "original_name:vote scope:shared data_type:enum refName:ManualFeedbackSideBySideInfo" + registrationID: "scope:shared refType:Schemas refName:ManualFeedbackSideBySideInfo originalName:vote" +DEBUG + --- Renaming 2 types with name "ConnectorType" --- DEBUG discriminated: Renamed to "CustomDatasourceConfig_connectorType" labels: "original_name:connectorType scope:shared data_type:enum refName:CustomDatasourceConfig" @@ -154,12 +166,12 @@ DEBUG DEBUG discriminated: Renamed to "Team_status" labels: "original_name:status scope:shared data_type:enum refName:Team" registrationID: "scope:shared refType:Schemas refName:Team originalName:status" -DEBUG discriminated: Renamed to "AuthConfig_status" - labels: "original_name:status scope:shared data_type:enum refName:AuthConfig" - registrationID: "scope:shared refType:Schemas refName:AuthConfig originalName:status" DEBUG discriminated: Renamed to "GeneratedQna_status" labels: "original_name:status scope:shared data_type:enum refName:GeneratedQna" registrationID: "scope:shared refType:Schemas refName:GeneratedQna originalName:status" +DEBUG discriminated: Renamed to "AuthConfig_status" + labels: "original_name:status scope:shared data_type:enum refName:AuthConfig" + registrationID: "scope:shared refType:Schemas refName:AuthConfig originalName:status" DEBUG discriminated: Renamed to "BulkUploadHistoryEvent_status" labels: "original_name:status scope:shared data_type:enum refName:BulkUploadHistoryEvent" registrationID: "scope:shared refType:Schemas refName:BulkUploadHistoryEvent originalName:status" @@ -360,7 +372,12 @@ FeedbackRequest (feedbackQueryParameter: string, Feedback1: Feedback) Issue (enum: INACCURATE_RESPONSE, INCOMPLETE_OR_NO_ANSWER, INCORRECT_CITATION ...) FeedbackChatExchange (timestamp: integer, agent: string, userQuery: string ...) ResultDocument (title: string, url: string) - Vote (enum: UPVOTE, DOWNVOTE) + ManualFeedbackInfoVote (enum: UPVOTE, DOWNVOTE) + ManualFeedbackSideBySideInfo (email: string, source: enum, query: string ...) + ManualFeedbackSideBySideInfoSource (enum: LIVE_EVAL, CHAT, SEARCH) + SideBySideImplementation (implementationId: string, implementationName: string, searchParams: map ...) + ResponseMetadata (latencyMs: integer, tokenCount: integer, modelUsed: string) + ManualFeedbackSideBySideInfoVote (enum: UPVOTE, DOWNVOTE, NEUTRAL) SeenFeedbackInfo (isExplicit: boolean) UserViewInfo (docId: string, docTitle: string, docUrl: string) WorkflowFeedbackInfo (source: enum) @@ -468,6 +485,9 @@ CreateAnnouncementRequest (startTime: date-time, endTime: date-time, title: stri CollectionPinnableTargets (enum: RESOURCE_CARD, TEAM_PROFILE_PAGE) CollectionPinMetadata (id: integer, target: CollectionPinTarget) CollectionItemItemType (enum: DOCUMENT, TEXT, URL ...) + GeneratedQna (question: string, answer: string, followUpPrompts: array ...) + FollowupAction (actionRunId: string, actionInstanceId: string, actionId: string ...) + GeneratedQnaStatus (enum: COMPUTING, DISABLED, FAILED ...) ExtractedQnA (heading: string, question: string, questionResult: SearchResult) SearchResultSnippet (snippet: string, mimeType: string, text: string ...) ClusterGroup (clusteredResults: array, clusterType: ClusterTypeEnum, visibleCountHint: integer) @@ -554,7 +574,7 @@ ChatRequest (timezoneOffset: integer, ChatRequest: ChatRequest) AuthConfig (isOnPrem: boolean, usesCentralAuth: boolean, type: enum ...) AuthConfigType (enum: NONE, OAUTH_USER, OAUTH_ADMIN ...) GrantType (enum: AUTH_CODE, CLIENT_CREDENTIALS) - AuthConfigStatus (enum: AWAITING_AUTH, AUTHORIZED) + AuthConfigStatus (enum: AWAITING_AUTH, AUTHORIZED, AUTH_DISABLED) WriteActionParameter (type: enum, displayName: string, value: string ...) WriteActionParameterType (enum: UNKNOWN, INTEGER, STRING ...) PossibleValue (value: string, label: string) @@ -700,13 +720,10 @@ MessagesRequest (idType: enum, id: string, workspaceId: string ...) MessagesResponse (HttpMeta: HTTPMetadata, MessagesResponse: MessagesResponse) MessagesResponse (hasMore: boolean, searchResponse: SearchResponse, rootMessage: SearchResult) SearchResponse (trackingToken: string, sessionInfo: SessionInfo, results: array ...) - GeneratedQna (question: string, answer: string, followUpPrompts: array ...) - FollowupAction (actionRunId: string, actionInstanceId: string, actionId: string ...) - GeneratedQnaStatus (enum: COMPUTING, DISABLED, FAILED ...) GleanDataError (badGmailToken: boolean, badOutlookToken: boolean, invalidOperators: array ...) InvalidOperatorValueError (key: string, value: string) ErrorMessage (source: string, errorMessage: string) - SearchResponseMetadata (rewrittenQuery: string, searchedQuery: string, searchedQueryRanges: array ...) + SearchResponseMetadata (rewrittenQuery: string, searchedQuery: string, searchedQueryWithoutNegation: string ...) SearchWarning (warningType: enum, lastUsedTerm: string, quotesIgnoredQuery: string ...) WarningType (enum: LONG_QUERY, QUOTED_PUNCTUATION, PUNCTUATION_ONLY ...) FacetResult (sourceName: string, operatorName: string, buckets: array ...) diff --git a/src/glean/api_client/_version.py b/src/glean/api_client/_version.py index 57036246..28e24d02 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.7.1" +__version__: str = "0.7.2" __openapi_doc_version__: str = "0.9.0" -__gen_version__: str = "2.656.5" -__user_agent__: str = "speakeasy-sdk/python 0.7.1 2.656.5 0.9.0 glean" +__gen_version__: str = "2.681.1" +__user_agent__: str = "speakeasy-sdk/python 0.7.2 2.681.1 0.9.0 glean" try: if __package__ is not None: diff --git a/src/glean/api_client/client_chat.py b/src/glean/api_client/client_chat.py index 21d7bfba..c36f2ba2 100644 --- a/src/glean/api_client/client_chat.py +++ b/src/glean/api_client/client_chat.py @@ -42,7 +42,7 @@ def create( Have a conversation with Glean AI. - :param messages: A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query. + :param messages: A list of chat messages, from most recent to least recent. At least one message must specify a USER author. :param timezone_offset: The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC. :param save_chat: Save the current interaction as a Chat for the user to access and potentially continue later. :param chat_id: The id of the Chat that context should be retrieved from and messages added to. An empty id starts a new Chat, and the Chat is saved if saveChat is true. @@ -179,7 +179,7 @@ async def create_async( Have a conversation with Glean AI. - :param messages: A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query. + :param messages: A list of chat messages, from most recent to least recent. At least one message must specify a USER author. :param timezone_offset: The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC. :param save_chat: Save the current interaction as a Chat for the user to access and potentially continue later. :param chat_id: The id of the Chat that context should be retrieved from and messages added to. An empty id starts a new Chat, and the Chat is saved if saveChat is true. @@ -1780,7 +1780,7 @@ def create_stream( Have a conversation with Glean AI. - :param messages: A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query. + :param messages: A list of chat messages, from most recent to least recent. At least one message must specify a USER author. :param timezone_offset: The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC. :param save_chat: Save the current interaction as a Chat for the user to access and potentially continue later. :param chat_id: The id of the Chat that context should be retrieved from and messages added to. An empty id starts a new Chat, and the Chat is saved if saveChat is true. @@ -1917,7 +1917,7 @@ async def create_stream_async( Have a conversation with Glean AI. - :param messages: A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query. + :param messages: A list of chat messages, from most recent to least recent. At least one message must specify a USER author. :param timezone_offset: The offset of the client's timezone in minutes from UTC. e.g. PDT is -420 because it's 7 hours behind UTC. :param save_chat: Save the current interaction as a Chat for the user to access and potentially continue later. :param chat_id: The id of the Chat that context should be retrieved from and messages added to. An empty id starts a new Chat, and the Chat is saved if saveChat is true. diff --git a/src/glean/api_client/errors/__init__.py b/src/glean/api_client/errors/__init__.py index 6d6b0896..444b2d43 100644 --- a/src/glean/api_client/errors/__init__.py +++ b/src/glean/api_client/errors/__init__.py @@ -2,6 +2,7 @@ from typing import TYPE_CHECKING from importlib import import_module +import builtins if TYPE_CHECKING: from .collectionerror import CollectionError, CollectionErrorData @@ -56,5 +57,5 @@ def __getattr__(attr_name: str) -> object: def __dir__(): - lazy_attrs = list(_dynamic_imports.keys()) - return sorted(lazy_attrs) + lazy_attrs = builtins.list(_dynamic_imports.keys()) + return builtins.sorted(lazy_attrs) diff --git a/src/glean/api_client/indexing_authentication.py b/src/glean/api_client/indexing_authentication.py index 171b8950..c001d2e1 100644 --- a/src/glean/api_client/indexing_authentication.py +++ b/src/glean/api_client/indexing_authentication.py @@ -20,7 +20,7 @@ def rotate_token( ) -> models.RotateTokenResponse: r"""Rotate token - Rotates the secret value inside the Indexing API token and returns the new raw secret. All other properties of the token are unchanged. In order to rotate the secret value, include the token as the bearer token in the `/rotatetoken` request. Please refer to [Token rotation](https://developers.glean.com/docs/indexing_api_token_rotation/) documentation for more information. + Rotates the secret value inside the Indexing API token and returns the new raw secret. All other properties of the token are unchanged. In order to rotate the secret value, include the token as the bearer token in the `/rotatetoken` request. Please refer to [Token rotation](https://developers.glean.com/indexing/authentication/token-rotation) documentation for more information. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -96,7 +96,7 @@ async def rotate_token_async( ) -> models.RotateTokenResponse: r"""Rotate token - Rotates the secret value inside the Indexing API token and returns the new raw secret. All other properties of the token are unchanged. In order to rotate the secret value, include the token as the bearer token in the `/rotatetoken` request. Please refer to [Token rotation](https://developers.glean.com/docs/indexing_api_token_rotation/) documentation for more information. + Rotates the secret value inside the Indexing API token and returns the new raw secret. All other properties of the token are unchanged. In order to rotate the secret value, include the token as the bearer token in the `/rotatetoken` request. Please refer to [Token rotation](https://developers.glean.com/indexing/authentication/token-rotation) documentation for more information. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method diff --git a/src/glean/api_client/indexing_datasource.py b/src/glean/api_client/indexing_datasource.py index 5124459e..4ed430b2 100644 --- a/src/glean/api_client/indexing_datasource.py +++ b/src/glean/api_client/indexing_datasource.py @@ -23,7 +23,7 @@ def status( Gather information about the datasource's overall status. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: The datasource to get debug status for. @@ -111,7 +111,7 @@ async def status_async( Gather information about the datasource's overall status. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: The datasource to get debug status for. diff --git a/src/glean/api_client/indexing_documents.py b/src/glean/api_client/indexing_documents.py index 697397b9..24855cf7 100644 --- a/src/glean/api_client/indexing_documents.py +++ b/src/glean/api_client/indexing_documents.py @@ -204,7 +204,7 @@ def index( ): r"""Index documents - Adds or updates multiple documents in the index. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#choosing-indexdocuments-vs-bulkindexdocuments) documentation for an explanation of when to use this endpoint. + Adds or updates multiple documents in the index. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-indexing/choosing-indexdocuments-vs-bulkindexdocuments) documentation for an explanation of when to use this endpoint. :param datasource: Datasource of the documents :param documents: Batch of documents being added/updated @@ -300,7 +300,7 @@ async def index_async( ): r"""Index documents - Adds or updates multiple documents in the index. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#choosing-indexdocuments-vs-bulkindexdocuments) documentation for an explanation of when to use this endpoint. + Adds or updates multiple documents in the index. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-indexing/choosing-indexdocuments-vs-bulkindexdocuments) documentation for an explanation of when to use this endpoint. :param datasource: Datasource of the documents :param documents: Batch of documents being added/updated @@ -400,7 +400,7 @@ def bulk_index( ): r"""Bulk index documents - Replaces the documents in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces the documents in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this bulk upload instance :param datasource: Datasource of the documents @@ -508,7 +508,7 @@ async def bulk_index_async( ): r"""Bulk index documents - Replaces the documents in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces the documents in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this bulk upload instance :param datasource: Datasource of the documents @@ -1018,7 +1018,7 @@ def debug( Gives various information that would help in debugging related to a particular document. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: The datasource to which the document belongs @@ -1119,7 +1119,7 @@ async def debug_async( Gives various information that would help in debugging related to a particular document. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: The datasource to which the document belongs @@ -1222,7 +1222,7 @@ def debug_many( Gives various information that would help in debugging related to a batch of documents. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: The datasource to which the document belongs @@ -1325,7 +1325,7 @@ async def debug_many_async( Gives various information that would help in debugging related to a batch of documents. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: The datasource to which the document belongs @@ -1427,7 +1427,7 @@ def check_access( Check if a given user has access to access a document in a custom datasource - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: Datasource of document to check access for. @@ -1525,7 +1525,7 @@ async def check_access_async( Check if a given user has access to access a document in a custom datasource - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: Datasource of document to check access for. @@ -1625,7 +1625,7 @@ def status( Intended for debugging/validation. Fetches the current upload and indexing status of documents. - Tip: Use [/debug/{datasource}/document](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-document) for richer information. + Tip: Use [/debug/{datasource}/document](https://developers.glean.com/indexing/debugging/datasource-document) for richer information. :param datasource: Datasource to get fetch document status for @@ -1723,7 +1723,7 @@ async def status_async( Intended for debugging/validation. Fetches the current upload and indexing status of documents. - Tip: Use [/debug/{datasource}/document](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-document) for richer information. + Tip: Use [/debug/{datasource}/document](https://developers.glean.com/indexing/debugging/datasource-document) for richer information. :param datasource: Datasource to get fetch document status for @@ -1819,7 +1819,7 @@ def count( Fetches document count for the specified custom datasource. - Tip: Use [/debug/{datasource}/status](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-status) for richer information. + Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information. :param datasource: Datasource name for which document count is needed. @@ -1911,7 +1911,7 @@ async def count_async( Fetches document count for the specified custom datasource. - Tip: Use [/debug/{datasource}/status](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-status) for richer information. + Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information. :param datasource: Datasource name for which document count is needed. diff --git a/src/glean/api_client/indexing_permissions.py b/src/glean/api_client/indexing_permissions.py index 822eef5a..61f7121f 100644 --- a/src/glean/api_client/indexing_permissions.py +++ b/src/glean/api_client/indexing_permissions.py @@ -423,7 +423,7 @@ def bulk_index_users( ): r"""Bulk index users - Replaces the users in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces the users in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this instance of datasource users upload :param datasource: datasource of the users @@ -532,7 +532,7 @@ async def bulk_index_users_async( ): r"""Bulk index users - Replaces the users in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces the users in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this instance of datasource users upload :param datasource: datasource of the users @@ -829,7 +829,7 @@ def bulk_index_groups( ): r"""Bulk index groups - Replaces the groups in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces the groups in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this instance of datasource groups upload :param datasource: datasource of the groups @@ -938,7 +938,7 @@ async def bulk_index_groups_async( ): r"""Bulk index groups - Replaces the groups in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces the groups in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this instance of datasource groups upload :param datasource: datasource of the groups @@ -1241,7 +1241,7 @@ def bulk_index_memberships( ): r"""Bulk index memberships for a group - Replaces the memberships for a group in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces the memberships for a group in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this instance of datasource group memberships upload :param datasource: datasource of the memberships @@ -1350,7 +1350,7 @@ async def bulk_index_memberships_async( ): r"""Bulk index memberships for a group - Replaces the memberships for a group in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces the memberships for a group in a datasource using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this instance of datasource group memberships upload :param datasource: datasource of the memberships diff --git a/src/glean/api_client/models/__init__.py b/src/glean/api_client/models/__init__.py index 62d25912..94e8d7f1 100644 --- a/src/glean/api_client/models/__init__.py +++ b/src/glean/api_client/models/__init__.py @@ -32,6 +32,7 @@ from .documentinteractions import DocumentInteractions, DocumentInteractionsTypedDict from .documentmetadata import DocumentMetadata, DocumentMetadataTypedDict from .extractedqna import ExtractedQnA, ExtractedQnATypedDict +from .generatedqna import GeneratedQna, GeneratedQnaStatus, GeneratedQnaTypedDict from .inviteinfo import InviteInfo, InviteInfoTypedDict from .meeting import Meeting, MeetingTypedDict from .person import Person, PersonTypedDict @@ -67,6 +68,7 @@ from .verificationmetadata import VerificationMetadata, VerificationMetadataTypedDict from typing import TYPE_CHECKING from importlib import import_module +import builtins if TYPE_CHECKING: from .activity import Activity, ActivityTypedDict @@ -604,7 +606,6 @@ GeneratedAttachmentContent, GeneratedAttachmentContentTypedDict, ) - from .generatedqna import GeneratedQna, GeneratedQnaStatus, GeneratedQnaTypedDict from .get_rest_api_v1_tools_listop import ( GetRestAPIV1ToolsListRequest, GetRestAPIV1ToolsListRequestTypedDict, @@ -839,7 +840,13 @@ ManualFeedbackInfo, ManualFeedbackInfoSource, ManualFeedbackInfoTypedDict, - Vote, + ManualFeedbackInfoVote, + ) + from .manualfeedbacksidebysideinfo import ( + ManualFeedbackSideBySideInfo, + ManualFeedbackSideBySideInfoSource, + ManualFeedbackSideBySideInfoTypedDict, + ManualFeedbackSideBySideInfoVote, ) from .message import ( Message, @@ -1015,6 +1022,12 @@ ShortcutsPaginationMetadata, ShortcutsPaginationMetadataTypedDict, ) + from .sidebysideimplementation import ( + ResponseMetadata, + ResponseMetadataTypedDict, + SideBySideImplementation, + SideBySideImplementationTypedDict, + ) from .socialnetwork import SocialNetwork, SocialNetworkTypedDict from .socialnetworkdefinition import ( SocialNetworkDefinition, @@ -1195,6 +1208,7 @@ CalendarAttendees.model_rebuild() CalendarAttendee.model_rebuild() ExtractedQnA.model_rebuild() +GeneratedQna.model_rebuild() Answer.model_rebuild() Verification.model_rebuild() VerificationMetadata.model_rebuild() @@ -1860,6 +1874,11 @@ "ManualFeedbackInfo", "ManualFeedbackInfoSource", "ManualFeedbackInfoTypedDict", + "ManualFeedbackInfoVote", + "ManualFeedbackSideBySideInfo", + "ManualFeedbackSideBySideInfoSource", + "ManualFeedbackSideBySideInfoTypedDict", + "ManualFeedbackSideBySideInfoVote", "Meeting", "MeetingTypedDict", "Message", @@ -1983,6 +2002,8 @@ "ReportStatusResponseTypedDict", "RequestType", "ResponseHint", + "ResponseMetadata", + "ResponseMetadataTypedDict", "ResponseStatus", "RestrictionFilters", "RestrictionFiltersTypedDict", @@ -2051,6 +2072,8 @@ "ShortcutTypedDict", "ShortcutsPaginationMetadata", "ShortcutsPaginationMetadataTypedDict", + "SideBySideImplementation", + "SideBySideImplementationTypedDict", "SocialNetwork", "SocialNetworkDefinition", "SocialNetworkDefinitionTypedDict", @@ -2189,7 +2212,6 @@ "VerifyRequestTypedDict", "ViewerInfo", "ViewerInfoTypedDict", - "Vote", "WarningType", "Workflow", "WorkflowFeedbackInfo", @@ -2633,9 +2655,6 @@ "GeneratedAttachmentTypedDict": ".generatedattachment", "GeneratedAttachmentContent": ".generatedattachmentcontent", "GeneratedAttachmentContentTypedDict": ".generatedattachmentcontent", - "GeneratedQna": ".generatedqna", - "GeneratedQnaStatus": ".generatedqna", - "GeneratedQnaTypedDict": ".generatedqna", "GetRestAPIV1ToolsListRequest": ".get_rest_api_v1_tools_listop", "GetRestAPIV1ToolsListRequestTypedDict": ".get_rest_api_v1_tools_listop", "GetAgentRequest": ".getagentop", @@ -2810,7 +2829,11 @@ "ManualFeedbackInfo": ".manualfeedbackinfo", "ManualFeedbackInfoSource": ".manualfeedbackinfo", "ManualFeedbackInfoTypedDict": ".manualfeedbackinfo", - "Vote": ".manualfeedbackinfo", + "ManualFeedbackInfoVote": ".manualfeedbackinfo", + "ManualFeedbackSideBySideInfo": ".manualfeedbacksidebysideinfo", + "ManualFeedbackSideBySideInfoSource": ".manualfeedbacksidebysideinfo", + "ManualFeedbackSideBySideInfoTypedDict": ".manualfeedbacksidebysideinfo", + "ManualFeedbackSideBySideInfoVote": ".manualfeedbacksidebysideinfo", "Message": ".message", "MessageTextBlock": ".message", "MessageTextBlockTypedDict": ".message", @@ -2963,6 +2986,10 @@ "ShortcutMutablePropertiesTypedDict": ".shortcutmutableproperties", "ShortcutsPaginationMetadata": ".shortcutspaginationmetadata", "ShortcutsPaginationMetadataTypedDict": ".shortcutspaginationmetadata", + "ResponseMetadata": ".sidebysideimplementation", + "ResponseMetadataTypedDict": ".sidebysideimplementation", + "SideBySideImplementation": ".sidebysideimplementation", + "SideBySideImplementationTypedDict": ".sidebysideimplementation", "SocialNetwork": ".socialnetwork", "SocialNetworkTypedDict": ".socialnetwork", "SocialNetworkDefinition": ".socialnetworkdefinition", @@ -3122,5 +3149,5 @@ def __getattr__(attr_name: str) -> object: def __dir__(): - lazy_attrs = list(_dynamic_imports.keys()) - return sorted(lazy_attrs) + lazy_attrs = builtins.list(_dynamic_imports.keys()) + return builtins.sorted(lazy_attrs) diff --git a/src/glean/api_client/models/authconfig.py b/src/glean/api_client/models/authconfig.py index aa025f87..118c02fa 100644 --- a/src/glean/api_client/models/authconfig.py +++ b/src/glean/api_client/models/authconfig.py @@ -38,6 +38,7 @@ class AuthConfigStatus(str, Enum): AWAITING_AUTH = "AWAITING_AUTH" AUTHORIZED = "AUTHORIZED" + AUTH_DISABLED = "AUTH_DISABLED" class AuthConfigTypedDict(TypedDict): diff --git a/src/glean/api_client/models/chatmessage.py b/src/glean/api_client/models/chatmessage.py index df2d9d20..58e4e411 100644 --- a/src/glean/api_client/models/chatmessage.py +++ b/src/glean/api_client/models/chatmessage.py @@ -61,7 +61,7 @@ class ChatMessage(BaseModel): ] = None r"""Describes the agent that executes the request.""" - author: Optional[Author] = Author.USER + author: Optional[Author] = Author.GLEAN_AI citations: Optional[List[ChatMessageCitation]] = None r"""A list of Citations that were used to generate the response.""" diff --git a/src/glean/api_client/models/chatmessagefragment.py b/src/glean/api_client/models/chatmessagefragment.py index 4c9f8346..6f2886d6 100644 --- a/src/glean/api_client/models/chatmessagefragment.py +++ b/src/glean/api_client/models/chatmessagefragment.py @@ -2,6 +2,7 @@ from __future__ import annotations from .chatfile import ChatFile, ChatFileTypedDict +from .chatmessagecitation import ChatMessageCitation, ChatMessageCitationTypedDict from .querysuggestion import QuerySuggestion, QuerySuggestionTypedDict from .structuredresult import StructuredResult, StructuredResultTypedDict from .toolinfo import ToolInfo, ToolInfoTypedDict @@ -23,6 +24,8 @@ class ChatMessageFragmentTypedDict(TypedDict): file: NotRequired[ChatFileTypedDict] r"""Structure for file uploaded by a user for Chat.""" action: NotRequired[ToolInfoTypedDict] + citation: NotRequired[ChatMessageCitationTypedDict] + r"""Information about the source for a ChatMessage.""" class ChatMessageFragment(BaseModel): @@ -48,3 +51,6 @@ class ChatMessageFragment(BaseModel): r"""Structure for file uploaded by a user for Chat.""" action: Optional[ToolInfo] = None + + citation: Optional[ChatMessageCitation] = None + r"""Information about the source for a ChatMessage.""" diff --git a/src/glean/api_client/models/chatrequest.py b/src/glean/api_client/models/chatrequest.py index 59e0ded2..ca45dc63 100644 --- a/src/glean/api_client/models/chatrequest.py +++ b/src/glean/api_client/models/chatrequest.py @@ -16,7 +16,7 @@ class ChatRequestTypedDict(TypedDict): messages: List[ChatMessageTypedDict] - r"""A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query.""" + r"""A list of chat messages, from most recent to least recent. At least one message must specify a USER author.""" save_chat: NotRequired[bool] r"""Save the current interaction as a Chat for the user to access and potentially continue later.""" chat_id: NotRequired[str] @@ -38,7 +38,7 @@ class ChatRequestTypedDict(TypedDict): class ChatRequest(BaseModel): messages: List[ChatMessage] - r"""A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query.""" + r"""A list of chat messages, from most recent to least recent. At least one message must specify a USER author.""" save_chat: Annotated[Optional[bool], pydantic.Field(alias="saveChat")] = None r"""Save the current interaction as a Chat for the user to access and potentially continue later.""" diff --git a/src/glean/api_client/models/documentdefinition.py b/src/glean/api_client/models/documentdefinition.py index 8353646c..65450e74 100644 --- a/src/glean/api_client/models/documentdefinition.py +++ b/src/glean/api_client/models/documentdefinition.py @@ -70,7 +70,7 @@ class DocumentDefinitionTypedDict(TypedDict): comments: NotRequired[List[CommentDefinitionTypedDict]] r"""Comments associated with the document.""" custom_properties: NotRequired[List[CustomPropertyTypedDict]] - r"""Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/docs/facets_and_operators_for_custom_datasources/).""" + r"""Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/indexing/datasource/custom-properties/operators_and_facets).""" class DocumentDefinition(BaseModel): @@ -153,4 +153,4 @@ class DocumentDefinition(BaseModel): custom_properties: Annotated[ Optional[List[CustomProperty]], pydantic.Field(alias="customProperties") ] = None - r"""Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/docs/facets_and_operators_for_custom_datasources/).""" + r"""Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/indexing/datasource/custom-properties/operators_and_facets).""" diff --git a/src/glean/api_client/models/feedback.py b/src/glean/api_client/models/feedback.py index fe92b73b..4a5397a7 100644 --- a/src/glean/api_client/models/feedback.py +++ b/src/glean/api_client/models/feedback.py @@ -2,6 +2,10 @@ from __future__ import annotations from .manualfeedbackinfo import ManualFeedbackInfo, ManualFeedbackInfoTypedDict +from .manualfeedbacksidebysideinfo import ( + ManualFeedbackSideBySideInfo, + ManualFeedbackSideBySideInfoTypedDict, +) from .seenfeedbackinfo import SeenFeedbackInfo, SeenFeedbackInfoTypedDict from .sessioninfo import SessionInfo, SessionInfoTypedDict from .user import User, UserTypedDict @@ -47,6 +51,7 @@ class Event(str, Enum): FOCUS_IN = "FOCUS_IN" LAST_TOKEN = "LAST_TOKEN" MANUAL_FEEDBACK = "MANUAL_FEEDBACK" + MANUAL_FEEDBACK_SIDE_BY_SIDE = "MANUAL_FEEDBACK_SIDE_BY_SIDE" MARK_AS_READ = "MARK_AS_READ" MESSAGE = "MESSAGE" MIDDLE_CLICK = "MIDDLE_CLICK" @@ -98,6 +103,9 @@ class FeedbackTypedDict(TypedDict): ui_element: NotRequired[str] r"""The UI element associated with the event, if any.""" manual_feedback_info: NotRequired[ManualFeedbackInfoTypedDict] + manual_feedback_side_by_side_info: NotRequired[ + ManualFeedbackSideBySideInfoTypedDict + ] seen_feedback_info: NotRequired[SeenFeedbackInfoTypedDict] user_view_info: NotRequired[UserViewInfoTypedDict] workflow_feedback_info: NotRequired[WorkflowFeedbackInfoTypedDict] @@ -154,6 +162,11 @@ class Feedback(BaseModel): Optional[ManualFeedbackInfo], pydantic.Field(alias="manualFeedbackInfo") ] = None + manual_feedback_side_by_side_info: Annotated[ + Optional[ManualFeedbackSideBySideInfo], + pydantic.Field(alias="manualFeedbackSideBySideInfo"), + ] = None + seen_feedback_info: Annotated[ Optional[SeenFeedbackInfo], pydantic.Field(alias="seenFeedbackInfo") ] = None diff --git a/src/glean/api_client/models/generatedqna.py b/src/glean/api_client/models/generatedqna.py index 74dc6438..38c1aa8b 100644 --- a/src/glean/api_client/models/generatedqna.py +++ b/src/glean/api_client/models/generatedqna.py @@ -2,13 +2,15 @@ from __future__ import annotations from .followupaction import FollowupAction, FollowupActionTypedDict -from .textrange import TextRange, TextRangeTypedDict from enum import Enum from glean.api_client.types import BaseModel import pydantic -from typing import List, Optional +from typing import List, Optional, TYPE_CHECKING from typing_extensions import Annotated, NotRequired, TypedDict +if TYPE_CHECKING: + from .textrange import TextRange, TextRangeTypedDict + class GeneratedQnaStatus(str, Enum): r"""Status of backend generating the answer""" @@ -32,7 +34,7 @@ class GeneratedQnaTypedDict(TypedDict): r"""List of all follow-up prompts generated for the given query or the generated question.""" followup_actions: NotRequired[List[FollowupActionTypedDict]] r"""List of follow-up actions generated for the given query or the generated question.""" - ranges: NotRequired[List[TextRangeTypedDict]] + ranges: NotRequired[List["TextRangeTypedDict"]] r"""Answer subsections to mark with special formatting (citations, bolding etc)""" status: NotRequired[GeneratedQnaStatus] r"""Status of backend generating the answer""" @@ -59,7 +61,7 @@ class GeneratedQna(BaseModel): ] = None r"""List of follow-up actions generated for the given query or the generated question.""" - ranges: Optional[List[TextRange]] = None + ranges: Optional[List["TextRange"]] = None r"""Answer subsections to mark with special formatting (citations, bolding etc)""" status: Optional[GeneratedQnaStatus] = None diff --git a/src/glean/api_client/models/manualfeedbackinfo.py b/src/glean/api_client/models/manualfeedbackinfo.py index a67678c9..12ffa106 100644 --- a/src/glean/api_client/models/manualfeedbackinfo.py +++ b/src/glean/api_client/models/manualfeedbackinfo.py @@ -47,7 +47,7 @@ class Issue(str, Enum): TOO_MUCH_ONE_KIND = "TOO_MUCH_ONE_KIND" -class Vote(str, Enum): +class ManualFeedbackInfoVote(str, Enum): r"""The vote associated with the Feedback.event.MANUAL_FEEDBACK event.""" UPVOTE = "UPVOTE" @@ -81,7 +81,7 @@ class ManualFeedbackInfoTypedDict(TypedDict): r"""Array of previous request/response exchanges, ordered by oldest to newest.""" num_queries_from_first_run: NotRequired[int] r"""How many times this query has been run in the past.""" - vote: NotRequired[Vote] + vote: NotRequired[ManualFeedbackInfoVote] r"""The vote associated with the Feedback.event.MANUAL_FEEDBACK event.""" rating: NotRequired[int] r"""A rating associated with the user feedback. The value will be between one and the maximum given by ratingScale, inclusive.""" @@ -146,7 +146,7 @@ class ManualFeedbackInfo(BaseModel): ] = None r"""How many times this query has been run in the past.""" - vote: Optional[Vote] = None + vote: Optional[ManualFeedbackInfoVote] = None r"""The vote associated with the Feedback.event.MANUAL_FEEDBACK event.""" rating: Optional[int] = None diff --git a/src/glean/api_client/models/manualfeedbacksidebysideinfo.py b/src/glean/api_client/models/manualfeedbacksidebysideinfo.py new file mode 100644 index 00000000..562b42c3 --- /dev/null +++ b/src/glean/api_client/models/manualfeedbacksidebysideinfo.py @@ -0,0 +1,77 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .sidebysideimplementation import ( + SideBySideImplementation, + SideBySideImplementationTypedDict, +) +from enum import Enum +from glean.api_client.types import BaseModel +import pydantic +from typing import List, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class ManualFeedbackSideBySideInfoSource(str, Enum): + r"""The source associated with the side-by-side feedback event.""" + + LIVE_EVAL = "LIVE_EVAL" + CHAT = "CHAT" + SEARCH = "SEARCH" + + +class ManualFeedbackSideBySideInfoVote(str, Enum): + r"""The vote for this specific implementation.""" + + UPVOTE = "UPVOTE" + DOWNVOTE = "DOWNVOTE" + NEUTRAL = "NEUTRAL" + + +class ManualFeedbackSideBySideInfoTypedDict(TypedDict): + email: NotRequired[str] + r"""The email address of the user who submitted the side-by-side feedback.""" + source: NotRequired[ManualFeedbackSideBySideInfoSource] + r"""The source associated with the side-by-side feedback event.""" + query: NotRequired[str] + r"""The query or prompt that was evaluated across multiple implementations.""" + implementations: NotRequired[List[SideBySideImplementationTypedDict]] + r"""Array of implementations that were compared side-by-side.""" + evaluation_session_id: NotRequired[str] + r"""Unique identifier for this evaluation session to group related feedback events.""" + implementation_id: NotRequired[str] + r"""The ID of the implementation this specific feedback event is for.""" + vote: NotRequired[ManualFeedbackSideBySideInfoVote] + r"""The vote for this specific implementation.""" + comments: NotRequired[str] + r"""Specific feedback comments for this implementation.""" + + +class ManualFeedbackSideBySideInfo(BaseModel): + email: Optional[str] = None + r"""The email address of the user who submitted the side-by-side feedback.""" + + source: Optional[ManualFeedbackSideBySideInfoSource] = None + r"""The source associated with the side-by-side feedback event.""" + + query: Optional[str] = None + r"""The query or prompt that was evaluated across multiple implementations.""" + + implementations: Optional[List[SideBySideImplementation]] = None + r"""Array of implementations that were compared side-by-side.""" + + evaluation_session_id: Annotated[ + Optional[str], pydantic.Field(alias="evaluationSessionId") + ] = None + r"""Unique identifier for this evaluation session to group related feedback events.""" + + implementation_id: Annotated[ + Optional[str], pydantic.Field(alias="implementationId") + ] = None + r"""The ID of the implementation this specific feedback event is for.""" + + vote: Optional[ManualFeedbackSideBySideInfoVote] = None + r"""The vote for this specific implementation.""" + + comments: Optional[str] = None + r"""Specific feedback comments for this implementation.""" diff --git a/src/glean/api_client/models/searchrequest.py b/src/glean/api_client/models/searchrequest.py index 0cb6349a..d4b868a0 100644 --- a/src/glean/api_client/models/searchrequest.py +++ b/src/glean/api_client/models/searchrequest.py @@ -2,7 +2,6 @@ from __future__ import annotations from .document import Document, DocumentTypedDict -from .person import Person, PersonTypedDict from .searchrequestinputdetails import ( SearchRequestInputDetails, SearchRequestInputDetailsTypedDict, @@ -37,8 +36,6 @@ class SearchRequestTypedDict(TypedDict): request_options: NotRequired[SearchRequestOptionsTypedDict] timeout_millis: NotRequired[int] r"""Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer.""" - people: NotRequired[List[PersonTypedDict]] - r"""People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value.""" disable_spellcheck: NotRequired[bool] r"""Whether or not to disable spellcheck.""" @@ -92,9 +89,6 @@ class SearchRequest(BaseModel): ) r"""Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer.""" - people: Optional[List[Person]] = None - r"""People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value.""" - disable_spellcheck: Annotated[ Optional[bool], pydantic.Field(alias="disableSpellcheck") ] = None diff --git a/src/glean/api_client/models/searchresponsemetadata.py b/src/glean/api_client/models/searchresponsemetadata.py index d71f08f1..af9540a2 100644 --- a/src/glean/api_client/models/searchresponsemetadata.py +++ b/src/glean/api_client/models/searchresponsemetadata.py @@ -16,6 +16,8 @@ class SearchResponseMetadataTypedDict(TypedDict): r"""A cleaned up or updated version of the query to be displayed in the query box. Useful for mapping visual facets to search operators.""" searched_query: NotRequired[str] r"""The actual query used to perform search and return results.""" + searched_query_without_negation: NotRequired[str] + r"""The query used to perform search and return results, with negated terms and facets removed.""" searched_query_ranges: NotRequired[List[TextRangeTypedDict]] r"""The bolded ranges within the searched query.""" original_query: NotRequired[str] @@ -46,6 +48,11 @@ class SearchResponseMetadata(BaseModel): ) r"""The actual query used to perform search and return results.""" + searched_query_without_negation: Annotated[ + Optional[str], pydantic.Field(alias="searchedQueryWithoutNegation") + ] = None + r"""The query used to perform search and return results, with negated terms and facets removed.""" + searched_query_ranges: Annotated[ Optional[List[TextRange]], pydantic.Field(alias="searchedQueryRanges") ] = None diff --git a/src/glean/api_client/models/sidebysideimplementation.py b/src/glean/api_client/models/sidebysideimplementation.py new file mode 100644 index 00000000..02f9010e --- /dev/null +++ b/src/glean/api_client/models/sidebysideimplementation.py @@ -0,0 +1,69 @@ +"""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 Dict, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class ResponseMetadataTypedDict(TypedDict): + r"""Metadata about the response (e.g., latency, token count).""" + + latency_ms: NotRequired[int] + r"""Time taken to generate the response in milliseconds.""" + token_count: NotRequired[int] + r"""Number of tokens in the response.""" + model_used: NotRequired[str] + r"""The specific model version used.""" + + +class ResponseMetadata(BaseModel): + r"""Metadata about the response (e.g., latency, token count).""" + + latency_ms: Annotated[Optional[int], pydantic.Field(alias="latencyMs")] = None + r"""Time taken to generate the response in milliseconds.""" + + token_count: Annotated[Optional[int], pydantic.Field(alias="tokenCount")] = None + r"""Number of tokens in the response.""" + + model_used: Annotated[Optional[str], pydantic.Field(alias="modelUsed")] = None + r"""The specific model version used.""" + + +class SideBySideImplementationTypedDict(TypedDict): + implementation_id: NotRequired[str] + r"""Unique identifier for this implementation variant.""" + implementation_name: NotRequired[str] + r"""Human-readable name for this implementation (e.g., \"Variant A\", \"GPT-4\", \"Claude\").""" + search_params: NotRequired[Dict[str, str]] + r"""The search/chat parameters used for this implementation.""" + response: NotRequired[str] + r"""The full response generated by this implementation.""" + response_metadata: NotRequired[ResponseMetadataTypedDict] + r"""Metadata about the response (e.g., latency, token count).""" + + +class SideBySideImplementation(BaseModel): + implementation_id: Annotated[ + Optional[str], pydantic.Field(alias="implementationId") + ] = None + r"""Unique identifier for this implementation variant.""" + + implementation_name: Annotated[ + Optional[str], pydantic.Field(alias="implementationName") + ] = None + r"""Human-readable name for this implementation (e.g., \"Variant A\", \"GPT-4\", \"Claude\").""" + + search_params: Annotated[ + Optional[Dict[str, str]], pydantic.Field(alias="searchParams") + ] = None + r"""The search/chat parameters used for this implementation.""" + + response: Optional[str] = None + r"""The full response generated by this implementation.""" + + response_metadata: Annotated[ + Optional[ResponseMetadata], pydantic.Field(alias="responseMetadata") + ] = None + r"""Metadata about the response (e.g., latency, token count).""" diff --git a/src/glean/api_client/models/structuredresult.py b/src/glean/api_client/models/structuredresult.py index 66222923..f91814ab 100644 --- a/src/glean/api_client/models/structuredresult.py +++ b/src/glean/api_client/models/structuredresult.py @@ -18,6 +18,7 @@ from .customer import Customer, CustomerTypedDict from .document import Document, DocumentTypedDict from .extractedqna import ExtractedQnA, ExtractedQnATypedDict + from .generatedqna import GeneratedQna, GeneratedQnaTypedDict from .meeting import Meeting, MeetingTypedDict from .person import Person, PersonTypedDict from .querysuggestionlist import QuerySuggestionList, QuerySuggestionListTypedDict @@ -52,6 +53,7 @@ class StructuredResultTypedDict(TypedDict): team: NotRequired["TeamTypedDict"] custom_entity: NotRequired["CustomEntityTypedDict"] answer: NotRequired["AnswerTypedDict"] + generated_qna: NotRequired["GeneratedQnaTypedDict"] extracted_qn_a: NotRequired["ExtractedQnATypedDict"] meeting: NotRequired["MeetingTypedDict"] app: NotRequired[AppResultTypedDict] @@ -92,6 +94,10 @@ class StructuredResult(BaseModel): answer: Optional["Answer"] = None + generated_qna: Annotated[ + Optional["GeneratedQna"], pydantic.Field(alias="generatedQna") + ] = None + extracted_qn_a: Annotated[ Optional["ExtractedQnA"], pydantic.Field(alias="extractedQnA") ] = None diff --git a/src/glean/api_client/people.py b/src/glean/api_client/people.py index 1a5faccc..de487b22 100644 --- a/src/glean/api_client/people.py +++ b/src/glean/api_client/people.py @@ -25,7 +25,7 @@ def debug( Gives various information that would help in debugging related to a particular user. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: The datasource to which the user belongs @@ -123,7 +123,7 @@ async def debug_async( Gives various information that would help in debugging related to a particular user. Currently in beta, might undergo breaking changes without prior notice. - Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/) for more information. + Tip: Refer to the [Troubleshooting tutorial](https://developers.glean.com/indexing/debugging/datasource-config) for more information. :param datasource: The datasource to which the user belongs @@ -223,7 +223,7 @@ def count( Fetches user count for the specified custom datasource. - Tip: Use [/debug/{datasource}/status](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-status) for richer information. + Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information. :param datasource: Datasource name for which user count is needed. @@ -315,7 +315,7 @@ async def count_async( Fetches user count for the specified custom datasource. - Tip: Use [/debug/{datasource}/status](https://developers.glean.com/docs/indexing_api/indexing_api_troubleshooting/#debug-datasource-status) for richer information. + Tip: Use [/debug/{datasource}/status](https://developers.glean.com/indexing/debugging/datasource-status) for richer information. :param datasource: Datasource name for which user count is needed. @@ -592,7 +592,7 @@ def bulk_index( ): r"""Bulk index employees - Replaces all the currently indexed employees using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces all the currently indexed employees using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this bulk upload instance :param employees: Batch of employee information @@ -698,7 +698,7 @@ async def bulk_index_async( ): r"""Bulk index employees - Replaces all the currently indexed employees using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces all the currently indexed employees using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this bulk upload instance :param employees: Batch of employee information @@ -1484,7 +1484,7 @@ def bulk_index_teams( ): r"""Bulk index teams - Replaces all the currently indexed teams using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces all the currently indexed teams using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this bulk upload instance :param teams: Batch of team information @@ -1584,7 +1584,7 @@ async def bulk_index_teams_async( ): r"""Bulk index teams - Replaces all the currently indexed teams using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/docs/indexing_api_bulk_indexing/#bulk-upload-model) documentation for an explanation of how to use bulk endpoints. + Replaces all the currently indexed teams using paginated batch API calls. Please refer to the [bulk indexing](https://developers.glean.com/indexing/documents/bulk-upload-model) documentation for an explanation of how to use bulk endpoints. :param upload_id: Unique id that must be used for this bulk upload instance :param teams: Batch of team information diff --git a/src/glean/api_client/search.py b/src/glean/api_client/search.py index d42c2f6c..4a3a4d1e 100644 --- a/src/glean/api_client/search.py +++ b/src/glean/api_client/search.py @@ -37,9 +37,6 @@ def query_as_admin( Union[models.SearchRequestOptions, models.SearchRequestOptionsTypedDict] ] = None, timeout_millis: Optional[int] = None, - people: Optional[ - Union[List[models.Person], List[models.PersonTypedDict]] - ] = None, disable_spellcheck: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -62,7 +59,6 @@ def query_as_admin( :param input_details: :param request_options: :param timeout_millis: Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer. - :param people: People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value. :param disable_spellcheck: Whether or not to disable spellcheck. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -100,7 +96,6 @@ def query_as_admin( request_options, Optional[models.SearchRequestOptions] ), timeout_millis=timeout_millis, - people=utils.get_pydantic_model(people, Optional[List[models.Person]]), disable_spellcheck=disable_spellcheck, ) @@ -187,9 +182,6 @@ async def query_as_admin_async( Union[models.SearchRequestOptions, models.SearchRequestOptionsTypedDict] ] = None, timeout_millis: Optional[int] = None, - people: Optional[ - Union[List[models.Person], List[models.PersonTypedDict]] - ] = None, disable_spellcheck: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -212,7 +204,6 @@ async def query_as_admin_async( :param input_details: :param request_options: :param timeout_millis: Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer. - :param people: People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value. :param disable_spellcheck: Whether or not to disable spellcheck. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -250,7 +241,6 @@ async def query_as_admin_async( request_options, Optional[models.SearchRequestOptions] ), timeout_millis=timeout_millis, - people=utils.get_pydantic_model(people, Optional[List[models.Person]]), disable_spellcheck=disable_spellcheck, ) @@ -1029,9 +1019,6 @@ def query( Union[models.SearchRequestOptions, models.SearchRequestOptionsTypedDict] ] = None, timeout_millis: Optional[int] = None, - people: Optional[ - Union[List[models.Person], List[models.PersonTypedDict]] - ] = None, disable_spellcheck: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -1054,7 +1041,6 @@ def query( :param input_details: :param request_options: :param timeout_millis: Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer. - :param people: People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value. :param disable_spellcheck: Whether or not to disable spellcheck. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -1092,7 +1078,6 @@ def query( request_options, Optional[models.SearchRequestOptions] ), timeout_millis=timeout_millis, - people=utils.get_pydantic_model(people, Optional[List[models.Person]]), disable_spellcheck=disable_spellcheck, ) @@ -1179,9 +1164,6 @@ async def query_async( Union[models.SearchRequestOptions, models.SearchRequestOptionsTypedDict] ] = None, timeout_millis: Optional[int] = None, - people: Optional[ - Union[List[models.Person], List[models.PersonTypedDict]] - ] = None, disable_spellcheck: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -1204,7 +1186,6 @@ async def query_async( :param input_details: :param request_options: :param timeout_millis: Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer. - :param people: People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value. :param disable_spellcheck: Whether or not to disable spellcheck. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -1242,7 +1223,6 @@ async def query_async( request_options, Optional[models.SearchRequestOptions] ), timeout_millis=timeout_millis, - people=utils.get_pydantic_model(people, Optional[List[models.Person]]), disable_spellcheck=disable_spellcheck, ) diff --git a/src/glean/api_client/utils/__init__.py b/src/glean/api_client/utils/__init__.py index 3d078198..5c2c9c23 100644 --- a/src/glean/api_client/utils/__init__.py +++ b/src/glean/api_client/utils/__init__.py @@ -2,6 +2,7 @@ from typing import TYPE_CHECKING from importlib import import_module +import builtins if TYPE_CHECKING: from .annotations import get_discriminator @@ -183,5 +184,5 @@ def __getattr__(attr_name: str) -> object: def __dir__(): - lazy_attrs = list(_dynamic_imports.keys()) - return sorted(lazy_attrs) + lazy_attrs = builtins.list(_dynamic_imports.keys()) + return builtins.sorted(lazy_attrs) diff --git a/tests/mockserver/internal/sdk/models/components/authconfig.go b/tests/mockserver/internal/sdk/models/components/authconfig.go index 1cecca52..23774105 100644 --- a/tests/mockserver/internal/sdk/models/components/authconfig.go +++ b/tests/mockserver/internal/sdk/models/components/authconfig.go @@ -85,6 +85,7 @@ type AuthConfigStatus string const ( AuthConfigStatusAwaitingAuth AuthConfigStatus = "AWAITING_AUTH" AuthConfigStatusAuthorized AuthConfigStatus = "AUTHORIZED" + AuthConfigStatusAuthDisabled AuthConfigStatus = "AUTH_DISABLED" ) func (e AuthConfigStatus) ToPointer() *AuthConfigStatus { @@ -99,6 +100,8 @@ func (e *AuthConfigStatus) UnmarshalJSON(data []byte) error { case "AWAITING_AUTH": fallthrough case "AUTHORIZED": + fallthrough + case "AUTH_DISABLED": *e = AuthConfigStatus(v) return nil default: diff --git a/tests/mockserver/internal/sdk/models/components/chatmessage.go b/tests/mockserver/internal/sdk/models/components/chatmessage.go index 01c82979..493da20d 100644 --- a/tests/mockserver/internal/sdk/models/components/chatmessage.go +++ b/tests/mockserver/internal/sdk/models/components/chatmessage.go @@ -83,7 +83,7 @@ func (e *MessageType) UnmarshalJSON(data []byte) error { type ChatMessage struct { // Describes the agent that executes the request. AgentConfig *AgentConfig `json:"agentConfig,omitempty"` - Author *Author `default:"USER" json:"author"` + Author *Author `default:"GLEAN_AI" json:"author"` // A list of Citations that were used to generate the response. Citations []ChatMessageCitation `json:"citations,omitempty"` // IDs of files uploaded in the message that are referenced to generate the answer. diff --git a/tests/mockserver/internal/sdk/models/components/chatmessagefragment.go b/tests/mockserver/internal/sdk/models/components/chatmessagefragment.go index e164fc2d..e153531a 100644 --- a/tests/mockserver/internal/sdk/models/components/chatmessagefragment.go +++ b/tests/mockserver/internal/sdk/models/components/chatmessagefragment.go @@ -13,6 +13,8 @@ type ChatMessageFragment struct { // Structure for file uploaded by a user for Chat. File *ChatFile `json:"file,omitempty"` Action *ToolInfo `json:"action,omitempty"` + // Information about the source for a ChatMessage. + Citation *ChatMessageCitation `json:"citation,omitempty"` } func (o *ChatMessageFragment) GetStructuredResults() []StructuredResult { @@ -56,3 +58,10 @@ func (o *ChatMessageFragment) GetAction() *ToolInfo { } return o.Action } + +func (o *ChatMessageFragment) GetCitation() *ChatMessageCitation { + if o == nil { + return nil + } + return o.Citation +} diff --git a/tests/mockserver/internal/sdk/models/components/chatrequest.go b/tests/mockserver/internal/sdk/models/components/chatrequest.go index 28474404..d26c7a1c 100644 --- a/tests/mockserver/internal/sdk/models/components/chatrequest.go +++ b/tests/mockserver/internal/sdk/models/components/chatrequest.go @@ -7,7 +7,7 @@ type ChatRequest struct { SaveChat *bool `json:"saveChat,omitempty"` // The id of the Chat that context should be retrieved from and messages added to. An empty id starts a new Chat, and the Chat is saved if saveChat is true. ChatID *string `json:"chatId,omitempty"` - // A list of chat messages, from most recent to least recent. It can be assumed that the first chat message in the list is the user's most recent query. + // A list of chat messages, from most recent to least recent. At least one message must specify a USER author. Messages []ChatMessage `json:"messages"` // Describes the agent that executes the request. AgentConfig *AgentConfig `json:"agentConfig,omitempty"` diff --git a/tests/mockserver/internal/sdk/models/components/documentdefinition.go b/tests/mockserver/internal/sdk/models/components/documentdefinition.go index d4e073eb..b0bbd077 100644 --- a/tests/mockserver/internal/sdk/models/components/documentdefinition.go +++ b/tests/mockserver/internal/sdk/models/components/documentdefinition.go @@ -47,7 +47,7 @@ type DocumentDefinition struct { AdditionalUrls []string `json:"additionalUrls,omitempty"` // Comments associated with the document. Comments []CommentDefinition `json:"comments,omitempty"` - // Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/docs/facets_and_operators_for_custom_datasources/). + // Additional metadata properties of the document. These can surface as [facets and operators](https://developers.glean.com/indexing/datasource/custom-properties/operators_and_facets). CustomProperties []CustomProperty `json:"customProperties,omitempty"` } diff --git a/tests/mockserver/internal/sdk/models/components/feedback.go b/tests/mockserver/internal/sdk/models/components/feedback.go index 101c1f19..a2ba49c8 100644 --- a/tests/mockserver/internal/sdk/models/components/feedback.go +++ b/tests/mockserver/internal/sdk/models/components/feedback.go @@ -67,35 +67,36 @@ func (e *FeedbackCategory) UnmarshalJSON(data []byte) error { type Event string const ( - EventClick Event = "CLICK" - EventContainerClick Event = "CONTAINER_CLICK" - EventCopyLink Event = "COPY_LINK" - EventCreate Event = "CREATE" - EventDismiss Event = "DISMISS" - EventDownvote Event = "DOWNVOTE" - EventEmail Event = "EMAIL" - EventExecute Event = "EXECUTE" - EventFilter Event = "FILTER" - EventFirstToken Event = "FIRST_TOKEN" - EventFocusIn Event = "FOCUS_IN" - EventLastToken Event = "LAST_TOKEN" - EventManualFeedback Event = "MANUAL_FEEDBACK" - EventMarkAsRead Event = "MARK_AS_READ" - EventMessage Event = "MESSAGE" - EventMiddleClick Event = "MIDDLE_CLICK" - EventPageBlur Event = "PAGE_BLUR" - EventPageFocus Event = "PAGE_FOCUS" - EventPageLeave Event = "PAGE_LEAVE" - EventPreview Event = "PREVIEW" - EventRelatedClick Event = "RELATED_CLICK" - EventRightClick Event = "RIGHT_CLICK" - EventSectionClick Event = "SECTION_CLICK" - EventSeen Event = "SEEN" - EventShare Event = "SHARE" - EventShowMore Event = "SHOW_MORE" - EventUpvote Event = "UPVOTE" - EventView Event = "VIEW" - EventVisible Event = "VISIBLE" + EventClick Event = "CLICK" + EventContainerClick Event = "CONTAINER_CLICK" + EventCopyLink Event = "COPY_LINK" + EventCreate Event = "CREATE" + EventDismiss Event = "DISMISS" + EventDownvote Event = "DOWNVOTE" + EventEmail Event = "EMAIL" + EventExecute Event = "EXECUTE" + EventFilter Event = "FILTER" + EventFirstToken Event = "FIRST_TOKEN" + EventFocusIn Event = "FOCUS_IN" + EventLastToken Event = "LAST_TOKEN" + EventManualFeedback Event = "MANUAL_FEEDBACK" + EventManualFeedbackSideBySide Event = "MANUAL_FEEDBACK_SIDE_BY_SIDE" + EventMarkAsRead Event = "MARK_AS_READ" + EventMessage Event = "MESSAGE" + EventMiddleClick Event = "MIDDLE_CLICK" + EventPageBlur Event = "PAGE_BLUR" + EventPageFocus Event = "PAGE_FOCUS" + EventPageLeave Event = "PAGE_LEAVE" + EventPreview Event = "PREVIEW" + EventRelatedClick Event = "RELATED_CLICK" + EventRightClick Event = "RIGHT_CLICK" + EventSectionClick Event = "SECTION_CLICK" + EventSeen Event = "SEEN" + EventShare Event = "SHARE" + EventShowMore Event = "SHOW_MORE" + EventUpvote Event = "UPVOTE" + EventView Event = "VIEW" + EventVisible Event = "VISIBLE" ) func (e Event) ToPointer() *Event { @@ -133,6 +134,8 @@ func (e *Event) UnmarshalJSON(data []byte) error { fallthrough case "MANUAL_FEEDBACK": fallthrough + case "MANUAL_FEEDBACK_SIDE_BY_SIDE": + fallthrough case "MARK_AS_READ": fallthrough case "MESSAGE": @@ -223,11 +226,12 @@ type Feedback struct { // The UI element tree associated with the event, if any. UITree []string `json:"uiTree,omitempty"` // The UI element associated with the event, if any. - UIElement *string `json:"uiElement,omitempty"` - ManualFeedbackInfo *ManualFeedbackInfo `json:"manualFeedbackInfo,omitempty"` - SeenFeedbackInfo *SeenFeedbackInfo `json:"seenFeedbackInfo,omitempty"` - UserViewInfo *UserViewInfo `json:"userViewInfo,omitempty"` - WorkflowFeedbackInfo *WorkflowFeedbackInfo `json:"workflowFeedbackInfo,omitempty"` + UIElement *string `json:"uiElement,omitempty"` + ManualFeedbackInfo *ManualFeedbackInfo `json:"manualFeedbackInfo,omitempty"` + ManualFeedbackSideBySideInfo *ManualFeedbackSideBySideInfo `json:"manualFeedbackSideBySideInfo,omitempty"` + SeenFeedbackInfo *SeenFeedbackInfo `json:"seenFeedbackInfo,omitempty"` + UserViewInfo *UserViewInfo `json:"userViewInfo,omitempty"` + WorkflowFeedbackInfo *WorkflowFeedbackInfo `json:"workflowFeedbackInfo,omitempty"` // The application ID of the client that sent the feedback event. ApplicationID *string `json:"applicationId,omitempty"` // The agent ID of the client that sent the feedback event. @@ -350,6 +354,13 @@ func (o *Feedback) GetManualFeedbackInfo() *ManualFeedbackInfo { return o.ManualFeedbackInfo } +func (o *Feedback) GetManualFeedbackSideBySideInfo() *ManualFeedbackSideBySideInfo { + if o == nil { + return nil + } + return o.ManualFeedbackSideBySideInfo +} + func (o *Feedback) GetSeenFeedbackInfo() *SeenFeedbackInfo { if o == nil { return nil diff --git a/tests/mockserver/internal/sdk/models/components/manualfeedbackinfo.go b/tests/mockserver/internal/sdk/models/components/manualfeedbackinfo.go index 26a64603..642d709e 100644 --- a/tests/mockserver/internal/sdk/models/components/manualfeedbackinfo.go +++ b/tests/mockserver/internal/sdk/models/components/manualfeedbackinfo.go @@ -138,18 +138,18 @@ func (e *Issue) UnmarshalJSON(data []byte) error { } } -// Vote - The vote associated with the Feedback.event.MANUAL_FEEDBACK event. -type Vote string +// ManualFeedbackInfoVote - The vote associated with the Feedback.event.MANUAL_FEEDBACK event. +type ManualFeedbackInfoVote string const ( - VoteUpvote Vote = "UPVOTE" - VoteDownvote Vote = "DOWNVOTE" + ManualFeedbackInfoVoteUpvote ManualFeedbackInfoVote = "UPVOTE" + ManualFeedbackInfoVoteDownvote ManualFeedbackInfoVote = "DOWNVOTE" ) -func (e Vote) ToPointer() *Vote { +func (e ManualFeedbackInfoVote) ToPointer() *ManualFeedbackInfoVote { return &e } -func (e *Vote) UnmarshalJSON(data []byte) error { +func (e *ManualFeedbackInfoVote) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err @@ -158,10 +158,10 @@ func (e *Vote) UnmarshalJSON(data []byte) error { case "UPVOTE": fallthrough case "DOWNVOTE": - *e = Vote(v) + *e = ManualFeedbackInfoVote(v) return nil default: - return fmt.Errorf("invalid value for Vote: %v", v) + return fmt.Errorf("invalid value for ManualFeedbackInfoVote: %v", v) } } @@ -195,7 +195,7 @@ type ManualFeedbackInfo struct { // How many times this query has been run in the past. NumQueriesFromFirstRun *int64 `json:"numQueriesFromFirstRun,omitempty"` // The vote associated with the Feedback.event.MANUAL_FEEDBACK event. - Vote *Vote `json:"vote,omitempty"` + Vote *ManualFeedbackInfoVote `json:"vote,omitempty"` // A rating associated with the user feedback. The value will be between one and the maximum given by ratingScale, inclusive. Rating *int64 `json:"rating,omitempty"` // A description of the rating that contextualizes how it appeared to the user, e.g. "satisfied". @@ -295,7 +295,7 @@ func (o *ManualFeedbackInfo) GetNumQueriesFromFirstRun() *int64 { return o.NumQueriesFromFirstRun } -func (o *ManualFeedbackInfo) GetVote() *Vote { +func (o *ManualFeedbackInfo) GetVote() *ManualFeedbackInfoVote { if o == nil { return nil } diff --git a/tests/mockserver/internal/sdk/models/components/manualfeedbacksidebysideinfo.go b/tests/mockserver/internal/sdk/models/components/manualfeedbacksidebysideinfo.go new file mode 100644 index 00000000..23fb1a7d --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/manualfeedbacksidebysideinfo.go @@ -0,0 +1,143 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +import ( + "encoding/json" + "fmt" +) + +// ManualFeedbackSideBySideInfoSource - The source associated with the side-by-side feedback event. +type ManualFeedbackSideBySideInfoSource string + +const ( + ManualFeedbackSideBySideInfoSourceLiveEval ManualFeedbackSideBySideInfoSource = "LIVE_EVAL" + ManualFeedbackSideBySideInfoSourceChat ManualFeedbackSideBySideInfoSource = "CHAT" + ManualFeedbackSideBySideInfoSourceSearch ManualFeedbackSideBySideInfoSource = "SEARCH" +) + +func (e ManualFeedbackSideBySideInfoSource) ToPointer() *ManualFeedbackSideBySideInfoSource { + return &e +} +func (e *ManualFeedbackSideBySideInfoSource) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "LIVE_EVAL": + fallthrough + case "CHAT": + fallthrough + case "SEARCH": + *e = ManualFeedbackSideBySideInfoSource(v) + return nil + default: + return fmt.Errorf("invalid value for ManualFeedbackSideBySideInfoSource: %v", v) + } +} + +// ManualFeedbackSideBySideInfoVote - The vote for this specific implementation. +type ManualFeedbackSideBySideInfoVote string + +const ( + ManualFeedbackSideBySideInfoVoteUpvote ManualFeedbackSideBySideInfoVote = "UPVOTE" + ManualFeedbackSideBySideInfoVoteDownvote ManualFeedbackSideBySideInfoVote = "DOWNVOTE" + ManualFeedbackSideBySideInfoVoteNeutral ManualFeedbackSideBySideInfoVote = "NEUTRAL" +) + +func (e ManualFeedbackSideBySideInfoVote) ToPointer() *ManualFeedbackSideBySideInfoVote { + return &e +} +func (e *ManualFeedbackSideBySideInfoVote) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "UPVOTE": + fallthrough + case "DOWNVOTE": + fallthrough + case "NEUTRAL": + *e = ManualFeedbackSideBySideInfoVote(v) + return nil + default: + return fmt.Errorf("invalid value for ManualFeedbackSideBySideInfoVote: %v", v) + } +} + +type ManualFeedbackSideBySideInfo struct { + // The email address of the user who submitted the side-by-side feedback. + Email *string `json:"email,omitempty"` + // The source associated with the side-by-side feedback event. + Source *ManualFeedbackSideBySideInfoSource `json:"source,omitempty"` + // The query or prompt that was evaluated across multiple implementations. + Query *string `json:"query,omitempty"` + // Array of implementations that were compared side-by-side. + Implementations []SideBySideImplementation `json:"implementations,omitempty"` + // Unique identifier for this evaluation session to group related feedback events. + EvaluationSessionID *string `json:"evaluationSessionId,omitempty"` + // The ID of the implementation this specific feedback event is for. + ImplementationID *string `json:"implementationId,omitempty"` + // The vote for this specific implementation. + Vote *ManualFeedbackSideBySideInfoVote `json:"vote,omitempty"` + // Specific feedback comments for this implementation. + Comments *string `json:"comments,omitempty"` +} + +func (o *ManualFeedbackSideBySideInfo) GetEmail() *string { + if o == nil { + return nil + } + return o.Email +} + +func (o *ManualFeedbackSideBySideInfo) GetSource() *ManualFeedbackSideBySideInfoSource { + if o == nil { + return nil + } + return o.Source +} + +func (o *ManualFeedbackSideBySideInfo) GetQuery() *string { + if o == nil { + return nil + } + return o.Query +} + +func (o *ManualFeedbackSideBySideInfo) GetImplementations() []SideBySideImplementation { + if o == nil { + return nil + } + return o.Implementations +} + +func (o *ManualFeedbackSideBySideInfo) GetEvaluationSessionID() *string { + if o == nil { + return nil + } + return o.EvaluationSessionID +} + +func (o *ManualFeedbackSideBySideInfo) GetImplementationID() *string { + if o == nil { + return nil + } + return o.ImplementationID +} + +func (o *ManualFeedbackSideBySideInfo) GetVote() *ManualFeedbackSideBySideInfoVote { + if o == nil { + return nil + } + return o.Vote +} + +func (o *ManualFeedbackSideBySideInfo) GetComments() *string { + if o == nil { + return nil + } + return o.Comments +} diff --git a/tests/mockserver/internal/sdk/models/components/searchrequest.go b/tests/mockserver/internal/sdk/models/components/searchrequest.go index 322f0bf8..8441c9c4 100644 --- a/tests/mockserver/internal/sdk/models/components/searchrequest.go +++ b/tests/mockserver/internal/sdk/models/components/searchrequest.go @@ -28,8 +28,6 @@ type SearchRequest struct { RequestOptions *SearchRequestOptions `json:"requestOptions,omitempty"` // Timeout in milliseconds for the request. A `408` error will be returned if handling the request takes longer. TimeoutMillis *int64 `json:"timeoutMillis,omitempty"` - // People associated with the search request. Hints to the server to fetch additional information for these people. Note that in this request, an email may be used as a person's obfuscatedId value. - People []Person `json:"people,omitempty"` // Whether or not to disable spellcheck. DisableSpellcheck *bool `json:"disableSpellcheck,omitempty"` } @@ -129,13 +127,6 @@ func (o *SearchRequest) GetTimeoutMillis() *int64 { return o.TimeoutMillis } -func (o *SearchRequest) GetPeople() []Person { - if o == nil { - return nil - } - return o.People -} - func (o *SearchRequest) GetDisableSpellcheck() *bool { if o == nil { return nil diff --git a/tests/mockserver/internal/sdk/models/components/searchresponsemetadata.go b/tests/mockserver/internal/sdk/models/components/searchresponsemetadata.go index 0d64b4b3..d8c9a4fb 100644 --- a/tests/mockserver/internal/sdk/models/components/searchresponsemetadata.go +++ b/tests/mockserver/internal/sdk/models/components/searchresponsemetadata.go @@ -7,6 +7,8 @@ type SearchResponseMetadata struct { RewrittenQuery *string `json:"rewrittenQuery,omitempty"` // The actual query used to perform search and return results. SearchedQuery *string `json:"searchedQuery,omitempty"` + // The query used to perform search and return results, with negated terms and facets removed. + SearchedQueryWithoutNegation *string `json:"searchedQueryWithoutNegation,omitempty"` // The bolded ranges within the searched query. SearchedQueryRanges []TextRange `json:"searchedQueryRanges,omitempty"` // The query text sent by the client in the request. @@ -40,6 +42,13 @@ func (o *SearchResponseMetadata) GetSearchedQuery() *string { return o.SearchedQuery } +func (o *SearchResponseMetadata) GetSearchedQueryWithoutNegation() *string { + if o == nil { + return nil + } + return o.SearchedQueryWithoutNegation +} + func (o *SearchResponseMetadata) GetSearchedQueryRanges() []TextRange { if o == nil { return nil diff --git a/tests/mockserver/internal/sdk/models/components/sidebysideimplementation.go b/tests/mockserver/internal/sdk/models/components/sidebysideimplementation.go new file mode 100644 index 00000000..f1cf399e --- /dev/null +++ b/tests/mockserver/internal/sdk/models/components/sidebysideimplementation.go @@ -0,0 +1,82 @@ +// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +package components + +// ResponseMetadata - Metadata about the response (e.g., latency, token count). +type ResponseMetadata struct { + // Time taken to generate the response in milliseconds. + LatencyMs *int64 `json:"latencyMs,omitempty"` + // Number of tokens in the response. + TokenCount *int64 `json:"tokenCount,omitempty"` + // The specific model version used. + ModelUsed *string `json:"modelUsed,omitempty"` +} + +func (o *ResponseMetadata) GetLatencyMs() *int64 { + if o == nil { + return nil + } + return o.LatencyMs +} + +func (o *ResponseMetadata) GetTokenCount() *int64 { + if o == nil { + return nil + } + return o.TokenCount +} + +func (o *ResponseMetadata) GetModelUsed() *string { + if o == nil { + return nil + } + return o.ModelUsed +} + +type SideBySideImplementation struct { + // Unique identifier for this implementation variant. + ImplementationID *string `json:"implementationId,omitempty"` + // Human-readable name for this implementation (e.g., "Variant A", "GPT-4", "Claude"). + ImplementationName *string `json:"implementationName,omitempty"` + // The search/chat parameters used for this implementation. + SearchParams map[string]string `json:"searchParams,omitempty"` + // The full response generated by this implementation. + Response *string `json:"response,omitempty"` + // Metadata about the response (e.g., latency, token count). + ResponseMetadata *ResponseMetadata `json:"responseMetadata,omitempty"` +} + +func (o *SideBySideImplementation) GetImplementationID() *string { + if o == nil { + return nil + } + return o.ImplementationID +} + +func (o *SideBySideImplementation) GetImplementationName() *string { + if o == nil { + return nil + } + return o.ImplementationName +} + +func (o *SideBySideImplementation) GetSearchParams() map[string]string { + if o == nil { + return nil + } + return o.SearchParams +} + +func (o *SideBySideImplementation) GetResponse() *string { + if o == nil { + return nil + } + return o.Response +} + +func (o *SideBySideImplementation) GetResponseMetadata() *ResponseMetadata { + if o == nil { + return nil + } + return o.ResponseMetadata +} diff --git a/tests/mockserver/internal/sdk/models/components/structuredresult.go b/tests/mockserver/internal/sdk/models/components/structuredresult.go index 4d67fec7..78781210 100644 --- a/tests/mockserver/internal/sdk/models/components/structuredresult.go +++ b/tests/mockserver/internal/sdk/models/components/structuredresult.go @@ -72,6 +72,7 @@ type StructuredResult struct { Team *Team `json:"team,omitempty"` CustomEntity *CustomEntity `json:"customEntity,omitempty"` Answer *Answer `json:"answer,omitempty"` + GeneratedQna *GeneratedQna `json:"generatedQna,omitempty"` ExtractedQnA *ExtractedQnA `json:"extractedQnA,omitempty"` Meeting *Meeting `json:"meeting,omitempty"` App *AppResult `json:"app,omitempty"` @@ -137,6 +138,13 @@ func (o *StructuredResult) GetAnswer() *Answer { return o.Answer } +func (o *StructuredResult) GetGeneratedQna() *GeneratedQna { + if o == nil { + return nil + } + return o.GeneratedQna +} + func (o *StructuredResult) GetExtractedQnA() *ExtractedQnA { if o == nil { return nil diff --git a/tests/test_client_chat.py b/tests/test_client_chat.py index 91730ad1..f1f0c9af 100644 --- a/tests/test_client_chat.py +++ b/tests/test_client_chat.py @@ -171,6 +171,7 @@ def test_client_chat_chat_stream_default_example(): res = glean.client.chat.create_stream( messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="What are the company holidays this year?", @@ -196,6 +197,7 @@ def test_client_chat_chat_stream_gpt_agent_example(): res = glean.client.chat.create_stream( messages=[ { + "author": models.Author.USER, "fragments": [ models.ChatMessageFragment( text="Who was the first person to land on the moon?", @@ -238,6 +240,7 @@ def test_client_chat_chat_stream_update_response(): res = glean.client.chat.create_stream( messages=[ { + "author": models.Author.USER, "citations": [ models.ChatMessageCitation( source_document=models.Document( @@ -2519,6 +2522,7 @@ def test_client_chat_chat_stream_update_response(): ], }, { + "author": models.Author.USER, "citations": [ models.ChatMessageCitation( source_document=models.Document( @@ -4850,6 +4854,7 @@ def test_client_chat_chat_stream_citation_response(): res = glean.client.chat.create_stream( messages=[ { + "author": models.Author.USER, "citations": [ models.ChatMessageCitation( source_document=models.Document( @@ -6974,6 +6979,7 @@ def test_client_chat_chat_stream_citation_response(): ], }, { + "author": models.Author.USER, "citations": [ models.ChatMessageCitation( source_document=models.Document( @@ -8113,6 +8119,7 @@ def test_client_chat_chat_stream_citation_response(): ], }, { + "author": models.Author.USER, "citations": [ models.ChatMessageCitation( source_document=models.Document( diff --git a/tests/test_search.py b/tests/test_search.py index 02cb6dbb..c630ca64 100644 --- a/tests/test_search.py +++ b/tests/test_search.py @@ -126,12 +126,6 @@ def test_search_adminsearch(): facet_bucket_size=254944, ), timeout_millis=5000, - people=[ - models.Person( - name="George Clooney", - obfuscated_id="abc123", - ), - ], ) assert res is not None @@ -2208,11 +2202,5 @@ def test_search_search(): facet_bucket_size=246815, ), timeout_millis=5000, - people=[ - models.Person( - name="George Clooney", - obfuscated_id="abc123", - ), - ], ) assert res is not None From 3bb3e745d67313302355001a313ea44f4f6eed69 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 20:09:46 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow