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