diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 534aad97..3dad894b 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: 3e3290ca-0ee8-4981-b1bc-14536048fa63 management: - docChecksum: 75dcb4ef654ae196b194eb433d5ff95e + docChecksum: 66b97bb950c251a3578e1538056c1ec9 docVersion: 0.9.0 - speakeasyVersion: 1.796.4 - generationVersion: 2.935.1 - releaseVersion: 0.17.13 - configChecksum: d37a01084a303a979a07f43381a0ddd3 + speakeasyVersion: 1.797.0 + generationVersion: 2.937.18 + releaseVersion: 0.17.14 + configChecksum: e7d16589fea449f13b5c916e3b7884a6 repoURL: https://github.com/gleanwork/api-client-python.git installationURL: https://github.com/gleanwork/api-client-python.git published: true persistentEdits: - generation_id: 3154d106-6806-4de0-b175-918a515cd721 - pristine_commit_hash: 8d5d17c53fc3e4297a82d6af81ad4b6626cf22dd - pristine_tree_hash: cff8522ab0142eb0e9e66884c60dd8dce0a340df + generation_id: 2db953c6-c97c-4e70-bf69-f3ae53324553 + pristine_commit_hash: 9f2a03e1646a28aecd0062af8a10c3a9de828cd9 + pristine_tree_hash: e2541b512712d42ba8426a49d0305819d78163e5 features: python: acceptHeaders: 3.0.0 @@ -21,7 +21,7 @@ features: additionalProperties: 1.0.2 callbacks: 2.0.0 configurableModuleName: 0.2.0 - constsAndDefaults: 1.0.7 + constsAndDefaults: 1.0.8 core: 6.1.2 defaultEnabledRetries: 0.2.0 deprecations: 3.0.2 @@ -49,7 +49,7 @@ features: sdkHooks: 1.3.0 serverEvents: 1.1.1 tests: 1.19.10 - unions: 3.1.9 + unions: 3.1.10 uploadStreams: 1.0.3 trackedFiles: .devcontainer/README.md: @@ -1414,8 +1414,8 @@ trackedFiles: pristine_git_object: a851a7f13eb25d515fa9b9244c5dfdc98fa14e2c docs/models/feedrequestcategory.md: id: 31a02f3064c7 - last_write_checksum: sha1:e38370a3acbf451d4ef7ef12060627e8ac6f9adc - pristine_git_object: 14862711e255666c12173d6af658f62b67552679 + last_write_checksum: sha1:837c46742853b33ea8058f8756fe18534e2c68ef + pristine_git_object: 188132bbe435169ea5cd59cf7b80d7e7f4d767d3 docs/models/feedrequestoptions.md: id: 58eb26b19e77 last_write_checksum: sha1:fd2ab08736cef8156169b0cfee8c52e7aed1accf @@ -1434,8 +1434,8 @@ trackedFiles: pristine_git_object: f6f92abf16b61f88b527e1c906f605e98306878e docs/models/feedresultcategory.md: id: a5f77f38d0a7 - last_write_checksum: sha1:1e97ca497b2c59006798e80683a5fe80e3f28647 - pristine_git_object: 1394fb32645a59d2c63c38b1baeaa5e480c3fc77 + last_write_checksum: sha1:ad39b73120d422b94b3495d35664e11df574de8c + pristine_git_object: 01e4ca38fbf6ae2a2be89e674015f5cd2c970735 docs/models/fieldscope.md: id: e6b52bcb22a6 last_write_checksum: sha1:13a1492ce39d2f89a01d626996a345a1339a1873 @@ -1762,8 +1762,8 @@ trackedFiles: pristine_git_object: 4f71310b6864d240adb6739549f5f8fee4807538 docs/models/importagentrequest.md: id: c6a418248afc - last_write_checksum: sha1:a99e2f61be963e0a18c02ed6da4c51941980a148 - pristine_git_object: e45868df24e20d3a9ff002adde0e73bec73957f5 + last_write_checksum: sha1:1fb8b042514cd84d656ea6056ea2484942229d88 + pristine_git_object: 4af5751d351e35475abbe5cf024a7b149f6e63b3 docs/models/importagentrequestrequest.md: id: d39e542ebba0 last_write_checksum: sha1:e47ad7854090e0542b6793a94800b40290268dc4 @@ -1878,8 +1878,8 @@ trackedFiles: pristine_git_object: 647f9bb67a6af30d7fd71c8ddb3c5e1bf40bb938 docs/models/justificationtype.md: id: 8286affacee4 - last_write_checksum: sha1:b43aabba22190a0734b7a40bb42a04146cbb3ef8 - pristine_git_object: 8229b188ab1d4a1dbbffe18afb59e2c1cb3ded89 + last_write_checksum: sha1:d687c01dcff010c2b9e9e28174088504acfd78e4 + pristine_git_object: 6b91c2438c71beb7ddbd84604401e6188ff68aea docs/models/knowledgetype.md: id: 1e0c90679228 last_write_checksum: sha1:0030a7539b9362bbb59e0bbd36580676058b3540 @@ -3706,8 +3706,8 @@ trackedFiles: pristine_git_object: 456e90e3a787c1e62f09a17d297f1cf756c94d49 docs/sdks/clientagents/README.md: id: 8e00e6d6b64e - last_write_checksum: sha1:4d9960a7d73ccd5649abb3237ab30717f20a1f37 - pristine_git_object: c2cb28eee75dfbac9325402796fde5be17857083 + last_write_checksum: sha1:774f0e7bee92022cf66d8522957feba43001d005 + pristine_git_object: 524f839859ad3b5e989ceec23bf1055511f40444 docs/sdks/clientauthentication/README.md: id: 463bffe80b61 last_write_checksum: sha1:406e18430be9d365f6427c804b3992c880c39498 @@ -3834,8 +3834,8 @@ trackedFiles: pristine_git_object: 79e388be87446ab6a4064b372bad0e8376d0cb5e pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:eb7a93fd564e58d58885bbc5efbb39c22f2743b2 - pristine_git_object: 3d7a9d9c2c6a91b82102ee963a3eab3c08dcf3dd + last_write_checksum: sha1:99d21663bbe69e903d52e6af936915a4e61eae46 + pristine_git_object: 47df73c31b9b71aac2f687d754fff2e18d7312aa scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:c2c83f71dea61eb50c9e05da83b16d18b4da8794 @@ -3862,8 +3862,8 @@ trackedFiles: pristine_git_object: 55f23c1feabfedeb7e8cd5bea8b910f0ae0b77d9 src/glean/api_client/_version.py: id: 0ce22b26136b - last_write_checksum: sha1:802f198e3bdd2c7f707fd3e2b14e080bb12d2d75 - pristine_git_object: 74957f86e0974a86fcf55d934ea94cf222d3160e + last_write_checksum: sha1:1bee0a78c745386143585f3a1bfeb8c1ee164211 + pristine_git_object: baf219c0556adcfb313b1d21660cf2f18d738bb4 src/glean/api_client/agents.py: id: b925701a9217 last_write_checksum: sha1:1d4b152d9d9260d1c97d4983f521f30b5cfa1085 @@ -3894,8 +3894,8 @@ trackedFiles: pristine_git_object: 42aa2ffce8105a293a0a02353f41f083136fdc5f src/glean/api_client/client_agents.py: id: 61b53ccd2b3b - last_write_checksum: sha1:47eb76d281b6e36c7db43d9039991c6fda408ad4 - pristine_git_object: ff0913b8542d8663e457f3706c58ad9677054354 + last_write_checksum: sha1:d001679ddd8a3bd710bb6431307f62bb7fb7a7c5 + pristine_git_object: 7d07b8663ca36f967031b978dfbced8062a1560c src/glean/api_client/client_authentication.py: id: 0b237b7c1b11 last_write_checksum: sha1:4217581430cfa2131471291a6ce36854af64dcb7 @@ -5098,16 +5098,16 @@ trackedFiles: pristine_git_object: 44041cb376d89949c815ea1e7813505940605855 src/glean/api_client/models/feedentry.py: id: 023eb6c10ae1 - last_write_checksum: sha1:5eabff3b5cd0b361c5886938f9fbe3a95b8f78ed - pristine_git_object: 6de44a79f6324b46a202478f195e71ea7799e53d + last_write_checksum: sha1:7634944d76a86cdfa61331d28ed12ad7d5837742 + pristine_git_object: f5176d80008ad8e30ed9fd1ac5ac9f176e81849b src/glean/api_client/models/feedop.py: id: b8067ac0a127 last_write_checksum: sha1:c58cb0a3a01925eb14d84176c5c6e9d8f4d84cf1 pristine_git_object: f39626285f84630e5a9233736d652914b759d44b src/glean/api_client/models/feedrequest.py: id: 33496b6a5bab - last_write_checksum: sha1:4ace38fcc2bec0422b3e8177be7e11763c3d4e28 - pristine_git_object: 0b4739142304e7a396d039222f6f85cd7f2beafa + last_write_checksum: sha1:20546141a3c5e1698a15780a0f147ac24b26e249 + pristine_git_object: fd32e318a1d8b153eabba976dcd09df1299bfe0f src/glean/api_client/models/feedrequestoptions.py: id: b99003fbf522 last_write_checksum: sha1:d5ffee29242075cbe6d2dd5ec916b0c3d40acf54 @@ -5118,8 +5118,8 @@ trackedFiles: pristine_git_object: 683438c837601f483526ec18756fadc7222edb24 src/glean/api_client/models/feedresult.py: id: ae187332b37a - last_write_checksum: sha1:4cb8df83d04bf6b3e85583c8c70785d629b69496 - pristine_git_object: 5dce9c15402c7841069e12dcdbc7620c529b184b + last_write_checksum: sha1:1559099d3cc628c8503c2a35004d0203cce231d9 + pristine_git_object: 93dbd3981eeaf22d4183818f9520eea45e8f75e7 src/glean/api_client/models/followupaction.py: id: e2de5c4c8524 last_write_checksum: sha1:49e1a826449081fecfcd828c940604db949a8533 @@ -5394,8 +5394,8 @@ trackedFiles: pristine_git_object: d30f537ead3a77557adbd3b857cf4b2fbc9a4bf3 src/glean/api_client/models/importagentrequest.py: id: e548b6034e1c - last_write_checksum: sha1:081f2ec5fa96a0352f2960b1cb393fad6720b759 - pristine_git_object: e1471e404bdfb55693b03171155746261c574dfe + last_write_checksum: sha1:886949ade9ca3269913baa602da37fc06442c99c + pristine_git_object: 36a11ce0b66e82a78c014664a01c55af63878e40 src/glean/api_client/models/importagentresponse.py: id: 22a3fa434b8b last_write_checksum: sha1:a3e9cc2d8684fe175adf720d8094ad1a0759cca8 @@ -6954,8 +6954,8 @@ trackedFiles: pristine_git_object: a9a640a1a7048736383f96c67c6290c86bf536ee src/glean/api_client/utils/__init__.py: id: d681dc4f06b3 - last_write_checksum: sha1:527db7a6c93948ecdec6a33f56b6551ae44f0180 - pristine_git_object: c48a36ca3d6e47e384b133bc0bcb482c6d8589b9 + last_write_checksum: sha1:e6fb1146e02dbccdc147eb3724b57e71568b8391 + pristine_git_object: e115709b0c3b707de93b00ecf707f85fb1abf1d1 src/glean/api_client/utils/annotations.py: id: 8431a3a9fc4f last_write_checksum: sha1:a4824ad65f730303e4e1e3ec1febf87b4eb46dbc @@ -7010,8 +7010,8 @@ trackedFiles: pristine_git_object: 4a272f16c2af33f6364bd9aec9cdc33b91f228d2 src/glean/api_client/utils/serializers.py: id: c499367f56e9 - last_write_checksum: sha1:7485f1425b0661fd84836186570df90207eec6af - pristine_git_object: 1031ed930bad5ece220cf7416a56c29f40f0588b + last_write_checksum: sha1:2fb543339b424a0818b126e69695df5c91cd4d7b + pristine_git_object: 5e57d36e8883501df8f6293e4c76ac337c4987eb src/glean/api_client/utils/unmarshal_json_response.py: id: 10872f2f336a last_write_checksum: sha1:8bea26e2247cd1c5b8dc60c70725ad0aed487c6d @@ -8602,12 +8602,12 @@ trackedFiles: pristine_git_object: 04cc3a93272ac70933b0485bee31b335e05ab623 tests/mockserver/internal/sdk/models/components/feedentry.go: id: d25fd66fcf7a - last_write_checksum: sha1:fee85ec5b49bec06f358fa5c1491e2b9022808b7 - pristine_git_object: e52b5300a4c124c6fa886f959ec408e5c98ae282 + last_write_checksum: sha1:51d20a16aae61f60dad57e50edf3c6d62bf9a752 + pristine_git_object: 612e8310c6aac011f968322b6838d77c4b5f0f4e tests/mockserver/internal/sdk/models/components/feedrequest.go: id: b06bc4cef0cf - last_write_checksum: sha1:941e473b866a9275df87c9b7d2b4bd1ebc0c906c - pristine_git_object: 698ed03a551bfc2607a5593aaea66d28ee2aced9 + last_write_checksum: sha1:ef7b458a2b649981ba3bd50b812928e6eea36dee + pristine_git_object: 41462800e023aafed53dc7b69cc57cf3c7d02456 tests/mockserver/internal/sdk/models/components/feedrequestoptions.go: id: fd9245fe1bf2 last_write_checksum: sha1:fa30b7fd6ee3e45896d7bbe36e33e7c0cb9000ba @@ -8618,8 +8618,8 @@ trackedFiles: pristine_git_object: 54f9d1a8997983156c84e69f888c59a80d06c2b1 tests/mockserver/internal/sdk/models/components/feedresult.go: id: 47411573e67a - last_write_checksum: sha1:b291daeded71b10d964bab678de412fe968b070e - pristine_git_object: 9a4cfb737eb02f128d85116b58ec2116f6ee8a8a + last_write_checksum: sha1:40133c54b7ede9b07652979f5af4edc2383ca976 + pristine_git_object: 7fcf7cc7d45305e0eb38af33db5d0cfca6f2fe36 tests/mockserver/internal/sdk/models/components/followupaction.go: id: 38179fec19b1 last_write_checksum: sha1:32a31f7af77a58ce6f3284e8550d01fcf0d3bddd @@ -8798,8 +8798,8 @@ trackedFiles: pristine_git_object: 537d53a4d6235b3f67a08a6b3c08f88a6782f8ec tests/mockserver/internal/sdk/models/components/importagentrequest.go: id: e32c8cfe1620 - last_write_checksum: sha1:c9c53dcc1d4a41358ceaaa5af0cb024b4c5088f2 - pristine_git_object: 1dd4383e619f5890ee3038c5aca40d12e79c538d + last_write_checksum: sha1:161cd2101684642acfa6ee8ea1172f2c519387e0 + pristine_git_object: 3b9bf6fca3b6b3d91ceacbcbb0b573260864c59a tests/mockserver/internal/sdk/models/components/importagentresponse.go: id: f99e9c9fe605 last_write_checksum: sha1:bf26c40925bea852b8a302a4c3c585707a1b1622 @@ -10966,8 +10966,8 @@ trackedFiles: pristine_git_object: 6cc8aeec3c52329d389081db0a27f10f53f214b9 tests/test_messages.py: id: be23089b1f8b - last_write_checksum: sha1:bef200db8e7fff0aa33ef17846f5054a2d035a88 - pristine_git_object: 36643db35a2d2a3cf9d327379ee7a6cb30da51d0 + last_write_checksum: sha1:b7415512608102fa07b1990a350a7da66946fe46 + pristine_git_object: 636f01d348f30db3ee81985044634511b615af16 tests/test_people.py: id: 37c243940039 last_write_checksum: sha1:2b78b1c5ea17f267895188b1b48ff9fe2bc19f17 @@ -12583,6 +12583,7 @@ generatedTests: platform-trigger-presets-get: "2026-08-21T02:33:03Z" platform-trigger-presets-input-values-list: "2026-08-21T02:33:03Z" platform-trigger-presets-events-search: "2026-08-21T02:33:03Z" +releaseNotes: "## Python SDK Changes:\n* `glean.client.agents.import()`: `request.published_baseline_hash` **Added**\n* `glean.client.search.retrieve_feed()`: \n * `request.categories[].enum(chat_to_artifact)` **Added**\n * `response.results[]` **Changed**\n" generatedFiles: - .devcontainer/README.md - .devcontainer/devcontainer.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 4687d804..e449cccd 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -34,7 +34,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: true python: - version: 0.17.13 + version: 0.17.14 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/glean-merged-spec.yaml b/.speakeasy/glean-merged-spec.yaml index 614cfd84..9b5bae46 100644 --- a/.speakeasy/glean-merged-spec.yaml +++ b/.speakeasy/glean-merged-spec.yaml @@ -2,8 +2,8 @@ openapi: 3.1.0 info: version: "0.9.0" title: Glean API - x-source-commit-sha: 31a8965bc9e49871a44c872a19d7442c25790b41 - x-open-api-commit-sha: 50797dafaa6c32f59f7dd18b9a5766b5321fffaa + x-source-commit-sha: 0f20e60a9295e442dbe3187cd835f3e99f883b40 + x-open-api-commit-sha: 0c361bd49e27d6c4cb6ac75786a79a5e9e015c83 description: | # Introduction In addition to the data sources that Glean has built-in support for, Glean also provides a REST API that enables customers to put arbitrary content in the search index. This is useful, for example, for doing permissions-aware search over content in internal tools that reside on-prem as well as for searching over applications that Glean does not currently support first class. In addition these APIs allow the customer to push organization data (people info, organization structure etc) into Glean. @@ -14004,6 +14004,10 @@ components: description: Optional commit message for the imported version. syncMode: $ref: '#/components/schemas/ImportAgentSyncMode' + publishedBaselineHash: + type: string + description: | + Optional baseline hash of the currently published agent definition. When publish hash validation is enabled, an import updating an existing agent with syncMode PUBLISHED is rejected with HTTP 409 if the current published definition hash is nonempty and does not match this baseline. Leading and trailing whitespace is trimmed; omitted or blank values skip validation. Ignored for STAGED imports, new agents, and transient previews. isDraft: type: boolean description: | @@ -15935,6 +15939,7 @@ components: - KNOWLEDGE_GAP - ARTIFACT_CREATION - EDIT_DOC + - CHAT_TO_ARTIFACT description: Categories of content requested. An allowlist gives flexibility to request content separately or together. requestOptions: $ref: '#/components/schemas/FeedRequestOptions' @@ -16408,6 +16413,7 @@ components: - KNOWLEDGE_GAP - ARTIFACT_CREATION - EDIT_DOC + - CHAT_TO_ARTIFACT description: Type of the justification. justification: type: string @@ -16504,6 +16510,7 @@ components: - KNOWLEDGE_GAP - ARTIFACT_CREATION - EDIT_DOC + - CHAT_TO_ARTIFACT description: Category of the result, one of the requested categories in incoming request. primaryEntry: $ref: '#/components/schemas/FeedEntry' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 846a2600..11375210 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.796.4 +speakeasyVersion: 1.797.0 sources: Glean API: sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:09eb059f0216714606cd4c098bf2c97994e46c67ba091ffd108681cf9ae831a5 - sourceBlobDigest: sha256:a9418b93b4aaa7cd6d428375e23d233ffca2418e04be1fee988a029e3cb02931 + sourceRevisionDigest: sha256:b5c2d2d6cf3b137272f70cb5985b1b910cc4180b9acc44eae80a377d141abdbb + sourceBlobDigest: sha256:25d8bd41d9e5383a0627fa003c53668c6e1f27c3dd6ed7f3c60acd32f68a5dd5 tags: - latest Glean Client API: @@ -16,10 +16,10 @@ targets: glean: source: Glean API sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:09eb059f0216714606cd4c098bf2c97994e46c67ba091ffd108681cf9ae831a5 - sourceBlobDigest: sha256:a9418b93b4aaa7cd6d428375e23d233ffca2418e04be1fee988a029e3cb02931 + sourceRevisionDigest: sha256:b5c2d2d6cf3b137272f70cb5985b1b910cc4180b9acc44eae80a377d141abdbb + sourceBlobDigest: sha256:25d8bd41d9e5383a0627fa003c53668c6e1f27c3dd6ed7f3c60acd32f68a5dd5 codeSamplesNamespace: glean-api-specs-python-code-samples - codeSamplesRevisionDigest: sha256:378452df2ea1abfd42848dbaaa791971fea47c98f7845e9b7f313f12da2109f6 + codeSamplesRevisionDigest: sha256:8c5d1f764340dfe0cd7a19d9e86e6e208dedf4d1b65931beb46875c67043aa85 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 2ae64d92..6d35375f 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -988,4 +988,14 @@ Based on: ### Generated - [python v0.17.13] . ### Releases -- [PyPI v0.17.13] https://pypi.org/project/glean-api-client/0.17.13 - . \ No newline at end of file +- [PyPI v0.17.13] https://pypi.org/project/glean-api-client/0.17.13 - . + +## 2026-09-16 03:43:07 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.797.0 (2.937.18) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.17.14] . +### Releases +- [PyPI v0.17.14] https://pypi.org/project/glean-api-client/0.17.14 - . \ No newline at end of file diff --git a/docs/models/feedrequestcategory.md b/docs/models/feedrequestcategory.md index 14862711..188132bb 100644 --- a/docs/models/feedrequestcategory.md +++ b/docs/models/feedrequestcategory.md @@ -62,4 +62,5 @@ value = FeedRequestCategory.DOCUMENT_SUGGESTION | `ADMIN_HEALTH_CENTER` | ADMIN_HEALTH_CENTER | | `KNOWLEDGE_GAP` | KNOWLEDGE_GAP | | `ARTIFACT_CREATION` | ARTIFACT_CREATION | -| `EDIT_DOC` | EDIT_DOC | \ No newline at end of file +| `EDIT_DOC` | EDIT_DOC | +| `CHAT_TO_ARTIFACT` | CHAT_TO_ARTIFACT | \ No newline at end of file diff --git a/docs/models/feedresultcategory.md b/docs/models/feedresultcategory.md index 1394fb32..01e4ca38 100644 --- a/docs/models/feedresultcategory.md +++ b/docs/models/feedresultcategory.md @@ -66,4 +66,5 @@ value = FeedResultCategory.DOCUMENT_SUGGESTION | `ADMIN_HEALTH_CENTER` | ADMIN_HEALTH_CENTER | | `KNOWLEDGE_GAP` | KNOWLEDGE_GAP | | `ARTIFACT_CREATION` | ARTIFACT_CREATION | -| `EDIT_DOC` | EDIT_DOC | \ No newline at end of file +| `EDIT_DOC` | EDIT_DOC | +| `CHAT_TO_ARTIFACT` | CHAT_TO_ARTIFACT | \ No newline at end of file diff --git a/docs/models/importagentrequest.md b/docs/models/importagentrequest.md index e45868df..4af5751d 100644 --- a/docs/models/importagentrequest.md +++ b/docs/models/importagentrequest.md @@ -3,11 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -| `bundle` | [models.Bundle](../models/bundle.md) | :heavy_check_mark: | Zip of the agent folder (spec.yaml, instructions.md, skills/, subagents/) with symlinks dereferenced.
| -| `git_commit_sha` | *Optional[str]* | :heavy_minus_sign: | Optional Git commit SHA to associate with this import. | -| `git_author_id` | *Optional[str]* | :heavy_minus_sign: | Optional VCS commit author ID to associate with this import. | -| `commit_message` | *Optional[str]* | :heavy_minus_sign: | Optional commit message for the imported version. | -| `sync_mode` | [Optional[models.ImportAgentSyncMode]](../models/importagentsyncmode.md) | :heavy_minus_sign: | Whether the imported version is staged (saved without updating the live version) or published directly to the live version.
| -| `is_draft` | *Optional[bool]* | :heavy_minus_sign: | Deprecated. Draft mutation semantics are not supported for transient previews. Use transient and parentWorkflowId instead.
| \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `bundle` | [models.Bundle](../models/bundle.md) | :heavy_check_mark: | Zip of the agent folder (spec.yaml, instructions.md, skills/, subagents/) with symlinks dereferenced.
| +| `git_commit_sha` | *Optional[str]* | :heavy_minus_sign: | Optional Git commit SHA to associate with this import. | +| `git_author_id` | *Optional[str]* | :heavy_minus_sign: | Optional VCS commit author ID to associate with this import. | +| `commit_message` | *Optional[str]* | :heavy_minus_sign: | Optional commit message for the imported version. | +| `sync_mode` | [Optional[models.ImportAgentSyncMode]](../models/importagentsyncmode.md) | :heavy_minus_sign: | Whether the imported version is staged (saved without updating the live version) or published directly to the live version.
| +| `published_baseline_hash` | *Optional[str]* | :heavy_minus_sign: | Optional baseline hash of the currently published agent definition. When publish hash validation is enabled, an import updating an existing agent with syncMode PUBLISHED is rejected with HTTP 409 if the current published definition hash is nonempty and does not match this baseline. Leading and trailing whitespace is trimmed; omitted or blank values skip validation. Ignored for STAGED imports, new agents, and transient previews.
| +| `is_draft` | *Optional[bool]* | :heavy_minus_sign: | Deprecated. Draft mutation semantics are not supported for transient previews. Use transient and parentWorkflowId instead.
| \ No newline at end of file diff --git a/docs/models/justificationtype.md b/docs/models/justificationtype.md index 8229b188..6b91c243 100644 --- a/docs/models/justificationtype.md +++ b/docs/models/justificationtype.md @@ -80,4 +80,5 @@ value = JustificationType.FREQUENTLY_ACCESSED | `ADMIN_HEALTH_CENTER` | ADMIN_HEALTH_CENTER | | `KNOWLEDGE_GAP` | KNOWLEDGE_GAP | | `ARTIFACT_CREATION` | ARTIFACT_CREATION | -| `EDIT_DOC` | EDIT_DOC | \ No newline at end of file +| `EDIT_DOC` | EDIT_DOC | +| `CHAT_TO_ARTIFACT` | CHAT_TO_ARTIFACT | \ No newline at end of file diff --git a/docs/sdks/clientagents/README.md b/docs/sdks/clientagents/README.md index c2cb28ee..524f8398 100644 --- a/docs/sdks/clientagents/README.md +++ b/docs/sdks/clientagents/README.md @@ -215,18 +215,19 @@ with Glean( ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `agent_id` | *str* | :heavy_check_mark: | The ID of the agent to create or update. | -| `bundle` | [models.Bundle](../../models/bundle.md) | :heavy_check_mark: | Zip of the agent folder (spec.yaml, instructions.md, skills/, subagents/) with symlinks dereferenced.
| -| `locale` | *Optional[str]* | :heavy_minus_sign: | The client's preferred locale in rfc5646 format (e.g. `en`, `ja`, `pt-BR`). If omitted, the `Accept-Language` will be used. If not present or not supported, defaults to the closest match or `en`. | -| `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. | -| `git_commit_sha` | *Optional[str]* | :heavy_minus_sign: | Optional Git commit SHA to associate with this import. | -| `git_author_id` | *Optional[str]* | :heavy_minus_sign: | Optional VCS commit author ID to associate with this import. | -| `commit_message` | *Optional[str]* | :heavy_minus_sign: | Optional commit message for the imported version. | -| `sync_mode` | [Optional[models.ImportAgentSyncMode]](../../models/importagentsyncmode.md) | :heavy_minus_sign: | Whether the imported version is staged (saved without updating the live version) or published directly to the live version.
| -| `is_draft` | *Optional[bool]* | :heavy_minus_sign: | Deprecated. Draft mutation semantics are not supported for transient previews. Use transient and parentWorkflowId instead.
| -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `agent_id` | *str* | :heavy_check_mark: | The ID of the agent to create or update. | +| `bundle` | [models.Bundle](../../models/bundle.md) | :heavy_check_mark: | Zip of the agent folder (spec.yaml, instructions.md, skills/, subagents/) with symlinks dereferenced.
| +| `locale` | *Optional[str]* | :heavy_minus_sign: | The client's preferred locale in rfc5646 format (e.g. `en`, `ja`, `pt-BR`). If omitted, the `Accept-Language` will be used. If not present or not supported, defaults to the closest match or `en`. | +| `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. | +| `git_commit_sha` | *Optional[str]* | :heavy_minus_sign: | Optional Git commit SHA to associate with this import. | +| `git_author_id` | *Optional[str]* | :heavy_minus_sign: | Optional VCS commit author ID to associate with this import. | +| `commit_message` | *Optional[str]* | :heavy_minus_sign: | Optional commit message for the imported version. | +| `sync_mode` | [Optional[models.ImportAgentSyncMode]](../../models/importagentsyncmode.md) | :heavy_minus_sign: | Whether the imported version is staged (saved without updating the live version) or published directly to the live version.
| +| `published_baseline_hash` | *Optional[str]* | :heavy_minus_sign: | Optional baseline hash of the currently published agent definition. When publish hash validation is enabled, an import updating an existing agent with syncMode PUBLISHED is rejected with HTTP 409 if the current published definition hash is nonempty and does not match this baseline. Leading and trailing whitespace is trimmed; omitted or blank values skip validation. Ignored for STAGED imports, new agents, and transient previews.
| +| `is_draft` | *Optional[bool]* | :heavy_minus_sign: | Deprecated. Draft mutation semantics are not supported for transient previews. Use transient and parentWorkflowId instead.
| +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response diff --git a/pyproject.toml b/pyproject.toml index 3d7a9d9c..47df73c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "glean-api-client" -version = "0.17.13" +version = "0.17.14" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Glean Technologies, Inc." },] readme = "README-PYPI.md" diff --git a/src/glean/api_client/_version.py b/src/glean/api_client/_version.py index 74957f86..baf219c0 100644 --- a/src/glean/api_client/_version.py +++ b/src/glean/api_client/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "glean-api-client" -__version__: str = "0.17.13" +__version__: str = "0.17.14" __openapi_doc_version__: str = "0.9.0" -__gen_version__: str = "2.935.1" -__user_agent__: str = "speakeasy-sdk/python 0.17.13 2.935.1 0.9.0 glean-api-client" +__gen_version__: str = "2.937.18" +__user_agent__: str = "speakeasy-sdk/python 0.17.14 2.937.18 0.9.0 glean-api-client" try: if __package__ is not None: diff --git a/src/glean/api_client/client_agents.py b/src/glean/api_client/client_agents.py index ff0913b8..7d07b866 100644 --- a/src/glean/api_client/client_agents.py +++ b/src/glean/api_client/client_agents.py @@ -890,6 +890,7 @@ def import_( git_author_id: Optional[str] = None, commit_message: Optional[str] = None, sync_mode: Optional[models.ImportAgentSyncMode] = None, + published_baseline_hash: Optional[str] = None, is_draft: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -910,6 +911,8 @@ def import_( :param commit_message: Optional commit message for the imported version. :param sync_mode: Whether the imported version is staged (saved without updating the live version) or published directly to the live version. + :param published_baseline_hash: Optional baseline hash of the currently published agent definition. When publish hash validation is enabled, an import updating an existing agent with syncMode PUBLISHED is rejected with HTTP 409 if the current published definition hash is nonempty and does not match this baseline. Leading and trailing whitespace is trimmed; omitted or blank values skip validation. Ignored for STAGED imports, new agents, and transient previews. + :param is_draft: Deprecated. Draft mutation semantics are not supported for transient previews. Use transient and parentWorkflowId instead. :param retries: Override the default retry configuration for this method @@ -937,6 +940,7 @@ def import_( git_author_id=git_author_id, commit_message=commit_message, sync_mode=sync_mode, + published_baseline_hash=published_baseline_hash, is_draft=is_draft, ), ) @@ -1016,6 +1020,7 @@ async def import__async( git_author_id: Optional[str] = None, commit_message: Optional[str] = None, sync_mode: Optional[models.ImportAgentSyncMode] = None, + published_baseline_hash: Optional[str] = None, is_draft: Optional[bool] = None, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, @@ -1036,6 +1041,8 @@ async def import__async( :param commit_message: Optional commit message for the imported version. :param sync_mode: Whether the imported version is staged (saved without updating the live version) or published directly to the live version. + :param published_baseline_hash: Optional baseline hash of the currently published agent definition. When publish hash validation is enabled, an import updating an existing agent with syncMode PUBLISHED is rejected with HTTP 409 if the current published definition hash is nonempty and does not match this baseline. Leading and trailing whitespace is trimmed; omitted or blank values skip validation. Ignored for STAGED imports, new agents, and transient previews. + :param is_draft: Deprecated. Draft mutation semantics are not supported for transient previews. Use transient and parentWorkflowId instead. :param retries: Override the default retry configuration for this method @@ -1063,6 +1070,7 @@ async def import__async( git_author_id=git_author_id, commit_message=commit_message, sync_mode=sync_mode, + published_baseline_hash=published_baseline_hash, is_draft=is_draft, ), ) diff --git a/src/glean/api_client/models/feedentry.py b/src/glean/api_client/models/feedentry.py index 6de44a79..f5176d80 100644 --- a/src/glean/api_client/models/feedentry.py +++ b/src/glean/api_client/models/feedentry.py @@ -134,6 +134,7 @@ class JustificationType(str, Enum, metaclass=utils.OpenEnumMeta): KNOWLEDGE_GAP = "KNOWLEDGE_GAP" ARTIFACT_CREATION = "ARTIFACT_CREATION" EDIT_DOC = "EDIT_DOC" + CHAT_TO_ARTIFACT = "CHAT_TO_ARTIFACT" class FeedEntryTypedDict(TypedDict): diff --git a/src/glean/api_client/models/feedrequest.py b/src/glean/api_client/models/feedrequest.py index 0b473914..fd32e318 100644 --- a/src/glean/api_client/models/feedrequest.py +++ b/src/glean/api_client/models/feedrequest.py @@ -62,6 +62,7 @@ class FeedRequestCategory(str, Enum): KNOWLEDGE_GAP = "KNOWLEDGE_GAP" ARTIFACT_CREATION = "ARTIFACT_CREATION" EDIT_DOC = "EDIT_DOC" + CHAT_TO_ARTIFACT = "CHAT_TO_ARTIFACT" class FeedRequestTypedDict(TypedDict): diff --git a/src/glean/api_client/models/feedresult.py b/src/glean/api_client/models/feedresult.py index 5dce9c15..93dbd398 100644 --- a/src/glean/api_client/models/feedresult.py +++ b/src/glean/api_client/models/feedresult.py @@ -64,6 +64,7 @@ class FeedResultCategory(str, Enum, metaclass=utils.OpenEnumMeta): KNOWLEDGE_GAP = "KNOWLEDGE_GAP" ARTIFACT_CREATION = "ARTIFACT_CREATION" EDIT_DOC = "EDIT_DOC" + CHAT_TO_ARTIFACT = "CHAT_TO_ARTIFACT" class PlacementReason(str, Enum, metaclass=utils.OpenEnumMeta): diff --git a/src/glean/api_client/models/importagentrequest.py b/src/glean/api_client/models/importagentrequest.py index e1471e40..36a11ce0 100644 --- a/src/glean/api_client/models/importagentrequest.py +++ b/src/glean/api_client/models/importagentrequest.py @@ -65,6 +65,10 @@ class ImportAgentRequestTypedDict(TypedDict): sync_mode: NotRequired[ImportAgentSyncMode] r"""Whether the imported version is staged (saved without updating the live version) or published directly to the live version. + """ + published_baseline_hash: NotRequired[str] + r"""Optional baseline hash of the currently published agent definition. When publish hash validation is enabled, an import updating an existing agent with syncMode PUBLISHED is rejected with HTTP 409 if the current published definition hash is nonempty and does not match this baseline. Leading and trailing whitespace is trimmed; omitted or blank values skip validation. Ignored for STAGED imports, new agents, and transient previews. + """ is_draft: NotRequired[bool] r"""Deprecated. Draft mutation semantics are not supported for transient previews. Use transient and parentWorkflowId instead. @@ -108,6 +112,15 @@ class ImportAgentRequest(BaseModel): """ + published_baseline_hash: Annotated[ + Optional[str], + pydantic.Field(alias="publishedBaselineHash"), + FieldMetadata(multipart=True), + ] = None + r"""Optional baseline hash of the currently published agent definition. When publish hash validation is enabled, an import updating an existing agent with syncMode PUBLISHED is rejected with HTTP 409 if the current published definition hash is nonempty and does not match this baseline. Leading and trailing whitespace is trimmed; omitted or blank values skip validation. Ignored for STAGED imports, new agents, and transient previews. + + """ + is_draft: Annotated[ Optional[bool], pydantic.Field(alias="isDraft"), FieldMetadata(multipart=True) ] = None @@ -118,7 +131,14 @@ class ImportAgentRequest(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["gitCommitSha", "gitAuthorId", "commitMessage", "syncMode", "isDraft"] + [ + "gitCommitSha", + "gitAuthorId", + "commitMessage", + "syncMode", + "publishedBaselineHash", + "isDraft", + ] ) serialized = handler(self) m = {} diff --git a/src/glean/api_client/utils/__init__.py b/src/glean/api_client/utils/__init__.py index c48a36ca..e115709b 100644 --- a/src/glean/api_client/utils/__init__.py +++ b/src/glean/api_client/utils/__init__.py @@ -35,6 +35,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: from .security import get_security, get_security_from_env from .serializers import ( + ALLOW_UNKNOWN_UNION_VARIANTS, get_pydantic_model, marshal_json, unmarshal, @@ -106,6 +107,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: "stream_to_bytes", "stream_to_bytes_async", "template_url", + "ALLOW_UNKNOWN_UNION_VARIANTS", "unmarshal", "unmarshal_json", "validate_decimal", @@ -128,6 +130,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: "parse_duration": ".datetimes", "get_global_from_env": ".values", "get_headers": ".headers", + "ALLOW_UNKNOWN_UNION_VARIANTS": ".serializers", "get_pydantic_model": ".serializers", "get_query_params": ".queryparams", "get_response_headers": ".headers", diff --git a/src/glean/api_client/utils/serializers.py b/src/glean/api_client/utils/serializers.py index 1031ed93..5e57d36e 100644 --- a/src/glean/api_client/utils/serializers.py +++ b/src/glean/api_client/utils/serializers.py @@ -112,11 +112,26 @@ def validate(c): return validate +ALLOW_UNKNOWN_UNION_VARIANTS = "speakeasy_allow_unknown_union_variants" +"""Validation-context key enabling the Unknown fallback on open discriminated +unions. The SDK sets it when deserializing server responses; validation +without it (e.g. of user-constructed request payloads) stays strict. Pass +``context={ALLOW_UNKNOWN_UNION_VARIANTS: True}`` to ``model_validate`` to +opt in when parsing response payloads manually.""" + + def unmarshal_json(raw, typ: Any) -> Any: - return unmarshal(from_json(raw), typ, coerce_iterables=False) + return unmarshal( + from_json(raw), typ, coerce_iterables=False, allow_unknown_union_variants=True + ) -def unmarshal(val, typ: Any, coerce_iterables: bool = True) -> Any: +def unmarshal( + val, + typ: Any, + coerce_iterables: bool = True, + allow_unknown_union_variants: bool = False, +) -> Any: if coerce_iterables: val = _coerce_iterables_for_type(val, typ) unmarshaller = create_model( @@ -125,7 +140,12 @@ def unmarshal(val, typ: Any, coerce_iterables: bool = True) -> Any: __config__=ConfigDict(populate_by_name=True, arbitrary_types_allowed=True), ) - m = unmarshaller(body=val) + if allow_unknown_union_variants: + m = unmarshaller.model_validate( + {"body": val}, context={ALLOW_UNKNOWN_UNION_VARIANTS: True} + ) + else: + m = unmarshaller(body=val) # pyright: ignore[reportAttributeAccessIssue] return m.body # type: ignore diff --git a/tests/mockserver/internal/sdk/models/components/feedentry.go b/tests/mockserver/internal/sdk/models/components/feedentry.go index e52b5300..612e8310 100644 --- a/tests/mockserver/internal/sdk/models/components/feedentry.go +++ b/tests/mockserver/internal/sdk/models/components/feedentry.go @@ -120,6 +120,7 @@ const ( JustificationTypeKnowledgeGap JustificationType = "KNOWLEDGE_GAP" JustificationTypeArtifactCreation JustificationType = "ARTIFACT_CREATION" JustificationTypeEditDoc JustificationType = "EDIT_DOC" + JustificationTypeChatToArtifact JustificationType = "CHAT_TO_ARTIFACT" ) func (e JustificationType) ToPointer() *JustificationType { @@ -258,6 +259,8 @@ func (e *JustificationType) UnmarshalJSON(data []byte) error { case "ARTIFACT_CREATION": fallthrough case "EDIT_DOC": + fallthrough + case "CHAT_TO_ARTIFACT": *e = JustificationType(v) return nil default: diff --git a/tests/mockserver/internal/sdk/models/components/feedrequest.go b/tests/mockserver/internal/sdk/models/components/feedrequest.go index 698ed03a..41462800 100644 --- a/tests/mockserver/internal/sdk/models/components/feedrequest.go +++ b/tests/mockserver/internal/sdk/models/components/feedrequest.go @@ -60,6 +60,7 @@ const ( FeedRequestCategoryKnowledgeGap FeedRequestCategory = "KNOWLEDGE_GAP" FeedRequestCategoryArtifactCreation FeedRequestCategory = "ARTIFACT_CREATION" FeedRequestCategoryEditDoc FeedRequestCategory = "EDIT_DOC" + FeedRequestCategoryChatToArtifact FeedRequestCategory = "CHAT_TO_ARTIFACT" ) func (e FeedRequestCategory) ToPointer() *FeedRequestCategory { @@ -170,6 +171,8 @@ func (e *FeedRequestCategory) UnmarshalJSON(data []byte) error { case "ARTIFACT_CREATION": fallthrough case "EDIT_DOC": + fallthrough + case "CHAT_TO_ARTIFACT": *e = FeedRequestCategory(v) return nil default: diff --git a/tests/mockserver/internal/sdk/models/components/feedresult.go b/tests/mockserver/internal/sdk/models/components/feedresult.go index 9a4cfb73..7fcf7cc7 100644 --- a/tests/mockserver/internal/sdk/models/components/feedresult.go +++ b/tests/mockserver/internal/sdk/models/components/feedresult.go @@ -61,6 +61,7 @@ const ( FeedResultCategoryKnowledgeGap FeedResultCategory = "KNOWLEDGE_GAP" FeedResultCategoryArtifactCreation FeedResultCategory = "ARTIFACT_CREATION" FeedResultCategoryEditDoc FeedResultCategory = "EDIT_DOC" + FeedResultCategoryChatToArtifact FeedResultCategory = "CHAT_TO_ARTIFACT" ) func (e FeedResultCategory) ToPointer() *FeedResultCategory { @@ -171,6 +172,8 @@ func (e *FeedResultCategory) UnmarshalJSON(data []byte) error { case "ARTIFACT_CREATION": fallthrough case "EDIT_DOC": + fallthrough + case "CHAT_TO_ARTIFACT": *e = FeedResultCategory(v) return nil default: diff --git a/tests/mockserver/internal/sdk/models/components/importagentrequest.go b/tests/mockserver/internal/sdk/models/components/importagentrequest.go index 1dd4383e..3b9bf6fc 100644 --- a/tests/mockserver/internal/sdk/models/components/importagentrequest.go +++ b/tests/mockserver/internal/sdk/models/components/importagentrequest.go @@ -38,6 +38,9 @@ type ImportAgentRequest struct { // Whether the imported version is staged (saved without updating the live version) or published directly to the live version. // SyncMode *ImportAgentSyncMode `multipartForm:"name=syncMode"` + // Optional baseline hash of the currently published agent definition. When publish hash validation is enabled, an import updating an existing agent with syncMode PUBLISHED is rejected with HTTP 409 if the current published definition hash is nonempty and does not match this baseline. Leading and trailing whitespace is trimmed; omitted or blank values skip validation. Ignored for STAGED imports, new agents, and transient previews. + // + PublishedBaselineHash *string `multipartForm:"name=publishedBaselineHash"` // Deprecated. Draft mutation semantics are not supported for transient previews. Use transient and parentWorkflowId instead. // IsDraft *bool `multipartForm:"name=isDraft"` @@ -78,6 +81,13 @@ func (o *ImportAgentRequest) GetSyncMode() *ImportAgentSyncMode { return o.SyncMode } +func (o *ImportAgentRequest) GetPublishedBaselineHash() *string { + if o == nil { + return nil + } + return o.PublishedBaselineHash +} + func (o *ImportAgentRequest) GetIsDraft() *bool { if o == nil { return nil diff --git a/tests/test_messages.py b/tests/test_messages.py index 36643db3..636f01d3 100644 --- a/tests/test_messages.py +++ b/tests/test_messages.py @@ -18,7 +18,7 @@ def test_messages_messages(): res = glean.client.messages.retrieve( id_type=models.IDType.CONVERSATION_ID, id="", - datasource=models.Datasource.MICROSOFTTEAMS, + datasource=models.Datasource.GCHAT, timestamp_millis=558834, ) assert res is not None